More versions work
This commit is contained in:
parent
b07b8b9845
commit
81ddb3f1d5
|
@ -0,0 +1,128 @@
|
|||
package ca.uhn.fhir.model.primitive;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import ca.uhn.fhir.model.api.BasePrimitive;
|
||||
import ca.uhn.fhir.model.api.IQueryParameterType;
|
||||
import ca.uhn.fhir.model.api.annotation.DatatypeDef;
|
||||
import ca.uhn.fhir.model.api.annotation.SimpleSetter;
|
||||
import ca.uhn.fhir.parser.DataFormatException;
|
||||
|
||||
/**
|
||||
* Represents a Time datatype, per the FHIR specification. A time is a specification of hours and minutes (and optionally
|
||||
* milliseconds), with NO date and NO timezone information attached. It is expressed as a string in the form
|
||||
* <code>HH:mm:ss[.SSSS]</code>
|
||||
*
|
||||
* <p>
|
||||
* This datatype is not valid in FHIR DSTU1
|
||||
* </p>
|
||||
* @since FHIR DSTU 2 / HAPI 0.8
|
||||
*/
|
||||
@DatatypeDef(name = "time")
|
||||
public class TimeDt extends BasePrimitive<String> implements IQueryParameterType {
|
||||
|
||||
private String myValue;
|
||||
|
||||
/**
|
||||
* Create a new String
|
||||
*/
|
||||
public TimeDt() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new String
|
||||
*/
|
||||
@SimpleSetter
|
||||
public TimeDt(@SimpleSetter.Parameter(name = "theString") String theValue) {
|
||||
myValue = theValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getValue() {
|
||||
return myValue;
|
||||
}
|
||||
|
||||
public String getValueNotNull() {
|
||||
return StringUtils.defaultString(myValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getValueAsString() {
|
||||
return myValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue(String theValue) throws DataFormatException {
|
||||
myValue = theValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValueAsString(String theValue) throws DataFormatException {
|
||||
myValue = theValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of this string, or <code>null</code>
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return myValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + ((myValue == null) ? 0 : myValue.hashCode());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
TimeDt other = (TimeDt) obj;
|
||||
if (myValue == null) {
|
||||
if (other.myValue != null)
|
||||
return false;
|
||||
} else if (!myValue.equals(other.myValue))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void setValueAsQueryToken(String theQualifier, String theValue) {
|
||||
setValue(theValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getValueAsQueryToken() {
|
||||
return getValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns <code>true</code> if this datatype has no extensions, and has either a <code>null</code> value or an empty ("") value.
|
||||
*/
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
boolean retVal = super.isBaseEmpty() && StringUtils.isBlank(getValue());
|
||||
return retVal;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getQueryParameterQualifier() {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src/main/java">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="src" path="target/generated-resources/tinder"/>
|
||||
<classpathentry kind="src" path="target/generated-sources/tinder"/>
|
||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
|
@ -0,0 +1 @@
|
|||
/target/
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>hapi-fhir-structures-dev</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,2 @@
|
|||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
|
@ -0,0 +1,5 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
|
@ -0,0 +1,4 @@
|
|||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
|
@ -12,7 +12,7 @@
|
|||
<artifactId>hapi-fhir-structures-dev</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>HAPI FHIR Structures - DSTU (FHIR 0.80)</name>
|
||||
<name>HAPI FHIR Structures - DEV (FHIR Latest)</name>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
|
@ -207,21 +207,28 @@
|
|||
<package>ca.uhn.fhir.model.dev</package>
|
||||
<version>dev</version>
|
||||
<baseResourceNames>
|
||||
<baseResourceName>account</baseResourceName>
|
||||
<baseResourceName>adversereaction</baseResourceName>
|
||||
<baseResourceName>adversereactionrisk</baseResourceName>
|
||||
<baseResourceName>alert</baseResourceName>
|
||||
<baseResourceName>allergyintolerance</baseResourceName>
|
||||
<baseResourceName>appointmentresponse</baseResourceName>
|
||||
<baseResourceName>appointment</baseResourceName>
|
||||
<baseResourceName>appointmentresponse</baseResourceName>
|
||||
<baseResourceName>availability</baseResourceName>
|
||||
<baseResourceName>careplan</baseResourceName>
|
||||
<!-- <baseResourceName>claim</baseResourceName> -->
|
||||
<!--
|
||||
Doesn't seem to work yet
|
||||
<baseResourceName>claim</baseResourceName>
|
||||
-->
|
||||
<baseResourceName>composition</baseResourceName>
|
||||
<baseResourceName>conceptmap</baseResourceName>
|
||||
<baseResourceName>condition</baseResourceName>
|
||||
<baseResourceName>conformance</baseResourceName>
|
||||
<baseResourceName>contract</baseResourceName>
|
||||
<baseResourceName>contraindication</baseResourceName>
|
||||
<baseResourceName>coverage</baseResourceName>
|
||||
<baseResourceName>deviceobservationreport</baseResourceName>
|
||||
<baseResourceName>device</baseResourceName>
|
||||
<baseResourceName>deviceobservationreport</baseResourceName>
|
||||
<baseResourceName>diagnosticorder</baseResourceName>
|
||||
<baseResourceName>diagnosticreport</baseResourceName>
|
||||
<baseResourceName>documentmanifest</baseResourceName>
|
||||
|
@ -231,42 +238,58 @@
|
|||
<baseResourceName>geneexpression</baseResourceName>
|
||||
<baseResourceName>geneticanalysis</baseResourceName>
|
||||
<baseResourceName>group</baseResourceName>
|
||||
<baseResourceName>gvfmeta</baseResourceName>
|
||||
<baseResourceName>gvfvariant</baseResourceName>
|
||||
<baseResourceName>imagingstudy</baseResourceName>
|
||||
<baseResourceName>immunizationrecommendation</baseResourceName>
|
||||
<baseResourceName>immunization</baseResourceName>
|
||||
<baseResourceName>immunizationrecommendation</baseResourceName>
|
||||
<baseResourceName>list</baseResourceName>
|
||||
<baseResourceName>location</baseResourceName>
|
||||
<baseResourceName>media</baseResourceName>
|
||||
<baseResourceName>medication</baseResourceName>
|
||||
<baseResourceName>medicationadministration</baseResourceName>
|
||||
<baseResourceName>medicationdispense</baseResourceName>
|
||||
<baseResourceName>medicationprescription</baseResourceName>
|
||||
<baseResourceName>medication</baseResourceName>
|
||||
<baseResourceName>medicationstatement</baseResourceName>
|
||||
<baseResourceName>messageheader</baseResourceName>
|
||||
<baseResourceName>microarray</baseResourceName>
|
||||
<baseResourceName>namespace</baseResourceName>
|
||||
<baseResourceName>nutritionorder</baseResourceName>
|
||||
<baseResourceName>observation</baseResourceName>
|
||||
<baseResourceName>operationoutcome</baseResourceName>
|
||||
<baseResourceName>operationdefinition</baseResourceName>
|
||||
<baseResourceName>orderresponse</baseResourceName>
|
||||
<baseResourceName>operationoutcome</baseResourceName>
|
||||
<baseResourceName>order</baseResourceName>
|
||||
<baseResourceName>orderresponse</baseResourceName>
|
||||
<baseResourceName>organization</baseResourceName>
|
||||
<baseResourceName>other</baseResourceName>
|
||||
<baseResourceName>patient</baseResourceName>
|
||||
<baseResourceName>person</baseResourceName>
|
||||
<baseResourceName>practitioner</baseResourceName>
|
||||
<baseResourceName>procedure</baseResourceName>
|
||||
<baseResourceName>profile</baseResourceName>
|
||||
<!--
|
||||
Depends on "ActivityDefinition", which doesn't exist..
|
||||
<baseResourceName>protocol</baseResourceName>
|
||||
-->
|
||||
<baseResourceName>provenance</baseResourceName>
|
||||
<baseResourceName>query</baseResourceName>
|
||||
<baseResourceName>questionnaire</baseResourceName>
|
||||
<baseResourceName>questionnaireanswers</baseResourceName>
|
||||
<baseResourceName>referralrequest</baseResourceName>
|
||||
<baseResourceName>relatedperson</baseResourceName>
|
||||
<baseResourceName>remittance</baseResourceName>
|
||||
<baseResourceName>riskassessment</baseResourceName>
|
||||
<baseResourceName>securityclaim</baseResourceName>
|
||||
<baseResourceName>securityevent</baseResourceName>
|
||||
<baseResourceName>securitygroup</baseResourceName>
|
||||
<baseResourceName>securityprincipal</baseResourceName>
|
||||
<!--
|
||||
What is this?
|
||||
<baseResourceName>sequence</baseResourceName>
|
||||
-->
|
||||
<baseResourceName>sequencinganalysis</baseResourceName>
|
||||
<baseResourceName>sequencinglab</baseResourceName>
|
||||
<baseResourceName>slot</baseResourceName>
|
||||
<baseResourceName>specimen</baseResourceName>
|
||||
<baseResourceName>subscription</baseResourceName>
|
||||
<baseResourceName>substance</baseResourceName>
|
||||
<baseResourceName>supply</baseResourceName>
|
||||
<baseResourceName>user</baseResourceName>
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
package ca.uhn.fhir.model.dev.composite;
|
||||
|
||||
public class AgeDt {
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package ca.uhn.fhir.model.dev.composite;
|
||||
|
||||
public class CountDt {
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package ca.uhn.fhir.model.dev.composite;
|
||||
|
||||
public class DistanceDt {
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package ca.uhn.fhir.model.dev.composite;
|
||||
|
||||
public class DurationDt {
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package ca.uhn.fhir.model.dev.composite;
|
||||
|
||||
public class MoneyDt {
|
||||
|
||||
}
|
|
@ -206,25 +206,21 @@
|
|||
<configuration>
|
||||
<package>ca.uhn.fhir.model.dstu</package>
|
||||
<baseResourceNames>
|
||||
<baseResourceName>account</baseResourceName>
|
||||
<baseResourceName>adversereaction</baseResourceName>
|
||||
<baseResourceName>adversereactionrisk</baseResourceName>
|
||||
<baseResourceName>alert</baseResourceName>
|
||||
<baseResourceName>allergyintolerance</baseResourceName>
|
||||
<baseResourceName>appointment</baseResourceName>
|
||||
<baseResourceName>appointmentresponse</baseResourceName>
|
||||
<baseResourceName>appointment</baseResourceName>
|
||||
<baseResourceName>availability</baseResourceName>
|
||||
<baseResourceName>careplan</baseResourceName>
|
||||
<baseResourceName>claim</baseResourceName>
|
||||
<!-- <baseResourceName>claim</baseResourceName> -->
|
||||
<baseResourceName>composition</baseResourceName>
|
||||
<baseResourceName>conceptmap</baseResourceName>
|
||||
<baseResourceName>condition</baseResourceName>
|
||||
<baseResourceName>conformance</baseResourceName>
|
||||
<baseResourceName>contract</baseResourceName>
|
||||
<baseResourceName>contraindication</baseResourceName>
|
||||
<baseResourceName>coverage</baseResourceName>
|
||||
<baseResourceName>device</baseResourceName>
|
||||
<baseResourceName>deviceobservationreport</baseResourceName>
|
||||
<baseResourceName>device</baseResourceName>
|
||||
<baseResourceName>diagnosticorder</baseResourceName>
|
||||
<baseResourceName>diagnosticreport</baseResourceName>
|
||||
<baseResourceName>documentmanifest</baseResourceName>
|
||||
|
@ -234,52 +230,41 @@
|
|||
<baseResourceName>geneexpression</baseResourceName>
|
||||
<baseResourceName>geneticanalysis</baseResourceName>
|
||||
<baseResourceName>group</baseResourceName>
|
||||
<baseResourceName>gvfmeta</baseResourceName>
|
||||
<baseResourceName>gvfvariant</baseResourceName>
|
||||
<baseResourceName>imagingstudy</baseResourceName>
|
||||
<baseResourceName>immunization</baseResourceName>
|
||||
<baseResourceName>immunizationrecommendation</baseResourceName>
|
||||
<baseResourceName>immunization</baseResourceName>
|
||||
<baseResourceName>list</baseResourceName>
|
||||
<baseResourceName>location</baseResourceName>
|
||||
<baseResourceName>media</baseResourceName>
|
||||
<baseResourceName>medication</baseResourceName>
|
||||
<baseResourceName>medicationadministration</baseResourceName>
|
||||
<baseResourceName>medicationdispense</baseResourceName>
|
||||
<baseResourceName>medicationprescription</baseResourceName>
|
||||
<baseResourceName>medication</baseResourceName>
|
||||
<baseResourceName>medicationstatement</baseResourceName>
|
||||
<baseResourceName>messageheader</baseResourceName>
|
||||
<baseResourceName>microarray</baseResourceName>
|
||||
<baseResourceName>namespace</baseResourceName>
|
||||
<baseResourceName>nutritionorder</baseResourceName>
|
||||
<baseResourceName>observation</baseResourceName>
|
||||
<baseResourceName>operationdefinition</baseResourceName>
|
||||
<baseResourceName>operationoutcome</baseResourceName>
|
||||
<baseResourceName>order</baseResourceName>
|
||||
<baseResourceName>orderresponse</baseResourceName>
|
||||
<baseResourceName>order</baseResourceName>
|
||||
<baseResourceName>organization</baseResourceName>
|
||||
<baseResourceName>other</baseResourceName>
|
||||
<baseResourceName>patient</baseResourceName>
|
||||
<baseResourceName>person</baseResourceName>
|
||||
<baseResourceName>practitioner</baseResourceName>
|
||||
<baseResourceName>procedure</baseResourceName>
|
||||
<baseResourceName>profile</baseResourceName>
|
||||
<baseResourceName>protocol</baseResourceName>
|
||||
<baseResourceName>provenance</baseResourceName>
|
||||
<baseResourceName>query</baseResourceName>
|
||||
<baseResourceName>questionnaire</baseResourceName>
|
||||
<baseResourceName>questionnaireanswers</baseResourceName>
|
||||
<baseResourceName>referralrequest</baseResourceName>
|
||||
<baseResourceName>relatedperson</baseResourceName>
|
||||
<baseResourceName>remittance</baseResourceName>
|
||||
<baseResourceName>riskassessment</baseResourceName>
|
||||
<baseResourceName>securityclaim</baseResourceName>
|
||||
<baseResourceName>securityevent</baseResourceName>
|
||||
<baseResourceName>securitygroup</baseResourceName>
|
||||
<baseResourceName>securityprincipal</baseResourceName>
|
||||
<baseResourceName>sequence</baseResourceName>
|
||||
<baseResourceName>sequencinganalysis</baseResourceName>
|
||||
<baseResourceName>sequencinglab</baseResourceName>
|
||||
<baseResourceName>slot</baseResourceName>
|
||||
<baseResourceName>specimen</baseResourceName>
|
||||
<baseResourceName>subscription</baseResourceName>
|
||||
<baseResourceName>substance</baseResourceName>
|
||||
<baseResourceName>supply</baseResourceName>
|
||||
<baseResourceName>user</baseResourceName>
|
||||
|
|
|
@ -1009,7 +1009,7 @@ public class Controller {
|
|||
}
|
||||
|
||||
if (StringUtils.isNotBlank(theReq.getParameter("param." + paramIdxString + ".0.name"))) {
|
||||
handleSearchParam(paramIdxString + ".0", theReq, theQuery, theClientCodeJsonWriter);
|
||||
handleSearchParam(paramIdxString + ".0", theReq, theQuery , theClientCodeJsonWriter);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
@ -217,7 +217,7 @@ public class TinderStructuresMojo extends AbstractMojo {
|
|||
String dtOutputDir = "target/generated-sources/ca/uhn/fhir/model/dstu/composite";
|
||||
|
||||
ResourceGeneratorUsingSpreadsheet rp = new ResourceGeneratorUsingSpreadsheet("dev");
|
||||
rp.setBaseResourceNames(Arrays.asList("conceptmap","organization"));
|
||||
rp.setBaseResourceNames(Arrays.asList("referralrequest", "patient","practitioner","encounter","organization"));
|
||||
rp.parse();
|
||||
rp.bindValueSets(vsp);
|
||||
rp.markResourcesForImports();
|
||||
|
@ -233,7 +233,7 @@ public class TinderStructuresMojo extends AbstractMojo {
|
|||
datatypeLocalImports.putAll(rp.getLocalImports());
|
||||
|
||||
dtp.writeAll(new File(dtOutputDir), null, "ca.uhn.fhir.model.dstu");
|
||||
rp.writeAll(new File(rpOutputDir), new File(rpSOutputDir), "ca.uhn.fhir.model.dstu");
|
||||
rp.writeAll(new File(rpOutputDir), new File(rpSOutputDir), "ca.uhn.fhir.model.dev");
|
||||
|
||||
String vsOutputDir = "target/generated-sources/ca/uhn/fhir/model/dstu/valueset";
|
||||
vsp.writeMarkedValueSets(new File(vsOutputDir), "ca.uhn.fhir.model.dstu");
|
||||
|
|
|
@ -227,6 +227,8 @@ public abstract class BaseElement {
|
|||
return;
|
||||
}
|
||||
String typeString = theType;
|
||||
typeString = typeString.replace("Reference (", "Reference(");
|
||||
|
||||
if (typeString.toLowerCase().startsWith("resource(")) {
|
||||
typeString = typeString.substring("Resource(".length(), typeString.length() - 1);
|
||||
myResourceRef = true;
|
||||
|
|
|
@ -54,6 +54,7 @@ public abstract class BaseStructureParser {
|
|||
private boolean myImportsResolved;
|
||||
private TreeMap<String, String> myNameToResourceClass = new TreeMap<String, String>();
|
||||
private TreeMap<String, String> myNameToDatatypeClass = new TreeMap<String, String>();
|
||||
private String myPackageBase;
|
||||
|
||||
public TreeMap<String, String> getNameToDatatypeClass() {
|
||||
return myNameToDatatypeClass;
|
||||
|
@ -65,7 +66,7 @@ public abstract class BaseStructureParser {
|
|||
theStructureParser.myNameToResourceClass.putAll(myNameToResourceClass);
|
||||
theStructureParser.myNameToDatatypeClass.putAll(myNameToDatatypeClass);
|
||||
}
|
||||
|
||||
|
||||
public void addResource(BaseRootType theResource) {
|
||||
myResources.add(theResource);
|
||||
}
|
||||
|
@ -98,7 +99,8 @@ public abstract class BaseStructureParser {
|
|||
}
|
||||
}
|
||||
|
||||
private ca.uhn.fhir.model.api.annotation.SimpleSetter.Parameter findAnnotation(Class<?> theBase, Annotation[] theAnnotations, Class<ca.uhn.fhir.model.api.annotation.SimpleSetter.Parameter> theClass) {
|
||||
private ca.uhn.fhir.model.api.annotation.SimpleSetter.Parameter findAnnotation(Class<?> theBase, Annotation[] theAnnotations,
|
||||
Class<ca.uhn.fhir.model.api.annotation.SimpleSetter.Parameter> theClass) {
|
||||
for (Annotation next : theAnnotations) {
|
||||
if (theClass.equals(next.annotationType())) {
|
||||
return (ca.uhn.fhir.model.api.annotation.SimpleSetter.Parameter) next;
|
||||
|
@ -153,31 +155,42 @@ public abstract class BaseStructureParser {
|
|||
return (theNextType);
|
||||
} else {
|
||||
try {
|
||||
String type = "ca.uhn.fhir.model.dstu.composite." + theNextType;
|
||||
String type = myPackageBase + ".composite." + theNextType;
|
||||
Class.forName(type);
|
||||
return (type);
|
||||
} catch (ClassNotFoundException e) {
|
||||
try {
|
||||
String type = "ca.uhn.fhir.model.dstu.resource." + theNextType;
|
||||
String type = "ca.uhn.fhir.model.dstu.composite." + theNextType;
|
||||
Class.forName(type);
|
||||
return (type);
|
||||
} catch (ClassNotFoundException e1) {
|
||||
} catch (ClassNotFoundException e5) {
|
||||
try {
|
||||
String type = "ca.uhn.fhir.model.primitive." + theNextType;
|
||||
String type = "ca.uhn.fhir.model.dstu.resource." + theNextType;
|
||||
Class.forName(type);
|
||||
return (type);
|
||||
} catch (ClassNotFoundException e2) {
|
||||
} catch (ClassNotFoundException e1) {
|
||||
try {
|
||||
String type = "ca.uhn.fhir.model.dstu.valueset." + theNextType;
|
||||
String type = "ca.uhn.fhir.model.primitive." + theNextType;
|
||||
Class.forName(type);
|
||||
return (type);
|
||||
} catch (ClassNotFoundException e3) {
|
||||
} catch (ClassNotFoundException e2) {
|
||||
try {
|
||||
String type = "ca.uhn.fhir.model.api." + theNextType;
|
||||
String type = myPackageBase + ".valueset." + theNextType;
|
||||
Class.forName(type);
|
||||
return (type);
|
||||
} catch (ClassNotFoundException e4) {
|
||||
throw new MojoFailureException("Unknown type: " + theNextType + " - Have locally defined names: " + new TreeSet<String>(myLocallyDefinedClassNames.keySet()));
|
||||
} catch (ClassNotFoundException e3) {
|
||||
try {
|
||||
String type = "ca.uhn.fhir.model.api." + theNextType;
|
||||
Class.forName(type);
|
||||
return (type);
|
||||
} catch (ClassNotFoundException e4) {
|
||||
String fileName = "src/main/java/" + myPackageBase.replace('.', '/') + "/composite/" + theNextType + ".java";
|
||||
File file = new File(fileName);
|
||||
if (file.exists()) {
|
||||
return myPackageBase + ".composite." + theNextType;
|
||||
}
|
||||
throw new MojoFailureException("Unknown type: " + theNextType + " - Have locally defined names: " + new TreeSet<String>(myLocallyDefinedClassNames.keySet()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -330,6 +343,8 @@ public abstract class BaseStructureParser {
|
|||
}
|
||||
|
||||
public void writeAll(File theOutputDirectory, File theResourceOutputDirectory, String thePackageBase) throws MojoFailureException {
|
||||
myPackageBase = thePackageBase;
|
||||
|
||||
if (!theOutputDirectory.exists()) {
|
||||
theOutputDirectory.mkdirs();
|
||||
}
|
||||
|
@ -426,8 +441,8 @@ public abstract class BaseStructureParser {
|
|||
}
|
||||
|
||||
/**
|
||||
* Example: Encounter has an internal block class named "Location", but it also has a reference to the Location
|
||||
* resource type, so we need to use the fully qualified name for that resource reference
|
||||
* Example: Encounter has an internal block class named "Location", but it also has a reference to the Location resource type, so we need to use the fully qualified name for that resource
|
||||
* reference
|
||||
*/
|
||||
private void fixResourceReferenceClassNames(BaseElement theNext, String thePackageBase) {
|
||||
for (BaseElement next : theNext.getChildren()) {
|
||||
|
|
|
@ -31,10 +31,11 @@ public class ResourceGeneratorUsingSpreadsheet extends BaseStructureSpreadsheetP
|
|||
myInputStreams = new ArrayList<InputStream>();
|
||||
|
||||
for (String next : theBaseResourceNames) {
|
||||
InputStream nextRes = getClass().getResourceAsStream("/res/" + myVersion + "/" + next + "-spreadsheet.xml");
|
||||
String resName = "/res/" + myVersion + "/" + next + "-spreadsheet.xml";
|
||||
InputStream nextRes = getClass().getResourceAsStream(resName);
|
||||
myInputStreams.add(nextRes);
|
||||
if (nextRes == null) {
|
||||
throw new MojoFailureException("Unknown base resource name: " + next);
|
||||
throw new MojoFailureException("Unknown base resource name: " + resName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -72,110 +73,6 @@ public class ResourceGeneratorUsingSpreadsheet extends BaseStructureSpreadsheetP
|
|||
return theFileName.endsWith("spreadsheet.xml");
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
ResourceGeneratorUsingSpreadsheet p = new ResourceGeneratorUsingSpreadsheet("dstu");
|
||||
ArrayList<String> names = new ArrayList<String>();
|
||||
names.add("conceptmap");
|
||||
names.add("list");
|
||||
names.add("person");
|
||||
p.setBaseResourceNames(names);
|
||||
p.parse();
|
||||
p.markResourcesForImports();
|
||||
p.writeAll(new File("target/gen/ca/uhn/fhir/model/dstu/resource"), null, "ca.uhn.fhir.model.dstu");
|
||||
//
|
||||
// // TODO: this needs to be properly populated
|
||||
// p.getAllDatatypes().add("String");
|
||||
// p.getAllDatatypes().add("Date");
|
||||
// p.getAllDatatypes().add("DateTime");
|
||||
//
|
||||
// // p.setDirectory("src/test/resources/res");
|
||||
// // p.setResourceName("patient");
|
||||
// // p.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/resource/ResourceWithExtensionsA.java");
|
||||
// // ArrayList<Extension> exts = new ArrayList<Extension>();
|
||||
// // Extension ext1 = new Extension("foo1", "http://foo/1", "string");
|
||||
// // exts.add(ext1);
|
||||
// // Extension ext2 = new Extension("bar1", "http://bar/1", new Extension("bar11", "http://bar/1/1", "date"), new Extension("bar12", "http://bar/1/2", "date"));
|
||||
// // exts.add(ext2);
|
||||
// // p.setExtensions(exts);
|
||||
// // p.parse();
|
||||
//
|
||||
// // String basePath="../hapi-fhir-base/src/main/java";
|
||||
// String basePath="target/generated/valuesets";
|
||||
//
|
||||
// p.setResourceName("medication");
|
||||
// p.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/resource/Medication.java");
|
||||
// p.parse();
|
||||
//
|
||||
// p.setDirectory("src/test/resources/res");
|
||||
// p.setResourceName("substance");
|
||||
// p.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/resource/Substance.java");
|
||||
// p.parse();
|
||||
//
|
||||
//
|
||||
// p.setDirectory("src/test/resources/res");
|
||||
// p.setResourceName("valueset");
|
||||
// p.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/resource/ValueSetTm.java");
|
||||
// p.parse();
|
||||
//
|
||||
// p.setDirectory("src/test/resources/res");
|
||||
// p.setResourceName("observation");
|
||||
// p.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/resource/Observation.java");
|
||||
// p.parse();
|
||||
//
|
||||
// p.setResourceName("profile");
|
||||
// p.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/resource/Profile.java");
|
||||
// p.parse();
|
||||
//
|
||||
// p.setResourceName("device");
|
||||
// p.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/resource/Device.java");
|
||||
// p.parse();
|
||||
//
|
||||
// p.setResourceName("group");
|
||||
// p.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/resource/Group.java");
|
||||
// p.parse();
|
||||
//
|
||||
// p.setResourceName("location");
|
||||
// p.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/resource/Location.java");
|
||||
// p.parse();
|
||||
//
|
||||
// p.setResourceName("organization");
|
||||
// p.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/resource/Organization.java");
|
||||
// p.parse();
|
||||
//
|
||||
// p.setResourceName("patient");
|
||||
// p.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/resource/Patient.java");
|
||||
// p.parse();
|
||||
//
|
||||
// p.setResourceName("specimen");
|
||||
// p.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/resource/Specimen.java");
|
||||
// p.parse();
|
||||
//
|
||||
// p.setResourceName("practitioner");
|
||||
// p.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/resource/Practitioner.java");
|
||||
// p.parse();
|
||||
//
|
||||
// DatatypeSpreadsheetParser d = new DatatypeSpreadsheetParser();
|
||||
// d.setDirectory("src/test/resources/dt");
|
||||
// d.setDatatypeName("humanname");
|
||||
// d.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/composite/HumanNameDt.java");
|
||||
// d.parse();
|
||||
//
|
||||
// d.setDatatypeName("contact");
|
||||
// d.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/composite/ContactDt.java");
|
||||
// d.parse();
|
||||
//
|
||||
// d.setDatatypeName("address");
|
||||
// d.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/composite/AddressDt.java");
|
||||
// d.parse();
|
||||
//
|
||||
// d.setDatatypeName("narrative");
|
||||
// d.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/composite/NarrativeDt.java");
|
||||
// d.parse();
|
||||
//
|
||||
// d.setDatatypeName("quantity");
|
||||
// d.setOutputFile(basePath + "/ca/uhn/fhir/model/dstu/composite/QuantityDt.java");
|
||||
// d.parse();
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -268,7 +268,7 @@
|
|||
<Cell ss:StyleID="s70"><Data ss:Type="String">Contract.term</Data></Cell>
|
||||
<Cell><Data ss:Type="String">0..*</Data></Cell>
|
||||
<Cell ss:Index="5"><Data ss:Type="String">right</Data></Cell>
|
||||
<Cell><Data ss:Type="String">Terms</Data></Cell>
|
||||
<Cell><Data ss:Type="String"><!-- Terms --></Data></Cell>
|
||||
<Cell ss:Index="8"><Data ss:Type="String">Contract provisions</Data></Cell>
|
||||
<Cell ss:StyleID="s72"><Data ss:Type="String">A contract provision.</Data></Cell>
|
||||
<Cell ss:StyleID="s67"/>
|
||||
|
|
1
pom.xml
1
pom.xml
|
@ -105,6 +105,7 @@
|
|||
<module>hapi-tinder-plugin</module>
|
||||
<module>hapi-tinder-test</module>
|
||||
<module>hapi-fhir-structures-dstu</module>
|
||||
<module>hapi-fhir-structures-dev</module>
|
||||
<module>hapi-fhir-jpaserver-base</module>
|
||||
<module>hapi-fhir-jpaserver-test</module>
|
||||
<module>restful-server-example</module>
|
||||
|
|
Loading…
Reference in New Issue