49 lines
1.9 KiB
Java
49 lines
1.9 KiB
Java
package ca.uhn.fhir.jpa.starter;
|
|
|
|
import ca.uhn.fhir.context.FhirVersionEnum;
|
|
import ca.uhn.fhir.jpa.empi.config.EmpiConsumerConfig;
|
|
import ca.uhn.fhir.jpa.empi.config.EmpiSubmitterConfig;
|
|
import ca.uhn.fhir.jpa.subscription.channel.config.SubscriptionChannelConfig;
|
|
import ca.uhn.fhir.jpa.subscription.match.config.SubscriptionProcessorConfig;
|
|
import ca.uhn.fhir.jpa.subscription.match.config.WebsocketDispatcherConfig;
|
|
import ca.uhn.fhir.jpa.subscription.submit.config.SubscriptionSubmitterConfig;
|
|
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
|
|
|
|
public class ApplicationContext extends AnnotationConfigWebApplicationContext {
|
|
|
|
public ApplicationContext() {
|
|
FhirVersionEnum fhirVersion = HapiProperties.getFhirVersion();
|
|
if (fhirVersion == FhirVersionEnum.DSTU2) {
|
|
register(FhirServerConfigDstu2.class, FhirServerConfigCommon.class);
|
|
} else if (fhirVersion == FhirVersionEnum.DSTU3) {
|
|
register(FhirServerConfigDstu3.class, FhirServerConfigCommon.class);
|
|
} else if (fhirVersion == FhirVersionEnum.R4) {
|
|
register(FhirServerConfigR4.class, FhirServerConfigCommon.class);
|
|
} else if (fhirVersion == FhirVersionEnum.R5) {
|
|
register(FhirServerConfigR5.class, FhirServerConfigCommon.class);
|
|
} else {
|
|
throw new IllegalStateException();
|
|
}
|
|
|
|
if (HapiProperties.getSubscriptionWebsocketEnabled()) {
|
|
register(WebsocketDispatcherConfig.class);
|
|
}
|
|
|
|
if (HapiProperties.getSubscriptionEmailEnabled()
|
|
|| HapiProperties.getSubscriptionRestHookEnabled()
|
|
|| HapiProperties.getSubscriptionWebsocketEnabled()) {
|
|
register(SubscriptionSubmitterConfig.class);
|
|
register(SubscriptionProcessorConfig.class);
|
|
register(SubscriptionChannelConfig.class);
|
|
}
|
|
|
|
if (HapiProperties.getEmpiEnabled()) {
|
|
register(EmpiSubmitterConfig.class);
|
|
register(EmpiConsumerConfig.class);
|
|
register(EmpiConfig.class);
|
|
}
|
|
|
|
}
|
|
|
|
}
|