Update definitions and correctly handle exceptions in
incomingRequestPreProcessed method in server interceptors
This commit is contained in:
parent
78776a3e79
commit
2766af2693
|
@ -105,9 +105,8 @@ public class RestfulServer extends HttpServlet {
|
|||
private boolean myUseBrowserFriendlyContentTypes;
|
||||
|
||||
/**
|
||||
* Constructor. Note that if no {@link FhirContext} is passed in to the server (either through the constructor, or
|
||||
* through {@link #setFhirContext(FhirContext)}) the server will determine which version of FHIR to support through
|
||||
* classpath scanning. This is brittle, and it is highly recommended to explicitly specify a FHIR version.
|
||||
* Constructor. Note that if no {@link FhirContext} is passed in to the server (either through the constructor, or through {@link #setFhirContext(FhirContext)}) the server will determine which
|
||||
* version of FHIR to support through classpath scanning. This is brittle, and it is highly recommended to explicitly specify a FHIR version.
|
||||
*/
|
||||
public RestfulServer() {
|
||||
this(null);
|
||||
|
@ -123,8 +122,7 @@ public class RestfulServer extends HttpServlet {
|
|||
/**
|
||||
* This method is called prior to sending a response to incoming requests. It is used to add custom headers.
|
||||
* <p>
|
||||
* Use caution if overriding this method: it is recommended to call <code>super.addHeadersToResponse</code> to avoid
|
||||
* inadvertantly disabling functionality.
|
||||
* Use caution if overriding this method: it is recommended to call <code>super.addHeadersToResponse</code> to avoid inadvertantly disabling functionality.
|
||||
* </p>
|
||||
*/
|
||||
public void addHeadersToResponse(HttpServletResponse theHttpResponse) {
|
||||
|
@ -220,15 +218,14 @@ public class RestfulServer extends HttpServlet {
|
|||
if (foundMethodBinding == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
count++;
|
||||
|
||||
|
||||
if (foundMethodBinding instanceof ConformanceMethodBinding) {
|
||||
myServerConformanceMethod = foundMethodBinding;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if (!Modifier.isPublic(m.getModifiers())) {
|
||||
throw new ConfigurationException("Method '" + m.getName() + "' is not public, FHIR RESTful methods must be public");
|
||||
} else {
|
||||
|
@ -289,9 +286,8 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns the default encoding to return (XML/JSON) if an incoming request does not specify a preference (either
|
||||
* with the <code>_format</code> URL parameter, or with an <code>Accept</code> header in the request. The default is
|
||||
* {@link EncodingEnum#XML}.
|
||||
* Returns the default encoding to return (XML/JSON) if an incoming request does not specify a preference (either with the <code>_format</code> URL parameter, or with an <code>Accept</code> header
|
||||
* in the request. The default is {@link EncodingEnum#XML}.
|
||||
*/
|
||||
public EncodingEnum getDefaultResponseEncoding() {
|
||||
return myDefaultResponseEncoding;
|
||||
|
@ -305,8 +301,8 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Gets the {@link FhirContext} associated with this server. For efficient processing, resource providers and plain
|
||||
* providers should generally use this context if one is needed, as opposed to creating their own.
|
||||
* Gets the {@link FhirContext} associated with this server. For efficient processing, resource providers and plain providers should generally use this context if one is needed, as opposed to
|
||||
* creating their own.
|
||||
*/
|
||||
public FhirContext getFhirContext() {
|
||||
if (myFhirContext == null) {
|
||||
|
@ -340,8 +336,7 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Allows users of RestfulServer to override the getRequestPath method to let them build their custom request path
|
||||
* implementation
|
||||
* Allows users of RestfulServer to override the getRequestPath method to let them build their custom request path implementation
|
||||
*
|
||||
* @param requestFullPath
|
||||
* the full request path
|
||||
|
@ -367,8 +362,7 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Get the server address strategy, which is used to determine what base URL to provide clients to refer to this
|
||||
* server. Defaults to an instance of {@link IncomingRequestAddressStrategy}
|
||||
* Get the server address strategy, which is used to determine what base URL to provide clients to refer to this server. Defaults to an instance of {@link IncomingRequestAddressStrategy}
|
||||
*/
|
||||
public IServerAddressStrategy getServerAddressStrategy() {
|
||||
return myServerAddressStrategy;
|
||||
|
@ -388,19 +382,17 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns the method bindings for this server which are not specific to any particular resource type. This method is
|
||||
* internal to HAPI and developers generally do not need to interact with it. Use with caution, as it may change.
|
||||
* Returns the method bindings for this server which are not specific to any particular resource type. This method is internal to HAPI and developers generally do not need to interact with it. Use
|
||||
* with caution, as it may change.
|
||||
*/
|
||||
public List<BaseMethodBinding<?>> getServerBindings() {
|
||||
return myServerBinding.getMethodBindings();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the server conformance provider, which is the provider that is used to generate the server's conformance
|
||||
* (metadata) statement if one has been explicitly defined.
|
||||
* Returns the server conformance provider, which is the provider that is used to generate the server's conformance (metadata) statement if one has been explicitly defined.
|
||||
* <p>
|
||||
* By default, the ServerConformanceProvider for the declared version of FHIR is used, but this can be changed, or
|
||||
* set to <code>null</code> to use the appropriate one for the given FHIR version.
|
||||
* By default, the ServerConformanceProvider for the declared version of FHIR is used, but this can be changed, or set to <code>null</code> to use the appropriate one for the given FHIR version.
|
||||
* </p>
|
||||
*/
|
||||
public Object getServerConformanceProvider() {
|
||||
|
@ -408,8 +400,7 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Gets the server's name, as exported in conformance profiles exported by the server. This is informational only,
|
||||
* but can be helpful to set with something appropriate.
|
||||
* Gets the server's name, as exported in conformance profiles exported by the server. This is informational only, but can be helpful to set with something appropriate.
|
||||
*
|
||||
* @see RestfulServer#setServerName(String)
|
||||
*/
|
||||
|
@ -422,8 +413,7 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Gets the server's version, as exported in conformance profiles exported by the server. This is informational only,
|
||||
* but can be helpful to set with something appropriate.
|
||||
* Gets the server's version, as exported in conformance profiles exported by the server. This is informational only, but can be helpful to set with something appropriate.
|
||||
*/
|
||||
public String getServerVersion() {
|
||||
return myServerVersion;
|
||||
|
@ -498,19 +488,12 @@ public class RestfulServer extends HttpServlet {
|
|||
return;
|
||||
}
|
||||
}
|
||||
RestfulServerUtils.streamResponseAsResource(this, theResponse, resBundle, responseEncoding, prettyPrint, requestIsBrowser, narrativeMode, Constants.STATUS_HTTP_200_OK, theRequest.isRespondGzip(), theRequest.getFhirServerBase(), false);
|
||||
RestfulServerUtils.streamResponseAsResource(this, theResponse, resBundle, responseEncoding, prettyPrint, requestIsBrowser, narrativeMode, Constants.STATUS_HTTP_200_OK,
|
||||
theRequest.isRespondGzip(), theRequest.getFhirServerBase(), false);
|
||||
}
|
||||
}
|
||||
|
||||
protected void handleRequest(RequestTypeEnum theRequestType, HttpServletRequest theRequest, HttpServletResponse theResponse) throws ServletException, IOException {
|
||||
for (IServerInterceptor next : myInterceptors) {
|
||||
boolean continueProcessing = next.incomingRequestPreProcessed(theRequest, theResponse);
|
||||
if (!continueProcessing) {
|
||||
ourLog.debug("Interceptor {} returned false, not continuing processing");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
String fhirServerBase = null;
|
||||
boolean requestIsBrowser = requestIsBrowser(theRequest);
|
||||
RequestDetails requestDetails = new RequestDetails();
|
||||
|
@ -518,9 +501,17 @@ public class RestfulServer extends HttpServlet {
|
|||
requestDetails.setRequestType(theRequestType);
|
||||
requestDetails.setServletRequest(theRequest);
|
||||
requestDetails.setServletResponse(theResponse);
|
||||
|
||||
|
||||
try {
|
||||
|
||||
for (IServerInterceptor next : myInterceptors) {
|
||||
boolean continueProcessing = next.incomingRequestPreProcessed(theRequest, theResponse);
|
||||
if (!continueProcessing) {
|
||||
ourLog.debug("Interceptor {} returned false, not continuing processing");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
String resourceName = null;
|
||||
String requestFullPath = StringUtils.defaultString(theRequest.getRequestURI());
|
||||
String servletPath = StringUtils.defaultString(theRequest.getServletPath());
|
||||
|
@ -652,9 +643,8 @@ public class RestfulServer extends HttpServlet {
|
|||
requestDetails.setOtherOperationType(OtherOperationTypeEnum.GET_PAGE);
|
||||
if (theRequestType != RequestTypeEnum.GET) {
|
||||
/*
|
||||
* We reconstruct the link-self URL using the request parameters, and this would break if the parameters
|
||||
* came in using a POST. We could probably work around that but why bother unless someone comes up with a
|
||||
* reason for needing it.
|
||||
* We reconstruct the link-self URL using the request parameters, and this would break if the parameters came in using a POST. We could probably work around that but why bother unless
|
||||
* someone comes up with a reason for needing it.
|
||||
*/
|
||||
throw new InvalidRequestException(getFhirContext().getLocalizer().getMessage(RestfulServer.class, "getPagesNonHttpGet"));
|
||||
}
|
||||
|
@ -674,7 +664,7 @@ public class RestfulServer extends HttpServlet {
|
|||
throw new InvalidRequestException(myFhirContext.getLocalizer().getMessage(RestfulServer.class, "unknownMethod", theRequestType.name(), requestPath, params.keySet()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
requestDetails.setResourceOperationType(resourceMethod.getResourceOperationType());
|
||||
requestDetails.setSystemOperationType(resourceMethod.getSystemOperationType());
|
||||
requestDetails.setOtherOperationType(resourceMethod.getOtherOperationType());
|
||||
|
@ -731,7 +721,7 @@ public class RestfulServer extends HttpServlet {
|
|||
if (exception == null) {
|
||||
exception = new ExceptionHandlingInterceptor().preProcessOutgoingException(requestDetails, e, theRequest);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* We have caught an exception while handling an incoming server request. Start by notifying the interceptors..
|
||||
*/
|
||||
|
@ -748,16 +738,14 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initializes the server. Note that this method is final to avoid accidentally introducing bugs in implementations,
|
||||
* but subclasses may put initialization code in {@link #initialize()}, which is called immediately before beginning
|
||||
* initialization of the restful server's internal init.
|
||||
* Initializes the server. Note that this method is final to avoid accidentally introducing bugs in implementations, but subclasses may put initialization code in {@link #initialize()}, which is
|
||||
* called immediately before beginning initialization of the restful server's internal init.
|
||||
*/
|
||||
@Override
|
||||
public final void init() throws ServletException {
|
||||
initialize();
|
||||
|
||||
|
||||
Object confProvider;
|
||||
try {
|
||||
ourLog.info("Initializing HAPI FHIR restful server running in " + getFhirContext().getVersion().getVersion().name() + " mode");
|
||||
|
@ -777,7 +765,8 @@ public class RestfulServer extends HttpServlet {
|
|||
|
||||
String resourceName = getFhirContext().getResourceDefinition(resourceType).getName();
|
||||
if (typeToProvider.containsKey(resourceName)) {
|
||||
throw new ServletException("Multiple resource providers return resource type[" + resourceName + "]: First[" + typeToProvider.get(resourceName).getClass().getCanonicalName() + "] and Second[" + nextProvider.getClass().getCanonicalName() + "]");
|
||||
throw new ServletException("Multiple resource providers return resource type[" + resourceName + "]: First[" + typeToProvider.get(resourceName).getClass().getCanonicalName()
|
||||
+ "] and Second[" + nextProvider.getClass().getCanonicalName() + "]");
|
||||
}
|
||||
typeToProvider.put(resourceName, nextProvider);
|
||||
providedResourceScanner.scanForProvidedResources(nextProvider);
|
||||
|
@ -803,7 +792,7 @@ public class RestfulServer extends HttpServlet {
|
|||
if (confProvider == null) {
|
||||
confProvider = getFhirContext().getVersion().createServerConformanceProvider(this);
|
||||
}
|
||||
// findSystemMethods(confProvider);
|
||||
// findSystemMethods(confProvider);
|
||||
findResourceMethods(confProvider);
|
||||
|
||||
} catch (Exception ex) {
|
||||
|
@ -825,19 +814,17 @@ public class RestfulServer extends HttpServlet {
|
|||
invokeInitialize(next);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
myStarted = true;
|
||||
ourLog.info("A FHIR has been lit on this server");
|
||||
}
|
||||
|
||||
/**
|
||||
* This method may be overridden by subclasses to do perform initialization that needs to be performed prior to the
|
||||
* server being used.
|
||||
* This method may be overridden by subclasses to do perform initialization that needs to be performed prior to the server being used.
|
||||
*
|
||||
* @throws ServletException
|
||||
* If the initialization failed. Note that you should consider throwing {@link UnavailableException}
|
||||
* (which extends {@link ServletException}), as this is a flag to the servlet container that the servlet
|
||||
* is not usable.
|
||||
* If the initialization failed. Note that you should consider throwing {@link UnavailableException} (which extends {@link ServletException}), as this is a flag to the servlet container
|
||||
* that the servlet is not usable.
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
protected void initialize() throws ServletException {
|
||||
|
@ -895,8 +882,8 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Should the server "pretty print" responses by default (requesting clients can always override this default by
|
||||
* supplying an <code>Accept</code> header in the request, or a <code>_pretty</code> parameter in the request URL.
|
||||
* Should the server "pretty print" responses by default (requesting clients can always override this default by supplying an <code>Accept</code> header in the request, or a <code>_pretty</code>
|
||||
* parameter in the request URL.
|
||||
* <p>
|
||||
* The default is <code>false</code>
|
||||
* </p>
|
||||
|
@ -917,9 +904,8 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Sets the profile tagging behaviour for the server. When set to a value other than {@link AddProfileTagEnum#NEVER}
|
||||
* (which is the default), the server will automatically add a profile tag based on the class of the resource(s)
|
||||
* being returned.
|
||||
* Sets the profile tagging behaviour for the server. When set to a value other than {@link AddProfileTagEnum#NEVER} (which is the default), the server will automatically add a profile tag based on
|
||||
* the class of the resource(s) being returned.
|
||||
*
|
||||
* @param theAddProfileTag
|
||||
* The behaviour enum (must not be null)
|
||||
|
@ -940,8 +926,8 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Should the server "pretty print" responses by default (requesting clients can always override this default by
|
||||
* supplying an <code>Accept</code> header in the request, or a <code>_pretty</code> parameter in the request URL.
|
||||
* Should the server "pretty print" responses by default (requesting clients can always override this default by supplying an <code>Accept</code> header in the request, or a <code>_pretty</code>
|
||||
* parameter in the request URL.
|
||||
* <p>
|
||||
* The default is <code>false</code>
|
||||
* </p>
|
||||
|
@ -954,12 +940,10 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Sets the default encoding to return (XML/JSON) if an incoming request does not specify a preference (either with
|
||||
* the <code>_format</code> URL parameter, or with an <code>Accept</code> header in the request. The default is
|
||||
* {@link EncodingEnum#XML}.
|
||||
* Sets the default encoding to return (XML/JSON) if an incoming request does not specify a preference (either with the <code>_format</code> URL parameter, or with an <code>Accept</code> header in
|
||||
* the request. The default is {@link EncodingEnum#XML}.
|
||||
* <p>
|
||||
* Note when testing this feature: Some browsers will include "application/xml" in their
|
||||
* Accept header, which means that the
|
||||
* Note when testing this feature: Some browsers will include "application/xml" in their Accept header, which means that the
|
||||
* </p>
|
||||
*/
|
||||
public void setDefaultResponseEncoding(EncodingEnum theDefaultResponseEncoding) {
|
||||
|
@ -968,8 +952,7 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Sets (enables/disables) the server support for ETags. Must not be <code>null</code>. Default is
|
||||
* {@link #DEFAULT_ETAG_SUPPORT}
|
||||
* Sets (enables/disables) the server support for ETags. Must not be <code>null</code>. Default is {@link #DEFAULT_ETAG_SUPPORT}
|
||||
*
|
||||
* @param theETagSupport
|
||||
* The ETag support mode
|
||||
|
@ -1065,8 +1048,7 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Provide a server address strategy, which is used to determine what base URL to provide clients to refer to this
|
||||
* server. Defaults to an instance of {@link IncomingRequestAddressStrategy}
|
||||
* Provide a server address strategy, which is used to determine what base URL to provide clients to refer to this server. Defaults to an instance of {@link IncomingRequestAddressStrategy}
|
||||
*/
|
||||
public void setServerAddressStrategy(IServerAddressStrategy theServerAddressStrategy) {
|
||||
Validate.notNull(theServerAddressStrategy, "Server address strategy can not be null");
|
||||
|
@ -1074,17 +1056,15 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns the server conformance provider, which is the provider that is used to generate the server's conformance
|
||||
* (metadata) statement.
|
||||
* Returns the server conformance provider, which is the provider that is used to generate the server's conformance (metadata) statement.
|
||||
* <p>
|
||||
* By default, the ServerConformanceProvider implementation for the declared version of FHIR is used, but this can be
|
||||
* changed, or set to <code>null</code> if you do not wish to export a conformance statement.
|
||||
* By default, the ServerConformanceProvider implementation for the declared version of FHIR is used, but this can be changed, or set to <code>null</code> if you do not wish to export a conformance
|
||||
* statement.
|
||||
* </p>
|
||||
* Note that this method can only be called before the server is initialized.
|
||||
*
|
||||
* @throws IllegalStateException
|
||||
* Note that this method can only be called prior to {@link #init() initialization} and will throw an
|
||||
* {@link IllegalStateException} if called after that.
|
||||
* Note that this method can only be called prior to {@link #init() initialization} and will throw an {@link IllegalStateException} if called after that.
|
||||
*/
|
||||
public void setServerConformanceProvider(Object theServerConformanceProvider) {
|
||||
if (myStarted) {
|
||||
|
@ -1094,24 +1074,22 @@ public class RestfulServer extends HttpServlet {
|
|||
}
|
||||
|
||||
/**
|
||||
* Sets the server's name, as exported in conformance profiles exported by the server. This is informational only,
|
||||
* but can be helpful to set with something appropriate.
|
||||
* Sets the server's name, as exported in conformance profiles exported by the server. This is informational only, but can be helpful to set with something appropriate.
|
||||
*/
|
||||
public void setServerName(String theServerName) {
|
||||
myServerName = theServerName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the server's version, as exported in conformance profiles exported by the server. This is informational only,
|
||||
* but can be helpful to set with something appropriate.
|
||||
* Gets the server's version, as exported in conformance profiles exported by the server. This is informational only, but can be helpful to set with something appropriate.
|
||||
*/
|
||||
public void setServerVersion(String theServerVersion) {
|
||||
myServerVersion = theServerVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* If set to <code>true</code> (default is false), the server will use browser friendly content-types (instead of
|
||||
* standard FHIR ones) when it detects that the request is coming from a browser instead of a FHIR
|
||||
* If set to <code>true</code> (default is false), the server will use browser friendly content-types (instead of standard FHIR ones) when it detects that the request is coming from a browser
|
||||
* instead of a FHIR
|
||||
*/
|
||||
public void setUseBrowserFriendlyContentTypes(boolean theUseBrowserFriendlyContentTypes) {
|
||||
myUseBrowserFriendlyContentTypes = theUseBrowserFriendlyContentTypes;
|
||||
|
|
|
@ -6,6 +6,10 @@ import static org.junit.Assert.*;
|
|||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.security.sasl.AuthorizeCallback;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import junit.framework.AssertionFailedError;
|
||||
|
||||
import org.apache.commons.io.IOUtils;
|
||||
|
@ -34,10 +38,13 @@ import ca.uhn.fhir.rest.annotation.RequiredParam;
|
|||
import ca.uhn.fhir.rest.annotation.Search;
|
||||
import ca.uhn.fhir.rest.api.RequestTypeEnum;
|
||||
import ca.uhn.fhir.rest.param.StringParam;
|
||||
import ca.uhn.fhir.rest.server.exceptions.AuthenticationException;
|
||||
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
|
||||
import ca.uhn.fhir.rest.server.exceptions.MethodNotAllowedException;
|
||||
import ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException;
|
||||
import ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException;
|
||||
import ca.uhn.fhir.rest.server.interceptor.IServerInterceptor;
|
||||
import ca.uhn.fhir.rest.server.interceptor.InterceptorAdapter;
|
||||
import ca.uhn.fhir.util.PortUtil;
|
||||
|
||||
/**
|
||||
|
@ -54,11 +61,11 @@ public class ExceptionTest {
|
|||
private static Server ourServer;
|
||||
private static RestfulServer servlet;
|
||||
private static final FhirContext ourCtx = FhirContext.forDstu1();
|
||||
|
||||
|
||||
@Before
|
||||
public void before() {
|
||||
ourGenerateOperationOutcome = false;
|
||||
ourExceptionType=null;
|
||||
ourExceptionType = null;
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -76,6 +83,29 @@ public class ExceptionTest {
|
|||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAuthorizationFailureInPreProcessInterceptor() throws Exception {
|
||||
IServerInterceptor interceptor = new InterceptorAdapter() {
|
||||
@Override
|
||||
public boolean incomingRequestPreProcessed(HttpServletRequest theRequest, HttpServletResponse theResponse) {
|
||||
throw new AuthenticationException();
|
||||
}
|
||||
};
|
||||
|
||||
servlet.registerInterceptor(interceptor);
|
||||
try {
|
||||
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient?throwInternalError=aaa");
|
||||
HttpResponse status = ourClient.execute(httpGet);
|
||||
String responseContent = IOUtils.toString(status.getEntity().getContent());
|
||||
IOUtils.closeQuietly(status.getEntity().getContent());
|
||||
ourLog.info(responseContent);
|
||||
assertEquals(AuthenticationException.STATUS_CODE, status.getStatusLine().getStatusCode());
|
||||
assertThat(responseContent, StringContains.containsString("Client unauthorized"));
|
||||
} finally {
|
||||
servlet.unregisterInterceptor(interceptor);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testResourceNotFound() throws Exception {
|
||||
ourExceptionType = ResourceNotFoundException.class;
|
||||
|
@ -124,8 +154,8 @@ public class ExceptionTest {
|
|||
public void testResourceReturning() throws Exception {
|
||||
// No OO
|
||||
{
|
||||
ourExceptionType=ResourceNotFoundException.class;
|
||||
ourGenerateOperationOutcome=false;
|
||||
ourExceptionType = ResourceNotFoundException.class;
|
||||
ourGenerateOperationOutcome = false;
|
||||
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient/123");
|
||||
HttpResponse status = ourClient.execute(httpGet);
|
||||
String responseContent = IOUtils.toString(status.getEntity().getContent());
|
||||
|
@ -137,8 +167,8 @@ public class ExceptionTest {
|
|||
}
|
||||
// Yes OO
|
||||
{
|
||||
ourExceptionType=ResourceNotFoundException.class;
|
||||
ourGenerateOperationOutcome=true;
|
||||
ourExceptionType = ResourceNotFoundException.class;
|
||||
ourGenerateOperationOutcome = true;
|
||||
HttpGet httpGet = new HttpGet("http://localhost:" + ourPort + "/Patient/123");
|
||||
HttpResponse status = ourClient.execute(httpGet);
|
||||
String responseContent = IOUtils.toString(status.getEntity().getContent());
|
||||
|
@ -179,7 +209,7 @@ public class ExceptionTest {
|
|||
assertThat(oo.getIssueFirstRep().getDetails().getValue(), not(StringContains.containsString("UnprocessableEntityException")));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testMethodNotAllowed() throws Exception {
|
||||
{
|
||||
|
@ -193,7 +223,7 @@ public class ExceptionTest {
|
|||
assertEquals("POST,PUT", status.getFirstHeader(Constants.HEADER_ALLOW).getValue());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@AfterClass
|
||||
public static void afterClass() throws Exception {
|
||||
ourServer.stop();
|
||||
|
@ -220,12 +250,12 @@ public class ExceptionTest {
|
|||
ourClient = builder.build();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Created by dsotnikov on 2/25/2014.
|
||||
*/
|
||||
public static class DummyPatientResourceProvider implements IResourceProvider {
|
||||
|
||||
|
||||
@Override
|
||||
public Class<? extends IResource> getResourceType() {
|
||||
return Patient.class;
|
||||
|
@ -238,13 +268,13 @@ public class ExceptionTest {
|
|||
oo = new OperationOutcome();
|
||||
oo.addIssue().setDetails(OPERATION_OUTCOME_DETAILS);
|
||||
}
|
||||
|
||||
|
||||
if (ourExceptionType == ResourceNotFoundException.class) {
|
||||
throw new ResourceNotFoundException(theId, oo);
|
||||
}else {
|
||||
} else {
|
||||
throw new AssertionFailedError("Unknown exception type: " + ourExceptionType);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Search
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
Generated on Thu, Aug 6, 2015 19:01-0400 for FHIR v0.5.0
|
||||
Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://hl7.org/fhir" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xml="http://www.w3.org/XML/1998/namespace" targetNamespace="http://hl7.org/fhir" elementFormDefault="qualified" version="0.5.0">
|
||||
<!-- Note: When using this schema with some tools, it may also be necessary to declare xmlns:xml="http://www.w3.org/XML/1998/namespace", however this causes performance issues with other tools and thus is not in the base schemas. -->
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import org.hl7.fhir.instance.model.annotations.DatatypeDef;
|
||||
import org.hl7.fhir.instance.model.annotations.Block;
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,12 +29,12 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
|
||||
public class Constants {
|
||||
|
||||
public final static String VERSION = "0.5.0";
|
||||
public final static String REVISION = "6166";
|
||||
public final static String DATE = "Fri Aug 07 06:45:35 EDT 2015";
|
||||
public final static String DATE = "Fri Aug 07 07:14:05 EDT 2015";
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import org.hl7.fhir.instance.model.annotations.DatatypeDef;
|
||||
import org.hl7.fhir.instance.model.annotations.Block;
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import org.hl7.fhir.instance.model.annotations.DatatypeDef;
|
||||
import org.hl7.fhir.instance.model.annotations.Block;
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import org.hl7.fhir.instance.model.annotations.DatatypeDef;
|
||||
import org.hl7.fhir.instance.model.annotations.Block;
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
|
||||
import org.hl7.fhir.instance.model.api.*;
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import org.hl7.fhir.instance.model.annotations.DatatypeDef;
|
||||
import org.hl7.fhir.instance.model.annotations.Block;
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
import org.hl7.fhir.utilities.xhtml.XhtmlNode;
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ package org.hl7.fhir.instance.model;
|
|||
|
||||
*/
|
||||
|
||||
// Generated on Fri, Aug 7, 2015 06:45-0400 for FHIR v0.5.0
|
||||
// Generated on Fri, Aug 7, 2015 07:14-0400 for FHIR v0.5.0
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue