From d9e21a7192b6a6fc90e85fb2dc8fa6447048b0eb Mon Sep 17 00:00:00 2001 From: "b.debeaubien" Date: Wed, 29 Oct 2014 15:50:43 -0400 Subject: [PATCH 1/2] Fix for https://github.com/jamesagnew/hapi-fhir/issues/42 --- .../java/ca/uhn/fhir/context/RuntimeResourceDefinition.java | 6 ++++++ .../ca/uhn/fhir/context/RuntimeResourceDefinitionTest.java | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/RuntimeResourceDefinition.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/RuntimeResourceDefinition.java index 557feae8a52..25479bbdba0 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/RuntimeResourceDefinition.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/RuntimeResourceDefinition.java @@ -32,6 +32,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import ca.uhn.fhir.model.api.ICompositeDatatype; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.text.WordUtils; @@ -364,6 +365,11 @@ public class RuntimeResourceDefinition extends BaseRuntimeElementCompositeDefini if (nextChild.getChildType() != null && IPrimitiveDatatype.class.isAssignableFrom(nextChild.getChildType())) { RuntimePrimitiveDatatypeDefinition pdef = (RuntimePrimitiveDatatypeDefinition) nextChild.getSingleChildOrThrow(); defn.getDefinition().addType().setCode(DataTypeEnum.VALUESET_BINDER.fromCodeString(pdef.getName())); + } + else if (nextChild.getChildType() != null && ICompositeDatatype.class.isAssignableFrom(nextChild.getChildType())) { + RuntimeCompositeDatatypeDefinition pdef = (RuntimeCompositeDatatypeDefinition) nextChild.getSingleChildOrThrow(); + defn.getDefinition().addType().setCode(DataTypeEnum.VALUESET_BINDER.fromCodeString(pdef.getName())); + } else { RuntimeResourceBlockDefinition pdef = (RuntimeResourceBlockDefinition) nextChild.getSingleChildOrThrow(); scanForExtensions(theProfile, pdef); diff --git a/hapi-fhir-base/src/test/java/ca/uhn/fhir/context/RuntimeResourceDefinitionTest.java b/hapi-fhir-base/src/test/java/ca/uhn/fhir/context/RuntimeResourceDefinitionTest.java index cac7df5fcca..dbedb9a5c0e 100644 --- a/hapi-fhir-base/src/test/java/ca/uhn/fhir/context/RuntimeResourceDefinitionTest.java +++ b/hapi-fhir-base/src/test/java/ca/uhn/fhir/context/RuntimeResourceDefinitionTest.java @@ -79,7 +79,8 @@ public class RuntimeResourceDefinitionTest { assertEquals("ResourceWithExtensionsA.extension", element.get(2).getPath().getValue()); assertEquals("ResourceWithExtensionsA.extension", element.get(3).getPath().getValue()); assertEquals("ResourceWithExtensionsA.extension", element.get(4).getPath().getValue()); - assertEquals("ResourceWithExtensionsA.modifierExtension", element.get(5).getPath().getValue()); + assertEquals("ResourceWithExtensionsA.extension", element.get(5).getPath().getValue()); + assertEquals("ResourceWithExtensionsA.modifierExtension", element.get(6).getPath().getValue()); assertEquals(DataTypeEnum.EXTENSION, element.get(1).getDefinition().getType().get(0).getCode().getValueAsEnum()); assertEquals("url", element.get(1).getSlicing().getDiscriminator().getValue()); @@ -87,7 +88,7 @@ public class RuntimeResourceDefinitionTest { assertEquals(DataTypeEnum.EXTENSION, element.get(2).getDefinition().getType().get(0).getCode().getValueAsEnum()); assertEquals("#f1", element.get(2).getDefinition().getType().get(0).getProfile().getValueAsString()); - assertEquals("ResourceWithExtensionsA.identifier", element.get(12).getPath().getValue()); + assertEquals("ResourceWithExtensionsA.identifier", element.get(13).getPath().getValue()); } From 7c0ebd6e98eb77346f17516c1bd545d2d79efe4a Mon Sep 17 00:00:00 2001 From: "b.debeaubien" Date: Wed, 29 Oct 2014 16:00:54 -0400 Subject: [PATCH 2/2] https://github.com/jamesagnew/hapi-fhir/issues/39 AddProfileTagEnum is now public, so that one can actually call setAddProfileTag. --- .../main/java/ca/uhn/fhir/rest/server/AddProfileTagEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/AddProfileTagEnum.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/AddProfileTagEnum.java index 9ae13ff20cf..b4f13afba99 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/AddProfileTagEnum.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/AddProfileTagEnum.java @@ -25,7 +25,7 @@ package ca.uhn.fhir.rest.server; * * @see RestfulServer#setAddProfileTag(AddProfileTagEnum) */ -enum AddProfileTagEnum { +public enum AddProfileTagEnum { /** * Do not add profile tags automatically */