From 7540203836a8d6c1ea27a977955447e4bb12d2bc Mon Sep 17 00:00:00 2001 From: jamesagnew Date: Thu, 12 Mar 2015 22:15:15 -0400 Subject: [PATCH 1/3] Fix #108 - Don't check the server version from the client until the first actual request --- .../java/ca/uhn/fhir/context/FhirContext.java | 12 ++++--- .../ca/uhn/fhir/rest/client/BaseClient.java | 21 +++++++++-- .../rest/client/ClientInvocationHandler.java | 9 +++-- .../ClientInvocationHandlerFactory.java | 4 +-- .../uhn/fhir/rest/client/GenericClient.java | 11 ++---- .../rest/client/RestfulClientFactory.java | 25 ++++++------- .../server/IVersionSpecificBundleFactory.java | 4 +++ .../ClientServerValidationTestDstu2.java | 36 +++++++++++++++---- src/site/xdoc/doc_rest_server_interceptor.xml | 6 ---- 9 files changed, 82 insertions(+), 46 deletions(-) diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/FhirContext.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/FhirContext.java index 66b2c4245d4..d74a19163af 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/FhirContext.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/FhirContext.java @@ -287,6 +287,14 @@ public class FhirContext { return myVersion; } + /** + * This method should be considered experimental and will likely change in future releases + * of HAPI. Use with caution! + */ + public IVersionSpecificBundleFactory newBundleFactory() { + return myVersion.newBundleFactory(this); + } + /** * Create and return a new JSON parser. * @@ -486,8 +494,4 @@ public class FhirContext { return retVal; } - public IVersionSpecificBundleFactory newBundleFactory() { - return myVersion.newBundleFactory(this); - } - } diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/BaseClient.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/BaseClient.java index 6a17c587097..2579fba52ac 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/BaseClient.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/BaseClient.java @@ -67,13 +67,16 @@ public abstract class BaseClient { private HttpResponse myLastResponse; private String myLastResponseBody; private Boolean myPrettyPrint = false; - + private final RestfulClientFactory myFactory; private final String myUrlBase; - BaseClient(HttpClient theClient, String theUrlBase) { + private boolean myDontValidateConformance; + + BaseClient(HttpClient theClient, String theUrlBase, RestfulClientFactory theFactory) { super(); myClient = theClient; myUrlBase = theUrlBase; + myFactory = theFactory; } protected Map> createExtraParams() { @@ -130,7 +133,21 @@ public abstract class BaseClient { return invokeClient(theContext, binding, clientInvocation, null, null, theLogRequestAndResponse); } + /** + * This method is an internal part of the HAPI API andmay change, use with caution. If you + * want to disable the loading of conformance statements, use {@link IRestfulClientFactory#setServerValidationModeEnum(ServerValidationModeEnum)} + */ + public void setDontValidateConformance(boolean theDontValidateConformance) { + myDontValidateConformance = theDontValidateConformance; + } + + T invokeClient(FhirContext theContext, IClientResponseHandler binding, BaseHttpClientInvocation clientInvocation, EncodingEnum theEncoding, Boolean thePrettyPrint, boolean theLogRequestAndResponse) { + + if (!myDontValidateConformance) { + myFactory.validateServerBaseIfConfiguredToDoSo(myUrlBase, myClient); + } + // TODO: handle non 2xx status codes by throwing the correct exception, // and ensure it's passed upwards HttpRequestBase httpRequest; diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/ClientInvocationHandler.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/ClientInvocationHandler.java index 4ee2dda3808..62464820ff5 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/ClientInvocationHandler.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/ClientInvocationHandler.java @@ -37,13 +37,13 @@ class ClientInvocationHandler extends BaseClient implements InvocationHandler { private FhirContext myContext; private Map myMethodToLambda; - public ClientInvocationHandler(HttpClient theClient, FhirContext theContext, String theUrlBase, Map theMethodToReturnValue, Map> theBindings, Map theMethodToLambda) { - super(theClient, theUrlBase); + public ClientInvocationHandler(HttpClient theClient, FhirContext theContext, String theUrlBase, Map theMethodToReturnValue, Map> theBindings, Map theMethodToLambda, RestfulClientFactory theFactory) { + super(theClient, theUrlBase, theFactory); - myContext =theContext; + myContext = theContext; myMethodToReturnValue = theMethodToReturnValue; myBindings = theBindings; - myMethodToLambda=theMethodToLambda; + myMethodToLambda = theMethodToLambda; } public void addBinding(Method theMethod, BaseMethodBinding theBinding) { @@ -71,5 +71,4 @@ class ClientInvocationHandler extends BaseClient implements InvocationHandler { throw new UnsupportedOperationException("The method '" + theMethod.getName() + "' in type " + theMethod.getDeclaringClass().getSimpleName() + " has no handler. Did you forget to annotate it with a RESTful method annotation?"); } - } diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/ClientInvocationHandlerFactory.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/ClientInvocationHandlerFactory.java index 63c6b6bd530..cbc9173406c 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/ClientInvocationHandlerFactory.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/ClientInvocationHandlerFactory.java @@ -67,8 +67,8 @@ class ClientInvocationHandlerFactory { myBindings.put(theMethod, theBinding); } - ClientInvocationHandler newInvocationHandler() { - return new ClientInvocationHandler(myClient, myContext, myUrlBase, myMethodToReturnValue, myBindings, myMethodToLambda); + ClientInvocationHandler newInvocationHandler(RestfulClientFactory theRestfulClientFactory) { + return new ClientInvocationHandler(myClient, myContext, myUrlBase, myMethodToReturnValue, myBindings, myMethodToLambda, theRestfulClientFactory); } interface ILambda { diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/GenericClient.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/GenericClient.java index 6e1813b1dc5..008f5ddf658 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/GenericClient.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/GenericClient.java @@ -43,7 +43,6 @@ import org.hl7.fhir.instance.model.api.IBaseParameters; import ca.uhn.fhir.context.BaseRuntimeChildDefinition; import ca.uhn.fhir.context.BaseRuntimeElementCompositeDefinition; -import ca.uhn.fhir.context.BaseRuntimeElementDefinition; import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.context.FhirVersionEnum; import ca.uhn.fhir.context.RuntimeResourceDefinition; @@ -61,7 +60,6 @@ import ca.uhn.fhir.model.primitive.UriDt; import ca.uhn.fhir.parser.DataFormatException; import ca.uhn.fhir.parser.IParser; import ca.uhn.fhir.rest.api.MethodOutcome; -import ca.uhn.fhir.rest.client.exceptions.InvalidResponseException; import ca.uhn.fhir.rest.client.exceptions.NonFhirResponseException; import ca.uhn.fhir.rest.gclient.IClientExecutable; import ca.uhn.fhir.rest.gclient.ICreate; @@ -128,21 +126,18 @@ import ca.uhn.fhir.util.ICallable; public class GenericClient extends BaseClient implements IGenericClient { private static final String I18N_CANNOT_DETEMINE_RESOURCE_TYPE = "ca.uhn.fhir.rest.client.GenericClient.cannotDetermineResourceTypeFromUri"; - private static final String I18N_INCOMPLETE_URI_FOR_READ = "ca.uhn.fhir.rest.client.GenericClient.incompleteUriForRead"; - private static final String I18N_NO_VERSION_ID_FOR_VREAD = "ca.uhn.fhir.rest.client.GenericClient.noVersionIdForVread"; private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(GenericClient.class); private FhirContext myContext; - 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! */ - public GenericClient(FhirContext theContext, HttpClient theHttpClient, String theServerBase) { - super(theHttpClient, theServerBase); + public GenericClient(FhirContext theContext, HttpClient theHttpClient, String theServerBase, RestfulClientFactory theFactory) { + super(theHttpClient, theServerBase, theFactory); myContext = theContext; } diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/RestfulClientFactory.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/RestfulClientFactory.java index 24d25eaac50..6de0dbdfd27 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/RestfulClientFactory.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/client/RestfulClientFactory.java @@ -23,7 +23,7 @@ package ca.uhn.fhir.rest.client; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; -import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -63,10 +63,8 @@ public class RestfulClientFactory implements IRestfulClientFactory { private Map, ClientInvocationHandlerFactory> myInvocationHandlers = new HashMap, ClientInvocationHandlerFactory>(); private HttpHost myProxy; private ServerValidationModeEnum myServerValidationMode = DEFAULT_SERVER_VALIDATION_MODE; - private int mySocketTimeout = DEFAULT_SOCKET_TIMEOUT; - - private Set myValidatedServerBaseUrls = new HashSet(); + private Set myValidatedServerBaseUrls = Collections.synchronizedSet(new HashSet()); /** * Constructor @@ -169,11 +167,10 @@ public class RestfulClientFactory implements IRestfulClientFactory { throw new ConfigurationException(theClientType.getCanonicalName() + " is not an interface"); } - HttpClient httpClient = getHttpClient(); - maybeValidateServerBase(theServerBase, httpClient); - + ClientInvocationHandlerFactory invocationHandler = myInvocationHandlers.get(theClientType); if (invocationHandler == null) { + HttpClient httpClient = getHttpClient(); invocationHandler = new ClientInvocationHandlerFactory(httpClient, myContext, theServerBase, theClientType); for (Method nextMethod : theClientType.getMethods()) { BaseMethodBinding binding = BaseMethodBinding.bindMethod(nextMethod, myContext, null); @@ -182,7 +179,7 @@ public class RestfulClientFactory implements IRestfulClientFactory { myInvocationHandlers.put(theClientType, invocationHandler); } - T proxy = instantiateProxy(theClientType, invocationHandler.newInvocationHandler()); + T proxy = instantiateProxy(theClientType, invocationHandler.newInvocationHandler(this)); return proxy; } @@ -190,11 +187,13 @@ public class RestfulClientFactory implements IRestfulClientFactory { @Override public synchronized IGenericClient newGenericClient(String theServerBase) { HttpClient httpClient = getHttpClient(); - maybeValidateServerBase(theServerBase, httpClient); - return new GenericClient(myContext, httpClient, theServerBase); + return new GenericClient(myContext, httpClient, theServerBase, this); } - private void maybeValidateServerBase(String theServerBase, HttpClient theHttpClient) { + /** + * This method is internal to HAPI - It may change in future versions, use with caution. + */ + public void validateServerBaseIfConfiguredToDoSo(String theServerBase, HttpClient theHttpClient) { String serverBase = theServerBase; if (!serverBase.endsWith("/")) { serverBase = serverBase + "/"; @@ -270,7 +269,9 @@ public class RestfulClientFactory implements IRestfulClientFactory { private void validateServerBase(String theServerBase, HttpClient theHttpClient) { - GenericClient client = new GenericClient(myContext, theHttpClient, theServerBase); + GenericClient client = new GenericClient(myContext, theHttpClient, theServerBase, this); + client.setDontValidateConformance(true); + BaseConformance conformance; try { conformance = client.conformance(); diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/IVersionSpecificBundleFactory.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/IVersionSpecificBundleFactory.java index 85e43744280..95439badb4c 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/IVersionSpecificBundleFactory.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/IVersionSpecificBundleFactory.java @@ -30,6 +30,10 @@ import ca.uhn.fhir.model.api.Bundle; import ca.uhn.fhir.model.api.IResource; import ca.uhn.fhir.model.valueset.BundleTypeEnum; +/** + * This interface should be considered experimental and will likely change in future releases + * of HAPI. Use with caution! + */ public interface IVersionSpecificBundleFactory { void addResourcesToBundle(List theResult, BundleTypeEnum theBundleType, String theServerBase, BundleInclusionRule theBundleInclusionRule, Set theIncludes); diff --git a/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/rest/client/ClientServerValidationTestDstu2.java b/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/rest/client/ClientServerValidationTestDstu2.java index 70cc6c04124..5e446f2b72b 100644 --- a/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/rest/client/ClientServerValidationTestDstu2.java +++ b/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/rest/client/ClientServerValidationTestDstu2.java @@ -1,13 +1,13 @@ package ca.uhn.fhir.rest.client; import static org.hamcrest.Matchers.containsString; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.fail; +import static org.junit.Assert.*; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import java.io.InputStream; import java.io.StringReader; import java.nio.charset.Charset; @@ -23,9 +23,13 @@ import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Matchers; import org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.model.dstu2.resource.Conformance; +import ca.uhn.fhir.model.dstu2.resource.Patient; +import ca.uhn.fhir.model.primitive.UriDt; import ca.uhn.fhir.rest.client.exceptions.FhirClientConnectionException; import ca.uhn.fhir.rest.server.Constants; @@ -35,6 +39,7 @@ public class ClientServerValidationTestDstu2 { private FhirContext myCtx; private HttpClient myHttpClient; private HttpResponse myHttpResponse; + private boolean myFirstResponse; @Before public void before() { @@ -43,27 +48,44 @@ public class ClientServerValidationTestDstu2 { myCtx = FhirContext.forDstu2(); myCtx.getRestfulClientFactory().setHttpClient(myHttpClient); + myFirstResponse = true; } @Test public void testServerReturnsAppropriateVersionForDstu2() throws Exception { Conformance conf = new Conformance(); conf.setFhirVersion("0.4.0"); - String msg = myCtx.newXmlParser().encodeResourceToString(conf); + final String confResource = myCtx.newXmlParser().encodeResourceToString(conf); ArgumentCaptor capt = ArgumentCaptor.forClass(HttpUriRequest.class); when(myHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), 200, "OK")); when(myHttpResponse.getEntity().getContentType()).thenReturn(new BasicHeader("content-type", Constants.CT_FHIR_XML + "; charset=UTF-8")); - when(myHttpResponse.getEntity().getContent()).thenReturn(new ReaderInputStream(new StringReader(msg), Charset.forName("UTF-8"))); + when(myHttpResponse.getEntity().getContent()).thenAnswer(new Answer() { + @Override + public InputStream answer(InvocationOnMock theInvocation) throws Throwable { + if (myFirstResponse) { + myFirstResponse=false; + return new ReaderInputStream(new StringReader(confResource), Charset.forName("UTF-8")); + } else { + return new ReaderInputStream(new StringReader(myCtx.newXmlParser().encodeResourceToString(new Patient())), Charset.forName("UTF-8")); + } + }}); when(myHttpClient.execute(capt.capture())).thenReturn(myHttpResponse); myCtx.getRestfulClientFactory().setServerValidationModeEnum(ServerValidationModeEnum.ONCE); - myCtx.newRestfulGenericClient("http://foo"); - myCtx.newRestfulGenericClient("http://foo"); + IGenericClient client = myCtx.newRestfulGenericClient("http://foo"); + + // don't load the conformance until the first time the client is actually used + assertTrue(myFirstResponse); + client.read(new UriDt("http://foo/Patient/123")); + assertFalse(myFirstResponse); + myCtx.newRestfulGenericClient("http://foo").read(new UriDt("http://foo/Patient/123")); + myCtx.newRestfulGenericClient("http://foo").read(new UriDt("http://foo/Patient/123")); - verify(myHttpClient, times(1)).execute(Matchers.any(HttpUriRequest.class)); + // Conformance only loaded once, then 3 reads + verify(myHttpClient, times(4)).execute(Matchers.any(HttpUriRequest.class)); } @Test diff --git a/src/site/xdoc/doc_rest_server_interceptor.xml b/src/site/xdoc/doc_rest_server_interceptor.xml index d5899792a6e..b89b8036bf5 100644 --- a/src/site/xdoc/doc_rest_server_interceptor.xml +++ b/src/site/xdoc/doc_rest_server_interceptor.xml @@ -171,12 +171,6 @@ -

