Updated docs in ResourceDef to indicate what id is used for (potentially it's also used for other things, though I didn't find any)

Added a test that demonstrates using ResourceDef.id to set the id for a custom resource's profile
This commit is contained in:
b.debeaubien 2014-10-31 09:54:44 -04:00
parent 567fd1219c
commit 11894710f9
3 changed files with 41 additions and 1 deletions

View File

@ -38,7 +38,7 @@ public @interface ResourceDef {
String name() default "";
/**
* Not currently used
* if set, will be used as the id for any profiles generated for this resource
*/
String id() default "";

View File

@ -0,0 +1,30 @@
package ca.uhn.fhir.context;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.Description;
import ca.uhn.fhir.model.api.annotation.Extension;
import ca.uhn.fhir.model.api.annotation.ResourceDef;
import ca.uhn.fhir.model.dstu.resource.Observation;
import ca.uhn.fhir.model.primitive.StringDt;
/**
* Created by Bill de Beaubien on 10/31/2014.
*/
@ResourceDef(name="Observation", id="customobservation")
public class CustomObservation extends Observation {
@Child(name = "valueUnits", order = 3)
@Extension(url = "http://hapi.test.com/profile/customobservation#valueUnits", definedLocally = true, isModifier = false)
@Description(shortDefinition = "Units on an observation whose type is of valueString")
private StringDt myValueUnits;
public StringDt getValueUnits() {
if (myValueUnits == null) {
myValueUnits = new StringDt();
}
return myValueUnits;
}
public void setValueUnits(StringDt theValueUnits) {
myValueUnits = theValueUnits;
}
}

View File

@ -92,4 +92,14 @@ public class RuntimeResourceDefinitionTest {
}
@Test
public void testProfileIdIsActualResourceName() {
FhirContext ctx = new FhirContext(CustomObservation.class);
RuntimeResourceDefinition def = ctx.getResourceDefinition(CustomObservation.class);
Profile profile = (Profile) def.toProfile();
assertEquals("customobservation", profile.getId().toString());
}
}