/**
* Thanks to Alexander Kley!
*/
@Test
public void testParseContainedBinaryResource() throws Exception {
byte[] bin = new byte[] { 0, 1, 2, 3, 4 };
final Binary binary = new Binary();
binary.setContentType("PatientConsent").setContent(bin);
// binary.setId(UUID.randomUUID().toString());
DocumentManifest manifest = new DocumentManifest();
// manifest.setId(UUID.randomUUID().toString());
CodeableConcept cc = new CodeableConcept();
cc.addCoding().setSystem("mySystem").setCode("PatientDocument");
manifest.setType(cc);
manifest.setMasterIdentifier(new Identifier().setSystem("mySystem").setValue(UUID.randomUUID().toString()));
manifest.addContent().setP(new Reference(binary));
manifest.setStatus(org.hl7.fhir.instance.model.Enumerations.DocumentReferenceStatus.CURRENT);
String encoded = ourCtx.newXmlParser().setPrettyPrint(true).encodeResourceToString(manifest);
ourLog.info(encoded);
assertThat(encoded,
StringContainsInOrder.stringContainsInOrder(Arrays.asList("contained>", "<Binary", "</contained>")));
DocumentManifest actual = ourCtx.newXmlParser().parseResource(DocumentManifest.class, encoded);
assertEquals(1, actual.getContained().size());
assertEquals(1, actual.getContent().size());
/*
* If this fails, the child named "p" in DocumentManifest is missing the
* type IBaseResource in its definition... This isn't being auto added right
* now, need to figure out why
*
* @Child(name = "p", type = {Attachment.class, IBaseResource.class},
* order=1, min=1, max=1, modifier=false, summary=true)
*/
assertNotNull(actual.getContent().get(0).getPReference().getResource());
}
XmlParserHl7OrgDstu2Test.java 文件源码
java
阅读 18
收藏 0
点赞 0
评论 0
项目:hapi-fhir
作者:
评论列表
文章目录