- This interceptor will then produce output similar to the following: -

- - From 745876c1885223e199297f8b1b958ea4a23714e3 Mon Sep 17 00:00:00 2001 From: jamesagnew Date: Thu, 12 Mar 2015 22:19:52 -0400 Subject: [PATCH 2/3] Fix unit test for #108 --- .../ClientServerValidationTestDstu.java | 35 +++++++++++++++---- .../ClientServerValidationTestDstu2.java | 2 +- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/hapi-fhir-structures-dstu/src/test/java/ca/uhn/fhir/rest/client/ClientServerValidationTestDstu.java b/hapi-fhir-structures-dstu/src/test/java/ca/uhn/fhir/rest/client/ClientServerValidationTestDstu.java index 3856a82dcaa..adbb358da8d 100644 --- a/hapi-fhir-structures-dstu/src/test/java/ca/uhn/fhir/rest/client/ClientServerValidationTestDstu.java +++ b/hapi-fhir-structures-dstu/src/test/java/ca/uhn/fhir/rest/client/ClientServerValidationTestDstu.java @@ -4,6 +4,7 @@ import static org.hamcrest.Matchers.*; import static org.junit.Assert.*; import static org.mockito.Mockito.*; +import java.io.InputStream; import java.io.StringReader; import java.nio.charset.Charset; @@ -19,9 +20,13 @@ import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Matchers; import org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.model.dstu.resource.Conformance; +import ca.uhn.fhir.model.dstu.resource.Patient; +import ca.uhn.fhir.model.primitive.UriDt; import ca.uhn.fhir.rest.client.exceptions.FhirClientConnectionException; import ca.uhn.fhir.rest.server.Constants; @@ -30,11 +35,13 @@ public class ClientServerValidationTestDstu { private FhirContext myCtx; private HttpClient myHttpClient; private HttpResponse myHttpResponse; + private boolean myFirstResponse; @Before public void before() { myHttpClient = mock(HttpClient.class, new ReturnsDeepStubs()); myHttpResponse = mock(HttpResponse.class, new ReturnsDeepStubs()); + myFirstResponse = true; myCtx = FhirContext.forDstu1(); myCtx.getRestfulClientFactory().setHttpClient(myHttpClient); @@ -44,21 +51,37 @@ public class ClientServerValidationTestDstu { public void testServerReturnsAppropriateVersionDstu() throws Exception { Conformance conf = new Conformance(); conf.setFhirVersion("0.0.8"); - String msg = myCtx.newXmlParser().encodeResourceToString(conf); + final String confResource = myCtx.newXmlParser().encodeResourceToString(conf); ArgumentCaptor capt = ArgumentCaptor.forClass(HttpUriRequest.class); when(myHttpResponse.getStatusLine()).thenReturn(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), 200, "OK")); when(myHttpResponse.getEntity().getContentType()).thenReturn(new BasicHeader("content-type", Constants.CT_FHIR_XML + "; charset=UTF-8")); - when(myHttpResponse.getEntity().getContent()).thenReturn(new ReaderInputStream(new StringReader(msg), Charset.forName("UTF-8"))); + when(myHttpResponse.getEntity().getContent()).thenAnswer(new Answer() { + @Override + public InputStream answer(InvocationOnMock theInvocation) throws Throwable { + if (myFirstResponse) { + myFirstResponse=false; + return new ReaderInputStream(new StringReader(confResource), Charset.forName("UTF-8")); + } else { + return new ReaderInputStream(new StringReader(myCtx.newXmlParser().encodeResourceToString(new Patient())), Charset.forName("UTF-8")); + } + }}); when(myHttpClient.execute(capt.capture())).thenReturn(myHttpResponse); myCtx.getRestfulClientFactory().setServerValidationModeEnum(ServerValidationModeEnum.ONCE); - myCtx.newRestfulGenericClient("http://foo"); - myCtx.newRestfulGenericClient("http://foo"); + IGenericClient client = myCtx.newRestfulGenericClient("http://foo"); + + // don't load the conformance until the first time the client is actually used + assertTrue(myFirstResponse); + client.read(new UriDt("http://foo/Patient/123")); + assertFalse(myFirstResponse); + myCtx.newRestfulGenericClient("http://foo").read(new UriDt("http://foo/Patient/123")); + myCtx.newRestfulGenericClient("http://foo").read(new UriDt("http://foo/Patient/123")); - verify(myHttpClient, times(1)).execute(Matchers.any(HttpUriRequest.class)); + // Conformance only loaded once, then 3 reads + verify(myHttpClient, times(4)).execute(Matchers.any(HttpUriRequest.class)); } @Test @@ -77,7 +100,7 @@ public class ClientServerValidationTestDstu { myCtx.getRestfulClientFactory().setServerValidationModeEnum(ServerValidationModeEnum.ONCE); try { - myCtx.newRestfulGenericClient("http://foo"); + myCtx.newRestfulGenericClient("http://foo").read(new UriDt("http://foo/Patient/1")); fail(); } catch (FhirClientConnectionException e) { assertThat(e.toString(), containsString("The server at base URL \"http://foo/metadata\" returned a conformance statement indicating that it supports FHIR version \"0.4.0\" which corresponds to DSTU2, but this client is configured to use DSTU1 (via the FhirContext)")); diff --git a/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/rest/client/ClientServerValidationTestDstu2.java b/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/rest/client/ClientServerValidationTestDstu2.java index 5e446f2b72b..9d37ed01fac 100644 --- a/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/rest/client/ClientServerValidationTestDstu2.java +++ b/hapi-fhir-structures-dstu2/src/test/java/ca/uhn/fhir/rest/client/ClientServerValidationTestDstu2.java @@ -104,7 +104,7 @@ public class ClientServerValidationTestDstu2 { myCtx.getRestfulClientFactory().setServerValidationModeEnum(ServerValidationModeEnum.ONCE); try { - myCtx.newRestfulGenericClient("http://foo"); + myCtx.newRestfulGenericClient("http://foo").read(new UriDt("http://foo/Patient/123")); fail(); } catch (FhirClientConnectionException e) { String out = e.toString(); From 3c6febb668746c628c7c146861234cd951489df7 Mon Sep 17 00:00:00 2001 From: jamesagnew Date: Fri, 13 Mar 2015 08:34:52 -0400 Subject: [PATCH 3/3] Preparing for 0.9 release --- examples/pom.xml | 6 +- hapi-deployable-pom/pom.xml | 2 +- hapi-fhir-android/dependency-reduced-pom.xml | 2 +- hapi-fhir-android/pom.xml | 8 +- hapi-fhir-android/pom.xml.versionsBackup | 180 +++++++++++++ hapi-fhir-base/pom.xml | 2 +- .../fhir/rest/server/BundleInclusionRule.java | 20 ++ .../ExceptionHandlingInterceptor.java | 20 ++ hapi-fhir-base/testmindeps/pom.xml | 8 +- hapi-fhir-dist/pom.xml | 10 +- hapi-fhir-jpaserver-base/pom.xml | 14 +- hapi-fhir-jpaserver-example/pom.xml | 10 +- .../pom.xml.versionsBackup | 238 +++++++++++++++++ hapi-fhir-jpaserver-uhnfhirtest/pom.xml | 10 +- .../pom.xml.versionsBackup | 239 ++++++++++++++++++ hapi-fhir-structures-dev/pom.xml | 6 +- hapi-fhir-structures-dstu/pom.xml | 6 +- hapi-fhir-structures-dstu2/pom.xml | 6 +- hapi-fhir-testpage-overlay/pom.xml | 16 +- hapi-tinder-plugin/pom.xml | 4 +- hapi-tinder-test/pom.xml | 10 +- pom.xml | 4 +- restful-server-example-test/pom.xml | 6 +- restful-server-example/pom.xml | 6 +- 24 files changed, 765 insertions(+), 68 deletions(-) create mode 100644 hapi-fhir-android/pom.xml.versionsBackup create mode 100644 hapi-fhir-jpaserver-example/pom.xml.versionsBackup create mode 100644 hapi-fhir-jpaserver-uhnfhirtest/pom.xml.versionsBackup diff --git a/examples/pom.xml b/examples/pom.xml index 8e323c00995..51321460414 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 0.9-SNAPSHOT + 0.9 ../pom.xml @@ -17,12 +17,12 @@ ca.uhn.hapi.fhir hapi-fhir-base - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-structures-dstu2 - 0.9-SNAPSHOT + 0.9 javax.servlet diff --git a/hapi-deployable-pom/pom.xml b/hapi-deployable-pom/pom.xml index 004eb91647f..3bd32c30fbb 100644 --- a/hapi-deployable-pom/pom.xml +++ b/hapi-deployable-pom/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 0.9-SNAPSHOT + 0.9 ../pom.xml diff --git a/hapi-fhir-android/dependency-reduced-pom.xml b/hapi-fhir-android/dependency-reduced-pom.xml index 44b2146062e..4736ef5b815 100644 --- a/hapi-fhir-android/dependency-reduced-pom.xml +++ b/hapi-fhir-android/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ hapi-fhir ca.uhn.hapi.fhir - 0.9-SNAPSHOT + 0.9 4.0.0 hapi-fhir-android diff --git a/hapi-fhir-android/pom.xml b/hapi-fhir-android/pom.xml index ce409b3b9da..b35b5818e41 100644 --- a/hapi-fhir-android/pom.xml +++ b/hapi-fhir-android/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 0.9-SNAPSHOT + 0.9 ../pom.xml @@ -18,7 +18,7 @@ ca.uhn.hapi.fhir hapi-fhir-base - 0.9-SNAPSHOT + 0.9 org.apache.httpcomponents @@ -37,12 +37,12 @@ ca.uhn.hapi.fhir hapi-fhir-structures-dstu - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-structures-dstu2 - 0.9-SNAPSHOT + 0.9 com.phloc diff --git a/hapi-fhir-android/pom.xml.versionsBackup b/hapi-fhir-android/pom.xml.versionsBackup new file mode 100644 index 00000000000..ce409b3b9da --- /dev/null +++ b/hapi-fhir-android/pom.xml.versionsBackup @@ -0,0 +1,180 @@ + + 4.0.0 + + + ca.uhn.hapi.fhir + hapi-fhir + 0.9-SNAPSHOT + ../pom.xml + + + hapi-fhir-android + jar + + HAPI FHIR - Android + + + + ca.uhn.hapi.fhir + hapi-fhir-base + 0.9-SNAPSHOT + + + org.apache.httpcomponents + httpclient + + + org.apache.httpcomponents + httpcore + + + commons-codec + commons-codec + + + + + ca.uhn.hapi.fhir + hapi-fhir-structures-dstu + 0.9-SNAPSHOT + + + ca.uhn.hapi.fhir + hapi-fhir-structures-dstu2 + 0.9-SNAPSHOT + + + com.phloc + phloc-schematron + ${phloc_schematron_version} + + + com.phloc + phloc-commons + ${phloc_commons_version} + + + org.apache.httpcomponents + httpclient-android + 4.3.5.1 + + + org.slf4j + slf4j-android + ${slf4j_version} + + + + + commons-io + commons-io + ${commons_io_version} + + + + + javax.servlet + javax.servlet-api + ${servlet_api_version} + compile + + + + + junit + junit + ${junit_version} + test + + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + org.apache.maven.plugins + maven-failsafe-plugin + ${maven_failsafe_plugin_version} + + compile+runtime + + ${project.build.directory}/hapi-fhir-android-${project.version}.jar + + + + + + integration-test + verify + + + + + + org.apache.maven.plugins + maven-shade-plugin + 2.3 + + + package + + shade + + + true + + + + commons-codec:commons-codec + commons-io:commons-io + ca.uhn.hapi.fhir:hapi-fhir-base + ca.uhn.hapi.fhir:hapi-fhir-structures-dstu + ca.uhn.hapi.fhir:hapi-fhir-structures-dstu2 + org.glassfish:javax.json + org.codehaus.woodstox:woodstox-core-asl + javax.xml.stream:stax-api + org.codehaus.woodstox:stax2-api + org.slf4j:slf4j* + org.apache.commons:* + org.apache.httpcomponents:* + org.glassfish:javax.json + + + + + javax.xml.stream + ca.uhn.fhir.repackage.javax.xml.stream + + + javax.json + ca.uhn.fhir.repackage.javax.json + + + + + ca.uhn.hapi.fhir:hapi-fhir-base + + ca/uhn/fhir/model/dstu/valueset/** + **/*.java + + + + + + + + + + diff --git a/hapi-fhir-base/pom.xml b/hapi-fhir-base/pom.xml index a6d5201e5f6..5fc6337bf7c 100644 --- a/hapi-fhir-base/pom.xml +++ b/hapi-fhir-base/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 0.9-SNAPSHOT + 0.9 ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/BundleInclusionRule.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/BundleInclusionRule.java index 87f8d46049c..e589abea3ea 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/BundleInclusionRule.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/BundleInclusionRule.java @@ -1,5 +1,25 @@ package ca.uhn.fhir.rest.server; +/* + * #%L + * HAPI FHIR - Core Library + * %% + * Copyright (C) 2014 - 2015 University Health Network + * %% + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * #L% + */ + import ca.uhn.fhir.model.api.Include; import ca.uhn.fhir.util.ResourceReferenceInfo; diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/interceptor/ExceptionHandlingInterceptor.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/interceptor/ExceptionHandlingInterceptor.java index 536aa9ba21b..04d949d7f32 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/interceptor/ExceptionHandlingInterceptor.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/server/interceptor/ExceptionHandlingInterceptor.java @@ -1,5 +1,25 @@ package ca.uhn.fhir.rest.server.interceptor; +/* + * #%L + * HAPI FHIR - Core Library + * %% + * Copyright (C) 2014 - 2015 University Health Network + * %% + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * #L% + */ + import java.io.IOException; import javax.servlet.ServletException; diff --git a/hapi-fhir-base/testmindeps/pom.xml b/hapi-fhir-base/testmindeps/pom.xml index af347da2e34..728f8c0da17 100644 --- a/hapi-fhir-base/testmindeps/pom.xml +++ b/hapi-fhir-base/testmindeps/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 0.9-SNAPSHOT + 0.9 ../../pom.xml @@ -40,7 +40,7 @@ ca.uhn.hapi.fhir hapi-fhir-base - 0.9-SNAPSHOT + 0.9 woodstox-core-asl @@ -51,7 +51,7 @@ ca.uhn.hapi.fhir hapi-fhir-structures-dstu - 0.9-SNAPSHOT + 0.9 woodstox-core-asl @@ -62,7 +62,7 @@ ca.uhn.hapi.fhir hapi-fhir-structures-dstu2 - 0.9-SNAPSHOT + 0.9 woodstox-core-asl diff --git a/hapi-fhir-dist/pom.xml b/hapi-fhir-dist/pom.xml index 9dd2bfd1632..9a9d12067e9 100644 --- a/hapi-fhir-dist/pom.xml +++ b/hapi-fhir-dist/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 0.9-SNAPSHOT + 0.9 ../pom.xml @@ -18,17 +18,17 @@ ca.uhn.hapi.fhir hapi-fhir-base - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-structures-dstu - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir - hapi-fhir-structures-dev - 0.9-SNAPSHOT + hapi-fhir-structures-dstu2 + 0.9 ch.qos.logback diff --git a/hapi-fhir-jpaserver-base/pom.xml b/hapi-fhir-jpaserver-base/pom.xml index 61214569e67..e449e2ada0d 100644 --- a/hapi-fhir-jpaserver-base/pom.xml +++ b/hapi-fhir-jpaserver-base/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 0.9-SNAPSHOT + 0.9 ../hapi-deployable-pom/pom.xml @@ -31,7 +31,7 @@ ca.uhn.hapi.fhir hapi-fhir-base - 0.9-SNAPSHOT + 0.9 commons-logging @@ -42,12 +42,12 @@ ca.uhn.hapi.fhir hapi-fhir-structures-dstu - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-structures-dstu2 - 0.9-SNAPSHOT + 0.9 @@ -371,7 +371,7 @@ ca.uhn.hapi.fhir hapi-tinder-plugin - 0.9-SNAPSHOT + 0.9 build_dstu1 @@ -402,12 +402,12 @@ ca.uhn.hapi.fhir hapi-fhir-structures-dstu - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-structures-dstu2 - 0.9-SNAPSHOT + 0.9 diff --git a/hapi-fhir-jpaserver-example/pom.xml b/hapi-fhir-jpaserver-example/pom.xml index b98052fe2c2..85f24bb0699 100644 --- a/hapi-fhir-jpaserver-example/pom.xml +++ b/hapi-fhir-jpaserver-example/pom.xml @@ -38,19 +38,19 @@ ca.uhn.hapi.fhir hapi-fhir-base - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-structures-dstu - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-structures-dstu2 - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-testpage-overlay - 0.9-SNAPSHOT + 0.9 war provided diff --git a/hapi-fhir-jpaserver-example/pom.xml.versionsBackup b/hapi-fhir-jpaserver-example/pom.xml.versionsBackup new file mode 100644 index 00000000000..b98052fe2c2 --- /dev/null +++ b/hapi-fhir-jpaserver-example/pom.xml.versionsBackup @@ -0,0 +1,238 @@ + + 4.0.0 + + + + org.sonatype.oss + oss-parent + 7 + + + ca.uhn.hapi.example + hapi-fhir-jpaserver-example + 0.9-SNAPSHOT + war + + HAPI FHIR JPA Server - Example + + + + oss-snapshots + + true + + https://oss.sonatype.org/content/repositories/snapshots/ + + + + + + + + ca.uhn.hapi.fhir + hapi-fhir-base + 0.9-SNAPSHOT + + + + + ca.uhn.hapi.fhir + hapi-fhir-structures-dstu + 0.9-SNAPSHOT + + + ca.uhn.hapi.fhir + hapi-fhir-structures-dstu2 + 0.9-SNAPSHOT + + + + + ca.uhn.hapi.fhir + hapi-fhir-jpaserver-base + 0.9-SNAPSHOT + + + + + ca.uhn.hapi.fhir + hapi-fhir-testpage-overlay + 0.9-SNAPSHOT + war + provided + + + + + ch.qos.logback + logback-classic + 1.1.2 + + + + + javax.servlet + javax.servlet-api + 3.0.1 + provided + + + + + org.thymeleaf + thymeleaf + 2.1.4.RELEASE + + + + + org.ebaysf.web + cors-filter + 1.0.1 + + + servlet-api + javax.servlet + + + + + + + org.springframework + spring-web + 4.1.3.RELEASE + provided + + + + + org.apache.commons + commons-dbcp2 + 2.0.1 + + + + + org.apache.derby + derby + 10.11.1.1 + + + org.apache.derby + derbynet + 10.11.1.1 + + + org.apache.derby + derbyclient + 10.11.1.1 + + + + + + + + + hapi-fhir-jpaserver-example + + + + + + org.eclipse.jetty + jetty-maven-plugin + 9.1.1.v20140108 + + + /hapi-fhir-jpaserver-example + + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + 1.6 + 1.6 + + + + + + org.apache.maven.plugins + maven-war-plugin + + + + ca.uhn.hapi.fhir + hapi-fhir-testpage-overlay + + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + false + + + + + + + diff --git a/hapi-fhir-jpaserver-uhnfhirtest/pom.xml b/hapi-fhir-jpaserver-uhnfhirtest/pom.xml index e2b7cbfd7bb..7a482d63add 100644 --- a/hapi-fhir-jpaserver-uhnfhirtest/pom.xml +++ b/hapi-fhir-jpaserver-uhnfhirtest/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 0.9-SNAPSHOT + 0.9 ../pom.xml @@ -18,22 +18,22 @@ ca.uhn.hapi.fhir hapi-fhir-jpaserver-base - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-structures-dstu - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-structures-dstu2 - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-testpage-overlay - 0.9-SNAPSHOT + 0.9 war provided diff --git a/hapi-fhir-jpaserver-uhnfhirtest/pom.xml.versionsBackup b/hapi-fhir-jpaserver-uhnfhirtest/pom.xml.versionsBackup new file mode 100644 index 00000000000..e2b7cbfd7bb --- /dev/null +++ b/hapi-fhir-jpaserver-uhnfhirtest/pom.xml.versionsBackup @@ -0,0 +1,239 @@ + + 4.0.0 + + + ca.uhn.hapi.fhir + hapi-fhir + 0.9-SNAPSHOT + ../pom.xml + + + hapi-fhir-jpaserver-uhnfhirtest + war + + HAPI FHIR - fhirtest.uhn.ca Deployable WAR + + + + ca.uhn.hapi.fhir + hapi-fhir-jpaserver-base + 0.9-SNAPSHOT + + + ca.uhn.hapi.fhir + hapi-fhir-structures-dstu + 0.9-SNAPSHOT + + + ca.uhn.hapi.fhir + hapi-fhir-structures-dstu2 + 0.9-SNAPSHOT + + + ca.uhn.hapi.fhir + hapi-fhir-testpage-overlay + 0.9-SNAPSHOT + war + provided + + + + com.phloc + phloc-schematron + ${phloc_schematron_version} + + + com.phloc + phloc-commons + ${phloc_commons_version} + + + + + + org.springframework + spring-web + ${spring_version} + + + + org.hsqldb + hsqldb + 2.3.2 + provided + + + + org.apache.derby + derby + ${derby_version} + + + org.apache.derby + derbynet + ${derby_version} + + + org.apache.derby + derbyclient + ${derby_version} + + + + org.thymeleaf + thymeleaf + ${thymeleaf-version} + + + ch.qos.logback + logback-classic + ${logback_version} + + + org.slf4j + jcl-over-slf4j + ${slf4j_version} + + + org.slf4j + slf4j-api + ${slf4j_version} + + + + com.google.guava + guava + ${guava_version} + + + + javax.servlet + javax.servlet-api + 3.1.0 + provided + + + + + org.eclipse.jetty + jetty-servlets + ${jetty_version} + test + + + org.eclipse.jetty + jetty-webapp + ${jetty_version} + test + + + org.eclipse.jetty + jetty-servlet + ${jetty_version} + test + + + org.eclipse.jetty + jetty-server + ${jetty_version} + test + + + org.eclipse.jetty + jetty-util + ${jetty_version} + test + + + + + org.apache.commons + commons-dbcp2 + 2.0.1 + + + + + org.ebaysf.web + cors-filter + ${ebay_cors_filter_version} + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.7 + 1.7 + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + + + [0.4,) + + + + + + + + + + + + + + + + + org.apache.maven.plugins + maven-war-plugin + + + + ca.uhn.hapi.fhir + hapi-fhir-testpage-overlay + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + hapi-fhir-jpaserver + + + diff --git a/hapi-fhir-structures-dev/pom.xml b/hapi-fhir-structures-dev/pom.xml index 5f219160ff9..d9d5919be83 100644 --- a/hapi-fhir-structures-dev/pom.xml +++ b/hapi-fhir-structures-dev/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 0.9-SNAPSHOT + 0.9 ../hapi-deployable-pom/pom.xml @@ -18,7 +18,7 @@ ca.uhn.hapi.fhir hapi-fhir-base - 0.9-SNAPSHOT + 0.9 @@ -183,7 +183,7 @@ ca.uhn.hapi.fhir hapi-tinder-plugin - 0.9-SNAPSHOT + 0.9 diff --git a/hapi-fhir-structures-dstu/pom.xml b/hapi-fhir-structures-dstu/pom.xml index 2198dff5242..13fb73bc384 100644 --- a/hapi-fhir-structures-dstu/pom.xml +++ b/hapi-fhir-structures-dstu/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 0.9-SNAPSHOT + 0.9 ../hapi-deployable-pom/pom.xml @@ -18,7 +18,7 @@ ca.uhn.hapi.fhir hapi-fhir-base - 0.9-SNAPSHOT + 0.9 @@ -195,7 +195,7 @@ ca.uhn.hapi.fhir hapi-tinder-plugin - 0.9-SNAPSHOT + 0.9 diff --git a/hapi-fhir-structures-dstu2/pom.xml b/hapi-fhir-structures-dstu2/pom.xml index 4524767e7ea..0bcee1394a5 100644 --- a/hapi-fhir-structures-dstu2/pom.xml +++ b/hapi-fhir-structures-dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 0.9-SNAPSHOT + 0.9 ../hapi-deployable-pom/pom.xml @@ -18,7 +18,7 @@ ca.uhn.hapi.fhir hapi-fhir-base - 0.9-SNAPSHOT + 0.9 @@ -183,7 +183,7 @@ ca.uhn.hapi.fhir hapi-tinder-plugin - 0.9-SNAPSHOT + 0.9 diff --git a/hapi-fhir-testpage-overlay/pom.xml b/hapi-fhir-testpage-overlay/pom.xml index ec2ff14ffbd..9a2df87045a 100644 --- a/hapi-fhir-testpage-overlay/pom.xml +++ b/hapi-fhir-testpage-overlay/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 0.9-SNAPSHOT + 0.9 ../pom.xml @@ -27,28 +27,28 @@ ca.uhn.hapi.fhir hapi-fhir-base - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-jpaserver-base - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-structures-dstu - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-structures-dstu2 - 0.9-SNAPSHOT + 0.9 - + org.thymeleaf thymeleaf diff --git a/hapi-tinder-plugin/pom.xml b/hapi-tinder-plugin/pom.xml index f32293b6a50..cc6a23367fb 100644 --- a/hapi-tinder-plugin/pom.xml +++ b/hapi-tinder-plugin/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 0.9-SNAPSHOT + 0.9 ../pom.xml @@ -19,7 +19,7 @@ ca.uhn.hapi.fhir hapi-fhir-base - 0.9-SNAPSHOT + 0.9 hapi-fhir-jpaserver-base hapi-fhir-jpaserver-example restful-server-example diff --git a/restful-server-example-test/pom.xml b/restful-server-example-test/pom.xml index d71174d81d1..05fd0d64571 100644 --- a/restful-server-example-test/pom.xml +++ b/restful-server-example-test/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 0.9-SNAPSHOT + 0.9 ../pom.xml @@ -17,12 +17,12 @@ ca.uhn.hapi.fhir hapi-fhir-base - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-structures-dstu - 0.9-SNAPSHOT + 0.9 test diff --git a/restful-server-example/pom.xml b/restful-server-example/pom.xml index 74994fd5057..42fc5d498dc 100644 --- a/restful-server-example/pom.xml +++ b/restful-server-example/pom.xml @@ -35,20 +35,20 @@ ca.uhn.hapi.fhir hapi-fhir-base - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-structures-dstu - 0.9-SNAPSHOT + 0.9 ca.uhn.hapi.fhir hapi-fhir-testpage-overlay - 0.9-SNAPSHOT + 0.9 war provided