XmlParserHl7OrgDstu2Test.java 文件源码

java
阅读 18 收藏 0 点赞 0 评论 0

项目:hapi-fhir 作者:
/**
 * 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());

}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号