Merge pull request #43 from wdebeau1/master
Fix for https://github.com/jamesagnew/hapi-fhir/issues/42
This commit is contained in:
commit
1d2141accd
|
@ -1,8 +1,12 @@
|
|||
/bin
|
||||
/target
|
||||
target/
|
||||
.idea/
|
||||
.project/
|
||||
.settings/
|
||||
.metadata/
|
||||
RemoteSystemsTempFiles/
|
||||
Servers/
|
||||
*.iml
|
||||
*.log
|
||||
*.log*
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -31,27 +31,12 @@ import java.util.LinkedList;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import ca.uhn.fhir.context.*;
|
||||
import ca.uhn.fhir.model.api.ICompositeDatatype;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.text.WordUtils;
|
||||
|
||||
import ca.uhn.fhir.context.BaseRuntimeChildDefinition;
|
||||
import ca.uhn.fhir.context.BaseRuntimeDeclaredChildDefinition;
|
||||
import ca.uhn.fhir.context.BaseRuntimeElementCompositeDefinition;
|
||||
import ca.uhn.fhir.context.BaseRuntimeElementDefinition;
|
||||
import ca.uhn.fhir.context.BaseRuntimeElementDefinition.ChildTypeEnum;
|
||||
import ca.uhn.fhir.context.ConfigurationException;
|
||||
import ca.uhn.fhir.context.RuntimeChildChoiceDefinition;
|
||||
import ca.uhn.fhir.context.RuntimeChildCompositeDatatypeDefinition;
|
||||
import ca.uhn.fhir.context.RuntimeChildContainedResources;
|
||||
import ca.uhn.fhir.context.RuntimeChildDeclaredExtensionDefinition;
|
||||
import ca.uhn.fhir.context.RuntimeChildPrimitiveDatatypeDefinition;
|
||||
import ca.uhn.fhir.context.RuntimeChildResourceBlockDefinition;
|
||||
import ca.uhn.fhir.context.RuntimeChildResourceDefinition;
|
||||
import ca.uhn.fhir.context.RuntimeChildUndeclaredExtensionDefinition;
|
||||
import ca.uhn.fhir.context.RuntimePrimitiveDatatypeDefinition;
|
||||
import ca.uhn.fhir.context.RuntimeResourceBlockDefinition;
|
||||
import ca.uhn.fhir.context.RuntimeResourceDefinition;
|
||||
import ca.uhn.fhir.context.RuntimeResourceReferenceDefinition;
|
||||
import ca.uhn.fhir.model.api.IFhirVersion;
|
||||
import ca.uhn.fhir.model.api.IPrimitiveDatatype;
|
||||
import ca.uhn.fhir.model.api.IResource;
|
||||
|
@ -79,7 +64,7 @@ public class FhirDstu1 implements IFhirVersion {
|
|||
public Object createServerConformanceProvider(RestfulServer theServer) {
|
||||
return new ServerConformanceProvider(theServer);
|
||||
}
|
||||
|
||||
|
||||
private void fillBasics(StructureElement theElement, BaseRuntimeElementDefinition<?> def, LinkedList<String> path, BaseRuntimeDeclaredChildDefinition theChild) {
|
||||
if (path.isEmpty()) {
|
||||
path.add(def.getName());
|
||||
|
@ -311,6 +296,9 @@ public class FhirDstu1 implements IFhirVersion {
|
|||
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);
|
||||
|
|
|
@ -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());
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue