From 781b538d20c8c33a720208a1f6d6053c975ed84e Mon Sep 17 00:00:00 2001 From: Michele Adduci Date: Wed, 5 Mar 2025 06:06:58 +0100 Subject: [PATCH] Fixed all the structure tests --- .../java/ca/uhn/fhir/parser/ParserState.java | 7 ++----- .../ca/uhn/fhir/parser/XmlParserDstu2_1Test.java | 2 +- .../ca/uhn/fhir/parser/CustomTypeDstu2Test.java | 2 +- .../ca/uhn/fhir/parser/JsonParserDstu2Test.java | 16 ++++++++-------- .../ca/uhn/fhir/parser/XmlParserDstu2Test.java | 7 +++---- .../fhir/parser/JsonParserHl7OrgDstu2Test.java | 2 +- .../fhir/parser/XmlParserHl7OrgDstu2Test.java | 2 +- 7 files changed, 17 insertions(+), 21 deletions(-) diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/parser/ParserState.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/parser/ParserState.java index e2fce5a5cf05..5f206ed31216 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/parser/ParserState.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/parser/ParserState.java @@ -1286,13 +1286,11 @@ public void wereBack() { super.wereBack(); IResource nextResource = (IResource) getCurrentElement(); - String version = nextResource.getId().getVersionIdPart(); + // for DSTU2, we cannot use directly "nextResource.getId().getVersionIdPart();" + String version = ResourceMetadataKeyEnum.VERSION.get(nextResource); String resourceName = myContext.getResourceType(nextResource); String bundleIdPart = nextResource.getId().getIdPart(); if (isNotBlank(bundleIdPart)) { - // if (isNotBlank(entryBaseUrl)) { - // nextResource.setId(new IdDt(entryBaseUrl, resourceName, bundleIdPart, version)); - // } else { IdDt previousId = nextResource.getId(); nextResource.setId(new IdDt(null, resourceName, bundleIdPart, version)); // Copy extensions @@ -1301,7 +1299,6 @@ public void wereBack() { nextResource.getId().addUndeclaredExtension(ext); } } - // } } } } diff --git a/hapi-fhir-structures-dstu2.1/src/test/java/ca/uhn/fhir/parser/XmlParserDstu2_1Test.java b/hapi-fhir-structures-dstu2.1/src/test/java/ca/uhn/fhir/parser/XmlParserDstu2_1Test.java index 4c6fea901d86..e1f30b6c720c 100644 --- a/hapi-fhir-structures-dstu2.1/src/test/java/ca/uhn/fhir/parser/XmlParserDstu2_1Test.java +++ b/hapi-fhir-structures-dstu2.1/src/test/java/ca/uhn/fhir/parser/XmlParserDstu2_1Test.java @@ -403,7 +403,7 @@ public void testEncodeAndParseContained() { assertNotNull(patient.getManagingOrganization().getResource()); org = (Organization) patient.getManagingOrganization().getResource(); - assertEquals("#" + organizationUuid, org.getIdElement().getValue()); + assertEquals(organizationUuid, org.getIdElement().getValue()); assertEquals("Contained Test Organization", org.getName()); // And re-encode a second time diff --git a/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/parser/CustomTypeDstu2Test.java b/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/parser/CustomTypeDstu2Test.java index e3f230440f1b..9dbe8dafbd1a 100644 --- a/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/parser/CustomTypeDstu2Test.java +++ b/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/parser/CustomTypeDstu2Test.java @@ -80,7 +80,7 @@ public void testConstrainedFieldContainedResource() { medication = (Medication) mo.getMedication().getResource(); assertNotNull(medication); - assertEquals("#" + medicationUuid, medication.getId().getValue()); + assertEquals(medicationUuid, medication.getId().getValue()); assertEquals("MED TEXT", medication.getCode().getText()); } diff --git a/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/parser/JsonParserDstu2Test.java b/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/parser/JsonParserDstu2Test.java index ef7737273957..f818a9afe405 100644 --- a/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/parser/JsonParserDstu2Test.java +++ b/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/parser/JsonParserDstu2Test.java @@ -1345,7 +1345,7 @@ public void testOverrideResourceIdWithBundleEntryFullUrlDisabled_ConfiguredOnPar @Test public void testParseAndEncodeBundle() throws Exception { - String content = IOUtils.toString(JsonParserDstu2Test.class.getResourceAsStream("/bundle-example.json")); + String content = IOUtils.toString(JsonParserDstu2Test.class.getResourceAsStream("/bundle-example.json"), StandardCharsets.UTF_8); Bundle parsed = ourCtx.newJsonParser().parseResource(Bundle.class, content); assertEquals("Bundle/example/_history/1", parsed.getId().getValue()); @@ -1391,7 +1391,7 @@ public void testParseAndEncodeBundle() throws Exception { */ @Test public void testParseAndEncodeBundleFromXmlToJson() throws Exception { - String content = IOUtils.toString(JsonParserDstu2Test.class.getResourceAsStream("/bundle-example2.xml")); + String content = IOUtils.toString(JsonParserDstu2Test.class.getResourceAsStream("/bundle-example2.xml"), StandardCharsets.UTF_8); ca.uhn.fhir.model.dstu2.resource.Bundle parsed = ourCtx.newXmlParser().parseResource(ca.uhn.fhir.model.dstu2.resource.Bundle.class, content); @@ -1400,7 +1400,7 @@ public void testParseAndEncodeBundleFromXmlToJson() throws Exception { Medication m = (Medication) ((ResourceReferenceDt) p.getMedication()).getResource(); assertNotNull(m); - assertEquals("#med", m.getId().getValue()); + assertEquals("med", m.getId().getValue()); assertThat(p.getContained().getContainedResources()).hasSize(1); assertThat(p.getContained().getContainedResources().get(0)).isSameAs(m); @@ -1415,12 +1415,12 @@ public void testParseAndEncodeBundleFromXmlToJson() throws Exception { @Test public void testParseAndEncodeBundleNewStyle() throws Exception { - String content = IOUtils.toString(JsonParserDstu2Test.class.getResourceAsStream("/bundle-example.json")); - + String content = IOUtils.toString(JsonParserDstu2Test.class.getResourceAsStream("/bundle-example.json"), StandardCharsets.UTF_8); + ourLog.info("Parsed Content \n{}", content); ca.uhn.fhir.model.dstu2.resource.Bundle parsed = ourCtx.newJsonParser().parseResource(ca.uhn.fhir.model.dstu2.resource.Bundle.class, content); - assertEquals("Bundle/example/_history/1", parsed.getId().getValue()); assertThat(parsed.getResourceMetadata()).containsEntry(ResourceMetadataKeyEnum.VERSION, "1"); assertEquals("1", parsed.getId().getVersionIdPart()); + assertEquals("Bundle/example/_history/1", parsed.getId().getValue()); assertEquals(new InstantDt("2014-08-18T01:43:30Z"), parsed.getResourceMetadata().get(ResourceMetadataKeyEnum.UPDATED)); assertEquals("searchset", parsed.getTypeElement().getValue()); assertEquals(3, parsed.getTotal().intValue()); @@ -1459,7 +1459,7 @@ public void testParseAndEncodeBundleNewStyle() throws Exception { @Test public void testParseAndEncodeBundleOldStyle() throws Exception { - String content = IOUtils.toString(JsonParserDstu2Test.class.getResourceAsStream("/bundle-example.json")); + String content = IOUtils.toString(JsonParserDstu2Test.class.getResourceAsStream("/bundle-example.json"), StandardCharsets.UTF_8); Bundle parsed = ourCtx.newJsonParser().parseResource(Bundle.class, content); @@ -1501,7 +1501,7 @@ public void testParseAndEncodeBundleOldStyle() throws Exception { @Test public void testParseAndEncodeBundleResourceWithComments() throws Exception { - String content = IOUtils.toString(JsonParserDstu2Test.class.getResourceAsStream("/bundle-transaction2.json")); + String content = IOUtils.toString(JsonParserDstu2Test.class.getResourceAsStream("/bundle-transaction2.json"), StandardCharsets.UTF_8); ourCtx.newJsonParser().parseResource(Bundle.class, content); diff --git a/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/parser/XmlParserDstu2Test.java b/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/parser/XmlParserDstu2Test.java index b5586fd64455..4c6b153aa33c 100644 --- a/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/parser/XmlParserDstu2Test.java +++ b/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/parser/XmlParserDstu2Test.java @@ -229,10 +229,10 @@ public void testParseWovenContainedResources() throws IOException { DiagnosticReport resource = (DiagnosticReport) bundle.getEntry().get(0).getResource(); Observation obs = (Observation) resource.getResult().get(1).getResource(); - assertEquals("#2", obs.getId().getValue()); + assertEquals("2", obs.getId().getValue()); ResourceReferenceDt performerFirstRep = obs.getPerformer().get(0); Practitioner performer = (Practitioner) performerFirstRep.getResource(); - assertEquals("#3", performer.getId().getValue()); + assertEquals("3", performer.getId().getValue()); } @Test @@ -536,7 +536,7 @@ public void testEncodeAndParseContained() { assertNotNull(patient.getManagingOrganization().getResource()); org = (Organization) patient.getManagingOrganization().getResource(); - assertEquals("#" + organizationUuid, org.getId().getValue()); + assertEquals(organizationUuid, org.getId().getValue()); assertEquals("Contained Test Organization", org.getName()); // And re-encode a second time @@ -2523,7 +2523,6 @@ public void testParseBundleWithResourceId() { + "" + "\n"; //@formatter:on - ca.uhn.fhir.model.dstu2.resource.Bundle bundle = ourCtx.newXmlParser().parseResource(ca.uhn.fhir.model.dstu2.resource.Bundle.class, input); assertEquals("http://localhost:58402/fhir/context/Patient/1/_history/3", bundle.getEntry().get(0).getResource().getId().getValue()); assertEquals("http://localhost:58402/fhir/context/Patient/1/_history/2", bundle.getEntry().get(1).getResource().getId().getValue()); diff --git a/hapi-fhir-structures-hl7org-dstu2/src/test/java/ca/uhn/fhir/parser/JsonParserHl7OrgDstu2Test.java b/hapi-fhir-structures-hl7org-dstu2/src/test/java/ca/uhn/fhir/parser/JsonParserHl7OrgDstu2Test.java index 6a5ead67c1cf..6314b1c4b7f9 100644 --- a/hapi-fhir-structures-hl7org-dstu2/src/test/java/ca/uhn/fhir/parser/JsonParserHl7OrgDstu2Test.java +++ b/hapi-fhir-structures-hl7org-dstu2/src/test/java/ca/uhn/fhir/parser/JsonParserHl7OrgDstu2Test.java @@ -430,7 +430,7 @@ public void testEncodeContained() { assertNotNull(patient.getManagingOrganization().getResource()); org = (Organization) patient.getManagingOrganization().getResource(); - assertEquals("#" + organizationUuid, org.getIdElement().getValue()); + assertEquals(organizationUuid, org.getIdElement().getValue()); assertEquals("Contained Test Organization", org.getName()); // And re-encode a second time diff --git a/hapi-fhir-structures-hl7org-dstu2/src/test/java/ca/uhn/fhir/parser/XmlParserHl7OrgDstu2Test.java b/hapi-fhir-structures-hl7org-dstu2/src/test/java/ca/uhn/fhir/parser/XmlParserHl7OrgDstu2Test.java index d9582e02ba23..b5cf043fabe8 100644 --- a/hapi-fhir-structures-hl7org-dstu2/src/test/java/ca/uhn/fhir/parser/XmlParserHl7OrgDstu2Test.java +++ b/hapi-fhir-structures-hl7org-dstu2/src/test/java/ca/uhn/fhir/parser/XmlParserHl7OrgDstu2Test.java @@ -241,7 +241,7 @@ public void testEncodeAndParseContained() { assertNotNull(patient.getManagingOrganization().getResource()); org = (Organization) patient.getManagingOrganization().getResource(); - assertEquals("#" + organizationUuid, org.getIdElement().getValue()); + assertEquals(organizationUuid, org.getIdElement().getValue()); assertEquals("Contained Test Organization", org.getName()); // And re-encode a second time