From e1142f4043190a970c0fece44995a3f91c19a43d Mon Sep 17 00:00:00 2001 From: jamesagnew Date: Thu, 2 Apr 2020 05:31:12 -0400 Subject: [PATCH 01/20] Start work on subscription cleanup --- .../fhir/jpa/dao/DaoSearchParamProvider.java | 3 + ...aramConfig.java => SearchParamConfig.java} | 31 +++++++++- .../config/SearchParamDstu2Config.java | 55 ---------------- .../config/SearchParamDstu3Config.java | 47 -------------- .../config/SearchParamR4Config.java | 47 -------------- ...ionConfig.java => SubscriptionConfig.java} | 36 ++++++++--- .../config/SubscriptionDstu2Config.java | 29 --------- .../config/SubscriptionDstu3Config.java | 39 ------------ .../module/config/SubscriptionR4Config.java | 40 ------------ .../FhirClientResourceRetriever.java | 1 - .../FhirClientSearchParamProvider.java | 4 +- .../FhirClientSubscriptionProvider.java | 1 - .../StandaloneSubscriptionConfig.java | 62 +++++++++++++++++++ .../StandaloneSubscriptionMessageHandler.java | 1 - .../module/config/TestSubscriptionConfig.java | 16 +++-- .../config/TestSubscriptionDstu3Config.java | 12 +++- .../ResponseSizeCapturingInterceptor.java | 20 ++++++ 17 files changed, 167 insertions(+), 277 deletions(-) rename hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/{BaseSearchParamConfig.java => SearchParamConfig.java} (55%) delete mode 100644 hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamDstu2Config.java delete mode 100644 hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamDstu3Config.java delete mode 100644 hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamR4Config.java rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/{BaseSubscriptionConfig.java => SubscriptionConfig.java} (61%) delete mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionDstu2Config.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionDstu3Config.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionR4Config.java create mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/StandaloneSubscriptionConfig.java diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/DaoSearchParamProvider.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/DaoSearchParamProvider.java index dcb3d06dbae..ec085f1b5a5 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/DaoSearchParamProvider.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/DaoSearchParamProvider.java @@ -27,12 +27,15 @@ import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum; import ca.uhn.fhir.rest.api.server.IBundleProvider; import org.hl7.fhir.instance.model.api.IBaseResource; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Service; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.support.TransactionTemplate; @Service +@Primary public class DaoSearchParamProvider implements ISearchParamProvider { + @Autowired private PlatformTransactionManager myTxManager; @Autowired diff --git a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/BaseSearchParamConfig.java b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamConfig.java similarity index 55% rename from hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/BaseSearchParamConfig.java rename to hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamConfig.java index ecc3d1be305..dc937e0f6fc 100644 --- a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/BaseSearchParamConfig.java +++ b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamConfig.java @@ -20,8 +20,15 @@ package ca.uhn.fhir.jpa.searchparam.config; * #L% */ +import ca.uhn.fhir.context.FhirContext; +import ca.uhn.fhir.jpa.searchparam.extractor.ISearchParamExtractor; +import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorDstu2; +import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorDstu3; +import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorR4; +import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorR5; import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamRegistry; import ca.uhn.fhir.jpa.searchparam.registry.SearchParamRegistryImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -30,7 +37,29 @@ import org.springframework.scheduling.annotation.EnableScheduling; @Configuration @EnableScheduling @ComponentScan(basePackages = {"ca.uhn.fhir.jpa.searchparam"}) -abstract public class BaseSearchParamConfig { +public class SearchParamConfig { + + @Autowired + private FhirContext myFhirContext; + + @Bean + public ISearchParamExtractor searchParamExtractor() { + switch (myFhirContext.getVersion().getVersion()) { + + case DSTU2: + return new SearchParamExtractorDstu2(); + case DSTU3: + return new SearchParamExtractorDstu3(); + case R4: + return new SearchParamExtractorR4(); + case R5: + return new SearchParamExtractorR5(); + case DSTU2_HL7ORG: + case DSTU2_1: + default: + throw new IllegalStateException("Can not handle version: " + myFhirContext.getVersion().getVersion()); + } + } @Bean public ISearchParamRegistry searchParamRegistry() { diff --git a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamDstu2Config.java b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamDstu2Config.java deleted file mode 100644 index a01b4b814b4..00000000000 --- a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamDstu2Config.java +++ /dev/null @@ -1,55 +0,0 @@ -package ca.uhn.fhir.jpa.searchparam.config; - -/*- - * #%L - * HAPI FHIR Search Parameters - * %% - * Copyright (C) 2014 - 2020 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.context.FhirContext; -import ca.uhn.fhir.context.ParserOptions; -import ca.uhn.fhir.context.support.IValidationSupport; -import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorDstu2; -import ca.uhn.fhir.context.support.DefaultProfileValidationSupport; -import org.springframework.beans.factory.annotation.Autowire; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Primary; - -public class SearchParamDstu2Config extends BaseSearchParamConfig { - @Bean - @Primary - public FhirContext fhirContextDstu2() { - FhirContext retVal = FhirContext.forDstu2(); - - // Don't strip versions in some places - ParserOptions parserOptions = retVal.getParserOptions(); - parserOptions.setDontStripVersionsFromReferencesAtPaths("AuditEvent.entity.reference"); - - return retVal; - } - - @Bean(autowire = Autowire.BY_TYPE) - public SearchParamExtractorDstu2 searchParamExtractor() { - return new SearchParamExtractorDstu2(); - } - - @Primary - @Bean(autowire = Autowire.BY_NAME, name = "myJpaValidationSupportChain") - public IValidationSupport validationSupportChainDstu2() { - return new DefaultProfileValidationSupport(fhirContextDstu2()); - } -} diff --git a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamDstu3Config.java b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamDstu3Config.java deleted file mode 100644 index 38b2eed2bb8..00000000000 --- a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamDstu3Config.java +++ /dev/null @@ -1,47 +0,0 @@ -package ca.uhn.fhir.jpa.searchparam.config; - -/*- - * #%L - * HAPI FHIR Search Parameters - * %% - * Copyright (C) 2014 - 2020 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.context.FhirContext; -import ca.uhn.fhir.context.ParserOptions; -import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorDstu3; -import org.springframework.beans.factory.annotation.Autowire; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Primary; - -public class SearchParamDstu3Config extends BaseSearchParamConfig { - @Bean - @Primary - public FhirContext fhirContextDstu3() { - FhirContext retVal = FhirContext.forDstu3(); - - // Don't strip versions in some places - ParserOptions parserOptions = retVal.getParserOptions(); - parserOptions.setDontStripVersionsFromReferencesAtPaths("AuditEvent.entity.reference"); - - return retVal; - } - - @Bean(autowire = Autowire.BY_TYPE) - public SearchParamExtractorDstu3 searchParamExtractor() { - return new SearchParamExtractorDstu3(); - } -} diff --git a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamR4Config.java b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamR4Config.java deleted file mode 100644 index cf7e19f4973..00000000000 --- a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/config/SearchParamR4Config.java +++ /dev/null @@ -1,47 +0,0 @@ -package ca.uhn.fhir.jpa.searchparam.config; - -/*- - * #%L - * HAPI FHIR Search Parameters - * %% - * Copyright (C) 2014 - 2020 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.context.FhirContext; -import ca.uhn.fhir.context.ParserOptions; -import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorR4; -import org.springframework.beans.factory.annotation.Autowire; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Primary; - -public class SearchParamR4Config extends BaseSearchParamConfig { - @Bean - @Primary - public FhirContext fhirContextR4() { - FhirContext retVal = FhirContext.forR4(); - - // Don't strip versions in some places - ParserOptions parserOptions = retVal.getParserOptions(); - parserOptions.setDontStripVersionsFromReferencesAtPaths("AuditEvent.entity.reference"); - - return retVal; - } - - @Bean(autowire = Autowire.BY_TYPE) - public SearchParamExtractorR4 searchParamExtractor() { - return new SearchParamExtractorR4(); - } -} diff --git a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/BaseSubscriptionConfig.java b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionConfig.java similarity index 61% rename from hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/BaseSubscriptionConfig.java rename to hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionConfig.java index 2a45b7a99f5..e375d9996b4 100644 --- a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/BaseSubscriptionConfig.java +++ b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionConfig.java @@ -20,31 +20,51 @@ package ca.uhn.fhir.jpa.subscription.module.config; * #L% */ -import ca.uhn.fhir.interceptor.executor.InterceptorService; +import ca.uhn.fhir.context.FhirContext; +import ca.uhn.fhir.context.support.IValidationSupport; +import ca.uhn.fhir.jpa.searchparam.config.SearchParamConfig; import ca.uhn.fhir.jpa.subscription.module.cache.LinkedBlockingQueueSubscribableChannelFactory; import ca.uhn.fhir.jpa.subscription.module.channel.ISubscribableChannelFactory; import ca.uhn.fhir.jpa.subscription.module.channel.SubscriptionChannelFactory; +import org.springframework.beans.factory.annotation.Autowire; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.FilterType; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.Primary; import org.springframework.scheduling.annotation.EnableScheduling; @Configuration +@Import({SearchParamConfig.class}) @EnableScheduling -@ComponentScan(basePackages = {"ca.uhn.fhir.jpa.subscription.module"}) -public abstract class BaseSubscriptionConfig { +@ComponentScan( + basePackages = {"ca.uhn.fhir.jpa.subscription.module"}, + excludeFilters = { + @ComponentScan.Filter(type = FilterType.REGEX, pattern = "ca.uhn.fhir.jpa.subscription.module.standalone.*") + } +) +public class SubscriptionConfig { + + @Autowired + private FhirContext myFhirContext; + + @Primary + @Bean(autowire = Autowire.BY_NAME, name = "myJpaValidationSupportChain") + public IValidationSupport validationSupportChainR4() { + return myFhirContext.getValidationSupport(); + } + @Bean public ISubscribableChannelFactory subscribableChannelFactory() { return new LinkedBlockingQueueSubscribableChannelFactory(); } - @Bean - public InterceptorService interceptorRegistry() { - return new InterceptorService("hapi-fhir-jpa-subscription"); - } - @Bean public SubscriptionChannelFactory subscriptionChannelFactory() { return new SubscriptionChannelFactory(); } + + } diff --git a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionDstu2Config.java b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionDstu2Config.java deleted file mode 100644 index cad255ac6b5..00000000000 --- a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionDstu2Config.java +++ /dev/null @@ -1,29 +0,0 @@ -package ca.uhn.fhir.jpa.subscription.module.config; - -/*- - * #%L - * HAPI FHIR Subscription Server - * %% - * Copyright (C) 2014 - 2020 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.jpa.searchparam.config.SearchParamDstu2Config; -import ca.uhn.fhir.jpa.searchparam.config.SearchParamDstu3Config; -import org.springframework.context.annotation.Import; - -@Import({SearchParamDstu2Config.class}) -public class SubscriptionDstu2Config extends BaseSubscriptionConfig { -} diff --git a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionDstu3Config.java b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionDstu3Config.java deleted file mode 100644 index 80f53b7f0ba..00000000000 --- a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionDstu3Config.java +++ /dev/null @@ -1,39 +0,0 @@ -package ca.uhn.fhir.jpa.subscription.module.config; - -/*- - * #%L - * HAPI FHIR Subscription Server - * %% - * Copyright (C) 2014 - 2020 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.context.FhirContext; -import ca.uhn.fhir.context.support.IValidationSupport; -import ca.uhn.fhir.jpa.searchparam.config.SearchParamDstu3Config; -import ca.uhn.fhir.context.support.DefaultProfileValidationSupport; -import org.springframework.beans.factory.annotation.Autowire; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Import; -import org.springframework.context.annotation.Primary; - -@Import({SearchParamDstu3Config.class}) -public class SubscriptionDstu3Config extends BaseSubscriptionConfig { - @Primary - @Bean(autowire = Autowire.BY_NAME, name = "myJpaValidationSupportChain") - public IValidationSupport validationSupportChainDstu3() { - return new DefaultProfileValidationSupport(FhirContext.forDstu3()); - } -} diff --git a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionR4Config.java b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionR4Config.java deleted file mode 100644 index 47f634781aa..00000000000 --- a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/config/SubscriptionR4Config.java +++ /dev/null @@ -1,40 +0,0 @@ -package ca.uhn.fhir.jpa.subscription.module.config; - -/*- - * #%L - * HAPI FHIR Subscription Server - * %% - * Copyright (C) 2014 - 2020 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.context.FhirContext; -import ca.uhn.fhir.context.support.IValidationSupport; -import ca.uhn.fhir.jpa.searchparam.config.SearchParamR4Config; -import ca.uhn.fhir.context.support.DefaultProfileValidationSupport; -import org.springframework.beans.factory.annotation.Autowire; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Import; -import org.springframework.context.annotation.Primary; - -@Import({SearchParamR4Config.class}) -public class SubscriptionR4Config extends BaseSubscriptionConfig { - - @Primary - @Bean(autowire = Autowire.BY_NAME, name = "myJpaValidationSupportChain") - public IValidationSupport validationSupportChainR4() { - return new DefaultProfileValidationSupport(FhirContext.forR4()); - } -} diff --git a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientResourceRetriever.java b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientResourceRetriever.java index d112209ae2d..c7a27d05851 100644 --- a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientResourceRetriever.java +++ b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientResourceRetriever.java @@ -32,7 +32,6 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -@Service public class FhirClientResourceRetriever implements IResourceRetriever { private static final Logger ourLog = LoggerFactory.getLogger(FhirClientResourceRetriever.class); diff --git a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientSearchParamProvider.java b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientSearchParamProvider.java index 3d9b3aa64ed..45928ed71f1 100644 --- a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientSearchParamProvider.java +++ b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientSearchParamProvider.java @@ -37,12 +37,14 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -@Service public class FhirClientSearchParamProvider implements ISearchParamProvider { private static final Logger ourLog = LoggerFactory.getLogger(FhirClientSearchParamProvider.class); private IGenericClient myClient; + /** + * Constructor + */ @Autowired public FhirClientSearchParamProvider(IGenericClient theClient) { myClient = theClient; diff --git a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientSubscriptionProvider.java b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientSubscriptionProvider.java index 50847f4fe92..1e8e8cb0031 100644 --- a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientSubscriptionProvider.java +++ b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientSubscriptionProvider.java @@ -35,7 +35,6 @@ import org.hl7.fhir.instance.model.api.IBaseResource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -@Service public class FhirClientSubscriptionProvider implements ISubscriptionProvider { @Autowired private FhirContext myFhirContext; diff --git a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/StandaloneSubscriptionConfig.java b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/StandaloneSubscriptionConfig.java new file mode 100644 index 00000000000..e798406255a --- /dev/null +++ b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/StandaloneSubscriptionConfig.java @@ -0,0 +1,62 @@ +package ca.uhn.fhir.jpa.subscription.module.standalone; + +/*- + * #%L + * HAPI FHIR Subscription Server + * %% + * Copyright (C) 2014 - 2020 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.rest.client.api.IGenericClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +// FIXME: rename +@Configuration +public class StandaloneSubscriptionConfig { + + /** + * Constructor + */ + public StandaloneSubscriptionConfig() { + super(); + } + + @Autowired + private IGenericClient myClient; + + @Bean + public FhirClientResourceRetriever fhirClientResourceRetriever() { + return new FhirClientResourceRetriever(); + } + + @Bean + public FhirClientSearchParamProvider fhirClientSearchParamProvider() { + return new FhirClientSearchParamProvider(myClient); + } + + @Bean + public FhirClientSubscriptionProvider fhirClientSubscriptionProvider() { + return new FhirClientSubscriptionProvider(myClient); + } + + @Bean + public StandaloneSubscriptionMessageHandler fhirClientSubscriptionMessageHandler() { + return new StandaloneSubscriptionMessageHandler(); + } + +} diff --git a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/StandaloneSubscriptionMessageHandler.java b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/StandaloneSubscriptionMessageHandler.java index 4a62d37baf1..8841696cccc 100644 --- a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/StandaloneSubscriptionMessageHandler.java +++ b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/StandaloneSubscriptionMessageHandler.java @@ -39,7 +39,6 @@ import org.springframework.messaging.MessageHandler; import org.springframework.messaging.MessagingException; import org.springframework.stereotype.Service; -@Service public class StandaloneSubscriptionMessageHandler implements MessageHandler { private static final Logger ourLog = LoggerFactory.getLogger(StandaloneSubscriptionMessageHandler.class); diff --git a/hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/config/TestSubscriptionConfig.java b/hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/config/TestSubscriptionConfig.java index 2d3ff058918..bab13ab95eb 100644 --- a/hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/config/TestSubscriptionConfig.java +++ b/hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/config/TestSubscriptionConfig.java @@ -1,22 +1,23 @@ package ca.uhn.fhir.jpa.subscription.module.config; -import ca.uhn.fhir.context.FhirContext; +import ca.uhn.fhir.interceptor.executor.InterceptorService; import ca.uhn.fhir.jpa.model.entity.ModelConfig; import ca.uhn.fhir.jpa.subscription.module.matcher.ISubscriptionMatcher; import ca.uhn.fhir.jpa.subscription.module.matcher.InMemorySubscriptionMatcher; +import ca.uhn.fhir.jpa.subscription.module.standalone.StandaloneSubscriptionConfig; import ca.uhn.fhir.rest.client.api.IGenericClient; -import ca.uhn.fhir.test.utilities.UnregisterScheduledProcessor; import org.mockito.Mockito; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.env.Environment; +import org.springframework.context.annotation.Import; import org.springframework.test.context.TestPropertySource; @Configuration @TestPropertySource(properties = { "scheduling_disabled=true" }) -public class TestSubscriptionConfig { +@Import(StandaloneSubscriptionConfig.class) +public class TestSubscriptionConfig extends SubscriptionConfig { @Bean public ModelConfig modelConfig() { @@ -24,7 +25,7 @@ public class TestSubscriptionConfig { } @Bean - public IGenericClient fhirClient(FhirContext theFhirContext) { + public IGenericClient fhirClient() { return Mockito.mock(IGenericClient.class); }; @@ -33,4 +34,9 @@ public class TestSubscriptionConfig { return new InMemorySubscriptionMatcher(); } + @Bean + public InterceptorService interceptorRegistry() { + return new InterceptorService("hapi-fhir-jpa-subscription"); + } + } diff --git a/hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/config/TestSubscriptionDstu3Config.java b/hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/config/TestSubscriptionDstu3Config.java index bd833138922..fe7bf69ac1b 100644 --- a/hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/config/TestSubscriptionDstu3Config.java +++ b/hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/config/TestSubscriptionDstu3Config.java @@ -1,8 +1,11 @@ package ca.uhn.fhir.jpa.subscription.module.config; +import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.jpa.api.IDaoRegistry; import ca.uhn.fhir.jpa.model.sched.ISchedulerService; import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamProvider; +import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamRegistry; +import ca.uhn.fhir.jpa.searchparam.registry.SearchParamRegistryImpl; import ca.uhn.fhir.jpa.subscription.module.cache.ISubscriptionProvider; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -14,8 +17,13 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @Configuration -@Import(TestSubscriptionConfig.class) -public class TestSubscriptionDstu3Config extends SubscriptionDstu3Config { +public class TestSubscriptionDstu3Config extends TestSubscriptionConfig { + + @Bean + public FhirContext fhirContext() { + return FhirContext.forDstu3(); + } + @Bean @Primary public ISearchParamProvider searchParamProvider() { diff --git a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/ResponseSizeCapturingInterceptor.java b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/ResponseSizeCapturingInterceptor.java index 34a906c07dd..0772d2a96f9 100644 --- a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/ResponseSizeCapturingInterceptor.java +++ b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/ResponseSizeCapturingInterceptor.java @@ -1,5 +1,25 @@ package ca.uhn.fhir.rest.server.interceptor; +/*- + * #%L + * HAPI FHIR - Server Framework + * %% + * Copyright (C) 2014 - 2020 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.interceptor.api.Hook; import ca.uhn.fhir.interceptor.api.Pointcut; import ca.uhn.fhir.rest.api.server.RequestDetails; From 6baf1995c9e23bbfeb4770bc471ceffe64d0ead5 Mon Sep 17 00:00:00 2001 From: jamesagnew Date: Thu, 2 Apr 2020 20:30:19 -0400 Subject: [PATCH 02/20] Work on subscription cleanup --- .../ca/uhn/fhir/interceptor/api/Pointcut.java | 60 +- .../ca/uhn/fhir/cli/RunServerCommand.java | 3 +- .../ca/uhn/fhir/jpa/demo/CommonConfig.java | 2 +- .../ca/uhn/fhir/jpa/demo/ContextHolder.java | 2 +- .../uhn/fhir/jpa/demo/FhirServerConfig.java | 2 +- .../fhir/jpa/demo/FhirServerConfigDstu3.java | 3 - .../uhn/fhir/jpa/demo/FhirServerConfigR4.java | 2 - .../ca/uhn/fhir/jpa/demo/JpaServerDemo.java | 14 +- .../docs/interceptor/MyTestInterceptor.java | 4 +- hapi-fhir-jacoco/pom.xml | 5 + hapi-fhir-jpaserver-api/pom.xml | 182 ++ .../uhn/fhir/jpa/api/config}/DaoConfig.java | 9 +- .../ca/uhn/fhir/jpa/api}/dao/DaoRegistry.java | 4 +- .../java/ca/uhn/fhir/jpa/api}/dao/IDao.java | 14 +- .../fhir/jpa/api}/dao/IFhirResourceDao.java | 13 +- .../api}/dao/IFhirResourceDaoCodeSystem.java | 2 +- .../api}/dao/IFhirResourceDaoComposition.java | 2 +- .../api}/dao/IFhirResourceDaoConceptMap.java | 6 +- .../api}/dao/IFhirResourceDaoEncounter.java | 2 +- .../dao/IFhirResourceDaoMessageHeader.java | 2 +- .../jpa/api}/dao/IFhirResourceDaoPatient.java | 2 +- .../dao/IFhirResourceDaoSearchParameter.java | 2 +- .../IFhirResourceDaoStructureDefinition.java | 2 +- .../dao/IFhirResourceDaoSubscription.java | 2 +- .../api}/dao/IFhirResourceDaoValueSet.java | 2 +- .../uhn/fhir/jpa/api}/dao/IFhirSystemDao.java | 6 +- .../ca/uhn/fhir/jpa/api}/dao/IJpaDao.java | 2 +- .../dao/MetadataKeyCurrentlyReindexing.java | 3 +- .../jpa/api}/dao/MetadataKeyResourcePid.java | 6 +- .../fhir/jpa/api/model}/DaoMethodOutcome.java | 3 +- .../fhir/jpa/api/model}/DeleteConflict.java | 2 +- .../jpa/api/model}/DeleteConflictList.java | 3 +- .../jpa/api/model}/DeleteMethodOutcome.java | 2 +- .../fhir/jpa/api/model}/ExpungeOptions.java | 2 +- .../fhir/jpa/api/model}/ExpungeOutcome.java | 2 +- .../fhir/jpa/api/model}/TranslationMatch.java | 2 +- .../fhir/jpa/api/model}/TranslationQuery.java | 2 +- .../jpa/api/model}/TranslationRequest.java | 2 +- .../jpa/api/model}/TranslationResult.java | 2 +- .../fhir/jpa/api/model}/WarmCacheEntry.java | 2 +- .../jpa/api/svc}/ISearchCoordinatorSvc.java | 4 +- .../src/main/resources/.keep-jpaserver-api | 0 hapi-fhir-jpaserver-api/src/test/java/.keep | 0 .../src/test/resources/.keep | 0 .../jpa/binstore/BinaryAccessProvider.java | 15 +- .../fhir/jpa/bulk/BulkDataExportSvcImpl.java | 16 +- .../ca/uhn/fhir/jpa/config/BaseConfig.java | 72 +- .../uhn/fhir/jpa/config/BaseDstu2Config.java | 5 +- .../jpa/config/WebsocketDispatcherConfig.java | 2 +- .../jpa/config/dstu3/BaseDstu3Config.java | 9 +- .../uhn/fhir/jpa/config/r4/BaseR4Config.java | 9 +- .../uhn/fhir/jpa/config/r5/BaseR5Config.java | 8 +- .../ca/uhn/fhir/jpa/dao/BaseHapiFhirDao.java | 30 +- .../fhir/jpa/dao/BaseHapiFhirResourceDao.java | 11 +- .../fhir/jpa/dao/BaseHapiFhirSystemDao.java | 5 +- .../ca/uhn/fhir/jpa/dao/BaseStorageDao.java | 2 + .../jpa/dao/BaseTransactionProcessor.java | 16 +- .../fhir/jpa/dao/DaoSearchParamProvider.java | 2 +- .../dao/FhirResourceDaoCompositionDstu2.java | 2 +- .../dao/FhirResourceDaoEncounterDstu2.java | 13 +- .../FhirResourceDaoMessageHeaderDstu2.java | 2 +- .../jpa/dao/FhirResourceDaoPatientDstu2.java | 22 +- .../FhirResourceDaoSearchParameterDstu2.java | 2 + ...irResourceDaoStructureDefinitionDstu2.java | 1 + .../dao/FhirResourceDaoSubscriptionDstu2.java | 3 +- .../jpa/dao/FhirResourceDaoValueSetDstu2.java | 8 +- .../uhn/fhir/jpa/dao/FhirSystemDaoDstu2.java | 12 +- .../fhir/jpa/dao/FulltextSearchSvcImpl.java | 1 + ...JpaPersistedResourceValidationSupport.java | 1 + .../fhir/jpa/dao/MatchResourceUrlService.java | 2 + .../ca/uhn/fhir/jpa/dao/SearchBuilder.java | 2 + .../fhir/jpa/dao/SearchBuilderFactory.java | 1 + .../fhir/jpa/dao/TransactionProcessor.java | 1 + .../dstu3/FhirResourceDaoCodeSystemDstu3.java | 2 +- .../FhirResourceDaoCompositionDstu3.java | 2 +- .../dstu3/FhirResourceDaoConceptMapDstu3.java | 8 +- .../dstu3/FhirResourceDaoEncounterDstu3.java | 16 +- .../FhirResourceDaoMessageHeaderDstu3.java | 2 +- .../dstu3/FhirResourceDaoPatientDstu3.java | 23 +- .../FhirResourceDaoSearchParameterDstu3.java | 8 +- ...irResourceDaoStructureDefinitionDstu3.java | 2 +- .../FhirResourceDaoSubscriptionDstu3.java | 2 +- .../dstu3/FhirResourceDaoValueSetDstu3.java | 12 +- .../jpa/dao/expunge/ExpungeOperation.java | 4 +- .../fhir/jpa/dao/expunge/ExpungeService.java | 7 +- .../fhir/jpa/dao/expunge/PartitionRunner.java | 2 +- .../dao/expunge/ResourceExpungeService.java | 4 +- .../dao/index/DaoResourceLinkResolver.java | 6 +- .../dao/index/DaoSearchParamSynchronizer.java | 2 +- .../fhir/jpa/dao/index/IdHelperService.java | 2 +- ...rchParamWithInlineReferencesExtractor.java | 3 +- .../dao/predicate/BasePredicateBuilder.java | 12 +- .../predicate/PredicateBuilderReference.java | 6 +- .../dao/predicate/PredicateBuilderString.java | 2 +- .../dao/r4/FhirResourceDaoCodeSystemR4.java | 2 +- .../dao/r4/FhirResourceDaoCompositionR4.java | 2 +- .../dao/r4/FhirResourceDaoConceptMapR4.java | 19 +- .../dao/r4/FhirResourceDaoEncounterR4.java | 16 +- .../r4/FhirResourceDaoMessageHeaderR4.java | 2 +- .../jpa/dao/r4/FhirResourceDaoPatientR4.java | 23 +- .../r4/FhirResourceDaoSearchParameterR4.java | 4 +- .../FhirResourceDaoStructureDefinitionR4.java | 2 +- .../dao/r4/FhirResourceDaoSubscriptionR4.java | 2 +- .../jpa/dao/r4/FhirResourceDaoValueSetR4.java | 4 +- .../dao/r5/FhirResourceDaoCodeSystemR5.java | 2 +- .../dao/r5/FhirResourceDaoCompositionR5.java | 2 +- .../dao/r5/FhirResourceDaoConceptMapR5.java | 15 +- .../dao/r5/FhirResourceDaoEncounterR5.java | 2 +- .../r5/FhirResourceDaoMessageHeaderR5.java | 2 +- .../jpa/dao/r5/FhirResourceDaoPatientR5.java | 2 +- .../r5/FhirResourceDaoSearchParameterR5.java | 2 +- .../FhirResourceDaoStructureDefinitionR5.java | 2 +- .../dao/r5/FhirResourceDaoSubscriptionR5.java | 2 +- .../jpa/dao/r5/FhirResourceDaoValueSetR5.java | 4 +- .../jpa/delete/DeleteConflictService.java | 5 +- .../fhir/jpa/graphql/JpaStorageServices.java | 10 +- .../CascadingDeleteInterceptor.java | 14 +- .../fhir/jpa/provider/BaseJpaProvider.java | 6 +- .../jpa/provider/BaseJpaResourceProvider.java | 17 +- ...seJpaResourceProviderCompositionDstu2.java | 3 +- ...BaseJpaResourceProviderEncounterDstu2.java | 31 +- .../BaseJpaResourceProviderPatientDstu2.java | 34 +- .../BaseJpaResourceProviderValueSetDstu2.java | 13 +- .../jpa/provider/BaseJpaSystemProvider.java | 6 +- .../provider/JpaConformanceProviderDstu2.java | 12 +- .../provider/JpaResourceProviderDstu2.java | 19 +- .../jpa/provider/JpaSystemProviderDstu2.java | 10 +- .../SubscriptionTriggeringProvider.java | 12 +- ...aseJpaResourceProviderCodeSystemDstu3.java | 11 +- ...seJpaResourceProviderCompositionDstu3.java | 8 +- ...aseJpaResourceProviderConceptMapDstu3.java | 6 +- ...BaseJpaResourceProviderEncounterDstu3.java | 24 +- .../BaseJpaResourceProviderPatientDstu3.java | 6 +- ...ourceProviderStructureDefinitionDstu3.java | 4 +- .../BaseJpaResourceProviderValueSetDstu3.java | 5 +- .../dstu3/JpaConformanceProviderDstu3.java | 21 +- .../dstu3/JpaResourceProviderDstu3.java | 2 +- .../dstu3/JpaSystemProviderDstu3.java | 2 +- .../BaseJpaResourceProviderCodeSystemR4.java | 11 +- .../BaseJpaResourceProviderCompositionR4.java | 8 +- .../BaseJpaResourceProviderConceptMapR4.java | 16 +- .../BaseJpaResourceProviderEncounterR4.java | 24 +- .../r4/BaseJpaResourceProviderPatientR4.java | 6 +- ...ResourceProviderStructureDefinitionR4.java | 4 +- .../r4/BaseJpaResourceProviderValueSetR4.java | 5 +- .../provider/r4/JpaConformanceProviderR4.java | 27 +- .../provider/r4/JpaResourceProviderR4.java | 20 +- .../jpa/provider/r4/JpaSystemProviderR4.java | 18 +- .../BaseJpaResourceProviderCodeSystemR5.java | 11 +- .../BaseJpaResourceProviderCompositionR5.java | 8 +- .../BaseJpaResourceProviderConceptMapR5.java | 16 +- .../BaseJpaResourceProviderEncounterR5.java | 2 +- .../r5/BaseJpaResourceProviderPatientR5.java | 2 +- ...ResourceProviderStructureDefinitionR5.java | 2 +- .../r5/BaseJpaResourceProviderValueSetR5.java | 5 +- .../provider/r5/JpaConformanceProviderR5.java | 21 +- .../provider/r5/JpaResourceProviderR5.java | 22 +- .../jpa/provider/r5/JpaSystemProviderR5.java | 16 +- .../search/DatabaseBackedPagingProvider.java | 9 +- .../search/PersistedJpaBundleProvider.java | 95 +- .../PersistedJpaBundleProviderFactory.java | 23 + ...istedJpaSearchFirstPageBundleProvider.java | 18 +- .../jpa/search/SearchCoordinatorSvcImpl.java | 69 +- .../search/StaleSearchDeletingSvcImpl.java | 2 +- .../cache/DatabaseSearchCacheSvcImpl.java | 2 +- .../reindex/ResourceReindexingSvcImpl.java | 14 +- .../jpa/search/warm/CacheWarmingSvcImpl.java | 14 +- .../jpa/sp/SearchParamPresenceSvcImpl.java | 2 +- .../fhir/jpa/term/BaseTermReadSvcImpl.java | 20 +- .../term/TermCodeSystemStorageSvcImpl.java | 2 +- .../jpa/term/TermDeferredStorageSvcImpl.java | 2 +- .../uhn/fhir/jpa/term/TermReadSvcDstu2.java | 4 +- .../uhn/fhir/jpa/term/TermReadSvcDstu3.java | 6 +- .../ca/uhn/fhir/jpa/term/TermReadSvcR4.java | 5 +- .../ca/uhn/fhir/jpa/term/TermReadSvcR5.java | 6 +- .../jpa/term/TermVersionAdapterSvcDstu3.java | 4 +- .../jpa/term/TermVersionAdapterSvcR4.java | 5 +- .../jpa/term/TermVersionAdapterSvcR5.java | 2 +- .../uhn/fhir/jpa/term/api/ITermReadSvc.java | 8 +- ...quireManualActivationInterceptorDstu2.java | 2 +- ...quireManualActivationInterceptorDstu3.java | 2 +- ...sRequireManualActivationInterceptorR4.java | 2 +- ...scriptionDeliveringRestHookSubscriber.java | 2 +- .../uhn/fhir/jpa/config/TestDstu3Config.java | 4 +- .../ca/uhn/fhir/jpa/config/TestJPAConfig.java | 18 +- .../java/ca/uhn/fhir/jpa/dao/BaseJpaTest.java | 6 +- .../ca/uhn/fhir/jpa/dao/DaoConfigTest.java | 1 + .../uhn/fhir/jpa/dao/SearchBuilderTest.java | 2 +- .../fhir/jpa/dao/dstu2/BaseJpaDstu2Test.java | 13 +- ...ceDaoDstu2SearchCustomSearchParamTest.java | 2 +- .../dao/dstu2/FhirResourceDaoDstu2Test.java | 2 +- .../FhirResourceDaoDstu2ValidateTest.java | 3 +- .../FhirResourceDaoValueSetDstu2Test.java | 18 +- .../fhir/jpa/dao/dstu3/BaseJpaDstu3Test.java | 14 +- .../FhirResourceDaoDocumentDstu3Test.java | 2 +- .../FhirResourceDaoDstu3ConceptMapTest.java | 6 +- ...ResourceDaoDstu3ExternalReferenceTest.java | 2 +- ...ourceDaoDstu3ReferentialIntegrityTest.java | 2 +- ...ceDaoDstu3SearchCustomSearchParamTest.java | 3 +- .../FhirResourceDaoDstu3SearchNoFtTest.java | 5 +- .../dstu3/FhirResourceDaoDstu3SourceTest.java | 2 +- .../FhirResourceDaoDstu3TerminologyTest.java | 2 +- .../dao/dstu3/FhirResourceDaoDstu3Test.java | 54 +- .../dstu3/FhirResourceDaoDstu3UpdateTest.java | 2 +- .../FhirResourceDaoDstu3ValueSetTest.java | 18 +- .../jpa/dao/dstu3/FhirSystemDaoDstu3Test.java | 6 +- .../fhir/jpa/dao/expunge/ExpungeHookTest.java | 14 +- .../jpa/dao/expunge/PartitionRunnerTest.java | 2 +- .../ca/uhn/fhir/jpa/dao/r4/BaseJpaR4Test.java | 19 +- .../jpa/dao/r4/ConsentEventsDaoR4Test.java | 2 +- ...irResourceDaoCreatePlaceholdersR4Test.java | 2 +- .../dao/r4/FhirResourceDaoDocumentR4Test.java | 2 +- .../r4/FhirResourceDaoR4CacheWarmingTest.java | 4 +- .../r4/FhirResourceDaoR4ConceptMapTest.java | 10 +- .../dao/r4/FhirResourceDaoR4CreateTest.java | 4 +- .../dao/r4/FhirResourceDaoR4DeleteTest.java | 2 +- ...hirResourceDaoR4ExternalReferenceTest.java | 2 +- .../dao/r4/FhirResourceDaoR4FilterTest.java | 7 +- .../r4/FhirResourceDaoR4InterceptorTest.java | 6 +- ...rResourceDaoR4InvalidSubscriptionTest.java | 15 +- .../r4/FhirResourceDaoR4QueryCountTest.java | 2 +- ...ResourceDaoR4ReferentialIntegrityTest.java | 2 +- ...ourceDaoR4SearchCustomSearchParamTest.java | 3 +- .../FhirResourceDaoR4SearchMissingTest.java | 2 +- .../r4/FhirResourceDaoR4SearchNoFtTest.java | 2 +- .../FhirResourceDaoR4SearchNoHashesTest.java | 2 +- .../FhirResourceDaoR4SearchOptimizedTest.java | 2 +- ...FhirResourceDaoR4SearchPageExpiryTest.java | 2 +- ...ourceDaoR4SearchWithElasticSearchTest.java | 18 +- ...urceDaoR4SearchWithLuceneDisabledTest.java | 10 +- .../dao/r4/FhirResourceDaoR4SourceTest.java | 2 +- .../r4/FhirResourceDaoR4TerminologyTest.java | 2 +- .../jpa/dao/r4/FhirResourceDaoR4Test.java | 62 +- ...hirResourceDaoR4UniqueSearchParamTest.java | 6 +- .../dao/r4/FhirResourceDaoR4UpdateTest.java | 3 +- .../dao/r4/FhirResourceDaoR4ValidateTest.java | 2 +- .../dao/r4/FhirResourceDaoR4ValueSetTest.java | 47 +- .../FhirResourceDaoSearchParameterR4Test.java | 3 +- .../fhir/jpa/dao/r4/FhirSystemDaoR4Test.java | 2 +- .../dao/r4/SearchCoordinatorSvcImplTest.java | 13 +- .../ca/uhn/fhir/jpa/dao/r5/BaseJpaR5Test.java | 19 +- .../r5/StorageInterceptorEventsR5Test.java | 2 +- .../delete/DeleteConflictServiceR4Test.java | 3 +- .../jpa/delete/DeleteConflictServiceTest.java | 3 +- .../provider/ResourceProviderDstu2Test.java | 6 +- .../ResourceProviderExpungeDstu2Test.java | 9 +- ...temProviderTransactionSearchDstu2Test.java | 2 +- .../dstu3/BaseResourceProviderDstu3Test.java | 6 +- .../dstu3/CompositionDocumentDstu3Test.java | 2 +- .../dstu3/PatientEverythingDstu3Test.java | 2 +- .../dstu3/ResourceProviderDstu3Test.java | 2 +- .../ResourceProviderDstu3ValueSetTest.java | 4 +- .../ResourceProviderExpungeDstu3Test.java | 12 +- ...temProviderTransactionSearchDstu3Test.java | 5 +- .../r4/BaseResourceProviderR4Test.java | 42 +- .../r4/BinaryAccessProviderR4Test.java | 3 +- .../r4/BinaryStorageInterceptorR4Test.java | 5 +- .../r4/CascadingDeleteInterceptorR4Test.java | 2 +- .../r4/CompositionDocumentR4Test.java | 2 +- ...sentInterceptorResourceProviderR4Test.java | 2 +- .../jpa/provider/r4/EmptyIndexesR4Test.java | 2 +- .../fhir/jpa/provider/r4/ExpungeR4Test.java | 6 +- .../provider/r4/PatientEverythingR4Test.java | 2 +- ...sourceProviderCustomSearchParamR4Test.java | 3 +- .../r4/ResourceProviderExpungeR4Test.java | 13 +- .../r4/ResourceProviderInterceptorR4Test.java | 3 +- ...oviderOnlySomeResourcesProvidedR4Test.java | 2 +- .../r4/ResourceProviderR4CacheTest.java | 2 +- .../provider/r4/ResourceProviderR4Test.java | 2 +- .../r4/ResourceProviderR4ValueSetTest.java | 23 +- .../r4/ResourceProviderSummaryModeR4Test.java | 5 +- .../fhir/jpa/provider/r4/ServerR4Test.java | 6 +- ...SystemProviderTransactionSearchR4Test.java | 2 +- .../r5/BaseResourceProviderR5Test.java | 11 +- .../provider/r5/ResourceProviderR5Test.java | 2 +- .../r5/ResourceProviderR5ValueSetTest.java | 4 +- .../fhir/jpa/provider/r5/ServerR5Test.java | 6 +- .../PagingMultinodeProviderDstu3Test.java | 2 +- .../PersistedJpaBundleProviderTest.java | 4 +- .../search/SearchCoordinatorSvcImplTest.java | 100 +- .../r4/PagingMultinodeProviderR4Test.java | 2 +- .../ResourceReindexingSvcImplTest.java | 22 +- .../fhir/jpa/stresstest/StressTestR4Test.java | 4 +- .../subscription/BaseSubscriptionsR4Test.java | 7 +- .../subscription/BaseSubscriptionsR5Test.java | 9 +- .../FhirClientSearchParamProviderTest.java | 80 - .../FhirClientSubscriptionProviderTest.java | 62 - .../subscription/SubscriptionTestUtil.java | 30 +- ...ubscriptionValidatingInterceptorTest.java} | 14 +- .../email/EmailSubscriptionDstu3Test.java | 2 +- .../email/JavaMailEmailSenderTest.java | 4 +- .../InMemorySubscriptionMatcherR4Test.java | 7 +- ...tivatesPreExistingSubscriptionsR4Test.java | 6 +- .../resthook/RestHookTestDstu2Test.java | 2 +- .../resthook/RestHookTestDstu3Test.java | 6 +- ...rceptorRegisteredToDaoConfigDstu2Test.java | 4 +- ...rceptorRegisteredToDaoConfigDstu3Test.java | 8 +- ...nterceptorRegisteredToDaoConfigR4Test.java | 2 +- .../RestHookWithEventDefinitionR4Test.java | 2 +- .../RestHookWithInterceptorR4Test.java | 8 +- .../SubscriptionTriggeringDstu3Test.java | 32 +- .../ca/uhn/fhir/jpa/term/BaseTermR4Test.java | 3 +- .../term/TermDeferredStorageSvcImplTest.java | 2 +- ...minologyLoaderSvcIntegrationDstu3Test.java | 4 +- .../jpa/term/TerminologySvcDeltaR4Test.java | 2 +- .../jpa/term/TerminologySvcImplDstu3Test.java | 2 +- .../jpa/term/TerminologySvcImplR4Test.java | 7 +- hapi-fhir-jpaserver-example/.gitignore | 128 - hapi-fhir-jpaserver-example/Dockerfile | 4 - hapi-fhir-jpaserver-example/README.md | 74 - .../build-docker-image.sh | 5 - hapi-fhir-jpaserver-example/pom.xml | 336 --- .../uhn/fhir/jpa/demo/FhirServerConfig.java | 132 - .../fhir/jpa/demo/FhirServerConfigDstu2.java | 124 - .../uhn/fhir/jpa/demo/FhirTesterConfig.java | 56 - .../fhir/jpa/demo/FhirTesterConfigDstu2.java | 56 - .../ca/uhn/fhir/jpa/demo/JpaServerDemo.java | 155 -- .../uhn/fhir/jpa/demo/JpaServerDemoDstu2.java | 154 -- .../demo/elasticsearch/FhirServerConfig.java | 110 - .../src/main/resources/logback.xml | 16 - .../main/webapp/WEB-INF/templates/about.html | 67 - .../webapp/WEB-INF/templates/tmpl-footer.html | 5 - .../WEB-INF/templates/tmpl-home-welcome.html | 52 - .../src/main/webapp/WEB-INF/web-dstu2.xml | 106 - .../src/main/webapp/WEB-INF/web.xml | 108 - .../src/main/webapp/WEB-INF/xsd/javaee_6.xsd | 2419 ----------------- .../src/main/webapp/WEB-INF/xsd/jsp_2_2.xsd | 389 --- .../main/webapp/WEB-INF/xsd/web-app_3_0.xsd | 272 -- .../webapp/WEB-INF/xsd/web-common_3_0.xsd | 1575 ----------- .../src/main/webapp/WEB-INF/xsd/xml.xsd | 287 -- .../ca/uhn/fhir/jpa/demo/ExampleServerIT.java | 87 - .../uhn/fhir/jpa/model/util/JpaConstants.java | 3 + hapi-fhir-jpaserver-subscription/pom.xml | 13 +- .../config/SubscriptionChannelConfig.java | 25 + .../channel/queue/IQueueChannelFactory.java | 58 + .../queue/LinkedBlockingQueueChannel.java} | 8 +- .../LinkedBlockingQueueChannelFactory.java | 60 + .../ISubscriptionDeliveryChannelNamer.java | 4 +- .../SubscriptionChannelCache.java | 4 +- .../SubscriptionChannelFactory.java | 46 + .../SubscriptionChannelRegistry.java | 8 +- .../SubscriptionChannelWithHandlers.java | 4 +- .../SubscriptionDeliveryChannelNamer.java | 5 +- .../SubscriptionDeliveryHandlerFactory.java | 26 +- .../subscriber => model}/BaseJsonMessage.java | 2 +- .../BaseResourceMessage.java | 2 +- .../CanonicalSubscription.java | 2 +- .../CanonicalSubscriptionChannelType.java | 2 +- .../IResourceMessage.java | 2 +- .../ResourceDeliveryJsonMessage.java | 2 +- .../ResourceDeliveryMessage.java | 4 +- .../ResourceModifiedJsonMessage.java | 3 +- .../ResourceModifiedMessage.java | 4 +- ...ockingQueueSubscribableChannelFactory.java | 44 - .../channel/ISubscribableChannelFactory.java | 31 - .../channel/SubscriptionChannelFactory.java | 40 - .../FhirClientResourceRetriever.java | 49 - .../FhirClientSearchParamProvider.java | 70 - .../FhirClientSubscriptionProvider.java | 70 - .../StandaloneSubscriptionConfig.java | 62 - .../StandaloneSubscriptionMessageHandler.java | 104 - .../config/SubscriptionProcessorConfig.java | 136 + .../BaseSubscriptionDeliverySubscriber.java | 15 +- .../deliver}/DaoResourceRetriever.java | 11 +- .../deliver}/IResourceRetriever.java | 2 +- .../deliver}/email/EmailDetails.java | 2 +- .../deliver}/email/IEmailSender.java | 2 +- .../deliver}/email/JavaMailEmailSender.java | 2 +- ...SubscriptionDeliveringEmailSubscriber.java | 8 +- ...scriptionDeliveringRestHookSubscriber.java | 8 +- .../SubscriptionWebsocketHandler.java | 10 +- .../WebsocketConnectionValidator.java | 10 +- .../WebsocketValidationResponse.java | 4 +- ...mpositeInMemoryDaoSubscriptionMatcher.java | 10 +- .../matching}/DaoSubscriptionMatcher.java | 11 +- .../matching}/IResourceModifiedConsumer.java | 4 +- .../matching}/ISubscriptionMatcher.java | 6 +- .../InMemorySubscriptionMatcher.java | 6 +- .../SubscriptionMatchingStrategy.java | 2 +- .../SubscriptionStrategyEvaluator.java | 4 +- ...aseSubscriberForSubscriptionResources.java | 21 + .../MatchingQueueSubscriberLoader.java | 71 + .../SubscriptionActivatingSubscriber.java | 229 +- .../SubscriptionMatchingSubscriber.java | 33 +- .../SubscriptionRegisteringSubscriber.java | 84 + .../registry}/ActiveSubscription.java | 6 +- .../registry}/ActiveSubscriptionCache.java | 2 +- .../registry}/DaoSubscriptionProvider.java | 14 +- .../registry}/ISubscriptionProvider.java | 2 +- .../registry}/SubscriptionCanonicalizer.java | 15 +- .../registry}/SubscriptionConstants.java | 2 +- .../registry}/SubscriptionLoader.java | 6 +- .../registry}/SubscriptionRegistry.java | 11 +- .../config/SubscriptionSubmitterConfig.java | 31 + .../interceptor/SubmitInterceptorLoader.java | 28 +- .../SubscriptionMatcherInterceptor.java | 51 +- .../SubscriptionValidatingInterceptor.java | 144 + .../ISubscriptionTriggeringSvc.java | 2 +- .../SubscriptionTriggeringSvcImpl.java | 24 +- .../SubscriptionDebugLogInterceptor.java | 12 +- .../module/BaseSubscriptionDstu3Test.java | 83 - .../module/BaseSubscriptionTest.java | 39 - .../module/CanonicalSubscriptionTest.java | 7 +- .../module/ResourceModifiedTest.java | 1 + .../module}/SubscriptionConfig.java | 20 +- .../cache/BaseSubscriptionRegistryTest.java | 33 - .../module/cache/SubscriptionLoaderTest.java | 69 - .../cache/SubscriptionRegistrySharedTest.java | 44 - .../cache/SubscriptionRegistryTest.java | 59 - .../SubscriptionChannelRegistryTest.java | 7 +- .../MockFhirClientSearchParamProvider.java | 20 - .../MockFhirClientSubscriptionProvider.java | 20 - .../module/config/MockProvider.java | 31 - .../module/config/TestSubscriptionConfig.java | 42 - .../config/TestSubscriptionDstu3Config.java | 51 - .../InMemorySubscriptionMatcherR3Test.java | 645 ----- .../SubscriptionStrategyEvaluatorTest.java | 53 - ...kingQueueSubscribableChannelDstu3Test.java | 215 -- .../standalone/SearchParamLoaderTest.java | 51 - ...ndaloneSubscriptionMessageHandlerTest.java | 61 - .../SubscriptionLoaderFhirClientTest.java | 56 - .../ResourceDeliveryMessageTest.java | 1 + .../SubscriptionCheckingSubscriberTest.java | 119 - .../SubscriptionMatchingSubscriberTest.java | 78 - .../WebsocketConnectionValidatorTest.java | 80 +- ...aseSubscriptionDeliverySubscriberTest.java | 12 +- .../ActiveSubscriptionCacheTest.java | 10 +- .../ca/uhn/fhirtest/TestRestfulServer.java | 16 +- .../uhn/fhirtest/config/TestDstu2Config.java | 2 +- .../uhn/fhirtest/config/TestDstu3Config.java | 2 +- .../ca/uhn/fhirtest/config/TestR4Config.java | 2 +- .../ca/uhn/fhirtest/config/TestR5Config.java | 2 +- .../autoconfigure/FhirAutoConfiguration.java | 2 +- .../FhirAutoConfigurationTest.java | 2 +- .../uhn/fhir/jpa/test/FhirServerConfig.java | 17 +- .../ca/uhn/fhir/jpa/test/OverlayTestApp.java | 3 - .../fhir-jpabase-spring-test-config.xml | 4 +- .../resources/vm/jpa_spring_beans_java.vm | 3 +- pom.xml | 1 + 439 files changed, 2754 insertions(+), 10601 deletions(-) create mode 100644 hapi-fhir-jpaserver-api/pom.xml rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/config}/DaoConfig.java (99%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/DaoRegistry.java (98%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IDao.java (81%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IFhirResourceDao.java (96%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IFhirResourceDaoCodeSystem.java (98%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IFhirResourceDaoComposition.java (97%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IFhirResourceDaoConceptMap.java (87%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IFhirResourceDaoEncounter.java (97%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IFhirResourceDaoMessageHeader.java (96%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IFhirResourceDaoPatient.java (98%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IFhirResourceDaoSearchParameter.java (96%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IFhirResourceDaoStructureDefinition.java (96%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IFhirResourceDaoSubscription.java (96%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IFhirResourceDaoValueSet.java (98%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IFhirSystemDao.java (94%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/IJpaDao.java (97%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/MetadataKeyCurrentlyReindexing.java (96%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api}/dao/MetadataKeyResourcePid.java (95%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/model}/DaoMethodOutcome.java (95%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/util => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/model}/DeleteConflict.java (97%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/delete => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/model}/DeleteConflictList.java (98%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/model}/DeleteMethodOutcome.java (97%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/util => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/model}/ExpungeOptions.java (98%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/util => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/model}/ExpungeOutcome.java (96%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/term => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/model}/TranslationMatch.java (98%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/term => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/model}/TranslationQuery.java (98%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/term => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/model}/TranslationRequest.java (99%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/term => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/model}/TranslationResult.java (98%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/warm => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/model}/WarmCacheEntry.java (98%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search => hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/svc}/ISearchCoordinatorSvc.java (95%) rename hapi-fhir-jpaserver-example/src/test/resources/.keep_hapi-fhir-jpaserver-example => hapi-fhir-jpaserver-api/src/main/resources/.keep-jpaserver-api (100%) create mode 100644 hapi-fhir-jpaserver-api/src/test/java/.keep create mode 100644 hapi-fhir-jpaserver-api/src/test/resources/.keep create mode 100644 hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/PersistedJpaBundleProviderFactory.java delete mode 100644 hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/FhirClientSearchParamProviderTest.java delete mode 100644 hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/FhirClientSubscriptionProviderTest.java rename hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/{SubscriptionActivatingInterceptorTest.java => SubscriptionValidatingInterceptorTest.java} (89%) delete mode 100644 hapi-fhir-jpaserver-example/.gitignore delete mode 100644 hapi-fhir-jpaserver-example/Dockerfile delete mode 100644 hapi-fhir-jpaserver-example/README.md delete mode 100755 hapi-fhir-jpaserver-example/build-docker-image.sh delete mode 100644 hapi-fhir-jpaserver-example/pom.xml delete mode 100644 hapi-fhir-jpaserver-example/src/main/java/ca/uhn/fhir/jpa/demo/FhirServerConfig.java delete mode 100644 hapi-fhir-jpaserver-example/src/main/java/ca/uhn/fhir/jpa/demo/FhirServerConfigDstu2.java delete mode 100644 hapi-fhir-jpaserver-example/src/main/java/ca/uhn/fhir/jpa/demo/FhirTesterConfig.java delete mode 100644 hapi-fhir-jpaserver-example/src/main/java/ca/uhn/fhir/jpa/demo/FhirTesterConfigDstu2.java delete mode 100644 hapi-fhir-jpaserver-example/src/main/java/ca/uhn/fhir/jpa/demo/JpaServerDemo.java delete mode 100644 hapi-fhir-jpaserver-example/src/main/java/ca/uhn/fhir/jpa/demo/JpaServerDemoDstu2.java delete mode 100644 hapi-fhir-jpaserver-example/src/main/java/ca/uhn/fhir/jpa/demo/elasticsearch/FhirServerConfig.java delete mode 100644 hapi-fhir-jpaserver-example/src/main/resources/logback.xml delete mode 100644 hapi-fhir-jpaserver-example/src/main/webapp/WEB-INF/templates/about.html delete mode 100644 hapi-fhir-jpaserver-example/src/main/webapp/WEB-INF/templates/tmpl-footer.html delete mode 100644 hapi-fhir-jpaserver-example/src/main/webapp/WEB-INF/templates/tmpl-home-welcome.html delete mode 100644 hapi-fhir-jpaserver-example/src/main/webapp/WEB-INF/web-dstu2.xml delete mode 100644 hapi-fhir-jpaserver-example/src/main/webapp/WEB-INF/web.xml delete mode 100644 hapi-fhir-jpaserver-example/src/main/webapp/WEB-INF/xsd/javaee_6.xsd delete mode 100644 hapi-fhir-jpaserver-example/src/main/webapp/WEB-INF/xsd/jsp_2_2.xsd delete mode 100644 hapi-fhir-jpaserver-example/src/main/webapp/WEB-INF/xsd/web-app_3_0.xsd delete mode 100644 hapi-fhir-jpaserver-example/src/main/webapp/WEB-INF/xsd/web-common_3_0.xsd delete mode 100644 hapi-fhir-jpaserver-example/src/main/webapp/WEB-INF/xsd/xml.xsd delete mode 100644 hapi-fhir-jpaserver-example/src/test/java/ca/uhn/fhir/jpa/demo/ExampleServerIT.java create mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/channel/config/SubscriptionChannelConfig.java create mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/channel/queue/IQueueChannelFactory.java rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/LinkedBlockingQueueSubscribableChannel.java => channel/queue/LinkedBlockingQueueChannel.java} (91%) create mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/channel/queue/LinkedBlockingQueueChannelFactory.java rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/channel => channel/subscription}/ISubscriptionDeliveryChannelNamer.java (86%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/channel => channel/subscription}/SubscriptionChannelCache.java (93%) create mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/channel/subscription/SubscriptionChannelFactory.java rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/channel => channel/subscription}/SubscriptionChannelRegistry.java (94%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/channel => channel/subscription}/SubscriptionChannelWithHandlers.java (95%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/channel => channel/subscription}/SubscriptionDeliveryChannelNamer.java (90%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/channel => channel/subscription}/SubscriptionDeliveryHandlerFactory.java (66%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => model}/BaseJsonMessage.java (95%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => model}/BaseResourceMessage.java (98%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module => model}/CanonicalSubscription.java (99%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module => model}/CanonicalSubscriptionChannelType.java (99%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => model}/IResourceMessage.java (92%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => model}/ResourceDeliveryJsonMessage.java (96%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => model}/ResourceDeliveryMessage.java (95%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => model}/ResourceModifiedJsonMessage.java (92%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module => model}/ResourceModifiedMessage.java (96%) delete mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/cache/LinkedBlockingQueueSubscribableChannelFactory.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/channel/ISubscribableChannelFactory.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/channel/SubscriptionChannelFactory.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientResourceRetriever.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientSearchParamProvider.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/FhirClientSubscriptionProvider.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/StandaloneSubscriptionConfig.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/module/standalone/StandaloneSubscriptionMessageHandler.java create mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/process/config/SubscriptionProcessorConfig.java rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => process/deliver}/BaseSubscriptionDeliverySubscriber.java (86%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription => hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/process/deliver}/DaoResourceRetriever.java (83%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => process/deliver}/IResourceRetriever.java (93%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => process/deliver}/email/EmailDetails.java (96%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => process/deliver}/email/IEmailSender.java (92%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => process/deliver}/email/JavaMailEmailSender.java (98%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => process/deliver}/email/SubscriptionDeliveringEmailSubscriber.java (92%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => process/deliver/resthook}/SubscriptionDeliveringRestHookSubscriber.java (95%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => process/deliver}/websocket/SubscriptionWebsocketHandler.java (94%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => process/deliver}/websocket/WebsocketConnectionValidator.java (85%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => process/deliver}/websocket/WebsocketValidationResponse.java (92%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription/dbmatcher => hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/process/matcher/matching}/CompositeInMemoryDaoSubscriptionMatcher.java (85%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription/dbmatcher => hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/process/matcher/matching}/DaoSubscriptionMatcher.java (90%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription => hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/process/matcher/matching}/IResourceModifiedConsumer.java (85%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/matcher => process/matcher/matching}/ISubscriptionMatcher.java (81%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/matcher => process/matcher/matching}/InMemorySubscriptionMatcher.java (90%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/matcher => process/matcher/matching}/SubscriptionMatchingStrategy.java (94%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/matcher => process/matcher/matching}/SubscriptionStrategyEvaluator.java (92%) create mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/process/matcher/subscriber/BaseSubscriberForSubscriptionResources.java create mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/process/matcher/subscriber/MatchingQueueSubscriberLoader.java rename hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription/SubscriptionActivatingInterceptor.java => hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/process/matcher/subscriber/SubscriptionActivatingSubscriber.java (51%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module => process/matcher}/subscriber/SubscriptionMatchingSubscriber.java (89%) create mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/process/matcher/subscriber/SubscriptionRegisteringSubscriber.java rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/cache => process/registry}/ActiveSubscription.java (90%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/cache => process/registry}/ActiveSubscriptionCache.java (97%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription/dbcache => hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/process/registry}/DaoSubscriptionProvider.java (77%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/cache => process/registry}/ISubscriptionProvider.java (94%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/cache => process/registry}/SubscriptionCanonicalizer.java (97%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/cache => process/registry}/SubscriptionConstants.java (96%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/cache => process/registry}/SubscriptionLoader.java (97%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/cache => process/registry}/SubscriptionRegistry.java (94%) create mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/submit/config/SubscriptionSubmitterConfig.java rename hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription/SubscriptionInterceptorLoader.java => hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/submit/interceptor/SubmitInterceptorLoader.java (77%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription => hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/submit/interceptor}/SubscriptionMatcherInterceptor.java (74%) create mode 100644 hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/submit/interceptor/SubscriptionValidatingInterceptor.java rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription => hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/triggering}/ISubscriptionTriggeringSvc.java (95%) rename {hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription => hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/triggering}/SubscriptionTriggeringSvcImpl.java (96%) rename hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/{module/interceptor => util}/SubscriptionDebugLogInterceptor.java (94%) delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/BaseSubscriptionDstu3Test.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/BaseSubscriptionTest.java rename hapi-fhir-jpaserver-subscription/src/{main/java/ca/uhn/fhir/jpa/subscription/module/config => test/java/ca/uhn/fhir/jpa/subscription/module}/SubscriptionConfig.java (69%) delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/cache/BaseSubscriptionRegistryTest.java delete mode 100755 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/cache/SubscriptionLoaderTest.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/cache/SubscriptionRegistrySharedTest.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/cache/SubscriptionRegistryTest.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/config/MockFhirClientSearchParamProvider.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/config/MockFhirClientSubscriptionProvider.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/config/MockProvider.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/config/TestSubscriptionConfig.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/config/TestSubscriptionDstu3Config.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/matcher/InMemorySubscriptionMatcherR3Test.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/matcher/SubscriptionStrategyEvaluatorTest.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/standalone/BaseBlockingQueueSubscribableChannelDstu3Test.java delete mode 100755 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/standalone/SearchParamLoaderTest.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/standalone/StandaloneSubscriptionMessageHandlerTest.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/standalone/SubscriptionLoaderFhirClientTest.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/subscriber/SubscriptionCheckingSubscriberTest.java delete mode 100644 hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/module/subscriber/SubscriptionMatchingSubscriberTest.java rename hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/{module/subscriber => process/deliver}/BaseSubscriptionDeliverySubscriberTest.java (92%) rename hapi-fhir-jpaserver-subscription/src/test/java/ca/uhn/fhir/jpa/subscription/{module/cache => process/registry}/ActiveSubscriptionCacheTest.java (91%) diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/interceptor/api/Pointcut.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/interceptor/api/Pointcut.java index dbcd4fea92f..7b7520179d7 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/interceptor/api/Pointcut.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/interceptor/api/Pointcut.java @@ -594,7 +594,7 @@ public enum Pointcut { *

* Hooks may accept the following parameters: *

*

*

@@ -603,7 +603,7 @@ public enum Pointcut { * returns false, subscription processing will not proceed for the given resource; *

*/ - SUBSCRIPTION_RESOURCE_MODIFIED(boolean.class, "ca.uhn.fhir.jpa.subscription.module.ResourceModifiedMessage"), + SUBSCRIPTION_RESOURCE_MODIFIED(boolean.class, "ca.uhn.fhir.jpa.subscription.model.ResourceModifiedMessage"), /** @@ -617,8 +617,8 @@ public enum Pointcut { *

* Hooks may accept the following parameters: * *

@@ -627,7 +627,7 @@ public enum Pointcut { * returns false, delivery will be aborted. *

*/ - SUBSCRIPTION_RESOURCE_MATCHED(boolean.class, "ca.uhn.fhir.jpa.subscription.module.CanonicalSubscription", "ca.uhn.fhir.jpa.subscription.module.subscriber.ResourceDeliveryMessage", "ca.uhn.fhir.jpa.searchparam.matcher.InMemoryMatchResult"), + SUBSCRIPTION_RESOURCE_MATCHED(boolean.class, "ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription", "ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage", "ca.uhn.fhir.jpa.searchparam.matcher.InMemoryMatchResult"), /** * Subscription Hook: @@ -636,14 +636,14 @@ public enum Pointcut { *

* Hooks may accept the following parameters: *

*

*

* Hooks should return void. *

*/ - SUBSCRIPTION_RESOURCE_DID_NOT_MATCH_ANY_SUBSCRIPTIONS(void.class, "ca.uhn.fhir.jpa.subscription.module.ResourceModifiedMessage"), + SUBSCRIPTION_RESOURCE_DID_NOT_MATCH_ANY_SUBSCRIPTIONS(void.class, "ca.uhn.fhir.jpa.subscription.model.ResourceModifiedMessage"), /** * Subscription Hook: @@ -656,8 +656,8 @@ public enum Pointcut { *

* Hooks may accept the following parameters: * *

* Hooks may return void or may return a boolean. If the method returns @@ -665,7 +665,7 @@ public enum Pointcut { * returns false, processing will be aborted. *

*/ - SUBSCRIPTION_BEFORE_DELIVERY(boolean.class, "ca.uhn.fhir.jpa.subscription.module.CanonicalSubscription", "ca.uhn.fhir.jpa.subscription.module.subscriber.ResourceDeliveryMessage"), + SUBSCRIPTION_BEFORE_DELIVERY(boolean.class, "ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription", "ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage"), /** * Subscription Hook: @@ -675,14 +675,14 @@ public enum Pointcut { * Hooks may accept the following parameters: *

* *

* Hooks should return void. *

*/ - SUBSCRIPTION_AFTER_DELIVERY(void.class, "ca.uhn.fhir.jpa.subscription.module.CanonicalSubscription", "ca.uhn.fhir.jpa.subscription.module.subscriber.ResourceDeliveryMessage"), + SUBSCRIPTION_AFTER_DELIVERY(void.class, "ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription", "ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage"), /** @@ -694,7 +694,7 @@ public enum Pointcut { *

* *

@@ -706,7 +706,7 @@ public enum Pointcut { * taken for the delivery. *

*/ - SUBSCRIPTION_AFTER_DELIVERY_FAILED(boolean.class, "ca.uhn.fhir.jpa.subscription.module.subscriber.ResourceDeliveryMessage", "java.lang.Exception"), + SUBSCRIPTION_AFTER_DELIVERY_FAILED(boolean.class, "ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage", "java.lang.Exception"), /** * Subscription Hook: @@ -717,14 +717,14 @@ public enum Pointcut { *

* Hooks may accept the following parameters: * *

* Hooks should return void. *

*/ - SUBSCRIPTION_AFTER_REST_HOOK_DELIVERY(void.class, "ca.uhn.fhir.jpa.subscription.module.CanonicalSubscription", "ca.uhn.fhir.jpa.subscription.module.subscriber.ResourceDeliveryMessage"), + SUBSCRIPTION_AFTER_REST_HOOK_DELIVERY(void.class, "ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription", "ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage"), /** * Subscription Hook: @@ -736,8 +736,8 @@ public enum Pointcut { *

* Hooks may accept the following parameters: * *

* Hooks may return void or may return a boolean. If the method returns @@ -745,7 +745,7 @@ public enum Pointcut { * returns false, processing will be aborted. *

*/ - SUBSCRIPTION_BEFORE_REST_HOOK_DELIVERY(boolean.class, "ca.uhn.fhir.jpa.subscription.module.CanonicalSubscription", "ca.uhn.fhir.jpa.subscription.module.subscriber.ResourceDeliveryMessage"), + SUBSCRIPTION_BEFORE_REST_HOOK_DELIVERY(boolean.class, "ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription", "ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage"), /** * Subscription Hook: @@ -755,7 +755,7 @@ public enum Pointcut { *

* Hooks may accept the following parameters: *

*

*

@@ -764,7 +764,7 @@ public enum Pointcut { * returns false, processing will be aborted. *

*/ - SUBSCRIPTION_BEFORE_PERSISTED_RESOURCE_CHECKED(boolean.class, "ca.uhn.fhir.jpa.subscription.module.ResourceModifiedMessage"), + SUBSCRIPTION_BEFORE_PERSISTED_RESOURCE_CHECKED(boolean.class, "ca.uhn.fhir.jpa.subscription.model.ResourceModifiedMessage"), /** @@ -775,14 +775,14 @@ public enum Pointcut { *

* Hooks may accept the following parameters: *

*

*

* Hooks should return void. *

*/ - SUBSCRIPTION_AFTER_PERSISTED_RESOURCE_CHECKED(void.class, "ca.uhn.fhir.jpa.subscription.module.ResourceModifiedMessage"), + SUBSCRIPTION_AFTER_PERSISTED_RESOURCE_CHECKED(void.class, "ca.uhn.fhir.jpa.subscription.model.ResourceModifiedMessage"), /** @@ -796,13 +796,13 @@ public enum Pointcut { *

* Hooks may accept the following parameters: * *

* Hooks should return void. *

*/ - SUBSCRIPTION_AFTER_ACTIVE_SUBSCRIPTION_REGISTERED(void.class, "ca.uhn.fhir.jpa.subscription.module.CanonicalSubscription"), + SUBSCRIPTION_AFTER_ACTIVE_SUBSCRIPTION_REGISTERED(void.class, "ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription"), /** @@ -847,7 +847,7 @@ public enum Pointcut { void.class, "ca.uhn.fhir.rest.api.server.RequestDetails", "ca.uhn.fhir.rest.server.servlet.ServletRequestDetails", - "ca.uhn.fhir.jpa.delete.DeleteConflictList", + "ca.uhn.fhir.jpa.api.model.DeleteConflictList", "org.hl7.fhir.instance.model.api.IBaseResource" ), @@ -1254,7 +1254,7 @@ public enum Pointcut { *

* Hooks may accept the following parameters: *