JPA server is almost working
This commit is contained in:
parent
245533773f
commit
0ad18c0b77
|
@ -62,6 +62,9 @@ public class MethodOutcome {
|
||||||
return myOperationOutcome;
|
return myOperationOutcome;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated {@link MethodOutcome#getId()} should return the complete ID including version if it is available
|
||||||
|
*/
|
||||||
public IdDt getVersionId() {
|
public IdDt getVersionId() {
|
||||||
return myVersionId;
|
return myVersionId;
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.http.Header;
|
import org.apache.http.Header;
|
||||||
import org.apache.http.HttpEntity;
|
import org.apache.http.HttpEntity;
|
||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
|
@ -127,13 +128,22 @@ public abstract class BaseClient {
|
||||||
|
|
||||||
Reader reader = createReaderFromResponse(response);
|
Reader reader = createReaderFromResponse(response);
|
||||||
|
|
||||||
if (ourLog.isTraceEnabled() || myKeepResponses) {
|
if (ourLog.isTraceEnabled() || myKeepResponses || theLogRequestAndResponse) {
|
||||||
String responseString = IOUtils.toString(reader);
|
String responseString = IOUtils.toString(reader);
|
||||||
if (myKeepResponses) {
|
if (myKeepResponses) {
|
||||||
myLastResponse = response;
|
myLastResponse = response;
|
||||||
myLastResponseBody = responseString;
|
myLastResponseBody = responseString;
|
||||||
}
|
}
|
||||||
ourLog.trace("FHIR response:\n{}\n{}", response, responseString);
|
if (theLogRequestAndResponse) {
|
||||||
|
String message = "HTTP " + response.getStatusLine().getStatusCode()+" " +response.getStatusLine().getReasonPhrase();
|
||||||
|
if (StringUtils.isNotBlank(responseString)) {
|
||||||
|
ourLog.info("Client response: {}\n{}", message, responseString);
|
||||||
|
}else {
|
||||||
|
ourLog.info("Client response: {}", message, responseString);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
ourLog.trace("FHIR response:\n{}\n{}", response, responseString);
|
||||||
|
}
|
||||||
reader = new StringReader(responseString);
|
reader = new StringReader(responseString);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,8 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
|
|
||||||
private HttpRequestBase myLastRequest;
|
private HttpRequestBase myLastRequest;
|
||||||
|
|
||||||
|
private boolean myLogRequestAndResponse;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For now, this is a part of the internal API of HAPI - Use with caution as this method may change!
|
* For now, this is a part of the internal API of HAPI - Use with caution as this method may change!
|
||||||
*/
|
*/
|
||||||
|
@ -87,7 +89,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
ResourceResponseHandler<Conformance> binding = new ResourceResponseHandler<Conformance>(Conformance.class);
|
ResourceResponseHandler<Conformance> binding = new ResourceResponseHandler<Conformance>(Conformance.class);
|
||||||
Conformance resp = invokeClient(binding, invocation);
|
Conformance resp = invokeClient(binding, invocation, myLogRequestAndResponse);
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,7 +105,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
|
|
||||||
OutcomeResponseHandler binding = new OutcomeResponseHandler(resourceName);
|
OutcomeResponseHandler binding = new OutcomeResponseHandler(resourceName);
|
||||||
|
|
||||||
MethodOutcome resp = invokeClient(binding, invocation);
|
MethodOutcome resp = invokeClient(binding, invocation, myLogRequestAndResponse);
|
||||||
return resp;
|
return resp;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -117,7 +119,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
|
|
||||||
final String resourceName = myContext.getResourceDefinition(theType).getName();
|
final String resourceName = myContext.getResourceDefinition(theType).getName();
|
||||||
OutcomeResponseHandler binding = new OutcomeResponseHandler(resourceName);
|
OutcomeResponseHandler binding = new OutcomeResponseHandler(resourceName);
|
||||||
MethodOutcome resp = invokeClient(binding, invocation);
|
MethodOutcome resp = invokeClient(binding, invocation, myLogRequestAndResponse);
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,7 +140,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
BundleResponseHandler binding = new BundleResponseHandler(theType);
|
BundleResponseHandler binding = new BundleResponseHandler(theType);
|
||||||
Bundle resp = invokeClient(binding, invocation);
|
Bundle resp = invokeClient(binding, invocation, myLogRequestAndResponse);
|
||||||
return resp;
|
return resp;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -148,6 +150,10 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
return history(theType, new IdDt(theId));
|
return history(theType, new IdDt(theId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isLogRequestAndResponse() {
|
||||||
|
return myLogRequestAndResponse;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <T extends IResource> T read(final Class<T> theType, IdDt theId) {
|
public <T extends IResource> T read(final Class<T> theType, IdDt theId) {
|
||||||
HttpGetClientInvocation invocation = ReadMethodBinding.createReadInvocation(theId, toResourceName(theType));
|
HttpGetClientInvocation invocation = ReadMethodBinding.createReadInvocation(theId, toResourceName(theType));
|
||||||
|
@ -156,7 +162,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
ResourceResponseHandler<T> binding = new ResourceResponseHandler<T>(theType);
|
ResourceResponseHandler<T> binding = new ResourceResponseHandler<T>(theType);
|
||||||
T resp = invokeClient(binding, invocation);
|
T resp = invokeClient(binding, invocation, myLogRequestAndResponse);
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,7 +187,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
qualifier = nextValue.getQueryParameterQualifier();
|
qualifier = nextValue.getQueryParameterQualifier();
|
||||||
}
|
}
|
||||||
qualifier = StringUtils.defaultString(qualifier);
|
qualifier = StringUtils.defaultString(qualifier);
|
||||||
params.put(nextEntry.getKey()+qualifier, valueList);
|
params.put(nextEntry.getKey() + qualifier, valueList);
|
||||||
}
|
}
|
||||||
|
|
||||||
HttpGetClientInvocation invocation = SearchMethodBinding.createSearchInvocation(toResourceName(theType), params);
|
HttpGetClientInvocation invocation = SearchMethodBinding.createSearchInvocation(toResourceName(theType), params);
|
||||||
|
@ -190,7 +196,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
BundleResponseHandler binding = new BundleResponseHandler(theType);
|
BundleResponseHandler binding = new BundleResponseHandler(theType);
|
||||||
Bundle resp = invokeClient(binding, invocation);
|
Bundle resp = invokeClient(binding, invocation, myLogRequestAndResponse);
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -201,6 +207,15 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
myLastRequest = theLastRequest;
|
myLastRequest = theLastRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setLogRequestAndResponse(boolean theLogRequestAndResponse) {
|
||||||
|
myLogRequestAndResponse = theLogRequestAndResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String toResourceName(Class<? extends IResource> theType) {
|
||||||
|
return myContext.getResourceDefinition(theType).getName();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MethodOutcome update(IdDt theIdDt, IResource theResource) {
|
public MethodOutcome update(IdDt theIdDt, IResource theResource) {
|
||||||
BaseHttpClientInvocation invocation = UpdateMethodBinding.createUpdateInvocation(theResource, theIdDt, null, myContext);
|
BaseHttpClientInvocation invocation = UpdateMethodBinding.createUpdateInvocation(theResource, theIdDt, null, myContext);
|
||||||
|
@ -212,7 +227,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
final String resourceName = def.getName();
|
final String resourceName = def.getName();
|
||||||
|
|
||||||
OutcomeResponseHandler binding = new OutcomeResponseHandler(resourceName);
|
OutcomeResponseHandler binding = new OutcomeResponseHandler(resourceName);
|
||||||
MethodOutcome resp = invokeClient(binding, invocation);
|
MethodOutcome resp = invokeClient(binding, invocation, myLogRequestAndResponse);
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,7 +247,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
final String resourceName = def.getName();
|
final String resourceName = def.getName();
|
||||||
|
|
||||||
OutcomeResponseHandler binding = new OutcomeResponseHandler(resourceName);
|
OutcomeResponseHandler binding = new OutcomeResponseHandler(resourceName);
|
||||||
MethodOutcome resp = invokeClient(binding, invocation);
|
MethodOutcome resp = invokeClient(binding, invocation, myLogRequestAndResponse);
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -244,7 +259,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
ResourceResponseHandler<T> binding = new ResourceResponseHandler<T>(theType);
|
ResourceResponseHandler<T> binding = new ResourceResponseHandler<T>(theType);
|
||||||
T resp = invokeClient(binding, invocation);
|
T resp = invokeClient(binding, invocation, myLogRequestAndResponse);
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -253,41 +268,6 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
return vread(theType, new IdDt(theId), new IdDt(theVersionId));
|
return vread(theType, new IdDt(theId), new IdDt(theVersionId));
|
||||||
}
|
}
|
||||||
|
|
||||||
private String toResourceName(Class<? extends IResource> theType) {
|
|
||||||
return myContext.getResourceDefinition(theType).getName();
|
|
||||||
}
|
|
||||||
|
|
||||||
private final class OutcomeResponseHandler implements IClientResponseHandler<MethodOutcome> {
|
|
||||||
private final String myResourceName;
|
|
||||||
|
|
||||||
private OutcomeResponseHandler(String theResourceName) {
|
|
||||||
myResourceName = theResourceName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MethodOutcome invokeClient(String theResponseMimeType, Reader theResponseReader, int theResponseStatusCode, Map<String, List<String>> theHeaders) throws IOException,
|
|
||||||
BaseServerResponseException {
|
|
||||||
MethodOutcome response = BaseOutcomeReturningMethodBinding.process2xxResponse(myContext, myResourceName, theResponseStatusCode, theResponseMimeType, theResponseReader, theHeaders);
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private final class ResourceResponseHandler<T extends IResource> implements IClientResponseHandler<T> {
|
|
||||||
|
|
||||||
private Class<T> myType;
|
|
||||||
|
|
||||||
public ResourceResponseHandler(Class<T> theType) {
|
|
||||||
myType = theType;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public T invokeClient(String theResponseMimeType, Reader theResponseReader, int theResponseStatusCode, Map<String, List<String>> theHeaders) throws IOException, BaseServerResponseException {
|
|
||||||
EncodingEnum respType = EncodingEnum.forContentType(theResponseMimeType);
|
|
||||||
IParser parser = respType.newParser(myContext);
|
|
||||||
return parser.parseResource(myType, theResponseReader);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private final class BundleResponseHandler implements IClientResponseHandler<Bundle> {
|
private final class BundleResponseHandler implements IClientResponseHandler<Bundle> {
|
||||||
|
|
||||||
private Class<? extends IResource> myType;
|
private Class<? extends IResource> myType;
|
||||||
|
@ -297,8 +277,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Bundle invokeClient(String theResponseMimeType, Reader theResponseReader, int theResponseStatusCode, Map<String, List<String>> theHeaders) throws IOException,
|
public Bundle invokeClient(String theResponseMimeType, Reader theResponseReader, int theResponseStatusCode, Map<String, List<String>> theHeaders) throws IOException, BaseServerResponseException {
|
||||||
BaseServerResponseException {
|
|
||||||
EncodingEnum respType = EncodingEnum.forContentType(theResponseMimeType);
|
EncodingEnum respType = EncodingEnum.forContentType(theResponseMimeType);
|
||||||
if (respType == null) {
|
if (respType == null) {
|
||||||
throw NonFhirResponseException.newInstance(theResponseStatusCode, theResponseMimeType, theResponseReader);
|
throw NonFhirResponseException.newInstance(theResponseStatusCode, theResponseMimeType, theResponseReader);
|
||||||
|
@ -312,9 +291,9 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
|
|
||||||
private List<ICriterionInternal> myCriterion = new ArrayList<ICriterionInternal>();
|
private List<ICriterionInternal> myCriterion = new ArrayList<ICriterionInternal>();
|
||||||
private List<Include> myInclude = new ArrayList<Include>();
|
private List<Include> myInclude = new ArrayList<Include>();
|
||||||
private boolean myLogRequestAndResponse;
|
|
||||||
private EncodingEnum myParamEncoding;
|
private EncodingEnum myParamEncoding;
|
||||||
private Integer myParamLimit;
|
private Integer myParamLimit;
|
||||||
|
private boolean myQueryLogRequestAndResponse;
|
||||||
private String myResourceName;
|
private String myResourceName;
|
||||||
private Class<? extends IResource> myResourceType;
|
private Class<? extends IResource> myResourceType;
|
||||||
private List<SortInternal> mySort = new ArrayList<SortInternal>();
|
private List<SortInternal> mySort = new ArrayList<SortInternal>();
|
||||||
|
@ -329,6 +308,13 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
myResourceName = theResourceName;
|
myResourceName = theResourceName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addParam(Map<String, List<String>> params, String parameterName, String parameterValue) {
|
||||||
|
if (!params.containsKey(parameterName)) {
|
||||||
|
params.put(parameterName, new ArrayList<String>());
|
||||||
|
}
|
||||||
|
params.get(parameterName).add(parameterValue);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IQuery and(ICriterion theCriterion) {
|
public IQuery and(ICriterion theCriterion) {
|
||||||
myCriterion.add((ICriterionInternal) theCriterion);
|
myCriterion.add((ICriterionInternal) theCriterion);
|
||||||
|
@ -337,7 +323,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IQuery andLogRequestAndResponse(boolean theLogRequestAndResponse) {
|
public IQuery andLogRequestAndResponse(boolean theLogRequestAndResponse) {
|
||||||
myLogRequestAndResponse = theLogRequestAndResponse;
|
myQueryLogRequestAndResponse = theLogRequestAndResponse;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -392,7 +378,7 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
|
|
||||||
BundleResponseHandler binding = new BundleResponseHandler(myResourceType);
|
BundleResponseHandler binding = new BundleResponseHandler(myResourceType);
|
||||||
|
|
||||||
Bundle resp = invokeClient(binding, invocation, myLogRequestAndResponse);
|
Bundle resp = invokeClient(binding, invocation, myQueryLogRequestAndResponse || myLogRequestAndResponse);
|
||||||
return resp;
|
return resp;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -413,6 +399,12 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IQuery prettyPrint() {
|
||||||
|
setPrettyPrint(true);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ISort sort() {
|
public ISort sort() {
|
||||||
SortInternal retVal = new SortInternal(this);
|
SortInternal retVal = new SortInternal(this);
|
||||||
|
@ -426,19 +418,20 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addParam(Map<String, List<String>> params, String parameterName, String parameterValue) {
|
}
|
||||||
if (!params.containsKey(parameterName)) {
|
|
||||||
params.put(parameterName, new ArrayList<String>());
|
private final class OutcomeResponseHandler implements IClientResponseHandler<MethodOutcome> {
|
||||||
}
|
private final String myResourceName;
|
||||||
params.get(parameterName).add(parameterValue);
|
|
||||||
|
private OutcomeResponseHandler(String theResourceName) {
|
||||||
|
myResourceName = theResourceName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IQuery prettyPrint() {
|
public MethodOutcome invokeClient(String theResponseMimeType, Reader theResponseReader, int theResponseStatusCode, Map<String, List<String>> theHeaders) throws IOException, BaseServerResponseException {
|
||||||
setPrettyPrint(true);
|
MethodOutcome response = BaseOutcomeReturningMethodBinding.process2xxResponse(myContext, myResourceName, theResponseStatusCode, theResponseMimeType, theResponseReader, theHeaders);
|
||||||
return this;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private class QueryInternal implements IUntypedQuery {
|
private class QueryInternal implements IUntypedQuery {
|
||||||
|
@ -455,6 +448,22 @@ public class GenericClient extends BaseClient implements IGenericClient {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private final class ResourceResponseHandler<T extends IResource> implements IClientResponseHandler<T> {
|
||||||
|
|
||||||
|
private Class<T> myType;
|
||||||
|
|
||||||
|
public ResourceResponseHandler(Class<T> theType) {
|
||||||
|
myType = theType;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public T invokeClient(String theResponseMimeType, Reader theResponseReader, int theResponseStatusCode, Map<String, List<String>> theHeaders) throws IOException, BaseServerResponseException {
|
||||||
|
EncodingEnum respType = EncodingEnum.forContentType(theResponseMimeType);
|
||||||
|
IParser parser = respType.newParser(myContext);
|
||||||
|
return parser.parseResource(myType, theResponseReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private class SortInternal implements ISort {
|
private class SortInternal implements ISort {
|
||||||
|
|
||||||
private ForInternal myFor;
|
private ForInternal myFor;
|
||||||
|
|
|
@ -184,4 +184,13 @@ public interface IGenericClient {
|
||||||
*/
|
*/
|
||||||
<T extends IResource> T vread(Class<T> theType, String theId, String theVersionId);
|
<T extends IResource> T vread(Class<T> theType, String theId, String theVersionId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If set to <code>true</code>, the client will log all requests and all responses. This
|
||||||
|
* is probably not a good production setting since it will result in a lot of extra logging, but
|
||||||
|
* it can be useful for troubleshooting.
|
||||||
|
*
|
||||||
|
* @param theLogRequestAndResponse Should requests and responses be logged
|
||||||
|
*/
|
||||||
|
void setLogRequestAndResponse(boolean theLogRequestAndResponse);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,7 @@ public class ReferenceParam implements IParam {
|
||||||
* the logical ID or the absolute URL of the resource)
|
* the logical ID or the absolute URL of the resource)
|
||||||
*/
|
*/
|
||||||
public ICriterion hasId(IdDt theId) {
|
public ICriterion hasId(IdDt theId) {
|
||||||
return new StringCriterion(getParamName(), theId.getValueAsString());
|
return new StringCriterion(getParamName(), theId.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -420,15 +420,20 @@ public abstract class BaseOutcomeReturningMethodBinding extends BaseMethodBindin
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static void parseContentLocation(MethodOutcome theOutcomeToPopulate, String theResourceName, String theLocationHeader) {
|
protected static void parseContentLocation(MethodOutcome theOutcomeToPopulate, String theResourceName, String theLocationHeader) {
|
||||||
|
if (StringUtils.isBlank(theLocationHeader)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
theOutcomeToPopulate.setId(new IdDt(theLocationHeader));
|
||||||
|
|
||||||
String resourceNamePart = "/" + theResourceName + "/";
|
String resourceNamePart = "/" + theResourceName + "/";
|
||||||
int resourceIndex = theLocationHeader.lastIndexOf(resourceNamePart);
|
int resourceIndex = theLocationHeader.lastIndexOf(resourceNamePart);
|
||||||
if (resourceIndex > -1) {
|
if (resourceIndex > -1) {
|
||||||
int idIndexStart = resourceIndex + resourceNamePart.length();
|
int idIndexStart = resourceIndex + resourceNamePart.length();
|
||||||
int idIndexEnd = theLocationHeader.indexOf('/', idIndexStart);
|
int idIndexEnd = theLocationHeader.indexOf('/', idIndexStart);
|
||||||
if (idIndexEnd == -1) {
|
if (idIndexEnd == -1) {
|
||||||
theOutcomeToPopulate.setId(new IdDt(theLocationHeader.substring(idIndexStart)));
|
// nothing
|
||||||
} else {
|
} else {
|
||||||
theOutcomeToPopulate.setId(new IdDt(theLocationHeader.substring(idIndexStart, idIndexEnd)));
|
|
||||||
String versionIdPart = "/_history/";
|
String versionIdPart = "/_history/";
|
||||||
int historyIdStart = theLocationHeader.indexOf(versionIdPart, idIndexEnd);
|
int historyIdStart = theLocationHeader.indexOf(versionIdPart, idIndexEnd);
|
||||||
if (historyIdStart != -1) {
|
if (historyIdStart != -1) {
|
||||||
|
|
|
@ -471,9 +471,9 @@ public class RestfulServer extends HttpServlet {
|
||||||
StringBuffer requestUrl = theRequest.getRequestURL();
|
StringBuffer requestUrl = theRequest.getRequestURL();
|
||||||
String servletContextPath = "";
|
String servletContextPath = "";
|
||||||
if (theRequest.getServletContext() != null) {
|
if (theRequest.getServletContext() != null) {
|
||||||
servletContextPath = StringUtils.defaultIfBlank(theRequest.getServletContext().getContextPath(), servletPath);
|
servletContextPath = StringUtils.defaultString(theRequest.getServletContext().getContextPath());
|
||||||
} else {
|
// } else {
|
||||||
servletContextPath = servletPath;
|
//servletContextPath = servletPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ourLog.isTraceEnabled()) {
|
if (ourLog.isTraceEnabled()) {
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
package ca.uhn.fhir.rest.client;
|
package ca.uhn.fhir.rest.client;
|
||||||
|
|
||||||
import static org.hamcrest.Matchers.*;
|
import static org.hamcrest.Matchers.containsString;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.mockito.Mockito.*;
|
import static org.junit.Assert.assertThat;
|
||||||
|
import static org.junit.Assert.fail;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
|
@ -104,7 +107,7 @@ public class ClientTest {
|
||||||
assertEquals(HttpPost.class, capt.getValue().getClass());
|
assertEquals(HttpPost.class, capt.getValue().getClass());
|
||||||
HttpPost post = (HttpPost) capt.getValue();
|
HttpPost post = (HttpPost) capt.getValue();
|
||||||
assertThat(IOUtils.toString(post.getEntity().getContent()), StringContains.containsString("<Patient"));
|
assertThat(IOUtils.toString(post.getEntity().getContent()), StringContains.containsString("<Patient"));
|
||||||
assertEquals("100", response.getId().getValue());
|
assertEquals("http://example.com/fhir/Patient/100/_history/200", response.getId().getValue());
|
||||||
assertEquals("200", response.getVersionId().getValue());
|
assertEquals("200", response.getVersionId().getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,7 +154,7 @@ public class ClientTest {
|
||||||
assertEquals(HttpPost.class, capt.getValue().getClass());
|
assertEquals(HttpPost.class, capt.getValue().getClass());
|
||||||
HttpPost post = (HttpPost) capt.getValue();
|
HttpPost post = (HttpPost) capt.getValue();
|
||||||
assertThat(IOUtils.toString(post.getEntity().getContent()), StringContains.containsString("<Patient"));
|
assertThat(IOUtils.toString(post.getEntity().getContent()), StringContains.containsString("<Patient"));
|
||||||
assertEquals("100", response.getId().getValue());
|
assertEquals("http://example.com/fhir/Patient/100/_history/200", response.getId().getValue());
|
||||||
assertEquals("200", response.getVersionId().getValue());
|
assertEquals("200", response.getVersionId().getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,7 +182,7 @@ public class ClientTest {
|
||||||
assertEquals(HttpPost.class, capt.getValue().getClass());
|
assertEquals(HttpPost.class, capt.getValue().getClass());
|
||||||
HttpPost post = (HttpPost) capt.getValue();
|
HttpPost post = (HttpPost) capt.getValue();
|
||||||
assertThat(IOUtils.toString(post.getEntity().getContent()), StringContains.containsString("<Patient"));
|
assertThat(IOUtils.toString(post.getEntity().getContent()), StringContains.containsString("<Patient"));
|
||||||
assertEquals("100", response.getId().getValue());
|
assertEquals("http://example.com/fhir/Patient/100/_history/200", response.getId().getValue());
|
||||||
assertEquals("200", response.getVersionId().getValue());
|
assertEquals("200", response.getVersionId().getValue());
|
||||||
|
|
||||||
Header[] headers = post.getHeaders("Category");
|
Header[] headers = post.getHeaders("Category");
|
||||||
|
@ -941,7 +944,7 @@ public class ClientTest {
|
||||||
HttpPut post = (HttpPut) capt.getValue();
|
HttpPut post = (HttpPut) capt.getValue();
|
||||||
assertThat(post.getURI().toASCIIString(), StringEndsWith.endsWith("/Patient/100"));
|
assertThat(post.getURI().toASCIIString(), StringEndsWith.endsWith("/Patient/100"));
|
||||||
assertThat(IOUtils.toString(post.getEntity().getContent()), StringContains.containsString("<Patient"));
|
assertThat(IOUtils.toString(post.getEntity().getContent()), StringContains.containsString("<Patient"));
|
||||||
assertEquals("100", response.getId().getValue());
|
assertEquals("http://example.com/fhir/Patient/100/_history/200", response.getId().getValue());
|
||||||
assertEquals("200", response.getVersionId().getValue());
|
assertEquals("200", response.getVersionId().getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1003,7 +1006,7 @@ public class ClientTest {
|
||||||
assertThat(post.getURI().toASCIIString(), StringEndsWith.endsWith("/Patient/100"));
|
assertThat(post.getURI().toASCIIString(), StringEndsWith.endsWith("/Patient/100"));
|
||||||
assertThat(IOUtils.toString(post.getEntity().getContent()), StringContains.containsString("<Patient"));
|
assertThat(IOUtils.toString(post.getEntity().getContent()), StringContains.containsString("<Patient"));
|
||||||
assertThat(post.getFirstHeader("Content-Location").getValue(), StringEndsWith.endsWith("/Patient/100/_history/200"));
|
assertThat(post.getFirstHeader("Content-Location").getValue(), StringEndsWith.endsWith("/Patient/100/_history/200"));
|
||||||
assertEquals("100", response.getId().getValue());
|
assertEquals("http://example.com/fhir/Patient/100/_history/200", response.getId().getValue());
|
||||||
assertEquals("200", response.getVersionId().getValue());
|
assertEquals("200", response.getVersionId().getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1027,7 +1030,7 @@ public class ClientTest {
|
||||||
HttpPost post = (HttpPost) capt.getValue();
|
HttpPost post = (HttpPost) capt.getValue();
|
||||||
assertThat(post.getURI().toASCIIString(), StringEndsWith.endsWith("/Patient/_validate"));
|
assertThat(post.getURI().toASCIIString(), StringEndsWith.endsWith("/Patient/_validate"));
|
||||||
assertThat(IOUtils.toString(post.getEntity().getContent()), StringContains.containsString("<Patient"));
|
assertThat(IOUtils.toString(post.getEntity().getContent()), StringContains.containsString("<Patient"));
|
||||||
assertEquals("100", response.getId().getValue());
|
assertEquals("http://example.com/fhir/Patient/100/_history/200", response.getId().getValue());
|
||||||
assertEquals("200", response.getVersionId().getValue());
|
assertEquals("200", response.getVersionId().getValue());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,8 +86,9 @@ public class TransactionClientTest {
|
||||||
ourLog.info(ctx.newXmlParser().setPrettyPrint(true).encodeBundleToString(bundle));
|
ourLog.info(ctx.newXmlParser().setPrettyPrint(true).encodeBundleToString(bundle));
|
||||||
|
|
||||||
assertEquals(2, bundle.size());
|
assertEquals(2, bundle.size());
|
||||||
assertEquals("Patient/testPersistWithSimpleLinkP01", bundle.getEntries().get(0).getId().getValue());
|
assertEquals("http://foo/Patient/testPersistWithSimpleLinkP01", bundle.getEntries().get(0).getId().getValue());
|
||||||
assertEquals("http://foo/Patient/testPersistWithSimpleLinkP01", bundle.getEntries().get(0).getLinkSelf().getValue());
|
assertEquals("http://foo/Patient/testPersistWithSimpleLinkP01", bundle.getEntries().get(0).getLinkSelf().getValue());
|
||||||
|
assertEquals(null, bundle.getEntries().get(0).getLinkAlternate().getValue());
|
||||||
|
|
||||||
assertTrue(bundle.getEntries().get(1).getId().isEmpty());
|
assertTrue(bundle.getEntries().get(1).getId().isEmpty());
|
||||||
|
|
||||||
|
|
|
@ -214,7 +214,7 @@ public class ResfulServerMethodTest {
|
||||||
Bundle bundle = ourCtx.newXmlParser().parseBundle(responseContent);
|
Bundle bundle = ourCtx.newXmlParser().parseBundle(responseContent);
|
||||||
BundleEntry entry0 = bundle.getEntries().get(0);
|
BundleEntry entry0 = bundle.getEntries().get(0);
|
||||||
assertEquals("http://localhost:" + ourPort + "/Patient/1", entry0.getLinkSelf().getValue());
|
assertEquals("http://localhost:" + ourPort + "/Patient/1", entry0.getLinkSelf().getValue());
|
||||||
assertEquals("1", entry0.getId().getValue());
|
assertEquals("http://localhost:" + ourPort + "/Patient/1", entry0.getId().getValue());
|
||||||
|
|
||||||
httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient?withIncludes=include1&_include=include2&_include=include3&_format=json");
|
httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient?withIncludes=include1&_include=include2&_include=include3&_format=json");
|
||||||
status = ourClient.execute(httpGet);
|
status = ourClient.execute(httpGet);
|
||||||
|
@ -223,7 +223,8 @@ public class ResfulServerMethodTest {
|
||||||
ourLog.info(responseContent);
|
ourLog.info(responseContent);
|
||||||
bundle = ourCtx.newJsonParser().parseBundle(responseContent);
|
bundle = ourCtx.newJsonParser().parseBundle(responseContent);
|
||||||
entry0 = bundle.getEntries().get(0);
|
entry0 = bundle.getEntries().get(0);
|
||||||
assertEquals("http://localhost:" + ourPort + "/Patient/1?_format=json", entry0.getLinkSelf().getValue());
|
// Should not include params such as _format=json
|
||||||
|
assertEquals("http://localhost:" + ourPort + "/Patient/1", entry0.getLinkSelf().getValue());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -426,8 +427,8 @@ public class ResfulServerMethodTest {
|
||||||
// Older resource
|
// Older resource
|
||||||
{
|
{
|
||||||
BundleEntry olderEntry = bundle.getEntries().get(0);
|
BundleEntry olderEntry = bundle.getEntries().get(0);
|
||||||
assertEquals("222", olderEntry.getId().getValue());
|
assertEquals("http://localhost:" + ourPort + "/Patient/222", olderEntry.getId().getValue());
|
||||||
assertThat(olderEntry.getLinkSelf().getValue(), StringEndsWith.endsWith("/Patient/222/_history/1"));
|
assertEquals("http://localhost:" + ourPort + "/Patient/222/_history/1", olderEntry.getLinkSelf().getValue());
|
||||||
InstantDt pubExpected = new InstantDt(new Date(10000L));
|
InstantDt pubExpected = new InstantDt(new Date(10000L));
|
||||||
InstantDt pubActualRes = (InstantDt) olderEntry.getResource().getResourceMetadata().get(ResourceMetadataKeyEnum.PUBLISHED);
|
InstantDt pubActualRes = (InstantDt) olderEntry.getResource().getResourceMetadata().get(ResourceMetadataKeyEnum.PUBLISHED);
|
||||||
InstantDt pubActualBundle = olderEntry.getPublished();
|
InstantDt pubActualBundle = olderEntry.getPublished();
|
||||||
|
@ -442,8 +443,8 @@ public class ResfulServerMethodTest {
|
||||||
// Newer resource
|
// Newer resource
|
||||||
{
|
{
|
||||||
BundleEntry newerEntry = bundle.getEntries().get(1);
|
BundleEntry newerEntry = bundle.getEntries().get(1);
|
||||||
assertEquals("222", newerEntry.getId().getValue());
|
assertEquals("http://localhost:" + ourPort + "/Patient/222", newerEntry.getId().getValue());
|
||||||
assertThat(newerEntry.getLinkSelf().getValue(), StringEndsWith.endsWith("/Patient/222/_history/2"));
|
assertEquals("http://localhost:" + ourPort + "/Patient/222/_history/2", newerEntry.getLinkSelf().getValue());
|
||||||
InstantDt pubExpected = new InstantDt(new Date(10000L));
|
InstantDt pubExpected = new InstantDt(new Date(10000L));
|
||||||
InstantDt pubActualRes = (InstantDt) newerEntry.getResource().getResourceMetadata().get(ResourceMetadataKeyEnum.PUBLISHED);
|
InstantDt pubActualRes = (InstantDt) newerEntry.getResource().getResourceMetadata().get(ResourceMetadataKeyEnum.PUBLISHED);
|
||||||
InstantDt pubActualBundle = newerEntry.getPublished();
|
InstantDt pubActualBundle = newerEntry.getPublished();
|
||||||
|
@ -475,7 +476,7 @@ public class ResfulServerMethodTest {
|
||||||
// Older resource
|
// Older resource
|
||||||
{
|
{
|
||||||
BundleEntry olderEntry = bundle.getEntries().get(0);
|
BundleEntry olderEntry = bundle.getEntries().get(0);
|
||||||
assertEquals("1", olderEntry.getId().getValue());
|
assertEquals("http://localhost:" + ourPort + "/Patient/1", olderEntry.getId().getValue());
|
||||||
assertThat(olderEntry.getLinkSelf().getValue(), StringEndsWith.endsWith("/Patient/1/_history/1"));
|
assertThat(olderEntry.getLinkSelf().getValue(), StringEndsWith.endsWith("/Patient/1/_history/1"));
|
||||||
InstantDt pubExpected = new InstantDt(new Date(10000L));
|
InstantDt pubExpected = new InstantDt(new Date(10000L));
|
||||||
InstantDt pubActualRes = (InstantDt) olderEntry.getResource().getResourceMetadata().get(ResourceMetadataKeyEnum.PUBLISHED);
|
InstantDt pubActualRes = (InstantDt) olderEntry.getResource().getResourceMetadata().get(ResourceMetadataKeyEnum.PUBLISHED);
|
||||||
|
@ -491,7 +492,7 @@ public class ResfulServerMethodTest {
|
||||||
// Newer resource
|
// Newer resource
|
||||||
{
|
{
|
||||||
BundleEntry newerEntry = bundle.getEntries().get(1);
|
BundleEntry newerEntry = bundle.getEntries().get(1);
|
||||||
assertEquals("1", newerEntry.getId().getValue());
|
assertEquals("http://localhost:" + ourPort + "/Patient/1", newerEntry.getId().getValue());
|
||||||
assertThat(newerEntry.getLinkSelf().getValue(), StringEndsWith.endsWith("/Patient/1/_history/2"));
|
assertThat(newerEntry.getLinkSelf().getValue(), StringEndsWith.endsWith("/Patient/1/_history/2"));
|
||||||
InstantDt pubExpected = new InstantDt(new Date(10000L));
|
InstantDt pubExpected = new InstantDt(new Date(10000L));
|
||||||
InstantDt pubActualRes = (InstantDt) newerEntry.getResource().getResourceMetadata().get(ResourceMetadataKeyEnum.PUBLISHED);
|
InstantDt pubActualRes = (InstantDt) newerEntry.getResource().getResourceMetadata().get(ResourceMetadataKeyEnum.PUBLISHED);
|
||||||
|
|
|
@ -1,152 +1,28 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry including="**/*.java" kind="src" path="src/test/java"/>
|
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||||
<classpathentry excluding="**/*.java" kind="src" path="src/test/resources"/>
|
|
||||||
<classpathentry including="**/*.java" kind="src" path="src/main/java"/>
|
|
||||||
<classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar" sourcepath="M2_REPO/javax/activation/activation/1.1/activation-1.1-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/javax/json/javax.json-api/1.0/javax.json-api-1.0.jar" sourcepath="M2_REPO/javax/json/javax.json-api/1.0/javax.json-api-1.0-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/javax/mail/javax.mail-api/1.5.0/javax.mail-api-1.5.0.jar" sourcepath="M2_REPO/javax/mail/javax.mail-api/1.5.0/javax.mail-api-1.5.0-sources.jar">
|
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/javax/mail/javax.mail-api/1.5.0/javax.mail-api-1.5.0-javadoc.jar!/"/>
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
|
<classpathentry excluding="**/*.java" including="**/*.java" kind="src" path="src/test/resources"/>
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar" sourcepath="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2-sources.jar"/>
|
<classpathentry kind="src" output="target/classes" path="src/main/java">
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar" sourcepath="M2_REPO/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/com/fasterxml/classmate/1.0.0/classmate-1.0.0.jar" sourcepath="M2_REPO/com/fasterxml/classmate/1.0.0/classmate-1.0.0-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/commons-codec/commons-codec/1.9/commons-codec-1.9.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.9/commons-codec-1.9-sources.jar">
|
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-codec/commons-codec/1.9/commons-codec-1.9-javadoc.jar!/"/>
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.jar" sourcepath="M2_REPO/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4-sources.jar"/>
|
<classpathentry excluding="**/*.java" including="**/*.java" kind="src" path="src/main/resources"/>
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/commons-io/commons-io/2.4/commons-io-2.4.jar" sourcepath="M2_REPO/commons-io/commons-io/2.4/commons-io-2.4-sources.jar">
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4-javadoc.jar!/"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1.jar" sourcepath="M2_REPO/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1-sources.jar">
|
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1-javadoc.jar!/"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar">
|
<classpathentry kind="output" path="target/classes"/>
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4.jar" sourcepath="M2_REPO/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/apache/derby/derby/10.10.2.0/derby-10.10.2.0.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="src" path="/hapi-fhir-base"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/hibernate/common/hibernate-commons-annotations/4.0.4.Final/hibernate-commons-annotations-4.0.4.Final.jar" sourcepath="M2_REPO/org/hibernate/common/hibernate-commons-annotations/4.0.4.Final/hibernate-commons-annotations-4.0.4.Final-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/hibernate/hibernate-core/4.3.5.Final/hibernate-core-4.3.5.Final.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/4.3.5.Final/hibernate-core-4.3.5.Final-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/hibernate/hibernate-ehcache/4.3.5.Final/hibernate-ehcache-4.3.5.Final.jar" sourcepath="M2_REPO/org/hibernate/hibernate-ehcache/4.3.5.Final/hibernate-ehcache-4.3.5.Final-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/4.3.5.Final/hibernate-entitymanager-4.3.5.Final.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/4.3.5.Final/hibernate-entitymanager-4.3.5.Final-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final.jar" sourcepath="M2_REPO/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/hibernate/hibernate-validator/5.1.0.Final/hibernate-validator-5.1.0.Final.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/5.1.0.Final/hibernate-validator-5.1.0.Final-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar" sourcepath="M2_REPO/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar" sourcepath="M2_REPO/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/jandex/1.1.0.Final/jandex-1.1.0.Final.jar" sourcepath="M2_REPO/org/jboss/jandex/1.1.0.Final/jandex-1.1.0.Final-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar" sourcepath="M2_REPO/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/glassfish/javax.json/1.0.4/javax.json-1.0.4.jar" sourcepath="M2_REPO/org/glassfish/javax.json/1.0.4/javax.json-1.0.4-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-annotations/1.2.0.Beta1/jboss-logging-annotations-1.2.0.Beta1.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-annotations/1.2.0.Beta1/jboss-logging-annotations-1.2.0.Beta1-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/jboss/logging/jboss-logging-annotations/1.2.0.Beta1/jboss-logging-annotations-1.2.0.Beta1-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.0.0.Final/jboss-transaction-api_1.2_spec-1.0.0.Final.jar" sourcepath="M2_REPO/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.0.0.Final/jboss-transaction-api_1.2_spec-1.0.0.Final-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.0.0.Final/jboss-transaction-api_1.2_spec-1.0.0.Final-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/junit/junit/4.11/junit-4.11.jar" sourcepath="M2_REPO/junit/junit/4.11/junit-4.11-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/junit/junit/4.11/junit-4.11-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/springframework/spring-aop/4.0.1.RELEASE/spring-aop-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-aop/4.0.1.RELEASE/spring-aop-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-aop/4.0.1.RELEASE/spring-aop-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/springframework/spring-beans/4.0.1.RELEASE/spring-beans-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-beans/4.0.1.RELEASE/spring-beans-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-beans/4.0.1.RELEASE/spring-beans-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/springframework/spring-context/4.0.1.RELEASE/spring-context-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-context/4.0.1.RELEASE/spring-context-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-context/4.0.1.RELEASE/spring-context-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/springframework/spring-context-support/4.0.1.RELEASE/spring-context-support-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-context-support/4.0.1.RELEASE/spring-context-support-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-context-support/4.0.1.RELEASE/spring-context-support-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/springframework/spring-core/4.0.1.RELEASE/spring-core-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-core/4.0.1.RELEASE/spring-core-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-core/4.0.1.RELEASE/spring-core-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/springframework/spring-expression/4.0.1.RELEASE/spring-expression-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-expression/4.0.1.RELEASE/spring-expression-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-expression/4.0.1.RELEASE/spring-expression-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/springframework/spring-jdbc/4.0.1.RELEASE/spring-jdbc-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-jdbc/4.0.1.RELEASE/spring-jdbc-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-jdbc/4.0.1.RELEASE/spring-jdbc-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/springframework/spring-orm/4.0.1.RELEASE/spring-orm-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-orm/4.0.1.RELEASE/spring-orm-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-orm/4.0.1.RELEASE/spring-orm-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/springframework/spring-tx/4.0.1.RELEASE/spring-tx-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-tx/4.0.1.RELEASE/spring-tx-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-tx/4.0.1.RELEASE/spring-tx-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1.jar" sourcepath="M2_REPO/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1-sources.jar"/>
|
|
||||||
<classpathentry exported="true" kind="var" path="M2_REPO/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0.jar" sourcepath="M2_REPO/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
|
||||||
<classpathentry kind="output" path="bin"/>
|
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
|
@ -1,15 +1,24 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<projectDescription>
|
<projectDescription>
|
||||||
<name>hapi-fhir-jpaserver-base</name>
|
<name>hapi-fhir-jpaserver-base</name>
|
||||||
<comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
|
<comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
|
||||||
<projects>
|
<projects>
|
||||||
<project>hapi-fhir-base</project>
|
<project>hapi-fhir-base</project>
|
||||||
</projects>
|
</projects>
|
||||||
<buildSpec>
|
<buildSpec>
|
||||||
<buildCommand>
|
<buildCommand>
|
||||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
</buildCommand>
|
<arguments>
|
||||||
</buildSpec>
|
</arguments>
|
||||||
<natures>
|
</buildCommand>
|
||||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
<buildCommand>
|
||||||
</natures>
|
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||||
</projectDescription>
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
||||||
|
|
|
@ -1,2 +1,6 @@
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
|
encoding//src/main/java=UTF-8
|
||||||
|
encoding//src/main/resources=UTF-8
|
||||||
|
encoding//src/test/java=UTF-8
|
||||||
|
encoding//src/test/resources=UTF-8
|
||||||
encoding/<project>=UTF-8
|
encoding/<project>=UTF-8
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
#Sat May 03 09:10:27 MST 2014
|
|
||||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
|
||||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
org.eclipse.jdt.core.compiler.source=1.7
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
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
|
|
@ -146,7 +146,8 @@
|
||||||
<derby_version>10.10.2.0</derby_version>
|
<derby_version>10.10.2.0</derby_version>
|
||||||
<guava_version>14.0.1</guava_version>
|
<guava_version>14.0.1</guava_version>
|
||||||
<hamcrest_version>1.3</hamcrest_version>
|
<hamcrest_version>1.3</hamcrest_version>
|
||||||
<hibernate_version>4.3.5.Final</hibernate_version>
|
<!-- <hibernate_version>4.3.5.Final</hibernate_version>-->
|
||||||
|
<hibernate_version>4.2.12.Final</hibernate_version>
|
||||||
<hibernate_validator_version>5.1.0.Final</hibernate_validator_version>
|
<hibernate_validator_version>5.1.0.Final</hibernate_validator_version>
|
||||||
<jetty_version>9.1.1.v20140108</jetty_version>
|
<jetty_version>9.1.1.v20140108</jetty_version>
|
||||||
<mockito_version>1.9.5</mockito_version>
|
<mockito_version>1.9.5</mockito_version>
|
||||||
|
@ -161,8 +162,8 @@
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>1.7</source>
|
<source>1.6</source>
|
||||||
<target>1.7</target>
|
<target>1.6</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
|
@ -177,6 +178,13 @@
|
||||||
<target>SCRIPT</target>
|
<target>SCRIPT</target>
|
||||||
<skip>false</skip>
|
<skip>false</skip>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.hibernate</groupId>
|
||||||
|
<artifactId>hibernate-core</artifactId>
|
||||||
|
<version>${hibernate_version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>o10g</id>
|
<id>o10g</id>
|
||||||
|
|
|
@ -77,7 +77,6 @@ public abstract class BaseFhirDao {
|
||||||
}
|
}
|
||||||
|
|
||||||
entity.setVersion(entity.getVersion() + 1);
|
entity.setVersion(entity.getVersion() + 1);
|
||||||
theResource.setId(new IdDt(entity.getResourceType(), entity.getId().toString(), Long.toString(entity.getVersion())));
|
|
||||||
|
|
||||||
final List<ResourceIndexedSearchParamString> stringParams = extractSearchParamStrings(entity, theResource);
|
final List<ResourceIndexedSearchParamString> stringParams = extractSearchParamStrings(entity, theResource);
|
||||||
final List<ResourceIndexedSearchParamToken> tokenParams = extractSearchParamTokens(entity, theResource);
|
final List<ResourceIndexedSearchParamToken> tokenParams = extractSearchParamTokens(entity, theResource);
|
||||||
|
@ -140,6 +139,9 @@ public abstract class BaseFhirDao {
|
||||||
myEntityManager.persist(next);
|
myEntityManager.persist(next);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
myEntityManager.flush();
|
||||||
|
theResource.setId(new IdDt(entity.getResourceType(), entity.getId().toString(), Long.toString(entity.getVersion())));
|
||||||
|
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,7 +177,7 @@ public abstract class BaseFhirDao {
|
||||||
|
|
||||||
String typeString = nextValue.getResourceId().getResourceType();
|
String typeString = nextValue.getResourceId().getResourceType();
|
||||||
if (isBlank(typeString)) {
|
if (isBlank(typeString)) {
|
||||||
continue;
|
throw new InvalidRequestException("Invalid resource reference found at path[" + nextPath + "] - Does not contain resource type - " + nextValue.getReference().getValue());
|
||||||
}
|
}
|
||||||
Class<? extends IResource> type = getContext().getResourceDefinition(typeString).getImplementingClass();
|
Class<? extends IResource> type = getContext().getResourceDefinition(typeString).getImplementingClass();
|
||||||
String id = nextValue.getResourceId().getUnqualifiedId();
|
String id = nextValue.getResourceId().getUnqualifiedId();
|
||||||
|
@ -344,7 +346,7 @@ public abstract class BaseFhirDao {
|
||||||
retVal.add(nextEntity);
|
retVal.add(nextEntity);
|
||||||
} else {
|
} else {
|
||||||
if (nextObject instanceof HumanNameDt) {
|
if (nextObject instanceof HumanNameDt) {
|
||||||
ArrayList<StringDt> allNames = new ArrayList<>();
|
ArrayList<StringDt> allNames = new ArrayList<StringDt>();
|
||||||
HumanNameDt nextHumanName = (HumanNameDt) nextObject;
|
HumanNameDt nextHumanName = (HumanNameDt) nextObject;
|
||||||
allNames.addAll(nextHumanName.getFamily());
|
allNames.addAll(nextHumanName.getFamily());
|
||||||
allNames.addAll(nextHumanName.getGiven());
|
allNames.addAll(nextHumanName.getGiven());
|
||||||
|
@ -357,7 +359,7 @@ public abstract class BaseFhirDao {
|
||||||
retVal.add(nextEntity);
|
retVal.add(nextEntity);
|
||||||
}
|
}
|
||||||
} else if (nextObject instanceof AddressDt) {
|
} else if (nextObject instanceof AddressDt) {
|
||||||
ArrayList<StringDt> allNames = new ArrayList<>();
|
ArrayList<StringDt> allNames = new ArrayList<StringDt>();
|
||||||
AddressDt nextAddress = (AddressDt) nextObject;
|
AddressDt nextAddress = (AddressDt) nextObject;
|
||||||
allNames.addAll(nextAddress.getLine());
|
allNames.addAll(nextAddress.getLine());
|
||||||
allNames.add(nextAddress.getCity());
|
allNames.add(nextAddress.getCity());
|
||||||
|
@ -460,7 +462,7 @@ public abstract class BaseFhirDao {
|
||||||
|
|
||||||
protected IFhirResourceDao<? extends IResource> getDao(Class<? extends IResource> theType) {
|
protected IFhirResourceDao<? extends IResource> getDao(Class<? extends IResource> theType) {
|
||||||
if (myResourceTypeToDao == null) {
|
if (myResourceTypeToDao == null) {
|
||||||
myResourceTypeToDao = new HashMap<>();
|
myResourceTypeToDao = new HashMap<Class<? extends IResource>, IFhirResourceDao<?>>();
|
||||||
for (IFhirResourceDao<?> next : myResourceDaos) {
|
for (IFhirResourceDao<?> next : myResourceDaos) {
|
||||||
myResourceTypeToDao.put(next.getResourceType(), next);
|
myResourceTypeToDao.put(next.getResourceType(), next);
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,7 +71,8 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
|
||||||
|
|
||||||
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(FhirResourceDao.class);
|
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(FhirResourceDao.class);
|
||||||
|
|
||||||
@PersistenceContext(name = "FHIR_UT", type = PersistenceContextType.TRANSACTION, unitName = "FHIR_UT")
|
// name = "FHIR_UT", type = PersistenceContextType.TRANSACTION, unitName = "FHIR_UT"
|
||||||
|
@PersistenceContext()
|
||||||
private EntityManager myEntityManager;
|
private EntityManager myEntityManager;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -97,12 +98,12 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
|
||||||
|
|
||||||
// ourLog.info("Saving links: {}", links);
|
// ourLog.info("Saving links: {}", links);
|
||||||
|
|
||||||
TransactionTemplate template = new TransactionTemplate(myPlatformTransactionManager);
|
// TransactionTemplate template = new TransactionTemplate(myPlatformTransactionManager);
|
||||||
template.setPropagationBehavior(TransactionTemplate.PROPAGATION_REQUIRES_NEW);
|
// template.setPropagationBehavior(TransactionTemplate.PROPAGATION_REQUIRES_NEW);
|
||||||
template.setReadOnly(false);
|
// template.setReadOnly(false);
|
||||||
template.execute(new TransactionCallback<ResourceTable>() {
|
// template.execute(new TransactionCallback<ResourceTable>() {
|
||||||
@Override
|
// @Override
|
||||||
public ResourceTable doInTransaction(TransactionStatus theStatus) {
|
// public ResourceTable doInTransaction(TransactionStatus theStatus) {
|
||||||
// myEntityManager.persist(entity);
|
// myEntityManager.persist(entity);
|
||||||
// for (ResourceIndexedSearchParamString next : stringParams) {
|
// for (ResourceIndexedSearchParamString next : stringParams) {
|
||||||
// myEntityManager.persist(next);
|
// myEntityManager.persist(next);
|
||||||
|
@ -120,9 +121,9 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
|
||||||
// myEntityManager.persist(next);
|
// myEntityManager.persist(next);
|
||||||
// }
|
// }
|
||||||
updateEntity(theResource, entity,false);
|
updateEntity(theResource, entity,false);
|
||||||
return entity;
|
// return entity;
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
|
||||||
MethodOutcome outcome = toMethodOutcome(entity);
|
MethodOutcome outcome = toMethodOutcome(entity);
|
||||||
return outcome;
|
return outcome;
|
||||||
|
@ -163,7 +164,7 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void postConstruct() throws Exception {
|
public void postConstruct() {
|
||||||
myResourceName = getContext().getResourceDefinition(myResourceType).getName();
|
myResourceName = getContext().getResourceDefinition(myResourceType).getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -195,7 +196,7 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
|
||||||
} else {
|
} else {
|
||||||
pids = searchForIdsWithAndOr(theParams);
|
pids = searchForIdsWithAndOr(theParams);
|
||||||
if (pids.isEmpty()) {
|
if (pids.isEmpty()) {
|
||||||
return new ArrayList<>();
|
return new ArrayList<T>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -210,7 +211,7 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
|
||||||
}
|
}
|
||||||
TypedQuery<ResourceTable> q = myEntityManager.createQuery(cq);
|
TypedQuery<ResourceTable> q = myEntityManager.createQuery(cq);
|
||||||
|
|
||||||
List<T> retVal = new ArrayList<>();
|
List<T> retVal = new ArrayList<T>();
|
||||||
for (ResourceTable next : q.getResultList()) {
|
for (ResourceTable next : q.getResultList()) {
|
||||||
T resource = toResource(next);
|
T resource = toResource(next);
|
||||||
retVal.add(resource);
|
retVal.add(resource);
|
||||||
|
@ -489,8 +490,14 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
|
||||||
if (params instanceof ReferenceParam) {
|
if (params instanceof ReferenceParam) {
|
||||||
ReferenceParam ref = (ReferenceParam) params;
|
ReferenceParam ref = (ReferenceParam) params;
|
||||||
|
|
||||||
|
String resourceId = ref.getValueAsQueryToken();
|
||||||
|
if (resourceId.contains("/")) {
|
||||||
|
IdDt dt = new IdDt(resourceId);
|
||||||
|
resourceId = dt.getUnqualifiedId();
|
||||||
|
}
|
||||||
|
|
||||||
if (isBlank(ref.getChain())) {
|
if (isBlank(ref.getChain())) {
|
||||||
Long targetPid = Long.valueOf(ref.getValueAsQueryToken());
|
Long targetPid = Long.valueOf(resourceId);
|
||||||
ourLog.info("Searching for resource link with target PID: {}", targetPid);
|
ourLog.info("Searching for resource link with target PID: {}", targetPid);
|
||||||
Predicate eq = builder.equal(from.get("myTargetResourcePid"), targetPid);
|
Predicate eq = builder.equal(from.get("myTargetResourcePid"), targetPid);
|
||||||
codePredicates.add(eq);
|
codePredicates.add(eq);
|
||||||
|
@ -505,7 +512,7 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
|
||||||
RuntimeChildResourceDefinition resDef = (RuntimeChildResourceDefinition) def;
|
RuntimeChildResourceDefinition resDef = (RuntimeChildResourceDefinition) def;
|
||||||
resourceTypes = resDef.getResourceTypes();
|
resourceTypes = resDef.getResourceTypes();
|
||||||
} else {
|
} else {
|
||||||
resourceTypes = new ArrayList<>();
|
resourceTypes = new ArrayList<Class<? extends IResource>>();
|
||||||
RuntimeResourceDefinition resDef = getContext().getResourceDefinition(ref.getResourceType());
|
RuntimeResourceDefinition resDef = getContext().getResourceDefinition(ref.getResourceType());
|
||||||
resourceTypes.add(resDef.getImplementingClass());
|
resourceTypes.add(resDef.getImplementingClass());
|
||||||
}
|
}
|
||||||
|
@ -522,7 +529,7 @@ public class FhirResourceDao<T extends IResource> extends BaseFhirDao implements
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
IQueryParameterType chainValue = toParameterType(param.getParamType(), ref.getValueAsQueryToken());
|
IQueryParameterType chainValue = toParameterType(param.getParamType(), resourceId);
|
||||||
Set<Long> pids = dao.searchForIds(ref.getChain(), chainValue);
|
Set<Long> pids = dao.searchForIds(ref.getChain(), chainValue);
|
||||||
if (pids.isEmpty()) {
|
if (pids.isEmpty()) {
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -22,7 +22,8 @@ import ca.uhn.fhir.util.FhirTerser;
|
||||||
public class FhirSystemDao extends BaseFhirDao implements IFhirSystemDao {
|
public class FhirSystemDao extends BaseFhirDao implements IFhirSystemDao {
|
||||||
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(FhirSystemDao.class);
|
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(FhirSystemDao.class);
|
||||||
|
|
||||||
@PersistenceContext(name = "FHIR_UT", type = PersistenceContextType.TRANSACTION, unitName = "FHIR_UT")
|
//name = "FHIR_UT", type = PersistenceContextType.TRANSACTION, unitName = "FHIR_UT"
|
||||||
|
@PersistenceContext()
|
||||||
private EntityManager myEntityManager;
|
private EntityManager myEntityManager;
|
||||||
|
|
||||||
private FhirContext myContext = new FhirContext();
|
private FhirContext myContext = new FhirContext();
|
||||||
|
@ -34,8 +35,8 @@ public class FhirSystemDao extends BaseFhirDao implements IFhirSystemDao {
|
||||||
|
|
||||||
FhirTerser terser = myContext.newTerser();
|
FhirTerser terser = myContext.newTerser();
|
||||||
|
|
||||||
Map<IdDt, IdDt> idConversions = new HashMap<>();
|
Map<IdDt, IdDt> idConversions = new HashMap<IdDt, IdDt>();
|
||||||
List<ResourceTable> persistedResources = new ArrayList<>();
|
List<ResourceTable> persistedResources = new ArrayList<ResourceTable>();
|
||||||
for (IResource nextResource : theResources) {
|
for (IResource nextResource : theResources) {
|
||||||
IdDt nextId = nextResource.getId();
|
IdDt nextId = nextResource.getId();
|
||||||
if (nextId == null) {
|
if (nextId == null) {
|
||||||
|
|
|
@ -51,7 +51,7 @@ public class ResourceHistoryTable extends BaseHasResource implements Serializabl
|
||||||
|
|
||||||
public Collection<ResourceHistoryTag> getTags() {
|
public Collection<ResourceHistoryTag> getTags() {
|
||||||
if (myTags == null) {
|
if (myTags == null) {
|
||||||
myTags = new ArrayList<>();
|
myTags = new ArrayList<ResourceHistoryTag>();
|
||||||
}
|
}
|
||||||
return myTags;
|
return myTags;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,6 @@ package ca.uhn.fhir.jpa.entity;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.ForeignKey;
|
|
||||||
import javax.persistence.GeneratedValue;
|
import javax.persistence.GeneratedValue;
|
||||||
import javax.persistence.GenerationType;
|
import javax.persistence.GenerationType;
|
||||||
import javax.persistence.Id;
|
import javax.persistence.Id;
|
||||||
|
@ -27,8 +26,7 @@ public class ResourceHistoryTag extends BaseTag implements Serializable {
|
||||||
@JoinColumn(name="RES_TYPE", referencedColumnName="RES_TYPE"),
|
@JoinColumn(name="RES_TYPE", referencedColumnName="RES_TYPE"),
|
||||||
@JoinColumn(name="PID", referencedColumnName="PID"),
|
@JoinColumn(name="PID", referencedColumnName="PID"),
|
||||||
@JoinColumn(name="VERSION", referencedColumnName="VERSION")
|
@JoinColumn(name="VERSION", referencedColumnName="VERSION")
|
||||||
}, foreignKey=@ForeignKey(name="FK_HT_RT"))
|
}/*, foreignKey=@ForeignKey(name="FK_HT_RT")*/)
|
||||||
@org.hibernate.annotations.ForeignKey(name="FK_HT_RT")
|
|
||||||
private ResourceHistoryTable myResourceHistory;
|
private ResourceHistoryTable myResourceHistory;
|
||||||
|
|
||||||
public ResourceHistoryTag() {
|
public ResourceHistoryTag() {
|
||||||
|
|
|
@ -9,9 +9,8 @@ import javax.persistence.Temporal;
|
||||||
import javax.persistence.TemporalType;
|
import javax.persistence.TemporalType;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "HFJ_SPIDX_DATE")
|
@Table(name = "HFJ_SPIDX_DATE" /*, indexes= {@Index(name="IDX_SP_DATE", columnList= "SP_VALUE_LOW,SP_VALUE_HIGH")}*/)
|
||||||
@org.hibernate.annotations.Table(appliesTo="HFJ_SPIDX_DATE",indexes= {
|
@org.hibernate.annotations.Table(appliesTo = "HFJ_SPIDX_DATE", indexes= {@org.hibernate.annotations.Index(name="IDX_SP_DATE", columnNames= {"SP_VALUE_LOW","SP_VALUE_HIGH"})})
|
||||||
@org.hibernate.annotations.Index(name="IDX_SP_DATE", columnNames= {"SP_VALUE_LOW","SP_VALUE_HIGH"})})
|
|
||||||
public class ResourceIndexedSearchParamDate extends BaseResourceIndexedSearchParam {
|
public class ResourceIndexedSearchParamDate extends BaseResourceIndexedSearchParam {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
@ -4,13 +4,11 @@ import java.math.BigDecimal;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Index;
|
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "HFJ_SPIDX_NUMBER", indexes= {@Index(name="IDX_SP_NUMBER", columnList="SP_VALUE")})
|
@Table(name = "HFJ_SPIDX_NUMBER" /*, indexes= {@Index(name="IDX_SP_NUMBER", columnList="SP_VALUE")}*/ )
|
||||||
@org.hibernate.annotations.Table(appliesTo="HFJ_SPIDX_NUMBER",indexes= {
|
@org.hibernate.annotations.Table(appliesTo = "HFJ_SPIDX_NUMBER", indexes= {@org.hibernate.annotations.Index(name="IDX_SP_NUMBER", columnNames= {"SP_VALUE"})})
|
||||||
@org.hibernate.annotations.Index(name="IDX_SP_NUMBER", columnNames= {"SP_VALUE"})})
|
|
||||||
public class ResourceIndexedSearchParamNumber extends BaseResourceIndexedSearchParam {
|
public class ResourceIndexedSearchParamNumber extends BaseResourceIndexedSearchParam {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
@ -2,11 +2,10 @@ package ca.uhn.fhir.jpa.entity;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Index;
|
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "HFJ_SPIDX_STRING", indexes= {@Index(name="IDX_SP_STRING", columnList="SP_VALUE_NORMALIZED")})
|
@Table(name = "HFJ_SPIDX_STRING"/*, indexes= {@Index(name="IDX_SP_STRING", columnList="SP_VALUE_NORMALIZED")}*/)
|
||||||
@org.hibernate.annotations.Table(appliesTo="HFJ_SPIDX_STRING",indexes= {
|
@org.hibernate.annotations.Table(appliesTo="HFJ_SPIDX_STRING",indexes= {
|
||||||
@org.hibernate.annotations.Index(name="IDX_SP_STRING", columnNames= {"SP_VALUE_NORMALIZED"})})
|
@org.hibernate.annotations.Index(name="IDX_SP_STRING", columnNames= {"SP_VALUE_NORMALIZED"})})
|
||||||
public class ResourceIndexedSearchParamString extends BaseResourceIndexedSearchParam {
|
public class ResourceIndexedSearchParamString extends BaseResourceIndexedSearchParam {
|
||||||
|
|
|
@ -2,13 +2,12 @@ package ca.uhn.fhir.jpa.entity;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Index;
|
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "HFJ_SPIDX_TOKEN", indexes = { @Index(name = "IDX_SP_TOKEN", columnList = "SP_SYSTEM,SP_VALUE") })
|
@Table(name = "HFJ_SPIDX_TOKEN" /*, indexes = { @Index(name = "IDX_SP_TOKEN", columnList = "SP_SYSTEM,SP_VALUE") }*/)
|
||||||
//@org.hibernate.annotations.Table(appliesTo="HFJ_SPIDX_TOKEN", indexes= {
|
@org.hibernate.annotations.Table(appliesTo="HFJ_SPIDX_TOKEN", indexes= {
|
||||||
// @org.hibernate.annotations.Index(name="IDX_SP_TOKEN", columnNames= {"SP_SYSTEM","SP_VALUE"})})
|
@org.hibernate.annotations.Index(name="IDX_SP_TOKEN", columnNames= {"SP_SYSTEM","SP_VALUE"})})
|
||||||
public class ResourceIndexedSearchParamToken extends BaseResourceIndexedSearchParam {
|
public class ResourceIndexedSearchParamToken extends BaseResourceIndexedSearchParam {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
@ -14,7 +14,7 @@ import javax.persistence.Table;
|
||||||
import org.apache.commons.lang3.Validate;
|
import org.apache.commons.lang3.Validate;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "HFJ_RES_LINK")
|
@Table(name = "HFJ_RES_LINK"/*, indexes= {@Index(name="IDX_RL_TPATHRES", columnList= "SRC_PATH,TARGET_RESOURCE_ID")}*/)
|
||||||
@org.hibernate.annotations.Table(appliesTo="HFJ_RES_LINK",indexes= {
|
@org.hibernate.annotations.Table(appliesTo="HFJ_RES_LINK",indexes= {
|
||||||
@org.hibernate.annotations.Index(name="IDX_RL_TPATHRES", columnNames= {"SRC_PATH","TARGET_RESOURCE_ID"})})
|
@org.hibernate.annotations.Index(name="IDX_RL_TPATHRES", columnNames= {"SRC_PATH","TARGET_RESOURCE_ID"})})
|
||||||
public class ResourceLink implements Serializable {
|
public class ResourceLink implements Serializable {
|
||||||
|
|
|
@ -94,35 +94,35 @@ public class ResourceTable extends BaseHasResource implements Serializable {
|
||||||
|
|
||||||
public Collection<ResourceIndexedSearchParamDate> getParamsDate() {
|
public Collection<ResourceIndexedSearchParamDate> getParamsDate() {
|
||||||
if (myParamsDate == null) {
|
if (myParamsDate == null) {
|
||||||
myParamsDate = new ArrayList<>();
|
myParamsDate = new ArrayList<ResourceIndexedSearchParamDate>();
|
||||||
}
|
}
|
||||||
return myParamsDate;
|
return myParamsDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<ResourceIndexedSearchParamNumber> getParamsNumber() {
|
public Collection<ResourceIndexedSearchParamNumber> getParamsNumber() {
|
||||||
if (myParamsNumber == null) {
|
if (myParamsNumber == null) {
|
||||||
myParamsNumber = new ArrayList<>();
|
myParamsNumber = new ArrayList<ResourceIndexedSearchParamNumber>();
|
||||||
}
|
}
|
||||||
return myParamsNumber;
|
return myParamsNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<ResourceIndexedSearchParamString> getParamsString() {
|
public Collection<ResourceIndexedSearchParamString> getParamsString() {
|
||||||
if (myParamsString == null) {
|
if (myParamsString == null) {
|
||||||
myParamsString = new ArrayList<>();
|
myParamsString = new ArrayList<ResourceIndexedSearchParamString>();
|
||||||
}
|
}
|
||||||
return myParamsString;
|
return myParamsString;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<ResourceIndexedSearchParamToken> getParamsToken() {
|
public Collection<ResourceIndexedSearchParamToken> getParamsToken() {
|
||||||
if (myParamsToken == null) {
|
if (myParamsToken == null) {
|
||||||
myParamsToken = new ArrayList<>();
|
myParamsToken = new ArrayList<ResourceIndexedSearchParamToken>();
|
||||||
}
|
}
|
||||||
return myParamsToken;
|
return myParamsToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<ResourceLink> getResourceLinks() {
|
public Collection<ResourceLink> getResourceLinks() {
|
||||||
if (myResourceLinks == null) {
|
if (myResourceLinks == null) {
|
||||||
myResourceLinks = new ArrayList<>();
|
myResourceLinks = new ArrayList<ResourceLink>();
|
||||||
}
|
}
|
||||||
return myResourceLinks;
|
return myResourceLinks;
|
||||||
}
|
}
|
||||||
|
@ -133,7 +133,7 @@ public class ResourceTable extends BaseHasResource implements Serializable {
|
||||||
|
|
||||||
public Collection<ResourceTag> getTags() {
|
public Collection<ResourceTag> getTags() {
|
||||||
if (myTags == null) {
|
if (myTags == null) {
|
||||||
myTags = new ArrayList<>();
|
myTags = new ArrayList<ResourceTag>();
|
||||||
}
|
}
|
||||||
return myTags;
|
return myTags;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,11 +20,19 @@ import ca.uhn.fhir.rest.annotation.Update;
|
||||||
import ca.uhn.fhir.rest.api.MethodOutcome;
|
import ca.uhn.fhir.rest.api.MethodOutcome;
|
||||||
import ca.uhn.fhir.rest.server.IResourceProvider;
|
import ca.uhn.fhir.rest.server.IResourceProvider;
|
||||||
|
|
||||||
public abstract class BaseJpaResourceProvider<T extends IResource> implements IResourceProvider {
|
public class JpaResourceProvider<T extends IResource> implements IResourceProvider {
|
||||||
|
|
||||||
private FhirContext myContext=new FhirContext();
|
private FhirContext myContext=new FhirContext();
|
||||||
private IFhirResourceDao<T> myDao;
|
private IFhirResourceDao<T> myDao;
|
||||||
|
|
||||||
|
public JpaResourceProvider() {
|
||||||
|
//nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
public JpaResourceProvider(IFhirResourceDao<T> theDao) {
|
||||||
|
myDao=theDao;
|
||||||
|
}
|
||||||
|
|
||||||
@Create
|
@Create
|
||||||
public MethodOutcome create(@ResourceParam T theResource) {
|
public MethodOutcome create(@ResourceParam T theResource) {
|
||||||
return myDao.create(theResource);
|
return myDao.create(theResource);
|
||||||
|
@ -63,4 +71,9 @@ public abstract class BaseJpaResourceProvider<T extends IResource> implements IR
|
||||||
return myDao.update(theResource, theId);
|
return myDao.update(theResource, theId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<? extends IResource> getResourceType() {
|
||||||
|
return myDao.getResourceType();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -9,10 +9,19 @@ import ca.uhn.fhir.model.api.IResource;
|
||||||
import ca.uhn.fhir.rest.annotation.Transaction;
|
import ca.uhn.fhir.rest.annotation.Transaction;
|
||||||
import ca.uhn.fhir.rest.annotation.TransactionParam;
|
import ca.uhn.fhir.rest.annotation.TransactionParam;
|
||||||
|
|
||||||
public class SystemProvider {
|
public class JpaSystemProvider {
|
||||||
|
|
||||||
private IFhirSystemDao myDao;
|
private IFhirSystemDao myDao;
|
||||||
|
|
||||||
|
public JpaSystemProvider() {
|
||||||
|
//nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
public JpaSystemProvider(IFhirSystemDao theDao) {
|
||||||
|
myDao=theDao;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Required
|
@Required
|
||||||
public void setDao(IFhirSystemDao theDao) {
|
public void setDao(IFhirSystemDao theDao) {
|
||||||
myDao = theDao;
|
myDao = theDao;
|
|
@ -1,99 +0,0 @@
|
||||||
<configuration scan="true" scanPeriod="30 seconds">
|
|
||||||
|
|
||||||
<appender name="EJBFILE"
|
|
||||||
class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
||||||
<file>/var/log/glassfish/svcret/svcret-ejb.log</file>
|
|
||||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
|
||||||
<level>INFO</level>
|
|
||||||
</filter>
|
|
||||||
<encoder>
|
|
||||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%file:%line] %msg%n</pattern>
|
|
||||||
</encoder>
|
|
||||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
|
||||||
<fileNamePattern>/var/log/glassfish/svcret/svcret-ejb.log_%d{yyyy-MM-dd'T'HH'-00-00'}</fileNamePattern>
|
|
||||||
</rollingPolicy>
|
|
||||||
</appender>
|
|
||||||
|
|
||||||
<appender name="ERRORFILE"
|
|
||||||
class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
||||||
<file>/var/log/glassfish/svcret/svcret-error.log</file>
|
|
||||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
|
||||||
<level>ERROR</level>
|
|
||||||
</filter>
|
|
||||||
<encoder>
|
|
||||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%file:%line] %msg%n</pattern>
|
|
||||||
</encoder>
|
|
||||||
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
|
|
||||||
<fileNamePattern>/var/log/glassfish/svcret/svcret-error-%i.log</fileNamePattern>
|
|
||||||
<minIndex>1</minIndex>
|
|
||||||
<maxIndex>10</maxIndex>
|
|
||||||
</rollingPolicy>
|
|
||||||
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
|
|
||||||
<maxFileSize>5MB</maxFileSize>
|
|
||||||
</triggeringPolicy>
|
|
||||||
</appender>
|
|
||||||
|
|
||||||
<appender name="DEBUGFILE"
|
|
||||||
class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
||||||
<file>/var/log/glassfish/svcret/svcret-debug.log</file>
|
|
||||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
|
||||||
<level>DEBUG</level>
|
|
||||||
</filter>
|
|
||||||
<encoder>
|
|
||||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%file:%line] %msg%n</pattern>
|
|
||||||
</encoder>
|
|
||||||
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
|
|
||||||
<fileNamePattern>/var/log/glassfish/svcret/svcret-debug-%i.log</fileNamePattern>
|
|
||||||
<minIndex>1</minIndex>
|
|
||||||
<maxIndex>10</maxIndex>
|
|
||||||
</rollingPolicy>
|
|
||||||
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
|
|
||||||
<maxFileSize>5MB</maxFileSize>
|
|
||||||
</triggeringPolicy>
|
|
||||||
</appender>
|
|
||||||
|
|
||||||
<appender name="ADMINFILE"
|
|
||||||
class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
||||||
<file>/var/log/glassfish/svcret/svcret-admin.log</file>
|
|
||||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
|
||||||
<level>DEBUG</level>
|
|
||||||
</filter>
|
|
||||||
<encoder>
|
|
||||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%file:%line] %msg%n</pattern>
|
|
||||||
</encoder>
|
|
||||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
|
||||||
<fileNamePattern>/var/log/glassfish/svcret/svcret-admin.log_%d{yyyy-MM-dd'T'HH'-00-00'}</fileNamePattern>
|
|
||||||
</rollingPolicy>
|
|
||||||
</appender>
|
|
||||||
|
|
||||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
|
||||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
|
||||||
<level>WARN</level>
|
|
||||||
</filter>
|
|
||||||
<encoder>
|
|
||||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%file:%line] %msg%n</pattern>
|
|
||||||
</encoder>
|
|
||||||
</appender>
|
|
||||||
|
|
||||||
<logger name="net.svcret.admin" level="DEBUG" additivity="false">
|
|
||||||
<appender-ref ref="STDOUT" />
|
|
||||||
<appender-ref ref="ADMINFILE" />
|
|
||||||
<appender-ref ref="ERRORFILE" />
|
|
||||||
<appender-ref ref="DEBUGFILE" />
|
|
||||||
</logger>
|
|
||||||
|
|
||||||
<logger name="net.svcret" level="DEBUG" additivity="false">
|
|
||||||
<appender-ref ref="STDOUT" />
|
|
||||||
<appender-ref ref="EJBFILE" />
|
|
||||||
<appender-ref ref="ERRORFILE" />
|
|
||||||
<appender-ref ref="DEBUGFILE" />
|
|
||||||
</logger>
|
|
||||||
|
|
||||||
<root level="info">
|
|
||||||
<appender-ref ref="STDOUT" />
|
|
||||||
<appender-ref ref="EJBFILE" />
|
|
||||||
<appender-ref ref="ERRORFILE" />
|
|
||||||
<appender-ref ref="DEBUGFILE" />
|
|
||||||
</root>
|
|
||||||
|
|
||||||
</configuration>
|
|
|
@ -220,7 +220,7 @@ public class FhirResourceDaoTest {
|
||||||
ourPatientDao.create(patient);
|
ourPatientDao.create(patient);
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, IQueryParameterType> params = new HashMap<>();
|
Map<String, IQueryParameterType> params = new HashMap<String, IQueryParameterType>();
|
||||||
List<Patient> patients = ourPatientDao.search(params);
|
List<Patient> patients = ourPatientDao.search(params);
|
||||||
assertTrue(patients.size() >= 2);
|
assertTrue(patients.size() >= 2);
|
||||||
}
|
}
|
||||||
|
@ -241,19 +241,19 @@ public class FhirResourceDaoTest {
|
||||||
ourPatientDao.create(patient);
|
ourPatientDao.create(patient);
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, IQueryParameterType> params = new HashMap<>();
|
Map<String, IQueryParameterType> params = new HashMap<String, IQueryParameterType>();
|
||||||
params.put(Patient.SP_FAMILY, new StringDt("testSearchNameParam01Fam"));
|
params.put(Patient.SP_FAMILY, new StringDt("testSearchNameParam01Fam"));
|
||||||
List<Patient> patients = ourPatientDao.search(params);
|
List<Patient> patients = ourPatientDao.search(params);
|
||||||
assertEquals(1, patients.size());
|
assertEquals(1, patients.size());
|
||||||
assertEquals(id1.getUnqualifiedId(), patients.get(0).getId().getUnqualifiedId());
|
assertEquals(id1.getUnqualifiedId(), patients.get(0).getId().getUnqualifiedId());
|
||||||
|
|
||||||
params = new HashMap<>();
|
params = new HashMap<String, IQueryParameterType>();
|
||||||
params.put(Patient.SP_FAMILY, new StringDt("testSearchNameParam01Giv"));
|
params.put(Patient.SP_FAMILY, new StringDt("testSearchNameParam01Giv"));
|
||||||
patients = ourPatientDao.search(params);
|
patients = ourPatientDao.search(params);
|
||||||
assertEquals(1, patients.size());
|
assertEquals(1, patients.size());
|
||||||
assertEquals(id1.getUnqualifiedId(), patients.get(0).getId().getUnqualifiedId());
|
assertEquals(id1.getUnqualifiedId(), patients.get(0).getId().getUnqualifiedId());
|
||||||
|
|
||||||
params = new HashMap<>();
|
params = new HashMap<String, IQueryParameterType>();
|
||||||
params.put(Patient.SP_FAMILY, new StringDt("testSearchNameParam01Foo"));
|
params.put(Patient.SP_FAMILY, new StringDt("testSearchNameParam01Foo"));
|
||||||
patients = ourPatientDao.search(params);
|
patients = ourPatientDao.search(params);
|
||||||
assertEquals(0, patients.size());
|
assertEquals(0, patients.size());
|
||||||
|
@ -368,7 +368,7 @@ public class FhirResourceDaoTest {
|
||||||
ourPatientDao.create(patient);
|
ourPatientDao.create(patient);
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, IQueryParameterType> params = new HashMap<>();
|
Map<String, IQueryParameterType> params = new HashMap<String, IQueryParameterType>();
|
||||||
params.put(Patient.SP_FAMILY, new StringDt("Tester_testSearchStringParam"));
|
params.put(Patient.SP_FAMILY, new StringDt("Tester_testSearchStringParam"));
|
||||||
List<Patient> patients = ourPatientDao.search(params);
|
List<Patient> patients = ourPatientDao.search(params);
|
||||||
assertEquals(2, patients.size());
|
assertEquals(2, patients.size());
|
||||||
|
@ -394,7 +394,7 @@ public class FhirResourceDaoTest {
|
||||||
ourPatientDao.create(patient);
|
ourPatientDao.create(patient);
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, IQueryParameterType> params = new HashMap<>();
|
Map<String, IQueryParameterType> params = new HashMap<String, IQueryParameterType>();
|
||||||
params.put(Patient.SP_FAMILY, new StringDt("testSearchStringParamWithNonNormalized_hora"));
|
params.put(Patient.SP_FAMILY, new StringDt("testSearchStringParamWithNonNormalized_hora"));
|
||||||
List<Patient> patients = ourPatientDao.search(params);
|
List<Patient> patients = ourPatientDao.search(params);
|
||||||
assertEquals(2, patients.size());
|
assertEquals(2, patients.size());
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
<configuration scan="true" scanPeriod="30 seconds">
|
||||||
|
|
||||||
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
|
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||||
|
<level>INFO</level>
|
||||||
|
</filter>
|
||||||
|
<encoder>
|
||||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%file:%line] %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<root>
|
||||||
|
<appender-ref ref="STDOUT" />
|
||||||
|
</root>
|
||||||
|
|
||||||
|
</configuration>
|
|
@ -1,166 +1,33 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
|
<classpathentry excluding="**/*.java" including="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
|
||||||
<classpathentry kind="src" path="target/generated-sources/tinder"/>
|
<classpathentry kind="src" path="target/generated-sources/tinder"/>
|
||||||
<classpathentry kind="src" path="src/test/java"/>
|
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||||
<classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar" sourcepath="M2_REPO/javax/activation/activation/1.1/activation-1.1-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/javax/json/javax.json-api/1.0/javax.json-api-1.0.jar" sourcepath="M2_REPO/javax/json/javax.json-api/1.0/javax.json-api-1.0-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/javax/mail/javax.mail-api/1.5.0/javax.mail-api-1.5.0.jar" sourcepath="M2_REPO/javax/mail/javax.mail-api/1.5.0/javax.mail-api-1.5.0-sources.jar">
|
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/javax/mail/javax.mail-api/1.5.0/javax.mail-api-1.5.0-javadoc.jar!/"/>
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="var" path="M2_REPO/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar" sourcepath="M2_REPO/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0-sources.jar">
|
<classpathentry kind="src" output="target/classes" path="src/main/java">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0-javadoc.jar!/"/>
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
|
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
|
||||||
<classpathentry kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar" sourcepath="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar" sourcepath="M2_REPO/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/com/fasterxml/classmate/1.0.0/classmate-1.0.0.jar" sourcepath="M2_REPO/com/fasterxml/classmate/1.0.0/classmate-1.0.0-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.9/commons-codec-1.9.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.9/commons-codec-1.9-sources.jar">
|
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-codec/commons-codec/1.9/commons-codec-1.9-javadoc.jar!/"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="var" path="M2_REPO/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.jar" sourcepath="M2_REPO/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4-sources.jar"/>
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
|
||||||
<classpathentry kind="var" path="M2_REPO/commons-io/commons-io/2.4/commons-io-2.4.jar" sourcepath="M2_REPO/commons-io/commons-io/2.4/commons-io-2.4-sources.jar">
|
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4-javadoc.jar!/"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1.jar" sourcepath="M2_REPO/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1-sources.jar">
|
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1-javadoc.jar!/"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar">
|
<classpathentry kind="output" path="target/classes"/>
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4.jar" sourcepath="M2_REPO/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.10.2.0/derby-10.10.2.0.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/com/google/guava/guava/17.0/guava-17.0.jar" sourcepath="M2_REPO/com/google/guava/guava/17.0/guava-17.0-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="src" path="/hapi-fhir-base"/>
|
|
||||||
<classpathentry kind="src" path="/hapi-fhir-jpaserver-base"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/hibernate/common/hibernate-commons-annotations/4.0.4.Final/hibernate-commons-annotations-4.0.4.Final.jar" sourcepath="M2_REPO/org/hibernate/common/hibernate-commons-annotations/4.0.4.Final/hibernate-commons-annotations-4.0.4.Final-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/4.3.5.Final/hibernate-core-4.3.5.Final.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/4.3.5.Final/hibernate-core-4.3.5.Final-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-ehcache/4.3.5.Final/hibernate-ehcache-4.3.5.Final.jar" sourcepath="M2_REPO/org/hibernate/hibernate-ehcache/4.3.5.Final/hibernate-ehcache-4.3.5.Final-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/4.3.5.Final/hibernate-entitymanager-4.3.5.Final.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/4.3.5.Final/hibernate-entitymanager-4.3.5.Final-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final.jar" sourcepath="M2_REPO/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/5.1.0.Final/hibernate-validator-5.1.0.Final.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/5.1.0.Final/hibernate-validator-5.1.0.Final-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar" sourcepath="M2_REPO/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar" sourcepath="M2_REPO/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/jboss/jandex/1.1.0.Final/jandex-1.1.0.Final.jar" sourcepath="M2_REPO/org/jboss/jandex/1.1.0.Final/jandex-1.1.0.Final-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar" sourcepath="M2_REPO/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/glassfish/javax.json/1.0.4/javax.json-1.0.4.jar" sourcepath="M2_REPO/org/glassfish/javax.json/1.0.4/javax.json-1.0.4-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-annotations/1.2.0.Beta1/jboss-logging-annotations-1.2.0.Beta1.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-annotations/1.2.0.Beta1/jboss-logging-annotations-1.2.0.Beta1-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/jboss/logging/jboss-logging-annotations/1.2.0.Beta1/jboss-logging-annotations-1.2.0.Beta1-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.0.0.Final/jboss-transaction-api_1.2_spec-1.0.0.Final.jar" sourcepath="M2_REPO/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.0.0.Final/jboss-transaction-api_1.2_spec-1.0.0.Final-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.0.0.Final/jboss-transaction-api_1.2_spec-1.0.0.Final-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-continuation/9.1.1.v20140108/jetty-continuation-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-continuation/9.1.1.v20140108/jetty-continuation-9.1.1.v20140108-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-http/9.1.1.v20140108/jetty-http-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-http/9.1.1.v20140108/jetty-http-9.1.1.v20140108-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-io/9.1.1.v20140108/jetty-io-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-io/9.1.1.v20140108/jetty-io-9.1.1.v20140108-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-security/9.1.1.v20140108/jetty-security-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-security/9.1.1.v20140108/jetty-security-9.1.1.v20140108-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-server/9.1.1.v20140108/jetty-server-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-server/9.1.1.v20140108/jetty-server-9.1.1.v20140108-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-servlet/9.1.1.v20140108/jetty-servlet-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-servlet/9.1.1.v20140108/jetty-servlet-9.1.1.v20140108-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-servlets/9.1.1.v20140108/jetty-servlets-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-servlets/9.1.1.v20140108/jetty-servlets-9.1.1.v20140108-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-util/9.1.1.v20140108/jetty-util-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-util/9.1.1.v20140108/jetty-util-9.1.1.v20140108-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/junit/junit/4.11/junit-4.11.jar" sourcepath="M2_REPO/junit/junit/4.11/junit-4.11-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/junit/junit/4.11/junit-4.11-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-aop/4.0.1.RELEASE/spring-aop-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-aop/4.0.1.RELEASE/spring-aop-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-aop/4.0.1.RELEASE/spring-aop-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-beans/4.0.1.RELEASE/spring-beans-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-beans/4.0.1.RELEASE/spring-beans-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-beans/4.0.1.RELEASE/spring-beans-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-context/4.0.1.RELEASE/spring-context-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-context/4.0.1.RELEASE/spring-context-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-context/4.0.1.RELEASE/spring-context-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-context-support/4.0.1.RELEASE/spring-context-support-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-context-support/4.0.1.RELEASE/spring-context-support-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-context-support/4.0.1.RELEASE/spring-context-support-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-core/4.0.1.RELEASE/spring-core-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-core/4.0.1.RELEASE/spring-core-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-core/4.0.1.RELEASE/spring-core-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-expression/4.0.1.RELEASE/spring-expression-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-expression/4.0.1.RELEASE/spring-expression-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-expression/4.0.1.RELEASE/spring-expression-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-jdbc/4.0.1.RELEASE/spring-jdbc-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-jdbc/4.0.1.RELEASE/spring-jdbc-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-jdbc/4.0.1.RELEASE/spring-jdbc-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-orm/4.0.1.RELEASE/spring-orm-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-orm/4.0.1.RELEASE/spring-orm-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-orm/4.0.1.RELEASE/spring-orm-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-tx/4.0.1.RELEASE/spring-tx-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-tx/4.0.1.RELEASE/spring-tx-4.0.1.RELEASE-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-tx/4.0.1.RELEASE/spring-tx-4.0.1.RELEASE-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1.jar" sourcepath="M2_REPO/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1-sources.jar"/>
|
|
||||||
<classpathentry kind="var" path="M2_REPO/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0.jar" sourcepath="M2_REPO/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0-sources.jar">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0-javadoc.jar!/"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
|
||||||
<classpathentry kind="output" path="bin"/>
|
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
|
@ -0,0 +1,166 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
|
||||||
|
<classpathentry kind="src" path="target/generated-sources/tinder"/>
|
||||||
|
<classpathentry kind="src" path="src/test/java"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar" sourcepath="M2_REPO/javax/activation/activation/1.1/activation-1.1-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/javax/json/javax.json-api/1.0/javax.json-api-1.0.jar" sourcepath="M2_REPO/javax/json/javax.json-api/1.0/javax.json-api-1.0-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/javax/mail/javax.mail-api/1.5.0/javax.mail-api-1.5.0.jar" sourcepath="M2_REPO/javax/mail/javax.mail-api/1.5.0/javax.mail-api-1.5.0-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/javax/mail/javax.mail-api/1.5.0/javax.mail-api-1.5.0-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar" sourcepath="M2_REPO/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar" sourcepath="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar" sourcepath="M2_REPO/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/com/fasterxml/classmate/1.0.0/classmate-1.0.0.jar" sourcepath="M2_REPO/com/fasterxml/classmate/1.0.0/classmate-1.0.0-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.9/commons-codec-1.9.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.9/commons-codec-1.9-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-codec/commons-codec/1.9/commons-codec-1.9-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.jar" sourcepath="M2_REPO/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/commons-io/commons-io/2.4/commons-io-2.4.jar" sourcepath="M2_REPO/commons-io/commons-io/2.4/commons-io-2.4-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1.jar" sourcepath="M2_REPO/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4.jar" sourcepath="M2_REPO/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.10.2.0/derby-10.10.2.0.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/com/google/guava/guava/17.0/guava-17.0.jar" sourcepath="M2_REPO/com/google/guava/guava/17.0/guava-17.0-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="src" path="/hapi-fhir-base"/>
|
||||||
|
<classpathentry kind="src" path="/hapi-fhir-jpaserver-base"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/hibernate/common/hibernate-commons-annotations/4.0.4.Final/hibernate-commons-annotations-4.0.4.Final.jar" sourcepath="M2_REPO/org/hibernate/common/hibernate-commons-annotations/4.0.4.Final/hibernate-commons-annotations-4.0.4.Final-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/4.3.5.Final/hibernate-core-4.3.5.Final.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/4.3.5.Final/hibernate-core-4.3.5.Final-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-ehcache/4.3.5.Final/hibernate-ehcache-4.3.5.Final.jar" sourcepath="M2_REPO/org/hibernate/hibernate-ehcache/4.3.5.Final/hibernate-ehcache-4.3.5.Final-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/4.3.5.Final/hibernate-entitymanager-4.3.5.Final.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/4.3.5.Final/hibernate-entitymanager-4.3.5.Final-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final.jar" sourcepath="M2_REPO/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/5.1.0.Final/hibernate-validator-5.1.0.Final.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/5.1.0.Final/hibernate-validator-5.1.0.Final-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar" sourcepath="M2_REPO/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar" sourcepath="M2_REPO/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/jboss/jandex/1.1.0.Final/jandex-1.1.0.Final.jar" sourcepath="M2_REPO/org/jboss/jandex/1.1.0.Final/jandex-1.1.0.Final-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar" sourcepath="M2_REPO/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/glassfish/javax.json/1.0.4/javax.json-1.0.4.jar" sourcepath="M2_REPO/org/glassfish/javax.json/1.0.4/javax.json-1.0.4-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-annotations/1.2.0.Beta1/jboss-logging-annotations-1.2.0.Beta1.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-annotations/1.2.0.Beta1/jboss-logging-annotations-1.2.0.Beta1-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/jboss/logging/jboss-logging-annotations/1.2.0.Beta1/jboss-logging-annotations-1.2.0.Beta1-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.0.0.Final/jboss-transaction-api_1.2_spec-1.0.0.Final.jar" sourcepath="M2_REPO/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.0.0.Final/jboss-transaction-api_1.2_spec-1.0.0.Final-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.0.0.Final/jboss-transaction-api_1.2_spec-1.0.0.Final-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-continuation/9.1.1.v20140108/jetty-continuation-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-continuation/9.1.1.v20140108/jetty-continuation-9.1.1.v20140108-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-http/9.1.1.v20140108/jetty-http-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-http/9.1.1.v20140108/jetty-http-9.1.1.v20140108-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-io/9.1.1.v20140108/jetty-io-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-io/9.1.1.v20140108/jetty-io-9.1.1.v20140108-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-security/9.1.1.v20140108/jetty-security-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-security/9.1.1.v20140108/jetty-security-9.1.1.v20140108-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-server/9.1.1.v20140108/jetty-server-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-server/9.1.1.v20140108/jetty-server-9.1.1.v20140108-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-servlet/9.1.1.v20140108/jetty-servlet-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-servlet/9.1.1.v20140108/jetty-servlet-9.1.1.v20140108-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-servlets/9.1.1.v20140108/jetty-servlets-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-servlets/9.1.1.v20140108/jetty-servlets-9.1.1.v20140108-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-util/9.1.1.v20140108/jetty-util-9.1.1.v20140108.jar" sourcepath="M2_REPO/org/eclipse/jetty/jetty-util/9.1.1.v20140108/jetty-util-9.1.1.v20140108-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/junit/junit/4.11/junit-4.11.jar" sourcepath="M2_REPO/junit/junit/4.11/junit-4.11-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/junit/junit/4.11/junit-4.11-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-aop/4.0.1.RELEASE/spring-aop-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-aop/4.0.1.RELEASE/spring-aop-4.0.1.RELEASE-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-aop/4.0.1.RELEASE/spring-aop-4.0.1.RELEASE-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-beans/4.0.1.RELEASE/spring-beans-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-beans/4.0.1.RELEASE/spring-beans-4.0.1.RELEASE-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-beans/4.0.1.RELEASE/spring-beans-4.0.1.RELEASE-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-context/4.0.1.RELEASE/spring-context-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-context/4.0.1.RELEASE/spring-context-4.0.1.RELEASE-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-context/4.0.1.RELEASE/spring-context-4.0.1.RELEASE-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-context-support/4.0.1.RELEASE/spring-context-support-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-context-support/4.0.1.RELEASE/spring-context-support-4.0.1.RELEASE-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-context-support/4.0.1.RELEASE/spring-context-support-4.0.1.RELEASE-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-core/4.0.1.RELEASE/spring-core-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-core/4.0.1.RELEASE/spring-core-4.0.1.RELEASE-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-core/4.0.1.RELEASE/spring-core-4.0.1.RELEASE-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-expression/4.0.1.RELEASE/spring-expression-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-expression/4.0.1.RELEASE/spring-expression-4.0.1.RELEASE-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-expression/4.0.1.RELEASE/spring-expression-4.0.1.RELEASE-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-jdbc/4.0.1.RELEASE/spring-jdbc-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-jdbc/4.0.1.RELEASE/spring-jdbc-4.0.1.RELEASE-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-jdbc/4.0.1.RELEASE/spring-jdbc-4.0.1.RELEASE-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-orm/4.0.1.RELEASE/spring-orm-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-orm/4.0.1.RELEASE/spring-orm-4.0.1.RELEASE-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-orm/4.0.1.RELEASE/spring-orm-4.0.1.RELEASE-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-tx/4.0.1.RELEASE/spring-tx-4.0.1.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-tx/4.0.1.RELEASE/spring-tx-4.0.1.RELEASE-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/springframework/spring-tx/4.0.1.RELEASE/spring-tx-4.0.1.RELEASE-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1.jar" sourcepath="M2_REPO/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1-sources.jar"/>
|
||||||
|
<classpathentry kind="var" path="M2_REPO/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0.jar" sourcepath="M2_REPO/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0-sources.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="javadoc_location" value="jar:file:/Users/james/.m2/repository/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0-javadoc.jar!/"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||||
|
<classpathentry kind="output" path="bin"/>
|
||||||
|
</classpath>
|
|
@ -1,16 +1,25 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<projectDescription>
|
<projectDescription>
|
||||||
<name>hapi-fhir-jpaserver-test</name>
|
<name>hapi-fhir-jpaserver-test</name>
|
||||||
<comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
|
<comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
|
||||||
<projects>
|
<projects>
|
||||||
<project>hapi-fhir-base</project>
|
<project>hapi-fhir-base</project>
|
||||||
<project>hapi-fhir-jpaserver-base</project>
|
<project>hapi-fhir-jpaserver-base</project>
|
||||||
</projects>
|
</projects>
|
||||||
<buildSpec>
|
<buildSpec>
|
||||||
<buildCommand>
|
<buildCommand>
|
||||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
</buildCommand>
|
<arguments>
|
||||||
</buildSpec>
|
</arguments>
|
||||||
<natures>
|
</buildCommand>
|
||||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
<buildCommand>
|
||||||
</natures>
|
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||||
</projectDescription>
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
<projectDescription>
|
||||||
|
<name>hapi-fhir-jpaserver-test</name>
|
||||||
|
<comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
|
||||||
|
<projects>
|
||||||
|
<project>hapi-fhir-base</project>
|
||||||
|
<project>hapi-fhir-jpaserver-base</project>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
|
@ -1,2 +1,7 @@
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
|
encoding//src/main/java=UTF-8
|
||||||
|
encoding//src/main/resources=UTF-8
|
||||||
|
encoding//src/test/java=UTF-8
|
||||||
encoding//src/test/java/ca/uhn/fhir/jpa/test/Upload.java=UTF-8
|
encoding//src/test/java/ca/uhn/fhir/jpa/test/Upload.java=UTF-8
|
||||||
|
encoding//src/test/resources=UTF-8
|
||||||
|
encoding/<project>=UTF-8
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#Sat May 03 16:44:33 MST 2014
|
|
||||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
org.eclipse.jdt.core.compiler.source=1.7
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||||
|
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||||
|
org.eclipse.jdt.core.compiler.source=1.7
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
activeProfiles=
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
resolveWorkspaceProjects=true
|
||||||
|
version=1
|
|
@ -8,7 +8,6 @@
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
|
||||||
<artifactId>hapi-fhir-jpaserver-test</artifactId>
|
<artifactId>hapi-fhir-jpaserver-test</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
@ -25,6 +24,11 @@
|
||||||
<artifactId>thymeleaf</artifactId>
|
<artifactId>thymeleaf</artifactId>
|
||||||
<version>2.1.2.RELEASE</version>
|
<version>2.1.2.RELEASE</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>ch.qos.logback</groupId>
|
||||||
|
<artifactId>logback-classic</artifactId>
|
||||||
|
<version>1.1.1</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>junit</groupId>
|
<groupId>junit</groupId>
|
||||||
|
|
|
@ -75,7 +75,7 @@ public class CompleteResourceProviderTest {
|
||||||
|
|
||||||
Bundle actual = ourClient.search().forResource(Patient.class).where(Patient.IDENTIFIER.exactly().systemAndCode("urn:system", "testSearchByIdentifier01")).encodedJson().prettyPrint().execute();
|
Bundle actual = ourClient.search().forResource(Patient.class).where(Patient.IDENTIFIER.exactly().systemAndCode("urn:system", "testSearchByIdentifier01")).encodedJson().prettyPrint().execute();
|
||||||
assertEquals(1, actual.size());
|
assertEquals(1, actual.size());
|
||||||
assertEquals(p1Id, actual.getEntries().get(0).getId());
|
assertEquals(p1Id.getUnqualifiedId(), actual.getEntries().get(0).getId().getUnqualifiedId());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,30 +88,39 @@ public class CompleteResourceProviderTest {
|
||||||
Patient p1 = new Patient();
|
Patient p1 = new Patient();
|
||||||
p1.addIdentifier().setSystem("urn:system").setValue("testSearchByResourceChain01");
|
p1.addIdentifier().setSystem("urn:system").setValue("testSearchByResourceChain01");
|
||||||
p1.addName().addFamily("testSearchByResourceChainFamily01").addGiven("testSearchByResourceChainGiven01");
|
p1.addName().addFamily("testSearchByResourceChainFamily01").addGiven("testSearchByResourceChainGiven01");
|
||||||
p1.setManagingOrganization(new ResourceReferenceDt("Organization/o1id"));
|
p1.setManagingOrganization(new ResourceReferenceDt(o1id));
|
||||||
IdDt p1Id = ourClient.create(p1).getId();
|
IdDt p1Id = ourClient.create(p1).getId();
|
||||||
|
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
Bundle actual = ourClient.search()
|
Bundle actual = ourClient.search()
|
||||||
.forResource(Patient.class)
|
.forResource(Patient.class)
|
||||||
.where(Patient.PROVIDER.hasId(o1id))
|
.where(Patient.PROVIDER.hasId(o1id.getUnqualifiedId()))
|
||||||
.encodedJson().prettyPrint().execute();
|
.encodedJson().andLogRequestAndResponse(true).prettyPrint().execute();
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
assertEquals(1, actual.size());
|
assertEquals(1, actual.size());
|
||||||
assertEquals(p1Id, actual.getEntries().get(0).getId());
|
assertEquals(p1Id.getUnqualifiedId(), actual.getEntries().get(0).getId().getUnqualifiedId());
|
||||||
|
|
||||||
|
//@formatter:off
|
||||||
|
actual = ourClient.search()
|
||||||
|
.forResource(Patient.class)
|
||||||
|
.where(Patient.PROVIDER.hasId(o1id.getValue()))
|
||||||
|
.encodedJson().andLogRequestAndResponse(true).prettyPrint().execute();
|
||||||
|
//@formatter:on
|
||||||
|
assertEquals(1, actual.size());
|
||||||
|
assertEquals(p1Id.getUnqualifiedId(), actual.getEntries().get(0).getId().getUnqualifiedId());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testInsertBadReference() {
|
public void testInsertBadReference() {
|
||||||
Patient p1 = new Patient();
|
Patient p1 = new Patient();
|
||||||
p1.addIdentifier().setSystem("urn:system").setValue("testSearchByResourceChain01");
|
p1.addIdentifier().setSystem("urn:system").setValue("testSearchByResourceChain01");
|
||||||
p1.addName().addFamily("testSearchByResourceChainFamily01").addGiven("testSearchByResourceChainGiven01");
|
p1.addName().addFamily("testSearchByResourceChainFamily01").addGiven("testSearchByResourceChainGiven01");
|
||||||
p1.setManagingOrganization(new ResourceReferenceDt("Organization/132312323"));
|
p1.setManagingOrganization(new ResourceReferenceDt("Organization/132312323"));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
ourClient.create(p1).getId();
|
ourClient.create(p1).getId();
|
||||||
fail();
|
fail();
|
||||||
} catch (InvalidRequestException e) {
|
} catch (InvalidRequestException e) {
|
||||||
assertThat(e.getMessage(), containsString("Organization/132312323"));
|
assertThat(e.getMessage(), containsString("Organization/132312323"));
|
||||||
}
|
}
|
||||||
|
@ -172,6 +181,7 @@ public class CompleteResourceProviderTest {
|
||||||
ourCtx = restServer.getFhirContext();
|
ourCtx = restServer.getFhirContext();
|
||||||
|
|
||||||
ourClient = ourCtx.newRestfulGenericClient(serverBase);
|
ourClient = ourCtx.newRestfulGenericClient(serverBase);
|
||||||
|
ourClient.setLogRequestAndResponse(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
package ca.uhn.fhir.jpa.test;
|
package ca.uhn.fhir.jpa.test;
|
||||||
|
|
||||||
import ca.uhn.fhir.jpa.provider.BaseJpaResourceProvider;
|
import ca.uhn.fhir.jpa.provider.JpaResourceProvider;
|
||||||
import ca.uhn.fhir.model.api.IResource;
|
import ca.uhn.fhir.model.api.IResource;
|
||||||
import ca.uhn.fhir.model.dstu.resource.Questionnaire;
|
import ca.uhn.fhir.model.dstu.resource.Questionnaire;
|
||||||
|
|
||||||
public class QuestionnaireResourceProvider extends BaseJpaResourceProvider<Questionnaire> {
|
public class QuestionnaireResourceProvider extends JpaResourceProvider<Questionnaire> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Class<? extends IResource> getResourceType() {
|
public Class<? extends IResource> getResourceType() {
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
<configuration scan="true" scanPeriod="30 seconds">
|
||||||
|
|
||||||
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
|
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||||
|
<level>INFO</level>
|
||||||
|
</filter>
|
||||||
|
<encoder>
|
||||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%file:%line] %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<root>
|
||||||
|
<appender-ref ref="STDOUT" />
|
||||||
|
</root>
|
||||||
|
|
||||||
|
</configuration>
|
|
@ -0,0 +1,37 @@
|
||||||
|
<?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-sources/tinder"/>
|
||||||
|
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<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 excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
|
||||||
|
<attributes>
|
||||||
|
<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,3 @@
|
||||||
|
myUnitTestDB/
|
||||||
|
target/
|
||||||
|
/bin
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>hapi-fhir-jpaserver-uhnfhirtest</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,6 @@
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding//src/main/java=UTF-8
|
||||||
|
encoding//src/main/resources=UTF-8
|
||||||
|
encoding//src/test/java=UTF-8
|
||||||
|
encoding//src/test/resources=UTF-8
|
||||||
|
encoding/<project>=UTF-8
|
|
@ -0,0 +1,8 @@
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||||
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
|
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
|
|
@ -0,0 +1,168 @@
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
|
<artifactId>hapi-fhir</artifactId>
|
||||||
|
<version>0.4-SNAPSHOT</version>
|
||||||
|
<relativePath>../pom.xml</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>hapi-fhir-jpaserver-uhnfhirtest</artifactId>
|
||||||
|
|
||||||
|
<name>HAPI FHIR JPA Server - Test Project</name>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
|
<artifactId>hapi-fhir-jpaserver-base</artifactId>
|
||||||
|
<version>0.4-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.thymeleaf</groupId>
|
||||||
|
<artifactId>thymeleaf</artifactId>
|
||||||
|
<version>2.1.2.RELEASE</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>ch.qos.logback</groupId>
|
||||||
|
<artifactId>logback-classic</artifactId>
|
||||||
|
<version>1.1.1</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.guava</groupId>
|
||||||
|
<artifactId>guava</artifactId>
|
||||||
|
<version>17.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax.servlet</groupId>
|
||||||
|
<artifactId>javax.servlet-api</artifactId>
|
||||||
|
<version>3.0.1</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<pluginManagement>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<source>1.6</source>
|
||||||
|
<target>1.6</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</pluginManagement>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
|
<artifactId>hapi-tinder-plugin</artifactId>
|
||||||
|
<version>0.4-SNAPSHOT</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>buildclient</id>
|
||||||
|
<goals>
|
||||||
|
<goal>generate-jparest-server</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<packageBase>ca.uhn.test.jpasrv</packageBase>
|
||||||
|
<baseResourceNames>
|
||||||
|
<!-- <baseResourceName>account</baseResourceName> -->
|
||||||
|
<!-- <baseResourceName>activitydefinition-extensions</baseResourceName> -->
|
||||||
|
<baseResourceName>adversereaction</baseResourceName>
|
||||||
|
<baseResourceName>alert</baseResourceName>
|
||||||
|
<baseResourceName>allergyintolerance</baseResourceName>
|
||||||
|
<baseResourceName>appointmentresponse</baseResourceName>
|
||||||
|
<baseResourceName>appointment</baseResourceName>
|
||||||
|
<baseResourceName>availability</baseResourceName>
|
||||||
|
<baseResourceName>careplan</baseResourceName>
|
||||||
|
<baseResourceName>claim</baseResourceName>
|
||||||
|
<baseResourceName>composition</baseResourceName>
|
||||||
|
<baseResourceName>conceptmap</baseResourceName>
|
||||||
|
<baseResourceName>condition</baseResourceName>
|
||||||
|
<baseResourceName>conformance</baseResourceName>
|
||||||
|
<baseResourceName>coverage</baseResourceName>
|
||||||
|
<baseResourceName>deviceobservationreport</baseResourceName>
|
||||||
|
<baseResourceName>device</baseResourceName>
|
||||||
|
<baseResourceName>diagnosticorder</baseResourceName>
|
||||||
|
<baseResourceName>diagnosticreport</baseResourceName>
|
||||||
|
<baseResourceName>documentmanifest</baseResourceName>
|
||||||
|
<baseResourceName>documentreference</baseResourceName>
|
||||||
|
<baseResourceName>encounter</baseResourceName>
|
||||||
|
<!-- <baseResourceName>familyhistory-genetics-profile</baseResourceName> -->
|
||||||
|
<baseResourceName>familyhistory</baseResourceName>
|
||||||
|
<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>list</baseResourceName>
|
||||||
|
<baseResourceName>location</baseResourceName>
|
||||||
|
<baseResourceName>media</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>observation</baseResourceName>
|
||||||
|
<baseResourceName>operationoutcome</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-extensions</baseResourceName> -->
|
||||||
|
<baseResourceName>provenance</baseResourceName>
|
||||||
|
<baseResourceName>query</baseResourceName>
|
||||||
|
<!-- <baseResourceName>questionnaire-extensions</baseResourceName> -->
|
||||||
|
<baseResourceName>questionnaire</baseResourceName>
|
||||||
|
<baseResourceName>relatedperson</baseResourceName>
|
||||||
|
<baseResourceName>remittance</baseResourceName>
|
||||||
|
<!-- <baseResourceName>resource</baseResourceName> -->
|
||||||
|
<baseResourceName>securityevent</baseResourceName>
|
||||||
|
<!--<baseResourceName>sequence</baseResourceName>-->
|
||||||
|
<baseResourceName>sequencinganalysis</baseResourceName>
|
||||||
|
<baseResourceName>sequencinglab</baseResourceName>
|
||||||
|
<baseResourceName>slot</baseResourceName>
|
||||||
|
<baseResourceName>specimen</baseResourceName>
|
||||||
|
<baseResourceName>substance</baseResourceName>
|
||||||
|
<baseResourceName>supply</baseResourceName>
|
||||||
|
<!--<baseResourceName>template</baseResourceName>-->
|
||||||
|
<baseResourceName>test</baseResourceName>
|
||||||
|
<baseResourceName>user</baseResourceName>
|
||||||
|
<!-- <baseResourceName>valueset-extensions</baseResourceName> -->
|
||||||
|
<baseResourceName>valueset</baseResourceName>
|
||||||
|
<!--<baseResourceName>vcfmeta</baseResourceName>-->
|
||||||
|
<!--<baseResourceName>vcfvariant</baseResourceName>-->
|
||||||
|
</baseResourceNames>
|
||||||
|
<buildDatatypes>true</buildDatatypes>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-deploy-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<skip>true</skip>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<packaging>war</packaging>
|
||||||
|
</project>
|
|
@ -0,0 +1,98 @@
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
|
<artifactId>hapi-fhir</artifactId>
|
||||||
|
<version>0.3-SNAPSHOT</version>
|
||||||
|
<relativePath>../pom.xml</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
|
<artifactId>hapi-fhir-jpaserver-test</artifactId>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<name>HAPI FHIR JPA Server - Tester</name>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
|
<artifactId>hapi-fhir-jpaserver-base</artifactId>
|
||||||
|
<version>0.3-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>junit</groupId>
|
||||||
|
<artifactId>junit</artifactId>
|
||||||
|
<version>${junit_version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.guava</groupId>
|
||||||
|
<artifactId>guava</artifactId>
|
||||||
|
<version>17.0</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.eclipse.jetty</groupId>
|
||||||
|
<artifactId>jetty-servlets</artifactId>
|
||||||
|
<version>${jetty_version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.eclipse.jetty</groupId>
|
||||||
|
<artifactId>jetty-servlet</artifactId>
|
||||||
|
<version>${jetty_version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.eclipse.jetty</groupId>
|
||||||
|
<artifactId>jetty-server</artifactId>
|
||||||
|
<version>${jetty_version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.eclipse.jetty</groupId>
|
||||||
|
<artifactId>jetty-servlet</artifactId>
|
||||||
|
<version>${jetty_version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.eclipse.jetty</groupId>
|
||||||
|
<artifactId>jetty-util</artifactId>
|
||||||
|
<version>${jetty_version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<junit_version>4.11</junit_version>
|
||||||
|
<jetty_version>9.1.1.v20140108</jetty_version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<pluginManagement>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<source>1.7</source>
|
||||||
|
<target>1.7</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</pluginManagement>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-deploy-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<skip>true</skip>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,51 @@
|
||||||
|
package ca.uhn.fhirtest;
|
||||||
|
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.jpa.dao.IFhirSystemDao;
|
||||||
|
import ca.uhn.fhir.jpa.provider.JpaSystemProvider;
|
||||||
|
import ca.uhn.fhir.rest.server.IResourceProvider;
|
||||||
|
import ca.uhn.fhir.rest.server.RestfulServer;
|
||||||
|
|
||||||
|
public class TestRestfulServer extends RestfulServer {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private ClassPathXmlApplicationContext myAppCtx;
|
||||||
|
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(TestRestfulServer.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void initialize() {
|
||||||
|
super.initialize();
|
||||||
|
|
||||||
|
try {
|
||||||
|
DriverManager.getConnection("jdbc:derby:directory:" + System.getProperty("fhir.db.location") + ";create=true");
|
||||||
|
} catch (Exception e) {
|
||||||
|
ourLog.info("Failed to create database: {}",e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
myAppCtx = new ClassPathXmlApplicationContext("fhir-spring-uhnfhirtest-config.xml");
|
||||||
|
|
||||||
|
Collection<IResourceProvider> beans = myAppCtx.getBeansOfType(IResourceProvider.class).values();
|
||||||
|
for (IResourceProvider nextResourceProvider : beans) {
|
||||||
|
ourLog.info(" * Have resource provider for: {}", nextResourceProvider.getResourceType().getSimpleName());
|
||||||
|
}
|
||||||
|
setResourceProviders(beans);
|
||||||
|
|
||||||
|
IFhirSystemDao systemDao = myAppCtx.getBean(IFhirSystemDao.class);
|
||||||
|
JpaSystemProvider sp = new JpaSystemProvider(systemDao);
|
||||||
|
setPlainProviders(sp);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void destroy() {
|
||||||
|
super.destroy();
|
||||||
|
|
||||||
|
myAppCtx.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
|
||||||
|
version="2.0">
|
||||||
|
|
||||||
|
<persistence-unit name="FHIR_UT" transaction-type="RESOURCE_LOCAL">
|
||||||
|
<provider>org.hibernate.ejb.HibernatePersistence</provider>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceHistoryTable</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceHistoryTag</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceIndexedSearchParamDate</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceIndexedSearchParamNumber</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceIndexedSearchParamString</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceIndexedSearchParamToken</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceLink</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceTable</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceTag</class>
|
||||||
|
|
||||||
|
<exclude-unlisted-classes>true</exclude-unlisted-classes>
|
||||||
|
<properties>
|
||||||
|
<!--
|
||||||
|
<property name="hibernate.connection.url" value="jdbc:hsqldb:directory:fhirtest-database" />
|
||||||
|
<property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
|
||||||
|
-->
|
||||||
|
<property name="hibernate.dialect" value="org.hibernate.dialect.DerbyTenSevenDialect" />
|
||||||
|
<property name="hibernate.hbm2ddl.auto" value="update" />
|
||||||
|
<property name="hibernate.connection.username" value="sa" />
|
||||||
|
<property name="hibernate.connection.password" value="" />
|
||||||
|
<property name="hibernate.jdbc.batch_size" value="0" />
|
||||||
|
<property name="hibernate.cache.use_minimal_puts" value="false" />
|
||||||
|
<property name="hibernate.show_sql" value="false" />
|
||||||
|
<property name="hibernate.cache.use_query_cache" value="false" />
|
||||||
|
<property name="hibernate.cache.use_second_level_cache" value="false" />
|
||||||
|
<property name="hibernate.cache.use_structured_entries" value="false" />
|
||||||
|
<!--
|
||||||
|
<property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory" />
|
||||||
|
-->
|
||||||
|
</properties>
|
||||||
|
</persistence-unit>
|
||||||
|
|
||||||
|
</persistence>
|
|
@ -0,0 +1,83 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
|
||||||
|
xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:task="http://www.springframework.org/schema/task" xmlns:util="http://www.springframework.org/schema/util"
|
||||||
|
xsi:schemaLocation="
|
||||||
|
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||||
|
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
|
||||||
|
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
|
||||||
|
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
|
||||||
|
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
|
||||||
|
"
|
||||||
|
default-autowire="no" default-lazy-init="false">
|
||||||
|
|
||||||
|
<context:annotation-config />
|
||||||
|
<context:mbean-server />
|
||||||
|
|
||||||
|
<bean id="myDiagnosticReportDao" class="ca.uhn.fhir.jpa.dao.FhirResourceDao">
|
||||||
|
<property name="resourceType" value="ca.uhn.fhir.model.dstu.resource.DiagnosticReport"/>
|
||||||
|
</bean>
|
||||||
|
<bean id="myDiagnosticReportRp" class="ca.uhn.test.jpasrv.DiagnosticReportResourceProvider">
|
||||||
|
<property name="dao" ref="myDiagnosticReportDao"/>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="myPatientDao" class="ca.uhn.fhir.jpa.dao.FhirResourceDao">
|
||||||
|
<property name="resourceType" value="ca.uhn.fhir.model.dstu.resource.Patient"/>
|
||||||
|
</bean>
|
||||||
|
<bean id="myPatientRp" class="ca.uhn.test.jpasrv.PatientResourceProvider">
|
||||||
|
<property name="dao" ref="myPatientDao"/>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="myObservationDao" class="ca.uhn.fhir.jpa.dao.FhirResourceDao">
|
||||||
|
<property name="resourceType" value="ca.uhn.fhir.model.dstu.resource.Observation"/>
|
||||||
|
</bean>
|
||||||
|
<bean id="myObservationRp" class="ca.uhn.test.jpasrv.ObservationResourceProvider">
|
||||||
|
<property name="dao" ref="myObservationDao"/>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="myOrganizationDao" class="ca.uhn.fhir.jpa.dao.FhirResourceDao">
|
||||||
|
<property name="resourceType" value="ca.uhn.fhir.model.dstu.resource.Organization"/>
|
||||||
|
</bean>
|
||||||
|
<bean id="myOrganizationRp" class="ca.uhn.test.jpasrv.OrganizationResourceProvider">
|
||||||
|
<property name="dao" ref="myOrganizationDao"/>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="myLocationDao" class="ca.uhn.fhir.jpa.dao.FhirResourceDao">
|
||||||
|
<property name="resourceType" value="ca.uhn.fhir.model.dstu.resource.Location"/>
|
||||||
|
</bean>
|
||||||
|
<bean id="myLocationRp" class="ca.uhn.test.jpasrv.LocationResourceProvider">
|
||||||
|
<property name="dao" ref="myLocationDao"/>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="myQuestionnaireDao" class="ca.uhn.fhir.jpa.dao.FhirResourceDao">
|
||||||
|
<property name="resourceType" value="ca.uhn.fhir.model.dstu.resource.Questionnaire"/>
|
||||||
|
</bean>
|
||||||
|
<bean id="myQuestionnaireRp" class="ca.uhn.test.jpasrv.QuestionnaireResourceProvider">
|
||||||
|
<property name="dao" ref="myQuestionnaireDao"/>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="mySystemDao" class="ca.uhn.fhir.jpa.dao.FhirSystemDao">
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="myPersistenceDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" lazy-init="true">
|
||||||
|
<!-- ;create=true /opt/glassfish/glassfish4/glassfish/nodes/localhost-domain1/fhirtest/fhirdb -->
|
||||||
|
<property name="url" value="jdbc:derby:directory:#{systemProperties['fhir.db.location']}" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="myEntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
|
||||||
|
<property name="dataSource" ref="myPersistenceDataSource" />
|
||||||
|
<property name="persistenceXmlLocation" value="classpath:META-INF/fhirtest_persistence.xml" />
|
||||||
|
<property name="persistenceUnitName" value="FHIR_UT" />
|
||||||
|
<property name="jpaVendorAdapter">
|
||||||
|
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
|
||||||
|
<property name="showSql" value="false" />
|
||||||
|
<property name="generateDdl" value="true" />
|
||||||
|
<property name="databasePlatform" value="org.hibernate.dialect.DerbyTenSevenDialect" />
|
||||||
|
</bean>
|
||||||
|
</property>
|
||||||
|
</bean>
|
||||||
|
<bean id="myTxManager" class="org.springframework.orm.jpa.JpaTransactionManager">
|
||||||
|
<property name="entityManagerFactory" ref="myEntityManagerFactory" />
|
||||||
|
</bean>
|
||||||
|
<tx:annotation-driven transaction-manager="myTxManager" />
|
||||||
|
|
||||||
|
</beans>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<configuration scan="true" scanPeriod="30 seconds">
|
||||||
|
|
||||||
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
|
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||||
|
<level>INFO</level>
|
||||||
|
</filter>
|
||||||
|
<encoder>
|
||||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%file:%line] %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<root>
|
||||||
|
<appender-ref ref="STDOUT" />
|
||||||
|
</root>
|
||||||
|
|
||||||
|
</configuration>
|
|
@ -0,0 +1,17 @@
|
||||||
|
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
version="3.0" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee ./xsd/web-app_3_0.xsd">
|
||||||
|
|
||||||
|
<!-- Servlets -->
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>fhirServlet</servlet-name>
|
||||||
|
<servlet-class>ca.uhn.fhirtest.TestRestfulServer</servlet-class>
|
||||||
|
<load-on-startup>1</load-on-startup>
|
||||||
|
</servlet>
|
||||||
|
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>fhirServlet</servlet-name>
|
||||||
|
<url-pattern>/base/*</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
|
||||||
|
</web-app>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,737 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
|
||||||
|
targetNamespace="http://java.sun.com/xml/ns/javaee"
|
||||||
|
xmlns:javaee="http://java.sun.com/xml/ns/javaee"
|
||||||
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||||
|
elementFormDefault="qualified"
|
||||||
|
attributeFormDefault="unqualified"
|
||||||
|
version="1.3">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
|
||||||
|
|
||||||
|
Copyright 2003-2009 Sun Microsystems, Inc. All rights reserved.
|
||||||
|
|
||||||
|
The contents of this file are subject to the terms of either the
|
||||||
|
GNU General Public License Version 2 only ("GPL") or the Common
|
||||||
|
Development and Distribution License("CDDL") (collectively, the
|
||||||
|
"License"). You may not use this file except in compliance with
|
||||||
|
the License. You can obtain a copy of the License at
|
||||||
|
https://glassfish.dev.java.net/public/CDDL+GPL.html or
|
||||||
|
glassfish/bootstrap/legal/LICENSE.txt. See the License for the
|
||||||
|
specific language governing permissions and limitations under the
|
||||||
|
License.
|
||||||
|
|
||||||
|
When distributing the software, include this License Header
|
||||||
|
Notice in each file and include the License file at
|
||||||
|
glassfish/bootstrap/legal/LICENSE.txt. Sun designates this
|
||||||
|
particular file as subject to the "Classpath" exception as
|
||||||
|
provided by Sun in the GPL Version 2 section of the License file
|
||||||
|
that accompanied this code. If applicable, add the following
|
||||||
|
below the License Header, with the fields enclosed by brackets []
|
||||||
|
replaced by your own identifying information:
|
||||||
|
"Portions Copyrighted [year] [name of copyright owner]"
|
||||||
|
|
||||||
|
Contributor(s):
|
||||||
|
|
||||||
|
If you wish your version of this file to be governed by only the
|
||||||
|
CDDL or only the GPL Version 2, indicate your decision by adding
|
||||||
|
"[Contributor] elects to include this software in this
|
||||||
|
distribution under the [CDDL or GPL Version 2] license." If you
|
||||||
|
don't indicate a single choice of license, a recipient has the
|
||||||
|
option to distribute your version of this file under either the
|
||||||
|
CDDL, the GPL Version 2 or to extend the choice of license to its
|
||||||
|
licensees as provided above. However, if you add GPL Version 2
|
||||||
|
code and therefore, elected the GPL Version 2 license, then the
|
||||||
|
option applies only if the new code is made subject to such
|
||||||
|
option by the copyright holder.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
(C) Copyright International Business Machines Corporation 2002
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- **************************************************** -->
|
||||||
|
|
||||||
|
<xsd:complexType name="service-refType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The service-ref element declares a reference to a Web
|
||||||
|
service. It contains optional description, display name and
|
||||||
|
icons, a declaration of the required Service interface,
|
||||||
|
an optional WSDL document location, an optional set
|
||||||
|
of JAX-RPC mappings, an optional QName for the service element,
|
||||||
|
an optional set of Service Endpoint Interfaces to be resolved
|
||||||
|
by the container to a WSDL port, and an optional set of handlers.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:group ref="javaee:descriptionGroup"/>
|
||||||
|
<xsd:element name="service-ref-name"
|
||||||
|
type="javaee:jndi-nameType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The service-ref-name element declares logical name that the
|
||||||
|
components in the module use to look up the Web service. It
|
||||||
|
is recommended that all service reference names start with
|
||||||
|
"service/".
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="service-interface"
|
||||||
|
type="javaee:fully-qualified-classType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The service-interface element declares the fully qualified class
|
||||||
|
name of the JAX-RPC Service interface the client depends on.
|
||||||
|
In most cases the value will be javax.xml.rpc.Service. A JAX-RPC
|
||||||
|
generated Service Interface class may also be specified.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="service-ref-type"
|
||||||
|
type="javaee:fully-qualified-classType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The service-ref-type element declares the type of the service-ref
|
||||||
|
element that is injected or returned when a JNDI lookup is done.
|
||||||
|
This must be either a fully qualified name of Service class or
|
||||||
|
the fully qualified name of service endpoint interface class.
|
||||||
|
This is only used with JAX-WS runtime where the corresponding
|
||||||
|
@WebServiceRef annotation can be used to denote both a Service
|
||||||
|
or a Port.
|
||||||
|
|
||||||
|
If this is not specified, then the type of service-ref element
|
||||||
|
that is injected or returned when a JNDI lookup is done is
|
||||||
|
always a Service interface/class.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="wsdl-file"
|
||||||
|
type="javaee:xsdAnyURIType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The wsdl-file element contains the URI location of a WSDL
|
||||||
|
file. The location is relative to the root of the module.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="jaxrpc-mapping-file"
|
||||||
|
type="javaee:pathType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The jaxrpc-mapping-file element contains the name of a file that
|
||||||
|
describes the JAX-RPC mapping between the Java interaces used by
|
||||||
|
the application and the WSDL description in the wsdl-file. The
|
||||||
|
file name is a relative path within the module file.
|
||||||
|
|
||||||
|
This is not required when JAX-WS based runtime is used.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="service-qname"
|
||||||
|
type="javaee:xsdQNameType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The service-qname element declares the specific WSDL service
|
||||||
|
element that is being refered to. It is not specified if no
|
||||||
|
wsdl-file is declared.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="port-component-ref"
|
||||||
|
type="javaee:port-component-refType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="unbounded">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The port-component-ref element declares a client dependency
|
||||||
|
on the container for resolving a Service Endpoint Interface
|
||||||
|
to a WSDL port. It optionally associates the Service Endpoint
|
||||||
|
Interface with a particular port-component. This is only used
|
||||||
|
by the container for a Service.getPort(Class) method call.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:choice>
|
||||||
|
<xsd:element name="handler"
|
||||||
|
type="javaee:handlerType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="unbounded">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Declares the handler for a port-component. Handlers can
|
||||||
|
access the init-param name/value pairs using the
|
||||||
|
HandlerInfo interface. If port-name is not specified, the
|
||||||
|
handler is assumed to be associated with all ports of the
|
||||||
|
service.
|
||||||
|
|
||||||
|
To be used with JAX-RPC based runtime only.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="handler-chains"
|
||||||
|
type="javaee:handler-chainsType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
To be used with JAX-WS based runtime only.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
<xsd:group ref="javaee:resourceGroup"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id"
|
||||||
|
type="xsd:ID"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- **************************************************** -->
|
||||||
|
|
||||||
|
<xsd:complexType name="port-component-refType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The port-component-ref element declares a client dependency
|
||||||
|
on the container for resolving a Service Endpoint Interface
|
||||||
|
to a WSDL port. It optionally associates the Service Endpoint
|
||||||
|
Interface with a particular port-component. This is only used
|
||||||
|
by the container for a Service.getPort(Class) method call.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="service-endpoint-interface"
|
||||||
|
type="javaee:fully-qualified-classType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The service-endpoint-interface element defines a fully qualified
|
||||||
|
Java class that represents the Service Endpoint Interface of a
|
||||||
|
WSDL port.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="enable-mtom"
|
||||||
|
type="javaee:true-falseType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Used to enable or disable SOAP MTOM/XOP mechanism on the client
|
||||||
|
side for a port-component.
|
||||||
|
|
||||||
|
Not to be specified for JAX-RPC runtime
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="mtom-threshold"
|
||||||
|
type="javaee:xsdNonNegativeIntegerType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
When MTOM is enabled, binary data above this size in bytes
|
||||||
|
should be XOP encoded or sent as attachment. Default value is 0.
|
||||||
|
|
||||||
|
Not to be specified for JAX-RPC runtime
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="addressing"
|
||||||
|
type="javaee:addressingType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
This specifies the WS-Addressing requirements for a JAX-WS
|
||||||
|
web service. It corresponds to javax.xml.ws.soap.Addressing
|
||||||
|
annotation or its feature javax.xml.ws.soap.AddressingFeature.
|
||||||
|
|
||||||
|
See the addressingType for more information.
|
||||||
|
|
||||||
|
Not to be specified for JAX-RPC runtime
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="respect-binding"
|
||||||
|
type="javaee:respect-bindingType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Corresponds to the javax.xml.ws.RespectBinding annotation
|
||||||
|
or its corresponding javax.xml.ws.RespectBindingFeature web
|
||||||
|
service feature. This is used to control whether a JAX-WS
|
||||||
|
implementation must respect/honor the contents of the
|
||||||
|
wsdl:binding in the WSDL that is associated with the service.
|
||||||
|
|
||||||
|
Not to be specified for JAX-RPC runtime
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="port-component-link"
|
||||||
|
type="javaee:string"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The port-component-link element links a port-component-ref
|
||||||
|
to a specific port-component required to be made available
|
||||||
|
by a service reference.
|
||||||
|
|
||||||
|
The value of a port-component-link must be the
|
||||||
|
port-component-name of a port-component in the same module
|
||||||
|
or another module in the same application unit. The syntax
|
||||||
|
for specification follows the syntax defined for ejb-link
|
||||||
|
in the EJB 2.0 specification.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id"
|
||||||
|
type="xsd:ID"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- **************************************************** -->
|
||||||
|
|
||||||
|
<xsd:complexType name="handler-chainsType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The handler-chains element defines the handlerchains associated with this
|
||||||
|
service or service endpoint.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="handler-chain"
|
||||||
|
type="javaee:handler-chainType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id"
|
||||||
|
type="xsd:ID"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- **************************************************** -->
|
||||||
|
|
||||||
|
<xsd:complexType name="handler-chainType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The handler-chain element defines the handlerchain.
|
||||||
|
Handlerchain can be defined such that the handlers in the
|
||||||
|
handlerchain operate,all ports of a service, on a specific
|
||||||
|
port or on a list of protocol-bindings. The choice of elements
|
||||||
|
service-name-pattern, port-name-pattern and protocol-bindings
|
||||||
|
are used to specify whether the handlers in handler-chain are
|
||||||
|
for a service, port or protocol binding. If none of these
|
||||||
|
choices are specified with the handler-chain element then the
|
||||||
|
handlers specified in the handler-chain will be applied on
|
||||||
|
everything.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:choice minOccurs="0"
|
||||||
|
maxOccurs="1">
|
||||||
|
<xsd:element name="service-name-pattern"
|
||||||
|
type="javaee:qname-pattern"/>
|
||||||
|
<xsd:element name="port-name-pattern"
|
||||||
|
type="javaee:qname-pattern"/>
|
||||||
|
<xsd:element name="protocol-bindings"
|
||||||
|
type="javaee:protocol-bindingListType"/>
|
||||||
|
</xsd:choice>
|
||||||
|
<xsd:element name="handler"
|
||||||
|
type="javaee:handlerType"
|
||||||
|
minOccurs="1"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id"
|
||||||
|
type="xsd:ID"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="protocol-bindingListType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Defines the type used for specifying a list of
|
||||||
|
protocol-bindingType(s). For e.g.
|
||||||
|
|
||||||
|
##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:list itemType="javaee:protocol-bindingType"/>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="protocol-bindingType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Defines the type used for specifying the URI for the
|
||||||
|
protocol binding used by the port-component. For
|
||||||
|
portability one could use one of the following tokens that
|
||||||
|
alias the standard binding types:
|
||||||
|
|
||||||
|
##SOAP11_HTTP
|
||||||
|
##SOAP11_HTTP_MTOM
|
||||||
|
##SOAP12_HTTP
|
||||||
|
##SOAP12_HTTP_MTOM
|
||||||
|
##XML_HTTP
|
||||||
|
|
||||||
|
Other specifications could define tokens that start with ##
|
||||||
|
to alias new standard binding URIs that are introduced.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:union memberTypes="xsd:anyURI javaee:protocol-URIAliasType"/>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="protocol-URIAliasType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Defines the type that is used for specifying tokens that
|
||||||
|
start with ## which are used to alias existing standard
|
||||||
|
protocol bindings and support aliases for new standard
|
||||||
|
binding URIs that are introduced in future specifications.
|
||||||
|
|
||||||
|
The following tokens alias the standard protocol binding
|
||||||
|
URIs:
|
||||||
|
|
||||||
|
##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http"
|
||||||
|
##SOAP11_HTTP_MTOM =
|
||||||
|
"http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true"
|
||||||
|
##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/"
|
||||||
|
##SOAP12_HTTP_MTOM =
|
||||||
|
"http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true"
|
||||||
|
##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http"
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:restriction base="xsd:token">
|
||||||
|
<xsd:pattern value="##.+"/>
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="qname-pattern">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
This is used to specify the QName pattern in the
|
||||||
|
attribute service-name-pattern and port-name-pattern in
|
||||||
|
the handler-chain element
|
||||||
|
|
||||||
|
For example, the various forms acceptable here for
|
||||||
|
service-name-pattern attribute in handler-chain element
|
||||||
|
are :
|
||||||
|
|
||||||
|
Exact Name: service-name-pattern="ns1:EchoService"
|
||||||
|
|
||||||
|
In this case, handlers specified in this
|
||||||
|
handler-chain element will apply to all ports with
|
||||||
|
this exact service name. The namespace prefix must
|
||||||
|
have been declared in a namespace declaration
|
||||||
|
attribute in either the start-tag of the element
|
||||||
|
where the prefix is used or in an an ancestor
|
||||||
|
element (i.e. an element in whose content the
|
||||||
|
prefixed markup occurs)
|
||||||
|
|
||||||
|
|
||||||
|
Pattern : service-name-pattern="ns1:EchoService*"
|
||||||
|
|
||||||
|
In this case, handlers specified in this
|
||||||
|
handler-chain element will apply to all ports whose
|
||||||
|
Service names are like EchoService1, EchoServiceFoo
|
||||||
|
etc. The namespace prefix must have been declared in
|
||||||
|
a namespace declaration attribute in either the
|
||||||
|
start-tag of the element where the prefix is used or
|
||||||
|
in an an ancestor element (i.e. an element in whose
|
||||||
|
content the prefixed markup occurs)
|
||||||
|
|
||||||
|
Wild Card : service-name-pattern="*"
|
||||||
|
|
||||||
|
In this case, handlers specified in this handler-chain
|
||||||
|
element will apply to ports of all service names.
|
||||||
|
|
||||||
|
The same can be applied to port-name attribute in
|
||||||
|
handler-chain element.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:restriction base="xsd:token">
|
||||||
|
<xsd:pattern value="\*|([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*\*?"/>
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- **************************************************** -->
|
||||||
|
|
||||||
|
<xsd:complexType name="addressingType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
This specifies the WS-Addressing requirements for a JAX-WS web service.
|
||||||
|
It corresponds to javax.xml.ws.soap.Addressing annotation or its
|
||||||
|
feature javax.xml.ws.soap.AddressingFeature.
|
||||||
|
|
||||||
|
If the "enabled" element is "true", WS-Addressing is enabled.
|
||||||
|
It means that the endpoint supports WS-Addressing but does not require
|
||||||
|
its use. The default value for "enabled" is "true".
|
||||||
|
|
||||||
|
If the WS-Addressing is enabled and the "required" element is "true",
|
||||||
|
it means that the endpoint requires WS-Addressing. The default value
|
||||||
|
for "required" is "false".
|
||||||
|
|
||||||
|
If WS-Addressing is enabled, the "responses" element determines
|
||||||
|
if an endpoint requires the use of only anonymous responses,
|
||||||
|
or only non-anonymous responses, or all. The value of the "responses"
|
||||||
|
element must be one of the following:
|
||||||
|
|
||||||
|
ANONYMOUS
|
||||||
|
NON_ANONYMOUS
|
||||||
|
ALL
|
||||||
|
|
||||||
|
The default value for the "responses" is ALL.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="enabled"
|
||||||
|
type="javaee:true-falseType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1"/>
|
||||||
|
<xsd:element name="required"
|
||||||
|
type="javaee:true-falseType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1"/>
|
||||||
|
<xsd:element name="responses"
|
||||||
|
type="javaee:addressing-responsesType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- **************************************************** -->
|
||||||
|
|
||||||
|
<xsd:complexType name="addressing-responsesType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
If WS-Addressing is enabled, this type determines if an endpoint
|
||||||
|
requires the use of only anonymous responses, or only non-anonymous
|
||||||
|
responses, or all.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:simpleContent>
|
||||||
|
<xsd:restriction base="javaee:string">
|
||||||
|
<xsd:enumeration value="ANONYMOUS"/>
|
||||||
|
<xsd:enumeration value="NON_ANONYMOUS"/>
|
||||||
|
<xsd:enumeration value="ALL"/>
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleContent>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- **************************************************** -->
|
||||||
|
|
||||||
|
<xsd:complexType name="respect-bindingType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Corresponds to the javax.xml.ws.RespectBinding annotation
|
||||||
|
or its corresponding javax.xml.ws.RespectBindingFeature web
|
||||||
|
service feature. This is used to control whether a JAX-WS
|
||||||
|
implementation must respect/honor the contents of the
|
||||||
|
wsdl:binding in the WSDL that is associated with the service.
|
||||||
|
|
||||||
|
If the "enabled" element is "true", wsdl:binding in the
|
||||||
|
associated WSDL, if any, must be respected/honored.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="enabled"
|
||||||
|
type="javaee:true-falseType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="1"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- **************************************************** -->
|
||||||
|
|
||||||
|
<xsd:complexType name="handlerType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Declares the handler for a port-component, service-ref. Handlers can
|
||||||
|
access the init-param name/value pairs using the HandlerInfo interface.
|
||||||
|
|
||||||
|
Used in: port-component, service-ref
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:group ref="javaee:descriptionGroup"/>
|
||||||
|
<xsd:element name="handler-name"
|
||||||
|
type="javaee:string">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Defines the name of the handler. The name must be unique within the
|
||||||
|
module.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="handler-class"
|
||||||
|
type="javaee:fully-qualified-classType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Defines a fully qualified class name for the handler implementation.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="init-param"
|
||||||
|
type="javaee:param-valueType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="unbounded">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Not to be specified for JAX-WS runtime
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="soap-header"
|
||||||
|
type="javaee:xsdQNameType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="unbounded">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Defines the QName of a SOAP header that will be processed by the
|
||||||
|
handler.
|
||||||
|
|
||||||
|
Not to be specified for JAX-WS runtime
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="soap-role"
|
||||||
|
type="javaee:string"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="unbounded">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The soap-role element contains a SOAP actor definition that the
|
||||||
|
Handler will play as a role.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="port-name"
|
||||||
|
type="javaee:string"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="unbounded">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The port-name element defines the WSDL port-name that a
|
||||||
|
handler should be associated with. If port-name is not
|
||||||
|
specified, the handler is assumed to be associated with
|
||||||
|
all ports of the service.
|
||||||
|
|
||||||
|
Not to be specified for JAX-WS runtime
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id"
|
||||||
|
type="xsd:ID"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:group name="service-refGroup">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="service-ref"
|
||||||
|
type="javaee:service-refType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="unbounded">
|
||||||
|
<xsd:key name="service-ref_handler-name-key">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Defines the name of the handler. The name must be unique
|
||||||
|
within the module.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:selector xpath="javaee:handler"/>
|
||||||
|
<xsd:field xpath="javaee:handler-name"/>
|
||||||
|
</xsd:key>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:group>
|
||||||
|
|
||||||
|
</xsd:schema>
|
|
@ -0,0 +1,389 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
|
||||||
|
targetNamespace="http://java.sun.com/xml/ns/javaee"
|
||||||
|
xmlns:javaee="http://java.sun.com/xml/ns/javaee"
|
||||||
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||||
|
elementFormDefault="qualified"
|
||||||
|
attributeFormDefault="unqualified"
|
||||||
|
version="2.2">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
|
||||||
|
|
||||||
|
Copyright 2003-2009 Sun Microsystems, Inc. All rights reserved.
|
||||||
|
|
||||||
|
The contents of this file are subject to the terms of either the
|
||||||
|
GNU General Public License Version 2 only ("GPL") or the Common
|
||||||
|
Development and Distribution License("CDDL") (collectively, the
|
||||||
|
"License"). You may not use this file except in compliance with
|
||||||
|
the License. You can obtain a copy of the License at
|
||||||
|
https://glassfish.dev.java.net/public/CDDL+GPL.html or
|
||||||
|
glassfish/bootstrap/legal/LICENSE.txt. See the License for the
|
||||||
|
specific language governing permissions and limitations under the
|
||||||
|
License.
|
||||||
|
|
||||||
|
When distributing the software, include this License Header
|
||||||
|
Notice in each file and include the License file at
|
||||||
|
glassfish/bootstrap/legal/LICENSE.txt. Sun designates this
|
||||||
|
particular file as subject to the "Classpath" exception as
|
||||||
|
provided by Sun in the GPL Version 2 section of the License file
|
||||||
|
that accompanied this code. If applicable, add the following
|
||||||
|
below the License Header, with the fields enclosed by brackets []
|
||||||
|
replaced by your own identifying information:
|
||||||
|
"Portions Copyrighted [year] [name of copyright owner]"
|
||||||
|
|
||||||
|
Contributor(s):
|
||||||
|
|
||||||
|
If you wish your version of this file to be governed by only the
|
||||||
|
CDDL or only the GPL Version 2, indicate your decision by adding
|
||||||
|
"[Contributor] elects to include this software in this
|
||||||
|
distribution under the [CDDL or GPL Version 2] license." If you
|
||||||
|
don't indicate a single choice of license, a recipient has the
|
||||||
|
option to distribute your version of this file under either the
|
||||||
|
CDDL, the GPL Version 2 or to extend the choice of license to its
|
||||||
|
licensees as provided above. However, if you add GPL Version 2
|
||||||
|
code and therefore, elected the GPL Version 2 license, then the
|
||||||
|
option applies only if the new code is made subject to such
|
||||||
|
option by the copyright holder.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
This is the XML Schema for the JSP 2.2 deployment descriptor
|
||||||
|
types. The JSP 2.2 schema contains all the special
|
||||||
|
structures and datatypes that are necessary to use JSP files
|
||||||
|
from a web application.
|
||||||
|
|
||||||
|
The contents of this schema is used by the web-common_3_0.xsd
|
||||||
|
file to define JSP specific content.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The following conventions apply to all Java EE
|
||||||
|
deployment descriptor elements unless indicated otherwise.
|
||||||
|
|
||||||
|
- In elements that specify a pathname to a file within the
|
||||||
|
same JAR file, relative filenames (i.e., those not
|
||||||
|
starting with "/") are considered relative to the root of
|
||||||
|
the JAR file's namespace. Absolute filenames (i.e., those
|
||||||
|
starting with "/") also specify names in the root of the
|
||||||
|
JAR file's namespace. In general, relative names are
|
||||||
|
preferred. The exception is .war files where absolute
|
||||||
|
names are preferred for consistency with the Servlet API.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
|
||||||
|
<xsd:include schemaLocation="javaee_6.xsd"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- **************************************************** -->
|
||||||
|
|
||||||
|
<xsd:complexType name="jsp-configType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The jsp-configType is used to provide global configuration
|
||||||
|
information for the JSP files in a web application. It has
|
||||||
|
two subelements, taglib and jsp-property-group.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="taglib"
|
||||||
|
type="javaee:taglibType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
<xsd:element name="jsp-property-group"
|
||||||
|
type="javaee:jsp-property-groupType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id"
|
||||||
|
type="xsd:ID"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- **************************************************** -->
|
||||||
|
|
||||||
|
<xsd:complexType name="jsp-fileType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The jsp-file element contains the full path to a JSP file
|
||||||
|
within the web application beginning with a `/'.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:simpleContent>
|
||||||
|
<xsd:restriction base="javaee:pathType"/>
|
||||||
|
</xsd:simpleContent>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- **************************************************** -->
|
||||||
|
|
||||||
|
<xsd:complexType name="jsp-property-groupType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The jsp-property-groupType is used to group a number of
|
||||||
|
files so they can be given global property information.
|
||||||
|
All files so described are deemed to be JSP files. The
|
||||||
|
following additional properties can be described:
|
||||||
|
|
||||||
|
- Control whether EL is ignored.
|
||||||
|
- Control whether scripting elements are invalid.
|
||||||
|
- Indicate pageEncoding information.
|
||||||
|
- Indicate that a resource is a JSP document (XML).
|
||||||
|
- Prelude and Coda automatic includes.
|
||||||
|
- Control whether the character sequence #{ is allowed
|
||||||
|
when used as a String literal.
|
||||||
|
- Control whether template text containing only
|
||||||
|
whitespaces must be removed from the response output.
|
||||||
|
- Indicate the default contentType information.
|
||||||
|
- Indicate the default buffering model for JspWriter
|
||||||
|
- Control whether error should be raised for the use of
|
||||||
|
undeclared namespaces in a JSP page.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:group ref="javaee:descriptionGroup"/>
|
||||||
|
<xsd:element name="url-pattern"
|
||||||
|
type="javaee:url-patternType"
|
||||||
|
maxOccurs="unbounded"/>
|
||||||
|
<xsd:element name="el-ignored"
|
||||||
|
type="javaee:true-falseType"
|
||||||
|
minOccurs="0">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Can be used to easily set the isELIgnored
|
||||||
|
property of a group of JSP pages. By default, the
|
||||||
|
EL evaluation is enabled for Web Applications using
|
||||||
|
a Servlet 2.4 or greater web.xml, and disabled
|
||||||
|
otherwise.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="page-encoding"
|
||||||
|
type="javaee:string"
|
||||||
|
minOccurs="0">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The valid values of page-encoding are those of the
|
||||||
|
pageEncoding page directive. It is a
|
||||||
|
translation-time error to name different encodings
|
||||||
|
in the pageEncoding attribute of the page directive
|
||||||
|
of a JSP page and in a JSP configuration element
|
||||||
|
matching the page. It is also a translation-time
|
||||||
|
error to name different encodings in the prolog
|
||||||
|
or text declaration of a document in XML syntax and
|
||||||
|
in a JSP configuration element matching the document.
|
||||||
|
It is legal to name the same encoding through
|
||||||
|
mulitple mechanisms.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="scripting-invalid"
|
||||||
|
type="javaee:true-falseType"
|
||||||
|
minOccurs="0">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Can be used to easily disable scripting in a
|
||||||
|
group of JSP pages. By default, scripting is
|
||||||
|
enabled.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="is-xml"
|
||||||
|
type="javaee:true-falseType"
|
||||||
|
minOccurs="0">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
If true, denotes that the group of resources
|
||||||
|
that match the URL pattern are JSP documents,
|
||||||
|
and thus must be interpreted as XML documents.
|
||||||
|
If false, the resources are assumed to not
|
||||||
|
be JSP documents, unless there is another
|
||||||
|
property group that indicates otherwise.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="include-prelude"
|
||||||
|
type="javaee:pathType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="unbounded">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The include-prelude element is a context-relative
|
||||||
|
path that must correspond to an element in the
|
||||||
|
Web Application. When the element is present,
|
||||||
|
the given path will be automatically included (as
|
||||||
|
in an include directive) at the beginning of each
|
||||||
|
JSP page in this jsp-property-group.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="include-coda"
|
||||||
|
type="javaee:pathType"
|
||||||
|
minOccurs="0"
|
||||||
|
maxOccurs="unbounded">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The include-coda element is a context-relative
|
||||||
|
path that must correspond to an element in the
|
||||||
|
Web Application. When the element is present,
|
||||||
|
the given path will be automatically included (as
|
||||||
|
in an include directive) at the end of each
|
||||||
|
JSP page in this jsp-property-group.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="deferred-syntax-allowed-as-literal"
|
||||||
|
type="javaee:true-falseType"
|
||||||
|
minOccurs="0">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The character sequence #{ is reserved for EL expressions.
|
||||||
|
Consequently, a translation error occurs if the #{
|
||||||
|
character sequence is used as a String literal, unless
|
||||||
|
this element is enabled (true). Disabled (false) by
|
||||||
|
default.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="trim-directive-whitespaces"
|
||||||
|
type="javaee:true-falseType"
|
||||||
|
minOccurs="0">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
Indicates that template text containing only whitespaces
|
||||||
|
must be removed from the response output. It has no
|
||||||
|
effect on JSP documents (XML syntax). Disabled (false)
|
||||||
|
by default.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="default-content-type"
|
||||||
|
type="javaee:string"
|
||||||
|
minOccurs="0">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The valid values of default-content-type are those of the
|
||||||
|
contentType page directive. It specifies the default
|
||||||
|
response contentType if the page directive does not include
|
||||||
|
a contentType attribute.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="buffer"
|
||||||
|
type="javaee:string"
|
||||||
|
minOccurs="0">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The valid values of buffer are those of the
|
||||||
|
buffer page directive. It specifies if buffering should be
|
||||||
|
used for the output to response, and if so, the size of the
|
||||||
|
buffer to use.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="error-on-undeclared-namespace"
|
||||||
|
type="javaee:true-falseType"
|
||||||
|
minOccurs="0">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The default behavior when a tag with unknown namespace is used
|
||||||
|
in a JSP page (regular syntax) is to silently ignore it. If
|
||||||
|
set to true, then an error must be raised during the translation
|
||||||
|
time when an undeclared tag is used in a JSP page. Disabled
|
||||||
|
(false) by default.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id"
|
||||||
|
type="xsd:ID"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- **************************************************** -->
|
||||||
|
|
||||||
|
<xsd:complexType name="taglibType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The taglibType defines the syntax for declaring in
|
||||||
|
the deployment descriptor that a tag library is
|
||||||
|
available to the application. This can be done
|
||||||
|
to override implicit map entries from TLD files and
|
||||||
|
from the container.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="taglib-uri"
|
||||||
|
type="javaee:string">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
A taglib-uri element describes a URI identifying a
|
||||||
|
tag library used in the web application. The body
|
||||||
|
of the taglib-uri element may be either an
|
||||||
|
absolute URI specification, or a relative URI.
|
||||||
|
There should be no entries in web.xml with the
|
||||||
|
same taglib-uri value.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="taglib-location"
|
||||||
|
type="javaee:pathType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
the taglib-location element contains the location
|
||||||
|
(as a resource relative to the root of the web
|
||||||
|
application) where to find the Tag Library
|
||||||
|
Description file for the tag library.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id"
|
||||||
|
type="xsd:ID"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
</xsd:schema>
|
|
@ -0,0 +1,272 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
|
||||||
|
targetNamespace="http://java.sun.com/xml/ns/javaee"
|
||||||
|
xmlns:javaee="http://java.sun.com/xml/ns/javaee"
|
||||||
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||||
|
elementFormDefault="qualified"
|
||||||
|
attributeFormDefault="unqualified"
|
||||||
|
version="3.0">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
|
||||||
|
|
||||||
|
Copyright 2003-2009 Sun Microsystems, Inc. All rights reserved.
|
||||||
|
|
||||||
|
The contents of this file are subject to the terms of either the
|
||||||
|
GNU General Public License Version 2 only ("GPL") or the Common
|
||||||
|
Development and Distribution License("CDDL") (collectively, the
|
||||||
|
"License"). You may not use this file except in compliance with
|
||||||
|
the License. You can obtain a copy of the License at
|
||||||
|
https://glassfish.dev.java.net/public/CDDL+GPL.html or
|
||||||
|
glassfish/bootstrap/legal/LICENSE.txt. See the License for the
|
||||||
|
specific language governing permissions and limitations under the
|
||||||
|
License.
|
||||||
|
|
||||||
|
When distributing the software, include this License Header
|
||||||
|
Notice in each file and include the License file at
|
||||||
|
glassfish/bootstrap/legal/LICENSE.txt. Sun designates this
|
||||||
|
particular file as subject to the "Classpath" exception as
|
||||||
|
provided by Sun in the GPL Version 2 section of the License file
|
||||||
|
that accompanied this code. If applicable, add the following
|
||||||
|
below the License Header, with the fields enclosed by brackets []
|
||||||
|
replaced by your own identifying information:
|
||||||
|
"Portions Copyrighted [year] [name of copyright owner]"
|
||||||
|
|
||||||
|
Contributor(s):
|
||||||
|
|
||||||
|
If you wish your version of this file to be governed by only the
|
||||||
|
CDDL or only the GPL Version 2, indicate your decision by adding
|
||||||
|
"[Contributor] elects to include this software in this
|
||||||
|
distribution under the [CDDL or GPL Version 2] license." If you
|
||||||
|
don't indicate a single choice of license, a recipient has the
|
||||||
|
option to distribute your version of this file under either the
|
||||||
|
CDDL, the GPL Version 2 or to extend the choice of license to its
|
||||||
|
licensees as provided above. However, if you add GPL Version 2
|
||||||
|
code and therefore, elected the GPL Version 2 license, then the
|
||||||
|
option applies only if the new code is made subject to such
|
||||||
|
option by the copyright holder.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
<![CDATA[[
|
||||||
|
This is the XML Schema for the Servlet 3.0 deployment descriptor.
|
||||||
|
The deployment descriptor must be named "WEB-INF/web.xml" in the
|
||||||
|
web application's war file. All Servlet deployment descriptors
|
||||||
|
must indicate the web application schema by using the Java EE
|
||||||
|
namespace:
|
||||||
|
|
||||||
|
http://java.sun.com/xml/ns/javaee
|
||||||
|
|
||||||
|
and by indicating the version of the schema by
|
||||||
|
using the version element as shown below:
|
||||||
|
|
||||||
|
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="..."
|
||||||
|
version="3.0">
|
||||||
|
...
|
||||||
|
</web-app>
|
||||||
|
|
||||||
|
The instance documents may indicate the published version of
|
||||||
|
the schema using the xsi:schemaLocation attribute for Java EE
|
||||||
|
namespace with the following location:
|
||||||
|
|
||||||
|
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd
|
||||||
|
|
||||||
|
]]>
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The following conventions apply to all Java EE
|
||||||
|
deployment descriptor elements unless indicated otherwise.
|
||||||
|
|
||||||
|
- In elements that specify a pathname to a file within the
|
||||||
|
same JAR file, relative filenames (i.e., those not
|
||||||
|
starting with "/") are considered relative to the root of
|
||||||
|
the JAR file's namespace. Absolute filenames (i.e., those
|
||||||
|
starting with "/") also specify names in the root of the
|
||||||
|
JAR file's namespace. In general, relative names are
|
||||||
|
preferred. The exception is .war files where absolute
|
||||||
|
names are preferred for consistency with the Servlet API.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
|
||||||
|
<xsd:include schemaLocation="web-common_3_0.xsd"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- **************************************************** -->
|
||||||
|
|
||||||
|
<xsd:element name="web-app"
|
||||||
|
type="javaee:web-appType">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The web-app element is the root of the deployment
|
||||||
|
descriptor for a web application. Note that the sub-elements
|
||||||
|
of this element can be in the arbitrary order. Because of
|
||||||
|
that, the multiplicity of the elements of distributable,
|
||||||
|
session-config, welcome-file-list, jsp-config, login-config,
|
||||||
|
and locale-encoding-mapping-list was changed from "?" to "*"
|
||||||
|
in this schema. However, the deployment descriptor instance
|
||||||
|
file must not contain multiple elements of session-config,
|
||||||
|
jsp-config, and login-config. When there are multiple elements of
|
||||||
|
welcome-file-list or locale-encoding-mapping-list, the container
|
||||||
|
must concatenate the element contents. The multiple occurence
|
||||||
|
of the element distributable is redundant and the container
|
||||||
|
treats that case exactly in the same way when there is only
|
||||||
|
one distributable.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:unique name="web-common-servlet-name-uniqueness">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The servlet element contains the name of a servlet.
|
||||||
|
The name must be unique within the web application.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:selector xpath="javaee:servlet"/>
|
||||||
|
<xsd:field xpath="javaee:servlet-name"/>
|
||||||
|
</xsd:unique>
|
||||||
|
<xsd:unique name="web-common-filter-name-uniqueness">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The filter element contains the name of a filter.
|
||||||
|
The name must be unique within the web application.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:selector xpath="javaee:filter"/>
|
||||||
|
<xsd:field xpath="javaee:filter-name"/>
|
||||||
|
</xsd:unique>
|
||||||
|
<xsd:unique name="web-common-ejb-local-ref-name-uniqueness">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The ejb-local-ref-name element contains the name of an EJB
|
||||||
|
reference. The EJB reference is an entry in the web
|
||||||
|
application's environment and is relative to the
|
||||||
|
java:comp/env context. The name must be unique within
|
||||||
|
the web application.
|
||||||
|
|
||||||
|
It is recommended that name is prefixed with "ejb/".
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:selector xpath="javaee:ejb-local-ref"/>
|
||||||
|
<xsd:field xpath="javaee:ejb-ref-name"/>
|
||||||
|
</xsd:unique>
|
||||||
|
<xsd:unique name="web-common-ejb-ref-name-uniqueness">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The ejb-ref-name element contains the name of an EJB
|
||||||
|
reference. The EJB reference is an entry in the web
|
||||||
|
application's environment and is relative to the
|
||||||
|
java:comp/env context. The name must be unique within
|
||||||
|
the web application.
|
||||||
|
|
||||||
|
It is recommended that name is prefixed with "ejb/".
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:selector xpath="javaee:ejb-ref"/>
|
||||||
|
<xsd:field xpath="javaee:ejb-ref-name"/>
|
||||||
|
</xsd:unique>
|
||||||
|
<xsd:unique name="web-common-resource-env-ref-uniqueness">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The resource-env-ref-name element specifies the name of
|
||||||
|
a resource environment reference; its value is the
|
||||||
|
environment entry name used in the web application code.
|
||||||
|
The name is a JNDI name relative to the java:comp/env
|
||||||
|
context and must be unique within a web application.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:selector xpath="javaee:resource-env-ref"/>
|
||||||
|
<xsd:field xpath="javaee:resource-env-ref-name"/>
|
||||||
|
</xsd:unique>
|
||||||
|
<xsd:unique name="web-common-message-destination-ref-uniqueness">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The message-destination-ref-name element specifies the name of
|
||||||
|
a message destination reference; its value is the
|
||||||
|
environment entry name used in the web application code.
|
||||||
|
The name is a JNDI name relative to the java:comp/env
|
||||||
|
context and must be unique within a web application.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:selector xpath="javaee:message-destination-ref"/>
|
||||||
|
<xsd:field xpath="javaee:message-destination-ref-name"/>
|
||||||
|
</xsd:unique>
|
||||||
|
<xsd:unique name="web-common-res-ref-name-uniqueness">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The res-ref-name element specifies the name of a
|
||||||
|
resource manager connection factory reference. The name
|
||||||
|
is a JNDI name relative to the java:comp/env context.
|
||||||
|
The name must be unique within a web application.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:selector xpath="javaee:resource-ref"/>
|
||||||
|
<xsd:field xpath="javaee:res-ref-name"/>
|
||||||
|
</xsd:unique>
|
||||||
|
<xsd:unique name="web-common-env-entry-name-uniqueness">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The env-entry-name element contains the name of a web
|
||||||
|
application's environment entry. The name is a JNDI
|
||||||
|
name relative to the java:comp/env context. The name
|
||||||
|
must be unique within a web application.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:selector xpath="javaee:env-entry"/>
|
||||||
|
<xsd:field xpath="javaee:env-entry-name"/>
|
||||||
|
</xsd:unique>
|
||||||
|
<xsd:key name="web-common-role-name-key">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
A role-name-key is specified to allow the references
|
||||||
|
from the security-role-refs.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:selector xpath="javaee:security-role"/>
|
||||||
|
<xsd:field xpath="javaee:role-name"/>
|
||||||
|
</xsd:key>
|
||||||
|
<xsd:keyref name="web-common-role-name-references"
|
||||||
|
refer="javaee:web-common-role-name-key">
|
||||||
|
<xsd:annotation>
|
||||||
|
<xsd:documentation>
|
||||||
|
|
||||||
|
The keyref indicates the references from
|
||||||
|
security-role-ref to a specified role-name.
|
||||||
|
|
||||||
|
</xsd:documentation>
|
||||||
|
</xsd:annotation>
|
||||||
|
<xsd:selector xpath="javaee:servlet/javaee:security-role-ref"/>
|
||||||
|
<xsd:field xpath="javaee:role-link"/>
|
||||||
|
</xsd:keyref>
|
||||||
|
</xsd:element>
|
||||||
|
|
||||||
|
</xsd:schema>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,287 @@
|
||||||
|
<?xml version='1.0'?>
|
||||||
|
<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?>
|
||||||
|
<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"
|
||||||
|
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||||
|
xmlns ="http://www.w3.org/1999/xhtml"
|
||||||
|
xml:lang="en">
|
||||||
|
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
<div>
|
||||||
|
<h1>About the XML namespace</h1>
|
||||||
|
|
||||||
|
<div class="bodytext">
|
||||||
|
<p>
|
||||||
|
This schema document describes the XML namespace, in a form
|
||||||
|
suitable for import by other schema documents.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
See <a href="http://www.w3.org/XML/1998/namespace.html">
|
||||||
|
http://www.w3.org/XML/1998/namespace.html</a> and
|
||||||
|
<a href="http://www.w3.org/TR/REC-xml">
|
||||||
|
http://www.w3.org/TR/REC-xml</a> for information
|
||||||
|
about this namespace.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Note that local names in this namespace are intended to be
|
||||||
|
defined only by the World Wide Web Consortium or its subgroups.
|
||||||
|
The names currently defined in this namespace are listed below.
|
||||||
|
They should not be used with conflicting semantics by any Working
|
||||||
|
Group, specification, or document instance.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
See further below in this document for more information about <a
|
||||||
|
href="#usage">how to refer to this schema document from your own
|
||||||
|
XSD schema documents</a> and about <a href="#nsversioning">the
|
||||||
|
namespace-versioning policy governing this schema document</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
|
||||||
|
<xs:attribute name="lang">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<h3>lang (as an attribute name)</h3>
|
||||||
|
<p>
|
||||||
|
denotes an attribute whose value
|
||||||
|
is a language code for the natural language of the content of
|
||||||
|
any element; its value is inherited. This name is reserved
|
||||||
|
by virtue of its definition in the XML specification.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h4>Notes</h4>
|
||||||
|
<p>
|
||||||
|
Attempting to install the relevant ISO 2- and 3-letter
|
||||||
|
codes as the enumerated possible values is probably never
|
||||||
|
going to be a realistic possibility.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
|
||||||
|
http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>
|
||||||
|
and the IANA language subtag registry at
|
||||||
|
<a href="http://www.iana.org/assignments/language-subtag-registry">
|
||||||
|
http://www.iana.org/assignments/language-subtag-registry</a>
|
||||||
|
for further information.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The union allows for the 'un-declaration' of xml:lang with
|
||||||
|
the empty string.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:union memberTypes="xs:language">
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value=""/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:union>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
|
||||||
|
<xs:attribute name="space">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<h3>space (as an attribute name)</h3>
|
||||||
|
<p>
|
||||||
|
denotes an attribute whose
|
||||||
|
value is a keyword indicating what whitespace processing
|
||||||
|
discipline is intended for the content of the element; its
|
||||||
|
value is inherited. This name is reserved by virtue of its
|
||||||
|
definition in the XML specification.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:NCName">
|
||||||
|
<xs:enumeration value="default"/>
|
||||||
|
<xs:enumeration value="preserve"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
|
||||||
|
<xs:attribute name="base" type="xs:anyURI"> <xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<h3>base (as an attribute name)</h3>
|
||||||
|
<p>
|
||||||
|
denotes an attribute whose value
|
||||||
|
provides a URI to be used as the base for interpreting any
|
||||||
|
relative URIs in the scope of the element on which it
|
||||||
|
appears; its value is inherited. This name is reserved
|
||||||
|
by virtue of its definition in the XML Base specification.</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
See <a
|
||||||
|
href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
|
||||||
|
for information about this attribute.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
|
||||||
|
<xs:attribute name="id" type="xs:ID">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<h3>id (as an attribute name)</h3>
|
||||||
|
<p>
|
||||||
|
denotes an attribute whose value
|
||||||
|
should be interpreted as if declared to be of type ID.
|
||||||
|
This name is reserved by virtue of its definition in the
|
||||||
|
xml:id specification.</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
See <a
|
||||||
|
href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
|
||||||
|
for information about this attribute.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
|
||||||
|
<xs:attributeGroup name="specialAttrs">
|
||||||
|
<xs:attribute ref="xml:base"/>
|
||||||
|
<xs:attribute ref="xml:lang"/>
|
||||||
|
<xs:attribute ref="xml:space"/>
|
||||||
|
<xs:attribute ref="xml:id"/>
|
||||||
|
</xs:attributeGroup>
|
||||||
|
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<h3>Father (in any context at all)</h3>
|
||||||
|
|
||||||
|
<div class="bodytext">
|
||||||
|
<p>
|
||||||
|
denotes Jon Bosak, the chair of
|
||||||
|
the original XML Working Group. This name is reserved by
|
||||||
|
the following decision of the W3C XML Plenary and
|
||||||
|
XML Coordination groups:
|
||||||
|
</p>
|
||||||
|
<blockquote>
|
||||||
|
<p>
|
||||||
|
In appreciation for his vision, leadership and
|
||||||
|
dedication the W3C XML Plenary on this 10th day of
|
||||||
|
February, 2000, reserves for Jon Bosak in perpetuity
|
||||||
|
the XML name "xml:Father".
|
||||||
|
</p>
|
||||||
|
</blockquote>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
<div xml:id="usage" id="usage">
|
||||||
|
<h2><a name="usage">About this schema document</a></h2>
|
||||||
|
|
||||||
|
<div class="bodytext">
|
||||||
|
<p>
|
||||||
|
This schema defines attributes and an attribute group suitable
|
||||||
|
for use by schemas wishing to allow <code>xml:base</code>,
|
||||||
|
<code>xml:lang</code>, <code>xml:space</code> or
|
||||||
|
<code>xml:id</code> attributes on elements they define.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
To enable this, such a schema must import this schema for
|
||||||
|
the XML namespace, e.g. as follows:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
<schema . . .>
|
||||||
|
. . .
|
||||||
|
<import namespace="http://www.w3.org/XML/1998/namespace"
|
||||||
|
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
or
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
<import namespace="http://www.w3.org/XML/1998/namespace"
|
||||||
|
schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
Subsequently, qualified reference to any of the attributes or the
|
||||||
|
group defined below will have the desired effect, e.g.
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
<type . . .>
|
||||||
|
. . .
|
||||||
|
<attributeGroup ref="xml:specialAttrs"/>
|
||||||
|
</pre>
|
||||||
|
<p>
|
||||||
|
will define a type which will schema-validate an instance element
|
||||||
|
with any of those attributes.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>
|
||||||
|
<div id="nsversioning" xml:id="nsversioning">
|
||||||
|
<h2><a name="nsversioning">Versioning policy for this schema document</a></h2>
|
||||||
|
<div class="bodytext">
|
||||||
|
<p>
|
||||||
|
In keeping with the XML Schema WG's standard versioning
|
||||||
|
policy, this schema document will persist at
|
||||||
|
<a href="http://www.w3.org/2009/01/xml.xsd">
|
||||||
|
http://www.w3.org/2009/01/xml.xsd</a>.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
At the date of issue it can also be found at
|
||||||
|
<a href="http://www.w3.org/2001/xml.xsd">
|
||||||
|
http://www.w3.org/2001/xml.xsd</a>.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The schema document at that URI may however change in the future,
|
||||||
|
in order to remain compatible with the latest version of XML
|
||||||
|
Schema itself, or with the XML namespace itself. In other words,
|
||||||
|
if the XML Schema or XML namespaces change, the version of this
|
||||||
|
document at <a href="http://www.w3.org/2001/xml.xsd">
|
||||||
|
http://www.w3.org/2001/xml.xsd
|
||||||
|
</a>
|
||||||
|
will change accordingly; the version at
|
||||||
|
<a href="http://www.w3.org/2009/01/xml.xsd">
|
||||||
|
http://www.w3.org/2009/01/xml.xsd
|
||||||
|
</a>
|
||||||
|
will not change.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Previous dated (and unchanging) versions of this schema
|
||||||
|
document are at:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li><a href="http://www.w3.org/2009/01/xml.xsd">
|
||||||
|
http://www.w3.org/2009/01/xml.xsd</a></li>
|
||||||
|
<li><a href="http://www.w3.org/2007/08/xml.xsd">
|
||||||
|
http://www.w3.org/2007/08/xml.xsd</a></li>
|
||||||
|
<li><a href="http://www.w3.org/2004/10/xml.xsd">
|
||||||
|
http://www.w3.org/2004/10/xml.xsd</a></li>
|
||||||
|
<li><a href="http://www.w3.org/2001/03/xml.xsd">
|
||||||
|
http://www.w3.org/2001/03/xml.xsd</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
|
||||||
|
</xs:schema>
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
|
||||||
|
xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:task="http://www.springframework.org/schema/task" xmlns:util="http://www.springframework.org/schema/util"
|
||||||
|
xsi:schemaLocation="
|
||||||
|
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||||
|
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
|
||||||
|
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
|
||||||
|
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
|
||||||
|
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
|
||||||
|
"
|
||||||
|
default-autowire="no" default-lazy-init="false">
|
||||||
|
|
||||||
|
<context:annotation-config />
|
||||||
|
<context:mbean-server />
|
||||||
|
|
||||||
|
<bean id="myPatientDao" class="ca.uhn.fhir.jpa.dao.FhirResourceDao">
|
||||||
|
<property name="resourceType" value="ca.uhn.fhir.model.dstu.resource.Patient"/>
|
||||||
|
</bean>
|
||||||
|
<bean id="myObservationDao" class="ca.uhn.fhir.jpa.dao.FhirResourceDao">
|
||||||
|
<property name="resourceType" value="ca.uhn.fhir.model.dstu.resource.Observation"/>
|
||||||
|
</bean>
|
||||||
|
<bean id="myOrganizationDao" class="ca.uhn.fhir.jpa.dao.FhirResourceDao">
|
||||||
|
<property name="resourceType" value="ca.uhn.fhir.model.dstu.resource.Organization"/>
|
||||||
|
</bean>
|
||||||
|
<bean id="myLocationDao" class="ca.uhn.fhir.jpa.dao.FhirResourceDao">
|
||||||
|
<property name="resourceType" value="ca.uhn.fhir.model.dstu.resource.Location"/>
|
||||||
|
</bean>
|
||||||
|
<bean id="myQuestionnaireDao" class="ca.uhn.fhir.jpa.dao.FhirResourceDao">
|
||||||
|
<property name="resourceType" value="ca.uhn.fhir.model.dstu.resource.Questionnaire"/>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="myPersistenceDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" lazy-init="true">
|
||||||
|
<property name="url" value="jdbc:derby:memory:myUnitTestDB;create=true" />
|
||||||
|
<!-- <property name="url" value="jdbc:derby:directory:myUnitTestDB;create=true" /> -->
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="myEntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
|
||||||
|
<property name="dataSource" ref="myPersistenceDataSource" />
|
||||||
|
<property name="persistenceXmlLocation" value="classpath:fhir_jpatest_persistence.xml" />
|
||||||
|
<property name="persistenceUnitName" value="FHIR_UT" />
|
||||||
|
<property name="jpaVendorAdapter">
|
||||||
|
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
|
||||||
|
<property name="showSql" value="false" />
|
||||||
|
<property name="generateDdl" value="true" />
|
||||||
|
<property name="databasePlatform" value="org.hibernate.dialect.DerbyTenSevenDialect" />
|
||||||
|
</bean>
|
||||||
|
</property>
|
||||||
|
</bean>
|
||||||
|
<bean id="myTxManager" class="org.springframework.orm.jpa.JpaTransactionManager">
|
||||||
|
<property name="entityManagerFactory" ref="myEntityManagerFactory" />
|
||||||
|
</bean>
|
||||||
|
<tx:annotation-driven transaction-manager="myTxManager" />
|
||||||
|
|
||||||
|
</beans>
|
|
@ -0,0 +1,40 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
|
||||||
|
version="2.0">
|
||||||
|
|
||||||
|
<persistence-unit name="FHIR_UT" transaction-type="RESOURCE_LOCAL">
|
||||||
|
<provider>org.hibernate.ejb.HibernatePersistence</provider>
|
||||||
|
<class>ca.uhn.test.jpasrv.PatientResourceTable</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceHistoryTable</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceHistoryTag</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceIndexedSearchParamDate</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceIndexedSearchParamNumber</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceIndexedSearchParamString</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceIndexedSearchParamToken</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceLink</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceTable</class>
|
||||||
|
<class>ca.uhn.fhir.jpa.entity.ResourceTag</class>
|
||||||
|
|
||||||
|
<exclude-unlisted-classes>true</exclude-unlisted-classes>
|
||||||
|
<properties>
|
||||||
|
<property name="hibernate.connection.url" value="jdbc:hsqldb:mem:unit-testing-jpa" />
|
||||||
|
<property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
|
||||||
|
<property name="hibernate.dialect" value="org.hibernate.dialect.DerbyTenSevenDialect" />
|
||||||
|
<property name="hibernate.hbm2ddl.auto" value="update" />
|
||||||
|
<property name="hibernate.connection.username" value="sa" />
|
||||||
|
<property name="hibernate.connection.password" value="" />
|
||||||
|
<property name="hibernate.jdbc.batch_size" value="0" />
|
||||||
|
<property name="hibernate.cache.use_minimal_puts" value="false" />
|
||||||
|
<property name="hibernate.show_sql" value="false" />
|
||||||
|
<property name="hibernate.cache.use_query_cache" value="false" />
|
||||||
|
<property name="hibernate.cache.use_second_level_cache" value="false" />
|
||||||
|
<property name="hibernate.cache.use_structured_entries" value="false" />
|
||||||
|
<!--
|
||||||
|
<property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory" />
|
||||||
|
-->
|
||||||
|
</properties>
|
||||||
|
</persistence-unit>
|
||||||
|
|
||||||
|
</persistence>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<configuration scan="true" scanPeriod="30 seconds">
|
||||||
|
|
||||||
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
|
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||||
|
<level>INFO</level>
|
||||||
|
</filter>
|
||||||
|
<encoder>
|
||||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%file:%line] %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<root>
|
||||||
|
<appender-ref ref="STDOUT" />
|
||||||
|
</root>
|
||||||
|
|
||||||
|
</configuration>
|
|
@ -0,0 +1,64 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Patient xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://hl7.org/fhir ../../schema/patient.xsd">
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<status value="generated"/>
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<p>Patient Donald DUCK @ Acme Healthcare, Inc. MR = 654321</p>
|
||||||
|
</div>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<identifier>
|
||||||
|
<use value="usual"/>
|
||||||
|
<label value="MRN"/>
|
||||||
|
<system value="urn:oid:0.1.2.3.4.5.6.7"/>
|
||||||
|
<value value="654321"/>
|
||||||
|
</identifier>
|
||||||
|
|
||||||
|
<name>
|
||||||
|
<use value="official"/>
|
||||||
|
<family value="Donald"/>
|
||||||
|
<given value="Duck"/>
|
||||||
|
</name>
|
||||||
|
<gender>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/AdministrativeGender"/>
|
||||||
|
<code value="M"/>
|
||||||
|
<display value="Male"/>
|
||||||
|
</coding>
|
||||||
|
</gender>
|
||||||
|
|
||||||
|
<photo>
|
||||||
|
<contentType value="image/gif"/>
|
||||||
|
<data value="R0lGODlhEwARAPcAAAAAAAAA/+9aAO+1AP/WAP/eAP/eCP/eEP/eGP/nAP/nCP/nEP/nIf/nKf/nUv/nWv/vAP/vCP/vEP/vGP/vIf/vKf/vMf/vOf/vWv/vY//va//vjP/3c//3lP/3nP//tf//vf///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEAAAEALAAAAAATABEAAAi+AAMIDDCgYMGBCBMSvMCQ4QCFCQcwDBGCA4cLDyEGECDxAoAQHjxwyKhQAMeGIUOSJJjRpIAGDS5wCDly4AALFlYOgHlBwwOSNydM0AmzwYGjBi8IHWoTgQYORg8QIGDAwAKhESI8HIDgwQaRDI1WXXAhK9MBBzZ8/XDxQoUFZC9IiCBh6wEHGz6IbNuwQoSpWxEgyLCXL8O/gAnylNlW6AUEBRIL7Og3KwQIiCXb9HsZQoIEUzUjNEiaNMKAAAA7"/>
|
||||||
|
</photo>
|
||||||
|
|
||||||
|
<contact>
|
||||||
|
<relationship>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/patient-contact-relationship"/>
|
||||||
|
<code value="owner"/>
|
||||||
|
</coding>
|
||||||
|
</relationship>
|
||||||
|
<organization>
|
||||||
|
<!-- Which organization to contact to reach this patient -->
|
||||||
|
<reference value="Organization/1"/>
|
||||||
|
<display value="Walt Disney Corporation"/>
|
||||||
|
</organization>
|
||||||
|
</contact>
|
||||||
|
|
||||||
|
<managingOrganization>
|
||||||
|
<reference value="Organization/1"/>
|
||||||
|
<display value="ACME Healthcare, Inc"/>
|
||||||
|
</managingOrganization>
|
||||||
|
|
||||||
|
<link>
|
||||||
|
<other>
|
||||||
|
<reference value="Patient/pat2"/>
|
||||||
|
</other>
|
||||||
|
<type value="seealso" />
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<active value="true"/>
|
||||||
|
</Patient>
|
|
@ -0,0 +1,108 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Patient xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://hl7.org/fhir ../../schema/patient.xsd">
|
||||||
|
<text>
|
||||||
|
<status value="generated"/>
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Id</td>
|
||||||
|
<td>Kenzi (Dog: Golden Retriever)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Owner</td>
|
||||||
|
<td>Peter Chalmers, 534 Erewhon, Pleasantville, Vic, 3999</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Contacts</td>
|
||||||
|
<td>Work: (03) 5555 6473</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Id</td>
|
||||||
|
<td>Dog Tag: 1234123 (Maroondah City Council)</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<!-- Dog tag, under Maroondah City council -->
|
||||||
|
<identifier>
|
||||||
|
<label value="Dog Tag"/>
|
||||||
|
<system value="http://www.maroondah.vic.gov.au/AnimalRegFees.aspx"/>
|
||||||
|
<value value="1234123"/>
|
||||||
|
<period>
|
||||||
|
<start value="2010-05-31"/>
|
||||||
|
</period>
|
||||||
|
<assigner>
|
||||||
|
<display value="Maroondah City Council"/>
|
||||||
|
</assigner>
|
||||||
|
</identifier>
|
||||||
|
|
||||||
|
<!-- Dog's name: Kenzi -->
|
||||||
|
<name>
|
||||||
|
<use value="usual"/>
|
||||||
|
<given value="Kenzi"/>
|
||||||
|
</name>
|
||||||
|
<gender>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/AdministrativeGender"/>
|
||||||
|
<code value="F"/>
|
||||||
|
</coding>
|
||||||
|
</gender>
|
||||||
|
<birthDate value="2010-03-23"/>
|
||||||
|
|
||||||
|
<contact>
|
||||||
|
<relationship>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/patient-contact-relationship"/>
|
||||||
|
<code value="owner"/>
|
||||||
|
</coding>
|
||||||
|
</relationship>
|
||||||
|
<name>
|
||||||
|
<family value="Chalmers"/>
|
||||||
|
<given value="Peter"/>
|
||||||
|
<given value="James"/>
|
||||||
|
</name>
|
||||||
|
<telecom>
|
||||||
|
<system value="phone"/>
|
||||||
|
<value value="(03) 5555 6473"/>
|
||||||
|
<use value="work"/>
|
||||||
|
</telecom>
|
||||||
|
</contact>
|
||||||
|
|
||||||
|
<animal>
|
||||||
|
<species>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/animal-species"/>
|
||||||
|
<code value="canislf"/>
|
||||||
|
<display value="Dog"/>
|
||||||
|
</coding>
|
||||||
|
</species>
|
||||||
|
<breed>
|
||||||
|
<coding>
|
||||||
|
<system value="http://snomed.info/sct"/>
|
||||||
|
<code value="58108001"/>
|
||||||
|
<display value="Golden retriever"/>
|
||||||
|
</coding>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/animal-breed"/>
|
||||||
|
<code value="gret"/>
|
||||||
|
<display value="Golden Retriever"/>
|
||||||
|
</coding>
|
||||||
|
</breed>
|
||||||
|
<genderStatus>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/animal-genderstatus"/>
|
||||||
|
<code value="neutered"/>
|
||||||
|
</coding>
|
||||||
|
</genderStatus>
|
||||||
|
</animal>
|
||||||
|
|
||||||
|
<managingOrganization>
|
||||||
|
<display value="Pete's Vetinary Services"/>
|
||||||
|
</managingOrganization>
|
||||||
|
|
||||||
|
<active value="true"/>
|
||||||
|
</Patient>
|
|
@ -0,0 +1,60 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Patient xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://hl7.org/fhir ../../schema/patient.xsd">
|
||||||
|
|
||||||
|
<text>
|
||||||
|
<status value="generated"/>
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<p>Patient Donald D DUCK @ Acme Healthcare, Inc. MR = 123456</p>
|
||||||
|
</div>
|
||||||
|
</text>
|
||||||
|
<identifier>
|
||||||
|
<use value="usual"/>
|
||||||
|
<label value="MRN"/>
|
||||||
|
<system value="urn:oid:0.1.2.3.4.5.6.7"/>
|
||||||
|
<value value="123456"/>
|
||||||
|
</identifier>
|
||||||
|
|
||||||
|
<name>
|
||||||
|
<use value="official"/>
|
||||||
|
<family value="Donald"/>
|
||||||
|
<given value="Duck"/>
|
||||||
|
<given value="D"/>
|
||||||
|
</name>
|
||||||
|
<gender>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/AdministrativeGender"/>
|
||||||
|
<code value="M"/>
|
||||||
|
<display value="Male"/>
|
||||||
|
</coding>
|
||||||
|
</gender>
|
||||||
|
<photo>
|
||||||
|
<contentType value="image/gif"/>
|
||||||
|
<data value="R0lGODlhEwARAPcAAAAAAAAA/+9aAO+1AP/WAP/eAP/eCP/eEP/eGP/nAP/nCP/nEP/nIf/nKf/nUv/nWv/vAP/vCP/vEP/vGP/vIf/vKf/vMf/vOf/vWv/vY//
|
||||||
|
va//vjP/3c//3lP/3nP//tf//vf////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/////////////////////////////////////////////////////////yH5BAEAAAEALAAAAAATABEAAAi+AAMIDDCgYMGBCBMSvMCQ4QCFCQcwDBGCA4cLDyE
|
||||||
|
GECDxAoAQHjxwyKhQAMeGIUOSJJjRpIAGDS5wCDly4AALFlYOgHlBwwOSNydM0AmzwYGjBi8IHWoTgQYORg8QIGDAwAKhESI8HIDgwQaRDI1WXXAhK9MBBzZ8/X
|
||||||
|
DxQoUFZC9IiCBh6wEHGz6IbNuwQoSpWxEgyLCXL8O/gAnylNlW6AUEBRIL7Og3KwQIiCXb9HsZQoIEUzUjNEiaNMKAAAA7"/>
|
||||||
|
</photo>
|
||||||
|
|
||||||
|
<managingOrganization>
|
||||||
|
<reference value="Organization/1"/>
|
||||||
|
<display value="ACME Healthcare, Inc"/>
|
||||||
|
</managingOrganization>
|
||||||
|
|
||||||
|
<link>
|
||||||
|
<other>
|
||||||
|
<reference value="Patient/pat1"/>
|
||||||
|
</other>
|
||||||
|
<type value="seealso" />
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<active value="true"/>
|
||||||
|
|
||||||
|
</Patient>
|
|
@ -0,0 +1,53 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Patient xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://hl7.org/fhir ../../schema/fhir-all.xsd">
|
||||||
|
<extension url="http://nema.org/fhir/extensions#0010:1010">
|
||||||
|
<valueQuantity>
|
||||||
|
<value value="56"/>
|
||||||
|
<units value="Y"/>
|
||||||
|
</valueQuantity>
|
||||||
|
</extension>
|
||||||
|
<extension url="http://nema.org/fhir/extensions#0010:1020">
|
||||||
|
<valueQuantity>
|
||||||
|
<value value="1.83"/>
|
||||||
|
<units value="m"/>
|
||||||
|
</valueQuantity>
|
||||||
|
</extension>
|
||||||
|
<extension url="http://nema.org/fhir/extensions#0010:1030">
|
||||||
|
<valueQuantity>
|
||||||
|
<value value="72.58"/>
|
||||||
|
<units value="kg"/>
|
||||||
|
</valueQuantity>
|
||||||
|
</extension>
|
||||||
|
<text>
|
||||||
|
<status value="generated"/>
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml"> Patient MINT_TEST, ID = MINT1234. Age = 56y, Size =
|
||||||
|
1.83m, Weight = 72.58kg </div>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<identifier>
|
||||||
|
<system value="http://nema.org/examples/patients"/>
|
||||||
|
<value value="MINT1234"/>
|
||||||
|
</identifier>
|
||||||
|
<name>
|
||||||
|
<family value="MINT_TEST"/>
|
||||||
|
</name>
|
||||||
|
<gender>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/AdministrativeGender"/>
|
||||||
|
<code value="M"/>
|
||||||
|
</coding>
|
||||||
|
<coding id="nemagender">
|
||||||
|
<system value="http://nema.org/examples/gender"/>
|
||||||
|
<code value="M"/>
|
||||||
|
</coding>
|
||||||
|
<!-- <primary value="nemagender" /> -->
|
||||||
|
</gender>
|
||||||
|
|
||||||
|
|
||||||
|
<managingOrganization>
|
||||||
|
<reference value="Organization/1"/>
|
||||||
|
</managingOrganization>
|
||||||
|
|
||||||
|
<active value="true"/>
|
||||||
|
</Patient>
|
|
@ -0,0 +1,89 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Patient xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://hl7.org/fhir ../../schema/patient.xsd">
|
||||||
|
<identifier>
|
||||||
|
<use value="usual"/>
|
||||||
|
<system value="urn:oid:2.16.840.1.113883.2.4.6.3"/>
|
||||||
|
<!-- BSN identification system -->
|
||||||
|
<value value="738472983"/>
|
||||||
|
</identifier>
|
||||||
|
<identifier>
|
||||||
|
<use value="usual"/>
|
||||||
|
<system value="urn:oid:2.16.840.1.113883.2.4.6.3"/>
|
||||||
|
<!-- BSN identification system -->
|
||||||
|
</identifier>
|
||||||
|
<name>
|
||||||
|
<use value="usual"/>
|
||||||
|
<family value="van de Heuvel"/>
|
||||||
|
<given value="Pieter"/>
|
||||||
|
<suffix value="MSc"/>
|
||||||
|
</name>
|
||||||
|
<telecom>
|
||||||
|
<system value="phone"/>
|
||||||
|
<value value="0648352638"/>
|
||||||
|
<use value="mobile"/>
|
||||||
|
</telecom>
|
||||||
|
<telecom>
|
||||||
|
<system value="email"/>
|
||||||
|
<value value="p.heuvel@gmail.com"/>
|
||||||
|
<use value="home"/>
|
||||||
|
</telecom>
|
||||||
|
<gender>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/AdministrativeGender"/>
|
||||||
|
<code value="M"/>
|
||||||
|
<display value="Male"/>
|
||||||
|
</coding>
|
||||||
|
</gender>
|
||||||
|
<birthDate value="1944-11-17"/>
|
||||||
|
<deceasedBoolean value="false"/>
|
||||||
|
<address>
|
||||||
|
<use value="home"/>
|
||||||
|
<line value="Van Egmondkade 23"/>
|
||||||
|
<city value="Amsterdam"/>
|
||||||
|
<zip value="1024 RJ"/>
|
||||||
|
<country value="NLD"/> <!-- ISO 3166 Codes (Countries) -->
|
||||||
|
</address>
|
||||||
|
<maritalStatus>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/MaritalStatus"/>
|
||||||
|
<code value="M"/>
|
||||||
|
<display value="Married"/>
|
||||||
|
</coding>
|
||||||
|
<text value="Getrouwd"/>
|
||||||
|
</maritalStatus>
|
||||||
|
<multipleBirthBoolean value="true"/>
|
||||||
|
<contact>
|
||||||
|
<relationship>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/patient-contact-relationship"/>
|
||||||
|
<code value="partner"/>
|
||||||
|
</coding>
|
||||||
|
</relationship>
|
||||||
|
<name>
|
||||||
|
<use value="usual"/>
|
||||||
|
<family value="Abels"/>
|
||||||
|
<given value="Sarah"/>
|
||||||
|
</name>
|
||||||
|
<telecom>
|
||||||
|
<system value="phone"/>
|
||||||
|
<value value="0690383372"/>
|
||||||
|
<use value="mobile"/>
|
||||||
|
</telecom>
|
||||||
|
</contact>
|
||||||
|
<communication>
|
||||||
|
<coding>
|
||||||
|
<system value="urn:ietf:bcp:47"/>
|
||||||
|
<!-- IETF language tag -->
|
||||||
|
<code value="nl"/>
|
||||||
|
<display value="Dutch"/>
|
||||||
|
</coding>
|
||||||
|
<text value="Nederlands"/>
|
||||||
|
</communication>
|
||||||
|
<managingOrganization>
|
||||||
|
<reference value="Organization/f001"/>
|
||||||
|
<display value="Burgers University Medical Centre"/>
|
||||||
|
</managingOrganization>
|
||||||
|
|
||||||
|
<active value="true"/>
|
||||||
|
</Patient>
|
|
@ -0,0 +1,121 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Patient xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://hl7.org/fhir ../../schema/patient.xsd">
|
||||||
|
<identifier>
|
||||||
|
<!--The identifier for the person as this patient (fictive)-->
|
||||||
|
<use value="official"/>
|
||||||
|
<label value="BSN"/>
|
||||||
|
<system value="urn:oid:2.16.840.1.113883.2.4.6.3"/>
|
||||||
|
<value value="123456789"/>
|
||||||
|
</identifier>
|
||||||
|
<!--Demographics-->
|
||||||
|
<identifier>
|
||||||
|
<!--The identifier for this individual-->
|
||||||
|
<use value="official"/>
|
||||||
|
<label value="BSN"/>
|
||||||
|
<system value="urn:oid:2.16.840.1.113883.2.4.6.3"/>
|
||||||
|
<value value="123456789"/>
|
||||||
|
</identifier>
|
||||||
|
<name>
|
||||||
|
<!--The name associated with the individual (fictive)-->
|
||||||
|
<use value="official"/>
|
||||||
|
<text value="Roel"/>
|
||||||
|
<family value="Bor"/>
|
||||||
|
<given value="Roelof Olaf"/>
|
||||||
|
<prefix value="Drs."/>
|
||||||
|
<suffix value="PDEng."/>
|
||||||
|
</name>
|
||||||
|
<telecom>
|
||||||
|
<!--The mobile contact detail for the individual-->
|
||||||
|
<system value="phone"/>
|
||||||
|
<value value="+31612345678"/>
|
||||||
|
<use value="mobile"/>
|
||||||
|
</telecom>
|
||||||
|
<telecom>
|
||||||
|
<!--The home contact detail for the individual-->
|
||||||
|
<system value="phone"/>
|
||||||
|
<value value="+31201234567"/>
|
||||||
|
<use value="home"/>
|
||||||
|
</telecom>
|
||||||
|
<gender>
|
||||||
|
<!--The gender for administrative purposes-->
|
||||||
|
<coding>
|
||||||
|
<system value="http://snomed.info/sct"/>
|
||||||
|
<code value="248153007"/>
|
||||||
|
<display value="Male"/>
|
||||||
|
</coding>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/AdministrativeGender"/>
|
||||||
|
<code value="M"/>
|
||||||
|
<display value="Male"/>
|
||||||
|
</coding>
|
||||||
|
</gender>
|
||||||
|
<birthDate value="1960-03-13"/>
|
||||||
|
<!--The date and time of birth for the individual -->
|
||||||
|
<deceasedBoolean value="false"/>
|
||||||
|
<!--Indicates that the individual is not deceased-->
|
||||||
|
<address><!--Home address for the individual-->
|
||||||
|
<use value="home"/>
|
||||||
|
<line value="Bos en Lommerplein 280"/>
|
||||||
|
<city value="Amsterdam"/>
|
||||||
|
<zip value="1055RW"/>
|
||||||
|
<country value="NLD"/><!--ISO 3166 3 letter code-->
|
||||||
|
</address>
|
||||||
|
<maritalStatus>
|
||||||
|
<!--Marital status of the person-->
|
||||||
|
<coding>
|
||||||
|
<system value="http://snomed.info/sct"/>
|
||||||
|
<code value="36629006"/>
|
||||||
|
<display value="Legally married"/>
|
||||||
|
</coding>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/MaritalStatus"/>
|
||||||
|
<code value="M"/>
|
||||||
|
</coding>
|
||||||
|
</maritalStatus>
|
||||||
|
<multipleBirthBoolean value="false"/>
|
||||||
|
<photo>
|
||||||
|
<contentType value="image/jpeg" />
|
||||||
|
<url value="binary/@f006"/>
|
||||||
|
</photo>
|
||||||
|
<contact>
|
||||||
|
<!--Contact of the patient-->
|
||||||
|
<relationship>
|
||||||
|
<!--Indicates that the contact is the patient's wife-->
|
||||||
|
<coding>
|
||||||
|
<system value="http://snomed.info/sct"/>
|
||||||
|
<code value="127850001"/>
|
||||||
|
<display value="Wife"/>
|
||||||
|
</coding>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/patient-contact-relationship"/>
|
||||||
|
<code value="partner"/>
|
||||||
|
</coding>
|
||||||
|
</relationship>
|
||||||
|
<name>
|
||||||
|
<!--The name of the contact-->
|
||||||
|
<use value="usual"/>
|
||||||
|
<text value="Ariadne Bor-Jansma"/>
|
||||||
|
</name>
|
||||||
|
<telecom>
|
||||||
|
<!--The home contact detail-->
|
||||||
|
<system value="phone"/>
|
||||||
|
<value value="+31201234567"/>
|
||||||
|
<use value="home"/>
|
||||||
|
</telecom>
|
||||||
|
</contact>
|
||||||
|
<communication>
|
||||||
|
<coding>
|
||||||
|
<system value="urn:std:iso:639-1"/>
|
||||||
|
<code value="nl-NL"/>
|
||||||
|
<display value="Dutch"/>
|
||||||
|
</coding>
|
||||||
|
</communication>
|
||||||
|
<managingOrganization>
|
||||||
|
<reference value="Organization/f201"/>
|
||||||
|
<display value="AUMC"/>
|
||||||
|
</managingOrganization>
|
||||||
|
|
||||||
|
<!--Indicates that the patient is not part of a multiple birth -->
|
||||||
|
<active value="true"/>
|
||||||
|
</Patient>
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- PID|||AB60001^^^A^PI||BROOKS^ALBERT^^^^^L -->
|
||||||
|
<Patient xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://hl7.org/fhir ../../schema/patient.xsd">
|
||||||
|
<text>
|
||||||
|
<status value="generated"/>
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">Albert Brooks, Id: AB60001</div>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<!-- MRN assigned by ACME healthcare on 6-May 2001 -->
|
||||||
|
<identifier>
|
||||||
|
<label value="Internal Identifier"/>
|
||||||
|
<value value="AB60001"/>
|
||||||
|
</identifier>
|
||||||
|
|
||||||
|
<!-- Peter James Chalmers, but called "Jim" -->
|
||||||
|
<name>
|
||||||
|
<family value="BROOKS"/>
|
||||||
|
<given value="ALBERT"/>
|
||||||
|
</name>
|
||||||
|
|
||||||
|
|
||||||
|
<active value="true"/>
|
||||||
|
</Patient>
|
|
@ -0,0 +1,67 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Patient xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://hl7.org/fhir ../../schema/patient.xsd">
|
||||||
|
<extension url="http://hl7.org/fhir/Profile/us-core#race">
|
||||||
|
<valueCodeableConcept>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/Race" />
|
||||||
|
<code value="1096-7" />
|
||||||
|
</coding>
|
||||||
|
</valueCodeableConcept>
|
||||||
|
</extension>
|
||||||
|
<extension url="http://hl7.org/fhir/Profile/us-core#ethnicity">
|
||||||
|
<valueCodeableConcept>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/Ethnicity" />
|
||||||
|
<code value="2162-6" />
|
||||||
|
</coding>
|
||||||
|
</valueCodeableConcept>
|
||||||
|
</extension>
|
||||||
|
<text>
|
||||||
|
<status value="generated"/>
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Name</td>
|
||||||
|
<td>Peter James <b>Chalmers</b> ("Jim")</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Address</td>
|
||||||
|
<td>534 Erewhon, Pleasantville, Orange County, 3999</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Contacts</td>
|
||||||
|
<td>Home: unknown. Work: (03) 5555 6473</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Id</td>
|
||||||
|
<td>MRN: 12345 (Acme Healthcare)</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<!-- Peter James Chalmers, but called "Jim" -->
|
||||||
|
<name>
|
||||||
|
<use value="official"/>
|
||||||
|
<family value="Chalmers"/>
|
||||||
|
<given value="Peter"/>
|
||||||
|
<given value="James"/>
|
||||||
|
</name>
|
||||||
|
|
||||||
|
<address>
|
||||||
|
<extension url="http://hl7.org/fhir/Profile/us-core#county">
|
||||||
|
<valueString value="Orange County" />
|
||||||
|
</extension>
|
||||||
|
<use value="home"/>
|
||||||
|
<line value="534 Erewhon St"/>
|
||||||
|
<city value="PleasantVille"/>
|
||||||
|
<state value="Vic"/>
|
||||||
|
<zip value="3999"/>
|
||||||
|
</address>
|
||||||
|
|
||||||
|
<active value="true"/>
|
||||||
|
|
||||||
|
</Patient>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Patient xmlns="http://hl7.org/fhir">
|
||||||
|
<text>
|
||||||
|
<status value="generated"/>
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<p>Henry Levin the 7th</p>
|
||||||
|
</div>
|
||||||
|
</text>
|
||||||
|
<identifier>
|
||||||
|
<use value="usual"/>
|
||||||
|
<label value="MRN"/>
|
||||||
|
<system value="urn:oid:2.16.840.1.113883.19.5"/>
|
||||||
|
<value value="12345"/>
|
||||||
|
</identifier>
|
||||||
|
<name>
|
||||||
|
<family value="Levin"/>
|
||||||
|
<given value="Henry"/>
|
||||||
|
</name>
|
||||||
|
<gender>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/AdministrativeGender"/>
|
||||||
|
<code value="M"/>
|
||||||
|
</coding>
|
||||||
|
</gender>
|
||||||
|
<birthDate value="1932-09-24"/>
|
||||||
|
|
||||||
|
<managingOrganization>
|
||||||
|
<reference value="Organization/2.16.840.1.113883.19.5"/>
|
||||||
|
<display value="Good Health Clinic"/>
|
||||||
|
</managingOrganization>
|
||||||
|
<active value="true"/>
|
||||||
|
</Patient>
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Patient xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://hl7.org/fhir ../../schema/patient.xsd">
|
||||||
|
<text>
|
||||||
|
<status value="generated"/>
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<p>Patient John Doe, M, 27-May 1956. ID: 89765a87b</p>
|
||||||
|
</div>
|
||||||
|
</text>
|
||||||
|
<identifier>
|
||||||
|
<use value="usual"/>
|
||||||
|
<label value="MRN"/>
|
||||||
|
<system value="urn:oid:1.2.3.4.5"/>
|
||||||
|
<value value="89765a87b"/>
|
||||||
|
</identifier>
|
||||||
|
<name>
|
||||||
|
<family value="Doe"/>
|
||||||
|
<given value="John"/>
|
||||||
|
</name>
|
||||||
|
<gender>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/AdministrativeGender"/>
|
||||||
|
<code value="M"/>
|
||||||
|
</coding>
|
||||||
|
</gender>
|
||||||
|
<birthDate value="1956-05-27"/>
|
||||||
|
<address>
|
||||||
|
<line value="100 Main St"/>
|
||||||
|
<city value="Metropolis"/>
|
||||||
|
<state value="Il"/>
|
||||||
|
<zip value="44130"/>
|
||||||
|
<country value="USA"/>
|
||||||
|
</address>
|
||||||
|
<managingOrganization>
|
||||||
|
<reference value="Organization/2"/>
|
||||||
|
</managingOrganization>
|
||||||
|
<active value="true"/>
|
||||||
|
</Patient>
|
|
@ -0,0 +1,116 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Patient xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://hl7.org/fhir ../../schema/patient.xsd">
|
||||||
|
<text>
|
||||||
|
<status value="generated"/>
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Name</td>
|
||||||
|
<td>Peter James <b>Chalmers</b> ("Jim")</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Address</td>
|
||||||
|
<td>534 Erewhon, Pleasantville, Vic, 3999</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Contacts</td>
|
||||||
|
<td>Home: unknown. Work: (03) 5555 6473</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Id</td>
|
||||||
|
<td>MRN: 12345 (Acme Healthcare)</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<!-- MRN assigned by ACME healthcare on 6-May 2001 -->
|
||||||
|
<identifier>
|
||||||
|
<use value="usual"/>
|
||||||
|
<label value="MRN"/>
|
||||||
|
<system value="urn:oid:1.2.36.146.595.217.0.1"/>
|
||||||
|
<value value="12345"/>
|
||||||
|
<period>
|
||||||
|
<start value="2001-05-06"/>
|
||||||
|
</period>
|
||||||
|
<assigner>
|
||||||
|
<display value="Acme Healthcare"/>
|
||||||
|
</assigner>
|
||||||
|
</identifier>
|
||||||
|
|
||||||
|
<!-- Peter James Chalmers, but called "Jim" -->
|
||||||
|
<name>
|
||||||
|
<use value="official"/>
|
||||||
|
<family value="Chalmers"/>
|
||||||
|
<given value="Peter"/>
|
||||||
|
<given value="James"/>
|
||||||
|
</name>
|
||||||
|
<name>
|
||||||
|
<use value="usual"/>
|
||||||
|
<given value="Jim"/>
|
||||||
|
</name>
|
||||||
|
|
||||||
|
<telecom>
|
||||||
|
<use value="home"/>
|
||||||
|
<!-- home communication details aren't known -->
|
||||||
|
</telecom>
|
||||||
|
<telecom>
|
||||||
|
<system value="phone"/>
|
||||||
|
<value value="(03) 5555 6473"/>
|
||||||
|
<use value="work"/>
|
||||||
|
</telecom>
|
||||||
|
|
||||||
|
<!-- use FHIR code system for male / female -->
|
||||||
|
<gender>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/AdministrativeGender"/>
|
||||||
|
<code value="M"/>
|
||||||
|
<display value="Male"/>
|
||||||
|
</coding>
|
||||||
|
</gender>
|
||||||
|
<birthDate value="1974-12-25"/>
|
||||||
|
<deceasedBoolean value="false"/>
|
||||||
|
|
||||||
|
<address>
|
||||||
|
<use value="home"/>
|
||||||
|
<line value="534 Erewhon St"/>
|
||||||
|
<city value="PleasantVille"/>
|
||||||
|
<state value="Vic"/>
|
||||||
|
<zip value="3999"/>
|
||||||
|
</address>
|
||||||
|
|
||||||
|
<contact>
|
||||||
|
<relationship>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/patient-contact-relationship"/>
|
||||||
|
<code value="partner"/>
|
||||||
|
</coding>
|
||||||
|
</relationship>
|
||||||
|
|
||||||
|
<name>
|
||||||
|
<family value="du">
|
||||||
|
<!-- the "du" part is a family name prefix (VV in iso 21090) -->
|
||||||
|
<extension url="http://hl7.org/fhir/Profile/iso-21090#qualifier">
|
||||||
|
<valueCode value="VV"/>
|
||||||
|
</extension>
|
||||||
|
</family>
|
||||||
|
<family value="Marché"/>
|
||||||
|
<given value="Bénédicte"/>
|
||||||
|
</name>
|
||||||
|
|
||||||
|
<telecom>
|
||||||
|
<system value="phone"/>
|
||||||
|
<value value="+33 (237) 998327"/>
|
||||||
|
</telecom>
|
||||||
|
</contact>
|
||||||
|
|
||||||
|
<managingOrganization>
|
||||||
|
<reference value="Organization/1"/>
|
||||||
|
</managingOrganization>
|
||||||
|
|
||||||
|
<active value="true"/>
|
||||||
|
|
||||||
|
</Patient>
|
|
@ -0,0 +1,95 @@
|
||||||
|
<Questionnaire xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://hl7.org/fhir ../../schema/questionnaire.xsd">
|
||||||
|
<!-- Please not that in this questionnaire, the questions are mostly unnamed, that is, the questions are not identified using the <name> element. It will therefore
|
||||||
|
be hard to extract useful information in an automated way from this questionnaire. This is, however, quite often the case when modelling existing questionnaires -->
|
||||||
|
<text>
|
||||||
|
<status value="generated"/>
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<pre>
|
||||||
|
Cathy Jones, female. Birth weight 3.25 kg at 44.3 cm.
|
||||||
|
Injection of Vitamin K given on 1972-11-30 (first dose) and 1972-12-11 (second dose)
|
||||||
|
Note: Was able to speak Chinese at birth.
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</text>
|
||||||
|
<status value="completed"/>
|
||||||
|
<authored value="2013-02-19T14:15:00"/>
|
||||||
|
<subject>
|
||||||
|
<reference value="http://www.hl7.org/fhir/Patient/1"/>
|
||||||
|
</subject>
|
||||||
|
<author>
|
||||||
|
<reference value="http://www.hl7.org/fhir/Practitioner/1"/>
|
||||||
|
</author>
|
||||||
|
<group>
|
||||||
|
<name>
|
||||||
|
<text value="NSW Government My Personal Health Record, january 2013"/>
|
||||||
|
</name>
|
||||||
|
<!-- Many groups left out of this example -->
|
||||||
|
<group>
|
||||||
|
<name>
|
||||||
|
<coding>
|
||||||
|
<code value="6.1"/>
|
||||||
|
</coding>
|
||||||
|
<text value="Birth details"/>
|
||||||
|
</name>
|
||||||
|
<header value="Birth details - To be completed by health professional"/>
|
||||||
|
<group>
|
||||||
|
<question>
|
||||||
|
<text value="Name of child" />
|
||||||
|
<answerString value="Cathy Jones" />
|
||||||
|
</question>
|
||||||
|
<question>
|
||||||
|
<text value="Sex" />
|
||||||
|
<choice>
|
||||||
|
<code value="f" />
|
||||||
|
</choice>
|
||||||
|
</question>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<header value="Neonatal Information"/>
|
||||||
|
<question>
|
||||||
|
<text value="Birth weight (kg)"/>
|
||||||
|
<answerDecimal value="3.25"/>
|
||||||
|
</question>
|
||||||
|
<question>
|
||||||
|
<text value="Birth length (cm)"/>
|
||||||
|
<answerDecimal value="44.3"/>
|
||||||
|
</question>
|
||||||
|
<question>
|
||||||
|
<text value="Vitamin K given"/>
|
||||||
|
<choice>
|
||||||
|
<code value="INJECTION"/>
|
||||||
|
</choice>
|
||||||
|
<group>
|
||||||
|
<extension url="http://example.org/Profile/questionnaire#visibilityCondition">
|
||||||
|
<!-- note: this syntax is for demonstration purposes only, will need to be finalized during DSTU -->
|
||||||
|
<valueString value="HAS_VALUE(../choice/code) AND NEQ(../choice/code,'NO')"/>
|
||||||
|
</extension>
|
||||||
|
<question>
|
||||||
|
<text value="1st dose"/>
|
||||||
|
<answerDate value="1972-11-30"/>
|
||||||
|
</question>
|
||||||
|
<question>
|
||||||
|
<text value="2nd dose"/>
|
||||||
|
<answerDate value="1972-12-11"/>
|
||||||
|
</question>
|
||||||
|
</group>
|
||||||
|
</question>
|
||||||
|
<question>
|
||||||
|
<text value="Hep B given y / n"/>
|
||||||
|
<answerBoolean value="true"/>
|
||||||
|
<group>
|
||||||
|
<question>
|
||||||
|
<text value="Date given"/>
|
||||||
|
<answerDate value="1972-12-04"/>
|
||||||
|
</question>
|
||||||
|
</group>
|
||||||
|
</question>
|
||||||
|
<question>
|
||||||
|
<text value="Abnormalities noted at birth"/>
|
||||||
|
<answerString value="Already able to speak Chinese"/>
|
||||||
|
</question>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</Questionnaire>
|
|
@ -0,0 +1,78 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Questionnaire xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://hl7.org/fhir ../../schema/questionnaire.xsd">
|
||||||
|
<status value="completed"/>
|
||||||
|
<authored value="2013-06-18T00:00:00+01:00"/>
|
||||||
|
<!--Fictive, only the below answers are non-fictive-->
|
||||||
|
<subject>
|
||||||
|
<reference value="Patient/f201"/>
|
||||||
|
<display value="Roel"/>
|
||||||
|
</subject>
|
||||||
|
<author>
|
||||||
|
<reference value="Practitioner/f201"/>
|
||||||
|
</author>
|
||||||
|
<source>
|
||||||
|
<reference value="Practitioner/f201"/>
|
||||||
|
</source>
|
||||||
|
<name>
|
||||||
|
<coding>
|
||||||
|
<system value="https://lifelines.nl"/>
|
||||||
|
<code value="VL 1-1, 18-65_1.2.2"/>
|
||||||
|
<display value="Lifelines Questionnaire 1 part 1"/>
|
||||||
|
</coding>
|
||||||
|
</name>
|
||||||
|
<identifier>
|
||||||
|
<use value="temp"/>
|
||||||
|
<label value="Roel's VL 1-1, 18-65_1.2.2"/>
|
||||||
|
</identifier>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<group>
|
||||||
|
<question>
|
||||||
|
<!--Seperate answer-->
|
||||||
|
<text value="Do you have allergies?"/>
|
||||||
|
<answerString value="I am allergic to house dust"/>
|
||||||
|
</question>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<!--Answers to general questions-->
|
||||||
|
<header value="General questions"/>
|
||||||
|
<question>
|
||||||
|
<text value="What is your gender?"/>
|
||||||
|
<answerString value="Male"/>
|
||||||
|
</question>
|
||||||
|
<question>
|
||||||
|
<name>
|
||||||
|
<text value="What is your date of birth?"/>
|
||||||
|
</name>
|
||||||
|
<answerDate value="1960-03-13"/>
|
||||||
|
</question>
|
||||||
|
<question>
|
||||||
|
<name>
|
||||||
|
<text value="What is your country of birth?"/>
|
||||||
|
</name>
|
||||||
|
<answerString value="The Netherlands"/>
|
||||||
|
</question>
|
||||||
|
<question>
|
||||||
|
<name>
|
||||||
|
<text value="What is your marital status?"/>
|
||||||
|
</name>
|
||||||
|
<answerString value="married"/>
|
||||||
|
</question>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<!--Answers to intoxications-->
|
||||||
|
<header value="Intoxications"/>
|
||||||
|
|
||||||
|
<question>
|
||||||
|
<text value="Do you smoke?"/>
|
||||||
|
<answerString value="No"/>
|
||||||
|
</question>
|
||||||
|
<question>
|
||||||
|
<text value="Do you drink alchohol?"/>
|
||||||
|
<answerString value="No, but I used to drink"/>
|
||||||
|
</question>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</Questionnaire>
|
|
@ -0,0 +1,200 @@
|
||||||
|
<Questionnaire xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://hl7.org/fhir ../../schema/questionnaire.xsd">
|
||||||
|
<text>
|
||||||
|
<status value="generated"/>
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<pre>
|
||||||
|
Comorbidity? YES
|
||||||
|
Cardial Comorbidity? YES
|
||||||
|
Angina? YES
|
||||||
|
MI? NO
|
||||||
|
Vascular Comorbidity?
|
||||||
|
(no answers)
|
||||||
|
...
|
||||||
|
Histopathology
|
||||||
|
Abdominal
|
||||||
|
pT category: 1a
|
||||||
|
...
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</text>
|
||||||
|
<contained>
|
||||||
|
<Patient id="patsub">
|
||||||
|
<identifier>
|
||||||
|
<system value="http://cancer.questionnaire.org/systems/id/patientnr"/>
|
||||||
|
<value value="A34442332"/>
|
||||||
|
</identifier>
|
||||||
|
<identifier>
|
||||||
|
<label value="Dutch BSN"/>
|
||||||
|
<system value="urn:oid:2.16.840.1.113883.2.4.6.3"/>
|
||||||
|
<value value="188912345"/>
|
||||||
|
</identifier>
|
||||||
|
<gender>
|
||||||
|
<coding>
|
||||||
|
<system value="http://hl7.org/fhir/v3/AdministrativeGender"/>
|
||||||
|
<code value="M"/>
|
||||||
|
</coding>
|
||||||
|
</gender>
|
||||||
|
<birthDate value="1972-11-30"/>
|
||||||
|
|
||||||
|
</Patient>
|
||||||
|
</contained>
|
||||||
|
<contained>
|
||||||
|
<Practitioner id="questauth">
|
||||||
|
<identifier>
|
||||||
|
<label value="AUMC, Den Helder"/>
|
||||||
|
<system value="http://cancer.questionnaire.org/systems/id/org"/>
|
||||||
|
<value value="AUMC"/>
|
||||||
|
</identifier>
|
||||||
|
</Practitioner>
|
||||||
|
</contained>
|
||||||
|
<contained>
|
||||||
|
<Observation id="obs.pt-category">
|
||||||
|
<name>
|
||||||
|
<coding>
|
||||||
|
<system value="http://snomed.info/sct"/>
|
||||||
|
<code value="53786006"/>
|
||||||
|
<display value="pT1 category"/>
|
||||||
|
</coding>
|
||||||
|
</name>
|
||||||
|
<valueCodeableConcept>
|
||||||
|
<coding>
|
||||||
|
<system value="http://snomed.info/sct"/>
|
||||||
|
<code value="443357004" />
|
||||||
|
<display value="pT1a category" />
|
||||||
|
</coding>
|
||||||
|
</valueCodeableConcept>
|
||||||
|
<status value="final"/>
|
||||||
|
<reliability value="unknown"/>
|
||||||
|
</Observation>
|
||||||
|
</contained>
|
||||||
|
<status value="completed"/>
|
||||||
|
<authored value="2013-02-19T14:15:00"/>
|
||||||
|
<subject>
|
||||||
|
<reference value="#patsub"/>
|
||||||
|
</subject>
|
||||||
|
<author>
|
||||||
|
<reference value="#questauth"/>
|
||||||
|
</author>
|
||||||
|
<name>
|
||||||
|
<text value="Cancer Quality Forum Questionnaire 2012"/>
|
||||||
|
</name>
|
||||||
|
<group>
|
||||||
|
<group>
|
||||||
|
<!-- COMORBIDITY -->
|
||||||
|
<!-- First main section of the form, questions about comorbidity -->
|
||||||
|
<name>
|
||||||
|
<coding>
|
||||||
|
<system value="http://cancer.questionnaire.org/system/code/sections"/>
|
||||||
|
<code value="COMORBIDITY"/>
|
||||||
|
</coding>
|
||||||
|
</name>
|
||||||
|
<!-- section contains one question: whether there is comorbidity -->
|
||||||
|
<question>
|
||||||
|
<name>
|
||||||
|
<coding>
|
||||||
|
<system value="http://cancer.questionnaire.org/system/code/questions"/>
|
||||||
|
<code value="COMORB"/>
|
||||||
|
</coding>
|
||||||
|
</name>
|
||||||
|
<choice>
|
||||||
|
<system value="http://cancer.questionnaire.org/system/code/yesno"/>
|
||||||
|
<code value="1"/>
|
||||||
|
<display value="Yes"/>
|
||||||
|
</choice>
|
||||||
|
<group>
|
||||||
|
<!-- COMORBIDITY/CARDIAL -->
|
||||||
|
<!-- Subsection about specific comorbidity: cardial -->
|
||||||
|
<name>
|
||||||
|
<coding>
|
||||||
|
<system value="http://cancer.questionnaire.org/system/code/sections"/>
|
||||||
|
<code value="CARDIAL"/>
|
||||||
|
</coding>
|
||||||
|
</name>
|
||||||
|
<question>
|
||||||
|
<name>
|
||||||
|
<coding>
|
||||||
|
<system value="http://cancer.questionnaire.org/system/code/questions"/>
|
||||||
|
<code value="COMORBCAR"/>
|
||||||
|
</coding>
|
||||||
|
</name>
|
||||||
|
<choice>
|
||||||
|
<system value="http://cancer.questionnaire.org/system/code/yesno"/>
|
||||||
|
<code value="1"/>
|
||||||
|
</choice>
|
||||||
|
</question>
|
||||||
|
<question>
|
||||||
|
<!-- This answer carries both the questionnaire-specific name and an equivalent SNOMED CT code -->
|
||||||
|
<name>
|
||||||
|
<coding>
|
||||||
|
<system value="http://cancer.questionnaire.org/system/code/questions"/>
|
||||||
|
<code value="COMCAR00"/>
|
||||||
|
<display value="Angina Pectoris"/>
|
||||||
|
</coding>
|
||||||
|
<coding>
|
||||||
|
<system value="http://snomed.info/sct"/>
|
||||||
|
<code value="194828000"/>
|
||||||
|
<display value="Angina (disorder)"/>
|
||||||
|
</coding>
|
||||||
|
</name>
|
||||||
|
<choice>
|
||||||
|
<system value="http://cancer.questionnaire.org/system/code/yesno"/>
|
||||||
|
<code value="1"/>
|
||||||
|
</choice>
|
||||||
|
</question>
|
||||||
|
<question>
|
||||||
|
<name>
|
||||||
|
<coding>
|
||||||
|
<system value="http://snomed.info/sct"/>
|
||||||
|
<code value="22298006"/>
|
||||||
|
<display value="Myocardial infarction (disorder)"/>
|
||||||
|
</coding>
|
||||||
|
</name>
|
||||||
|
<choice>
|
||||||
|
<system value="http://cancer.questionnaire.org/system/code/yesno"/>
|
||||||
|
<code value="0"/>
|
||||||
|
</choice>
|
||||||
|
</question>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<!-- COMORBIDITY/VASCULAR -->
|
||||||
|
<name>
|
||||||
|
<coding>
|
||||||
|
<system value="http://cancer.questionnaire.org/system/code/sections"/>
|
||||||
|
<code value="VASCULAR"/>
|
||||||
|
</coding>
|
||||||
|
</name>
|
||||||
|
</group>
|
||||||
|
</question>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<!-- HISTOPATHOLOGY -->
|
||||||
|
<name>
|
||||||
|
<coding>
|
||||||
|
<system value="http://cancer.questionnaire.org/system/code/sections"/>
|
||||||
|
<code value="HISTOPATHOLOGY"/>
|
||||||
|
</coding>
|
||||||
|
</name>
|
||||||
|
<group>
|
||||||
|
<name>
|
||||||
|
<coding>
|
||||||
|
<system value="http://cancer.questionnaire.org/system/code/sections"/>
|
||||||
|
<code value="ABDOMINAL"/>
|
||||||
|
</coding>
|
||||||
|
</name>
|
||||||
|
<question>
|
||||||
|
<name>
|
||||||
|
<coding>
|
||||||
|
<system value="http://cancer.questionnaire.org/system/code/questions"/>
|
||||||
|
<code value="STADPT"/>
|
||||||
|
<display value="pT category"/>
|
||||||
|
</coding>
|
||||||
|
</name>
|
||||||
|
<dataResource>
|
||||||
|
<reference value="#obs.pt-category"/>
|
||||||
|
</dataResource>
|
||||||
|
</question>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</Questionnaire>
|
|
@ -5,7 +5,7 @@ import java.util.*;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import ca.uhn.fhir.jpa.provider.BaseJpaResourceProvider;
|
import ca.uhn.fhir.jpa.provider.JpaResourceProvider;
|
||||||
import ca.uhn.fhir.jpa.dao.SearchParameterMap;
|
import ca.uhn.fhir.jpa.dao.SearchParameterMap;
|
||||||
import ca.uhn.fhir.model.api.*;
|
import ca.uhn.fhir.model.api.*;
|
||||||
import ca.uhn.fhir.model.api.annotation.*;
|
import ca.uhn.fhir.model.api.annotation.*;
|
||||||
|
@ -15,7 +15,7 @@ import ca.uhn.fhir.rest.annotation.*;
|
||||||
import ca.uhn.fhir.rest.param.*;
|
import ca.uhn.fhir.rest.param.*;
|
||||||
|
|
||||||
|
|
||||||
public class ${className}ResourceProvider extends BaseJpaResourceProvider<${className}> {
|
public class ${className}ResourceProvider extends JpaResourceProvider<${className}> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Class<? extends IResource> getResourceType() {
|
public Class<? extends IResource> getResourceType() {
|
||||||
|
|
Loading…
Reference in New Issue