FHIR Java Bug - Serialising and Deserialising
import java.io.ByteArrayInputStream; | |
import java.io.ByteArrayOutputStream; | |
import java.io.InputStream; | |
import org.hl7.fhir.instance.formats.Composer; | |
import org.hl7.fhir.instance.formats.JsonComposer; | |
import org.hl7.fhir.instance.formats.JsonParser; | |
import org.hl7.fhir.instance.formats.ParserBase.ResourceOrFeed; | |
import org.hl7.fhir.instance.model.AtomFeed; | |
import org.junit.Test; | |
public class MessageTest { | |
@Test | |
public void test() throws Exception { | |
// Create new Atom Feed | |
AtomFeed feed = new AtomFeed(); | |
// Serialize Atom Feed | |
Composer comp = new JsonComposer(); | |
ByteArrayOutputStream os = new ByteArrayOutputStream(); | |
comp.compose(os, feed, false); | |
String json = os.toString(); | |
// Deserialize Atom Feed | |
JsonParser parser = new JsonParser(); | |
InputStream is = new ByteArrayInputStream(json.getBytes("UTF-8")); | |
ResourceOrFeed result = parser.parseGeneral(is); | |
} | |
} |
java.lang.UnsupportedOperationException: JsonNull | |
at com.google.gson.JsonElement.getAsString(JsonElement.java:191) | |
at org.hl7.fhir.instance.formats.JsonParserBase.parseAtom(JsonParserBase.java:118) | |
at org.hl7.fhir.instance.formats.JsonParserBase.parseGeneral(JsonParserBase.java:71) | |
at com.blackpear.success.inbox.message.MessageTest.test(MessageTest.java:36) | |
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:606) | |
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) | |
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) | |
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) | |
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) | |
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) | |
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) | |
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) | |
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) | |
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) | |
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) | |
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) | |
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) | |
at org.junit.runners.ParentRunner.run(ParentRunner.java:309) | |
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) | |
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) | |
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) | |
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) | |
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) | |
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment