Fix #401 - Don't clear fullUrl on stored bundles
This commit is contained in:
parent
294e467811
commit
ca97c0d000
|
@ -1,7 +1,6 @@
|
|||
package ca.uhn.fhir.jpa.dao.dstu3;
|
||||
|
||||
import org.hl7.fhir.dstu3.model.Bundle;
|
||||
import org.hl7.fhir.dstu3.model.Bundle.BundleEntryComponent;
|
||||
import org.hl7.fhir.dstu3.model.Bundle.BundleType;
|
||||
|
||||
/*
|
||||
|
@ -37,9 +36,6 @@ public class FhirResourceDaoBundleDstu3 extends FhirResourceDaoDstu3<Bundle> {
|
|||
throw new UnprocessableEntityException(message);
|
||||
}
|
||||
|
||||
for (BundleEntryComponent next : theResource.getEntry()) {
|
||||
next.setFullUrl((String)null);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
package ca.uhn.fhir.jpa.provider.dstu3;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import org.hl7.fhir.dstu3.model.Bundle;
|
||||
import org.hl7.fhir.dstu3.model.Bundle.BundleType;
|
||||
import org.hl7.fhir.dstu3.model.Composition;
|
||||
import org.hl7.fhir.instance.model.api.IIdType;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Test;
|
||||
|
||||
import ca.uhn.fhir.util.TestUtil;
|
||||
|
||||
public class ResourceProviderDstu3BundleTest extends BaseResourceProviderDstu3Test {
|
||||
|
||||
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(ResourceProviderDstu3BundleTest.class);
|
||||
|
||||
@AfterClass
|
||||
public static void afterClassClearContext() {
|
||||
TestUtil.clearAllStaticFieldsForUnitTest();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* See #401
|
||||
*/
|
||||
@Test
|
||||
public void testBundlePreservesFullUrl() throws Exception {
|
||||
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.setType(BundleType.DOCUMENT);
|
||||
|
||||
Composition composition = new Composition();
|
||||
composition.setTitle("Visit Summary");
|
||||
bundle.addEntry().setFullUrl("http://foo").setResource(composition);
|
||||
|
||||
IIdType id = ourClient.create().resource(bundle).execute().getId();
|
||||
|
||||
Bundle retBundle = ourClient.read().resource(Bundle.class).withId(id).execute();
|
||||
ourLog.info(myFhirCtx.newXmlParser().setPrettyPrint(true).encodeResourceToString(retBundle));
|
||||
|
||||
assertEquals("http://foo", bundle.getEntry().get(0).getFullUrl());
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -94,6 +94,12 @@
|
|||
<![CDATA[<code>Tag#setCode(String)</code>]]> did not actually set the code it was supposed to
|
||||
set. Thanks to Tim Tschampel for reporting!
|
||||
</action>
|
||||
<action type="fix" issue="401">
|
||||
JPA server's <![CDATA[<code>/Bundle</code>]]> endpoint cleared
|
||||
the <![CDATA[<code>Bundle.entry.fullUrl</code>]]> field on stored
|
||||
bundles, resulting in invalid content being saved. Thanks to Mirjam
|
||||
Baltus for reporting!
|
||||
</action>
|
||||
</release>
|
||||
<release version="1.6" date="2016-07-07">
|
||||
<action type="fix">
|
||||
|
|
Loading…
Reference in New Issue