removed basecr config due to spring errors
This commit is contained in:
6
pom.xml
6
pom.xml
@@ -14,7 +14,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir</artifactId>
|
<artifactId>hapi-fhir</artifactId>
|
||||||
<version>6.9.10-SNAPSHOT</version>
|
<version>6.10.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>hapi-fhir-jpaserver-starter</artifactId>
|
<artifactId>hapi-fhir-jpaserver-starter</artifactId>
|
||||||
@@ -132,6 +132,10 @@
|
|||||||
<artifactId>hapi-fhir-jpaserver-mdm</artifactId>
|
<artifactId>hapi-fhir-jpaserver-mdm</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring-context</artifactId>
|
||||||
|
</dependency>
|
||||||
<!-- This dependency includes the CDS Hooks Server -->
|
<!-- This dependency includes the CDS Hooks Server -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
|
|||||||
@@ -1,85 +0,0 @@
|
|||||||
package ca.uhn.fhir.jpa.starter.cr;
|
|
||||||
|
|
||||||
import ca.uhn.fhir.cr.common.CodeCacheResourceChangeListener;
|
|
||||||
import ca.uhn.fhir.cr.common.ElmCacheResourceChangeListener;
|
|
||||||
import ca.uhn.fhir.jpa.api.dao.DaoRegistry;
|
|
||||||
import ca.uhn.fhir.jpa.cache.IResourceChangeListenerRegistry;
|
|
||||||
import ca.uhn.fhir.jpa.cache.ResourceChangeListenerRegistryInterceptor;
|
|
||||||
import ca.uhn.fhir.jpa.searchparam.SearchParameterMap;
|
|
||||||
import org.cqframework.cql.cql2elm.model.CompiledLibrary;
|
|
||||||
import org.cqframework.cql.cql2elm.model.Model;
|
|
||||||
import org.hl7.cql.model.ModelIdentifier;
|
|
||||||
import org.hl7.elm.r1.VersionedIdentifier;
|
|
||||||
import org.opencds.cqf.cql.engine.runtime.Code;
|
|
||||||
import org.opencds.cqf.fhir.cql.EvaluationSettings;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
|
|
||||||
@Configuration
|
|
||||||
public class BaseCrConfig {
|
|
||||||
@Bean
|
|
||||||
public CrProperties crProperties() {
|
|
||||||
return new CrProperties();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public Map<VersionedIdentifier, CompiledLibrary> globalLibraryCache() {
|
|
||||||
return new ConcurrentHashMap<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public Map<ModelIdentifier, Model> globalModelCache() {
|
|
||||||
return new ConcurrentHashMap<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public Map<String, List<Code>> globalValueSetCache() {
|
|
||||||
return new ConcurrentHashMap<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public ElmCacheResourceChangeListener elmCacheResourceChangeListener(
|
|
||||||
IResourceChangeListenerRegistry theResourceChangeListenerRegistry,
|
|
||||||
DaoRegistry theDaoRegistry,
|
|
||||||
EvaluationSettings theEvaluationSettings) {
|
|
||||||
ElmCacheResourceChangeListener listener =
|
|
||||||
new ElmCacheResourceChangeListener(theDaoRegistry, theEvaluationSettings.getLibraryCache());
|
|
||||||
theResourceChangeListenerRegistry.registerResourceResourceChangeListener(
|
|
||||||
"Library", SearchParameterMap.newSynchronous(), listener, 1000);
|
|
||||||
return listener;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public CodeCacheResourceChangeListener codeCacheResourceChangeListener(
|
|
||||||
IResourceChangeListenerRegistry theResourceChangeListenerRegistry,
|
|
||||||
EvaluationSettings theEvaluationSettings,
|
|
||||||
DaoRegistry theDaoRegistry) {
|
|
||||||
|
|
||||||
CodeCacheResourceChangeListener listener = new CodeCacheResourceChangeListener(theDaoRegistry, theEvaluationSettings.getValueSetCache());
|
|
||||||
//registry
|
|
||||||
theResourceChangeListenerRegistry.registerResourceResourceChangeListener(
|
|
||||||
"ValueSet", SearchParameterMap.newSynchronous(), listener,1000);
|
|
||||||
|
|
||||||
return listener;
|
|
||||||
}
|
|
||||||
|
|
||||||
// These beans were being duplicated
|
|
||||||
// @Bean
|
|
||||||
// public IResourceChangeListenerRegistry resourceChangeListenerRegistry(InMemoryResourceMatcher theInMemoryResourceMatcher, FhirContext theFhirContext, ResourceChangeListenerCacheFactory theResourceChangeListenerCacheFactory) {
|
|
||||||
// return new ResourceChangeListenerRegistryImpl(theFhirContext, theResourceChangeListenerCacheFactory, theInMemoryResourceMatcher);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @Bean
|
|
||||||
// IResourceChangeListenerCacheRefresher resourceChangeListenerCacheRefresher() {
|
|
||||||
// return new ResourceChangeListenerCacheRefresherImpl();
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public ResourceChangeListenerRegistryInterceptor resourceChangeListenerRegistryInterceptor() {
|
|
||||||
return new ResourceChangeListenerRegistryInterceptor();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +1,16 @@
|
|||||||
package ca.uhn.fhir.jpa.starter.cr;
|
package ca.uhn.fhir.jpa.starter.cr;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.cr.common.CodeCacheResourceChangeListener;
|
||||||
|
import ca.uhn.fhir.cr.common.ElmCacheResourceChangeListener;
|
||||||
import ca.uhn.fhir.cr.config.dstu3.ApplyOperationConfig;
|
import ca.uhn.fhir.cr.config.dstu3.ApplyOperationConfig;
|
||||||
import ca.uhn.fhir.cr.config.dstu3.CrDstu3Config;
|
import ca.uhn.fhir.cr.config.dstu3.CrDstu3Config;
|
||||||
import ca.uhn.fhir.cr.config.dstu3.ExtractOperationConfig;
|
import ca.uhn.fhir.cr.config.dstu3.ExtractOperationConfig;
|
||||||
import ca.uhn.fhir.cr.config.dstu3.PackageOperationConfig;
|
import ca.uhn.fhir.cr.config.dstu3.PackageOperationConfig;
|
||||||
import ca.uhn.fhir.cr.config.dstu3.PopulateOperationConfig;
|
import ca.uhn.fhir.cr.config.dstu3.PopulateOperationConfig;
|
||||||
|
import ca.uhn.fhir.jpa.api.dao.DaoRegistry;
|
||||||
|
import ca.uhn.fhir.jpa.cache.IResourceChangeListenerRegistry;
|
||||||
|
import ca.uhn.fhir.jpa.cache.ResourceChangeListenerRegistryInterceptor;
|
||||||
|
import ca.uhn.fhir.jpa.searchparam.SearchParameterMap;
|
||||||
import ca.uhn.fhir.jpa.starter.annotations.OnDSTU3Condition;
|
import ca.uhn.fhir.jpa.starter.annotations.OnDSTU3Condition;
|
||||||
import ca.uhn.fhir.rest.server.RestfulServer;
|
import ca.uhn.fhir.rest.server.RestfulServer;
|
||||||
import ca.uhn.fhir.rest.server.provider.ResourceProviderFactory;
|
import ca.uhn.fhir.rest.server.provider.ResourceProviderFactory;
|
||||||
@@ -26,11 +32,12 @@ import java.util.EnumSet;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@Conditional({ OnDSTU3Condition.class, CrConfigCondition.class })
|
@Conditional({ OnDSTU3Condition.class, CrConfigCondition.class })
|
||||||
@Import({
|
@Import({
|
||||||
BaseCrConfig.class,
|
//BaseCrConfig.class,
|
||||||
CrDstu3Config.class,
|
CrDstu3Config.class,
|
||||||
ApplyOperationConfig.class,
|
ApplyOperationConfig.class,
|
||||||
ExtractOperationConfig.class,
|
ExtractOperationConfig.class,
|
||||||
@@ -132,4 +139,54 @@ public class StarterCrDstu3Config {
|
|||||||
ResourceProviderFactory theResourceProviderFactory) {
|
ResourceProviderFactory theResourceProviderFactory) {
|
||||||
return new PostInitProviderRegisterer(theRestfulServer, theResourceProviderFactory);}
|
return new PostInitProviderRegisterer(theRestfulServer, theResourceProviderFactory);}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public CrProperties crProperties() {
|
||||||
|
return new CrProperties();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public Map<VersionedIdentifier, CompiledLibrary> globalLibraryCache() {
|
||||||
|
return new ConcurrentHashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public Map<ModelIdentifier, Model> globalModelCache() {
|
||||||
|
return new ConcurrentHashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public Map<String, List<Code>> globalValueSetCache() {
|
||||||
|
return new ConcurrentHashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ElmCacheResourceChangeListener elmCacheResourceChangeListener(
|
||||||
|
IResourceChangeListenerRegistry theResourceChangeListenerRegistry,
|
||||||
|
DaoRegistry theDaoRegistry,
|
||||||
|
EvaluationSettings theEvaluationSettings) {
|
||||||
|
ElmCacheResourceChangeListener listener =
|
||||||
|
new ElmCacheResourceChangeListener(theDaoRegistry, theEvaluationSettings.getLibraryCache());
|
||||||
|
theResourceChangeListenerRegistry.registerResourceResourceChangeListener(
|
||||||
|
"Library", SearchParameterMap.newSynchronous(), listener, 1000);
|
||||||
|
return listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public CodeCacheResourceChangeListener codeCacheResourceChangeListener(
|
||||||
|
IResourceChangeListenerRegistry theResourceChangeListenerRegistry,
|
||||||
|
EvaluationSettings theEvaluationSettings,
|
||||||
|
DaoRegistry theDaoRegistry) {
|
||||||
|
|
||||||
|
CodeCacheResourceChangeListener listener = new CodeCacheResourceChangeListener(theDaoRegistry, theEvaluationSettings.getValueSetCache());
|
||||||
|
//registry
|
||||||
|
theResourceChangeListenerRegistry.registerResourceResourceChangeListener(
|
||||||
|
"ValueSet", SearchParameterMap.newSynchronous(), listener,1000);
|
||||||
|
|
||||||
|
return listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ResourceChangeListenerRegistryInterceptor resourceChangeListenerRegistryInterceptor() {
|
||||||
|
return new ResourceChangeListenerRegistryInterceptor();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,16 @@
|
|||||||
package ca.uhn.fhir.jpa.starter.cr;
|
package ca.uhn.fhir.jpa.starter.cr;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.cr.common.CodeCacheResourceChangeListener;
|
||||||
|
import ca.uhn.fhir.cr.common.ElmCacheResourceChangeListener;
|
||||||
import ca.uhn.fhir.cr.config.r4.ApplyOperationConfig;
|
import ca.uhn.fhir.cr.config.r4.ApplyOperationConfig;
|
||||||
import ca.uhn.fhir.cr.config.r4.CrR4Config;
|
import ca.uhn.fhir.cr.config.r4.CrR4Config;
|
||||||
import ca.uhn.fhir.cr.config.r4.ExtractOperationConfig;
|
import ca.uhn.fhir.cr.config.r4.ExtractOperationConfig;
|
||||||
import ca.uhn.fhir.cr.config.r4.PackageOperationConfig;
|
import ca.uhn.fhir.cr.config.r4.PackageOperationConfig;
|
||||||
import ca.uhn.fhir.cr.config.r4.PopulateOperationConfig;
|
import ca.uhn.fhir.cr.config.r4.PopulateOperationConfig;
|
||||||
|
import ca.uhn.fhir.jpa.api.dao.DaoRegistry;
|
||||||
|
import ca.uhn.fhir.jpa.cache.IResourceChangeListenerRegistry;
|
||||||
|
import ca.uhn.fhir.jpa.cache.ResourceChangeListenerRegistryInterceptor;
|
||||||
|
import ca.uhn.fhir.jpa.searchparam.SearchParameterMap;
|
||||||
import ca.uhn.fhir.jpa.starter.annotations.OnR4Condition;
|
import ca.uhn.fhir.jpa.starter.annotations.OnR4Condition;
|
||||||
import ca.uhn.fhir.rest.server.RestfulServer;
|
import ca.uhn.fhir.rest.server.RestfulServer;
|
||||||
import ca.uhn.fhir.rest.server.provider.ResourceProviderFactory;
|
import ca.uhn.fhir.rest.server.provider.ResourceProviderFactory;
|
||||||
@@ -34,13 +40,13 @@ import java.util.EnumSet;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@Conditional({ OnR4Condition.class, CrConfigCondition.class })
|
@Conditional({ OnR4Condition.class, CrConfigCondition.class })
|
||||||
@Import({
|
@Import({
|
||||||
BaseCrConfig.class,
|
|
||||||
CrR4Config.class,
|
CrR4Config.class,
|
||||||
ApplyOperationConfig.class,
|
ApplyOperationConfig.class,
|
||||||
ExtractOperationConfig.class,
|
ExtractOperationConfig.class,
|
||||||
@@ -163,4 +169,55 @@ public class StarterCrR4Config {
|
|||||||
return new PostInitProviderRegisterer(theRestfulServer, theResourceProviderFactory);
|
return new PostInitProviderRegisterer(theRestfulServer, theResourceProviderFactory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public CrProperties crProperties() {
|
||||||
|
return new CrProperties();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public Map<VersionedIdentifier, CompiledLibrary> globalLibraryCache() {
|
||||||
|
return new ConcurrentHashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public Map<ModelIdentifier, Model> globalModelCache() {
|
||||||
|
return new ConcurrentHashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public Map<String, List<Code>> globalValueSetCache() {
|
||||||
|
return new ConcurrentHashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ElmCacheResourceChangeListener elmCacheResourceChangeListener(
|
||||||
|
IResourceChangeListenerRegistry theResourceChangeListenerRegistry,
|
||||||
|
DaoRegistry theDaoRegistry,
|
||||||
|
EvaluationSettings theEvaluationSettings) {
|
||||||
|
ElmCacheResourceChangeListener listener =
|
||||||
|
new ElmCacheResourceChangeListener(theDaoRegistry, theEvaluationSettings.getLibraryCache());
|
||||||
|
theResourceChangeListenerRegistry.registerResourceResourceChangeListener(
|
||||||
|
"Library", SearchParameterMap.newSynchronous(), listener, 1000);
|
||||||
|
return listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public CodeCacheResourceChangeListener codeCacheResourceChangeListener(
|
||||||
|
IResourceChangeListenerRegistry theResourceChangeListenerRegistry,
|
||||||
|
EvaluationSettings theEvaluationSettings,
|
||||||
|
DaoRegistry theDaoRegistry) {
|
||||||
|
|
||||||
|
CodeCacheResourceChangeListener listener = new CodeCacheResourceChangeListener(theDaoRegistry, theEvaluationSettings.getValueSetCache());
|
||||||
|
//registry
|
||||||
|
theResourceChangeListenerRegistry.registerResourceResourceChangeListener(
|
||||||
|
"ValueSet", SearchParameterMap.newSynchronous(), listener,1000);
|
||||||
|
|
||||||
|
return listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ResourceChangeListenerRegistryInterceptor resourceChangeListenerRegistryInterceptor() {
|
||||||
|
return new ResourceChangeListenerRegistryInterceptor();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,8 +42,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
|||||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = {Application.class, JpaStarterWebsocketDispatcherConfig.class}, properties =
|
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = {Application.class, JpaStarterWebsocketDispatcherConfig.class}, properties =
|
||||||
{
|
{
|
||||||
"spring.datasource.url=jdbc:h2:mem:dbr3",
|
"spring.datasource.url=jdbc:h2:mem:dbr3",
|
||||||
"hapi.fhir.cr_enabled=true",
|
|
||||||
"hapi.fhir.fhir_version=dstu3",
|
"hapi.fhir.fhir_version=dstu3",
|
||||||
|
"hapi.fhir.cr_enabled=true",
|
||||||
"hapi.fhir.subscription.websocket_enabled=true",
|
"hapi.fhir.subscription.websocket_enabled=true",
|
||||||
"hapi.fhir.allow_external_references=true",
|
"hapi.fhir.allow_external_references=true",
|
||||||
"hapi.fhir.allow_placeholder_references=true",
|
"hapi.fhir.allow_placeholder_references=true",
|
||||||
|
|||||||
Reference in New Issue
Block a user