Subscription cleanup
This commit is contained in:
parent
43b4d8e0e3
commit
470063e8ab
|
@ -23,10 +23,10 @@ package ca.uhn.fhir.jpa.demo;
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
import ca.uhn.fhir.context.FhirVersionEnum;
|
import ca.uhn.fhir.context.FhirVersionEnum;
|
||||||
import ca.uhn.fhir.interceptor.api.IInterceptorBroadcaster;
|
import ca.uhn.fhir.interceptor.api.IInterceptorBroadcaster;
|
||||||
|
import ca.uhn.fhir.jpa.api.dao.IFhirSystemDao;
|
||||||
import ca.uhn.fhir.jpa.config.BaseConfig;
|
import ca.uhn.fhir.jpa.config.BaseConfig;
|
||||||
import ca.uhn.fhir.jpa.api.config.DaoConfig;
|
import ca.uhn.fhir.jpa.api.config.DaoConfig;
|
||||||
import ca.uhn.fhir.jpa.api.dao.DaoRegistry;
|
import ca.uhn.fhir.jpa.api.dao.DaoRegistry;
|
||||||
import ca.uhn.fhir.jpa.dao.IFhirSystemDao;
|
|
||||||
import ca.uhn.fhir.jpa.interceptor.CascadingDeleteInterceptor;
|
import ca.uhn.fhir.jpa.interceptor.CascadingDeleteInterceptor;
|
||||||
import ca.uhn.fhir.jpa.provider.JpaConformanceProviderDstu2;
|
import ca.uhn.fhir.jpa.provider.JpaConformanceProviderDstu2;
|
||||||
import ca.uhn.fhir.jpa.provider.JpaSystemProviderDstu2;
|
import ca.uhn.fhir.jpa.provider.JpaSystemProviderDstu2;
|
||||||
|
@ -35,6 +35,7 @@ import ca.uhn.fhir.jpa.provider.dstu3.JpaConformanceProviderDstu3;
|
||||||
import ca.uhn.fhir.jpa.provider.dstu3.JpaSystemProviderDstu3;
|
import ca.uhn.fhir.jpa.provider.dstu3.JpaSystemProviderDstu3;
|
||||||
import ca.uhn.fhir.jpa.provider.r4.JpaConformanceProviderR4;
|
import ca.uhn.fhir.jpa.provider.r4.JpaConformanceProviderR4;
|
||||||
import ca.uhn.fhir.jpa.provider.r4.JpaSystemProviderR4;
|
import ca.uhn.fhir.jpa.provider.r4.JpaSystemProviderR4;
|
||||||
|
import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamRegistry;
|
||||||
import ca.uhn.fhir.jpa.subscription.submit.interceptor.SubmitInterceptorLoader;
|
import ca.uhn.fhir.jpa.subscription.submit.interceptor.SubmitInterceptorLoader;
|
||||||
import ca.uhn.fhir.jpa.util.ResourceProviderFactory;
|
import ca.uhn.fhir.jpa.util.ResourceProviderFactory;
|
||||||
import ca.uhn.fhir.model.dstu2.composite.MetaDt;
|
import ca.uhn.fhir.model.dstu2.composite.MetaDt;
|
||||||
|
@ -126,14 +127,14 @@ public class JpaServerDemo extends RestfulServer {
|
||||||
IFhirSystemDao<org.hl7.fhir.dstu3.model.Bundle, org.hl7.fhir.dstu3.model.Meta> systemDao = myAppCtx
|
IFhirSystemDao<org.hl7.fhir.dstu3.model.Bundle, org.hl7.fhir.dstu3.model.Meta> systemDao = myAppCtx
|
||||||
.getBean("mySystemDaoDstu3", IFhirSystemDao.class);
|
.getBean("mySystemDaoDstu3", IFhirSystemDao.class);
|
||||||
JpaConformanceProviderDstu3 confProvider = new JpaConformanceProviderDstu3(this, systemDao,
|
JpaConformanceProviderDstu3 confProvider = new JpaConformanceProviderDstu3(this, systemDao,
|
||||||
myAppCtx.getBean(DaoConfig.class), theSearchParamRegistry);
|
myAppCtx.getBean(DaoConfig.class), myAppCtx.getBean(ISearchParamRegistry.class));
|
||||||
confProvider.setImplementationDescription("Example Server");
|
confProvider.setImplementationDescription("Example Server");
|
||||||
setServerConformanceProvider(confProvider);
|
setServerConformanceProvider(confProvider);
|
||||||
} else if (fhirVersion == FhirVersionEnum.R4) {
|
} else if (fhirVersion == FhirVersionEnum.R4) {
|
||||||
IFhirSystemDao<org.hl7.fhir.r4.model.Bundle, org.hl7.fhir.r4.model.Meta> systemDao = myAppCtx
|
IFhirSystemDao<org.hl7.fhir.r4.model.Bundle, org.hl7.fhir.r4.model.Meta> systemDao = myAppCtx
|
||||||
.getBean("mySystemDaoR4", IFhirSystemDao.class);
|
.getBean("mySystemDaoR4", IFhirSystemDao.class);
|
||||||
JpaConformanceProviderR4 confProvider = new JpaConformanceProviderR4(this, systemDao,
|
JpaConformanceProviderR4 confProvider = new JpaConformanceProviderR4(this, systemDao,
|
||||||
myAppCtx.getBean(DaoConfig.class), theSearchParamRegistry);
|
myAppCtx.getBean(DaoConfig.class), myAppCtx.getBean(ISearchParamRegistry.class));
|
||||||
confProvider.setImplementationDescription("Example Server");
|
confProvider.setImplementationDescription("Example Server");
|
||||||
setServerConformanceProvider(confProvider);
|
setServerConformanceProvider(confProvider);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -2,12 +2,13 @@ package ca.uhn.fhirtest;
|
||||||
|
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
import ca.uhn.fhir.interceptor.api.IInterceptorBroadcaster;
|
import ca.uhn.fhir.interceptor.api.IInterceptorBroadcaster;
|
||||||
import ca.uhn.fhir.jpa.bulk.BulkDataExportProvider;
|
|
||||||
import ca.uhn.fhir.jpa.config.WebsocketDispatcherConfig;
|
|
||||||
import ca.uhn.fhir.jpa.api.config.DaoConfig;
|
import ca.uhn.fhir.jpa.api.config.DaoConfig;
|
||||||
import ca.uhn.fhir.jpa.api.dao.DaoRegistry;
|
import ca.uhn.fhir.jpa.api.dao.DaoRegistry;
|
||||||
import ca.uhn.fhir.jpa.dao.IFhirSystemDao;
|
import ca.uhn.fhir.jpa.api.dao.IFhirSystemDao;
|
||||||
|
import ca.uhn.fhir.jpa.bulk.BulkDataExportProvider;
|
||||||
|
import ca.uhn.fhir.jpa.config.WebsocketDispatcherConfig;
|
||||||
import ca.uhn.fhir.jpa.interceptor.CascadingDeleteInterceptor;
|
import ca.uhn.fhir.jpa.interceptor.CascadingDeleteInterceptor;
|
||||||
|
import ca.uhn.fhir.jpa.provider.GraphQLProvider;
|
||||||
import ca.uhn.fhir.jpa.provider.JpaConformanceProviderDstu2;
|
import ca.uhn.fhir.jpa.provider.JpaConformanceProviderDstu2;
|
||||||
import ca.uhn.fhir.jpa.provider.JpaSystemProviderDstu2;
|
import ca.uhn.fhir.jpa.provider.JpaSystemProviderDstu2;
|
||||||
import ca.uhn.fhir.jpa.provider.TerminologyUploaderProvider;
|
import ca.uhn.fhir.jpa.provider.TerminologyUploaderProvider;
|
||||||
|
@ -18,6 +19,7 @@ import ca.uhn.fhir.jpa.provider.r4.JpaSystemProviderR4;
|
||||||
import ca.uhn.fhir.jpa.provider.r5.JpaConformanceProviderR5;
|
import ca.uhn.fhir.jpa.provider.r5.JpaConformanceProviderR5;
|
||||||
import ca.uhn.fhir.jpa.provider.r5.JpaSystemProviderR5;
|
import ca.uhn.fhir.jpa.provider.r5.JpaSystemProviderR5;
|
||||||
import ca.uhn.fhir.jpa.search.DatabaseBackedPagingProvider;
|
import ca.uhn.fhir.jpa.search.DatabaseBackedPagingProvider;
|
||||||
|
import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamRegistry;
|
||||||
import ca.uhn.fhir.jpa.subscription.submit.interceptor.SubmitInterceptorLoader;
|
import ca.uhn.fhir.jpa.subscription.submit.interceptor.SubmitInterceptorLoader;
|
||||||
import ca.uhn.fhir.jpa.util.ResourceProviderFactory;
|
import ca.uhn.fhir.jpa.util.ResourceProviderFactory;
|
||||||
import ca.uhn.fhir.narrative.DefaultThymeleafNarrativeGenerator;
|
import ca.uhn.fhir.narrative.DefaultThymeleafNarrativeGenerator;
|
||||||
|
@ -36,7 +38,6 @@ import ca.uhn.fhirtest.config.TestR4Config;
|
||||||
import ca.uhn.fhirtest.config.TestR5Config;
|
import ca.uhn.fhirtest.config.TestR5Config;
|
||||||
import ca.uhn.hapi.converters.server.VersionedApiConverterInterceptor;
|
import ca.uhn.hapi.converters.server.VersionedApiConverterInterceptor;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import ca.uhn.fhir.jpa.provider.GraphQLProvider;
|
|
||||||
import org.springframework.web.context.ContextLoaderListener;
|
import org.springframework.web.context.ContextLoaderListener;
|
||||||
import org.springframework.web.context.WebApplicationContext;
|
import org.springframework.web.context.WebApplicationContext;
|
||||||
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
|
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
|
||||||
|
@ -125,7 +126,7 @@ public class TestRestfulServer extends RestfulServer {
|
||||||
providers.add(myAppCtx.getBean("mySystemProviderDstu3", JpaSystemProviderDstu3.class));
|
providers.add(myAppCtx.getBean("mySystemProviderDstu3", JpaSystemProviderDstu3.class));
|
||||||
systemDao = myAppCtx.getBean("mySystemDaoDstu3", IFhirSystemDao.class);
|
systemDao = myAppCtx.getBean("mySystemDaoDstu3", IFhirSystemDao.class);
|
||||||
etagSupport = ETagSupportEnum.ENABLED;
|
etagSupport = ETagSupportEnum.ENABLED;
|
||||||
JpaConformanceProviderDstu3 confProvider = new JpaConformanceProviderDstu3(this, systemDao, myAppCtx.getBean(DaoConfig.class), theSearchParamRegistry);
|
JpaConformanceProviderDstu3 confProvider = new JpaConformanceProviderDstu3(this, systemDao, myAppCtx.getBean(DaoConfig.class), myAppCtx.getBean(ISearchParamRegistry.class));
|
||||||
confProvider.setImplementationDescription(implDesc);
|
confProvider.setImplementationDescription(implDesc);
|
||||||
setServerConformanceProvider(confProvider);
|
setServerConformanceProvider(confProvider);
|
||||||
providers.add(myAppCtx.getBean(TerminologyUploaderProvider.class));
|
providers.add(myAppCtx.getBean(TerminologyUploaderProvider.class));
|
||||||
|
@ -144,7 +145,7 @@ public class TestRestfulServer extends RestfulServer {
|
||||||
providers.add(myAppCtx.getBean("mySystemProviderR4", JpaSystemProviderR4.class));
|
providers.add(myAppCtx.getBean("mySystemProviderR4", JpaSystemProviderR4.class));
|
||||||
systemDao = myAppCtx.getBean("mySystemDaoR4", IFhirSystemDao.class);
|
systemDao = myAppCtx.getBean("mySystemDaoR4", IFhirSystemDao.class);
|
||||||
etagSupport = ETagSupportEnum.ENABLED;
|
etagSupport = ETagSupportEnum.ENABLED;
|
||||||
JpaConformanceProviderR4 confProvider = new JpaConformanceProviderR4(this, systemDao, myAppCtx.getBean(DaoConfig.class), theSearchParamRegistry);
|
JpaConformanceProviderR4 confProvider = new JpaConformanceProviderR4(this, systemDao, myAppCtx.getBean(DaoConfig.class), myAppCtx.getBean(ISearchParamRegistry.class));
|
||||||
confProvider.setImplementationDescription(implDesc);
|
confProvider.setImplementationDescription(implDesc);
|
||||||
setServerConformanceProvider(confProvider);
|
setServerConformanceProvider(confProvider);
|
||||||
providers.add(myAppCtx.getBean(TerminologyUploaderProvider.class));
|
providers.add(myAppCtx.getBean(TerminologyUploaderProvider.class));
|
||||||
|
@ -163,7 +164,7 @@ public class TestRestfulServer extends RestfulServer {
|
||||||
providers.add(myAppCtx.getBean("mySystemProviderR5", JpaSystemProviderR5.class));
|
providers.add(myAppCtx.getBean("mySystemProviderR5", JpaSystemProviderR5.class));
|
||||||
systemDao = myAppCtx.getBean("mySystemDaoR5", IFhirSystemDao.class);
|
systemDao = myAppCtx.getBean("mySystemDaoR5", IFhirSystemDao.class);
|
||||||
etagSupport = ETagSupportEnum.ENABLED;
|
etagSupport = ETagSupportEnum.ENABLED;
|
||||||
JpaConformanceProviderR5 confProvider = new JpaConformanceProviderR5(this, systemDao, myAppCtx.getBean(DaoConfig.class), theSearchParamRegistry);
|
JpaConformanceProviderR5 confProvider = new JpaConformanceProviderR5(this, systemDao, myAppCtx.getBean(DaoConfig.class), myAppCtx.getBean(ISearchParamRegistry.class));
|
||||||
confProvider.setImplementationDescription(implDesc);
|
confProvider.setImplementationDescription(implDesc);
|
||||||
setServerConformanceProvider(confProvider);
|
setServerConformanceProvider(confProvider);
|
||||||
providers.add(myAppCtx.getBean(TerminologyUploaderProvider.class));
|
providers.add(myAppCtx.getBean(TerminologyUploaderProvider.class));
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
package ca.uhn.fhirtest.config;
|
package ca.uhn.fhirtest.config;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.jpa.config.WebsocketDispatcherConfig;
|
||||||
|
import ca.uhn.fhir.jpa.subscription.channel.config.SubscriptionChannelConfig;
|
||||||
|
import ca.uhn.fhir.jpa.subscription.process.config.SubscriptionProcessorConfig;
|
||||||
|
import ca.uhn.fhir.jpa.subscription.submit.config.SubscriptionSubmitterConfig;
|
||||||
import ca.uhn.fhir.rest.server.interceptor.IServerInterceptor;
|
import ca.uhn.fhir.rest.server.interceptor.IServerInterceptor;
|
||||||
import ca.uhn.fhir.rest.server.interceptor.LoggingInterceptor;
|
import ca.uhn.fhir.rest.server.interceptor.LoggingInterceptor;
|
||||||
import ca.uhn.fhirtest.interceptor.AnalyticsInterceptor;
|
import ca.uhn.fhirtest.interceptor.AnalyticsInterceptor;
|
||||||
|
@ -7,14 +11,19 @@ import ca.uhn.fhirtest.joke.HolyFooCowInterceptor;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Import;
|
import org.springframework.context.annotation.Import;
|
||||||
import ca.uhn.fhir.jpa.config.WebsocketDispatcherConfig;
|
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@Import(WebsocketDispatcherConfig.class)
|
@Import({
|
||||||
|
WebsocketDispatcherConfig.class,
|
||||||
|
SubscriptionChannelConfig.class,
|
||||||
|
SubscriptionProcessorConfig.class,
|
||||||
|
SubscriptionSubmitterConfig.class
|
||||||
|
})
|
||||||
public class CommonConfig {
|
public class CommonConfig {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Do some fancy logging to create a nice access log that has details about each incoming request.
|
* Do some fancy logging to create a nice access log that has details about each incoming request.
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
|
@ -22,7 +31,7 @@ public class CommonConfig {
|
||||||
LoggingInterceptor retVal = new LoggingInterceptor();
|
LoggingInterceptor retVal = new LoggingInterceptor();
|
||||||
retVal.setLoggerName("fhirtest.access");
|
retVal.setLoggerName("fhirtest.access");
|
||||||
retVal.setMessageFormat(
|
retVal.setMessageFormat(
|
||||||
"Path[${servletPath}] Source[${requestHeader.x-forwarded-for}] Operation[${operationType} ${operationName} ${idOrResourceName}] UA[${requestHeader.user-agent}] Params[${requestParameters}] ResponseEncoding[${responseEncodingNoDefault}]");
|
"Path[${servletPath}] Source[${requestHeader.x-forwarded-for}] Operation[${operationType} ${operationName} ${idOrResourceName}] UA[${requestHeader.user-agent}] Params[${requestParameters}] ResponseEncoding[${responseEncodingNoDefault}]");
|
||||||
retVal.setLogExceptions(true);
|
retVal.setLogExceptions(true);
|
||||||
retVal.setErrorMessageFormat("ERROR - ${requestVerb} ${requestUrl}");
|
retVal.setErrorMessageFormat("ERROR - ${requestVerb} ${requestUrl}");
|
||||||
return retVal;
|
return retVal;
|
||||||
|
@ -37,17 +46,17 @@ public class CommonConfig {
|
||||||
retVal.setAnalyticsTid("UA-1395874-6");
|
retVal.setAnalyticsTid("UA-1395874-6");
|
||||||
return retVal;
|
return retVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is a joke
|
* This is a joke
|
||||||
*
|
* <p>
|
||||||
* https://chat.fhir.org/#narrow/stream/implementers/topic/Unsupported.20search.20parameters
|
* https://chat.fhir.org/#narrow/stream/implementers/topic/Unsupported.20search.20parameters
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
public IServerInterceptor holyFooCowInterceptor() {
|
public IServerInterceptor holyFooCowInterceptor() {
|
||||||
return new HolyFooCowInterceptor();
|
return new HolyFooCowInterceptor();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Do some fancy logging to create a nice access log that has details about each incoming request.
|
* Do some fancy logging to create a nice access log that has details about each incoming request.
|
||||||
*/
|
*/
|
||||||
|
@ -60,7 +69,7 @@ public class CommonConfig {
|
||||||
return retVal;
|
return retVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isLocalTestMode(){
|
public static boolean isLocalTestMode() {
|
||||||
return "true".equalsIgnoreCase(System.getProperty("testmode.local"));
|
return "true".equalsIgnoreCase(System.getProperty("testmode.local"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue