diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java b/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java index 95a2c83..da312a6 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java @@ -42,7 +42,6 @@ import ca.uhn.fhir.jpa.starter.AppProperties; import ca.uhn.fhir.jpa.starter.annotations.OnCorsPresent; import ca.uhn.fhir.jpa.starter.annotations.OnImplementationGuidesPresent; import ca.uhn.fhir.jpa.starter.common.validation.IRepositoryValidationInterceptorFactory; -import ca.uhn.fhir.jpa.starter.cr.CrOperationProviderLoader; import ca.uhn.fhir.jpa.starter.util.EnvironmentHelper; import ca.uhn.fhir.jpa.subscription.util.SubscriptionDebugLogInterceptor; import ca.uhn.fhir.jpa.util.ResourceCountCache; @@ -265,8 +264,7 @@ public class StarterJpaConfig { Optional repositoryValidatingInterceptor, IPackageInstallerSvc packageInstallerSvc, ThreadSafeResourceDeleterSvc theThreadSafeResourceDeleterSvc, ApplicationContext appContext, - Optional theIpsOperationProvider, - Optional theCrProviderLoader){ + Optional theIpsOperationProvider) { RestfulServer fhirServer = new RestfulServer(fhirSystemDao.getContext()); List supportedResourceTypes = appProperties.getSupported_resource_types(); @@ -287,9 +285,6 @@ public class StarterJpaConfig { if (appProperties.getMdm_enabled()) { mdmProviderProvider.get().loadProvider(); } - if (appProperties.getCr_enabled()){ - theCrProviderLoader.get().loadProvider(); - } fhirServer.registerProviders(resourceProviderFactory.createProviders()); fhirServer.registerProvider(jpaSystemProvider); @@ -453,7 +448,6 @@ public class StarterJpaConfig { fhirServer.registerProvider(theIpsOperationProvider.get()); } - return fhirServer; } diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/cr/CrOperationProviderLoader.java b/src/main/java/ca/uhn/fhir/jpa/starter/cr/CrOperationProviderLoader.java index 66ee750..fe23311 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/cr/CrOperationProviderLoader.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/cr/CrOperationProviderLoader.java @@ -16,13 +16,13 @@ public class CrOperationProviderLoader { private final CrOperationProviderFactory myCrProviderFactory; public CrOperationProviderLoader(FhirContext theFhirContext, ResourceProviderFactory theResourceProviderFactory, - CrOperationProviderFactory theCrProviderFactory) { + CrOperationProviderFactory theCrProviderFactory) { myFhirContext = theFhirContext; myResourceProviderFactory = theResourceProviderFactory; myCrProviderFactory = theCrProviderFactory; + loadProvider(); } - @EventListener(ContextRefreshedEvent.class) public void loadProvider() { switch (myFhirContext.getVersion().getVersion()) { case DSTU3: @@ -45,8 +45,7 @@ public class CrOperationProviderLoader { break; default: throw new ConfigurationException("Clinical Reasoning not supported for FHIR version " - + myFhirContext.getVersion().getVersion()); + + myFhirContext.getVersion().getVersion()); } } } - diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/cr/StarterCrDstu3Config.java b/src/main/java/ca/uhn/fhir/jpa/starter/cr/StarterCrDstu3Config.java index 199b564..8b918f1 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/cr/StarterCrDstu3Config.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/cr/StarterCrDstu3Config.java @@ -27,19 +27,21 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @Configuration -@Conditional({OnDSTU3Condition.class, CrConfigCondition.class}) -@Import({CrDstu3Config.class}) +@Conditional({ OnDSTU3Condition.class, CrConfigCondition.class }) +@Import({ CrDstu3Config.class }) public class StarterCrDstu3Config { @Bean - CrOperationProviderFactory crOperationFactory() { + public CrOperationProviderFactory crOperationProviderFactory() { return new CrOperationProviderFactory(); } @Bean - CrOperationProviderLoader crOperationLoader(FhirContext theFhirContext, ResourceProviderFactory theResourceProviderFactory, - CrOperationProviderFactory theCrlProviderFactory) { + public CrOperationProviderLoader crOperationProviderLoader(FhirContext theFhirContext, + ResourceProviderFactory theResourceProviderFactory, + CrOperationProviderFactory theCrlProviderFactory) { return new CrOperationProviderLoader(theFhirContext, theResourceProviderFactory, theCrlProviderFactory); } + @Bean public QuestionnaireOperationsProvider myR4QuestionnaireOperationsProvider() { return new QuestionnaireOperationsProvider(); @@ -60,12 +62,11 @@ public class StarterCrDstu3Config { return new ActivityDefinitionOperationsProvider(); } - @Bean IActivityDefinitionProcessorFactory myR4ActivityDefinitionProcessorFactory( - EvaluationSettings theEvaluationSettings) { + EvaluationSettings theEvaluationSettings) { return r -> new ActivityDefinitionProcessor(r, - theEvaluationSettings); + theEvaluationSettings); } @Bean @@ -80,8 +81,7 @@ public class StarterCrDstu3Config { @Bean IPlanDefinitionProcessorFactory myR4PlanDefinitionProcessorFactory( - EvaluationSettings theEvaluationSettings) { + EvaluationSettings theEvaluationSettings) { return r -> new PlanDefinitionProcessor(r, theEvaluationSettings); } } - diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/cr/StarterCrR4Config.java b/src/main/java/ca/uhn/fhir/jpa/starter/cr/StarterCrR4Config.java index ce0a2a2..83e7fa3 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/cr/StarterCrR4Config.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/cr/StarterCrR4Config.java @@ -27,19 +27,21 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @Configuration -@Conditional({OnR4Condition.class, CrConfigCondition.class}) -@Import({CrR4Config.class}) +@Conditional({ OnR4Condition.class, CrConfigCondition.class }) +@Import({ CrR4Config.class }) public class StarterCrR4Config { @Bean - CrOperationProviderFactory crOperationFactory() { + public CrOperationProviderFactory crOperationProviderFactory() { return new CrOperationProviderFactory(); } @Bean - CrOperationProviderLoader crOperationLoader(FhirContext theFhirContext, ResourceProviderFactory theResourceProviderFactory, - CrOperationProviderFactory theCrlProviderFactory) { + public CrOperationProviderLoader crOperationProviderLoader(FhirContext theFhirContext, + ResourceProviderFactory theResourceProviderFactory, + CrOperationProviderFactory theCrlProviderFactory) { return new CrOperationProviderLoader(theFhirContext, theResourceProviderFactory, theCrlProviderFactory); } + @Bean public QuestionnaireOperationsProvider myR4QuestionnaireOperationsProvider() { return new QuestionnaireOperationsProvider(); @@ -60,12 +62,11 @@ public class StarterCrR4Config { return new ActivityDefinitionOperationsProvider(); } - @Bean IActivityDefinitionProcessorFactory myR4ActivityDefinitionProcessorFactory( - EvaluationSettings theEvaluationSettings) { + EvaluationSettings theEvaluationSettings) { return r -> new ActivityDefinitionProcessor(r, - theEvaluationSettings); + theEvaluationSettings); } @Bean @@ -80,7 +81,7 @@ public class StarterCrR4Config { @Bean IPlanDefinitionProcessorFactory myR4PlanDefinitionProcessorFactory( - EvaluationSettings theEvaluationSettings) { + EvaluationSettings theEvaluationSettings) { return r -> new PlanDefinitionProcessor(r, theEvaluationSettings); } }