diff --git a/src/main/java/ca/uhn/fhir/jpa/empi/EmpiConfig.java b/src/main/java/ca/uhn/fhir/jpa/empi/EmpiConfig.java index 3fb9152..66317fc 100644 --- a/src/main/java/ca/uhn/fhir/jpa/empi/EmpiConfig.java +++ b/src/main/java/ca/uhn/fhir/jpa/empi/EmpiConfig.java @@ -4,17 +4,17 @@ import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.empi.api.IEmpiSettings; import ca.uhn.fhir.empi.rules.config.EmpiRuleValidator; import ca.uhn.fhir.empi.rules.config.EmpiSettings; -import ca.uhn.fhir.jpa.empi.svc.EmpiSearchParamSvc; +import ca.uhn.fhir.jpa.empi.config.EmpiConsumerConfig; +import ca.uhn.fhir.jpa.empi.config.EmpiSubmitterConfig; import ca.uhn.fhir.jpa.starter.AppProperties; import ca.uhn.fhir.rest.server.util.ISearchParamRetriever; import com.google.common.base.Charsets; import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; import org.springframework.core.io.DefaultResourceLoader; import org.springframework.core.io.Resource; @@ -26,6 +26,7 @@ import java.io.IOException; */ @Configuration @Conditional(EmpiConfigCondition.class) +@Import({EmpiConsumerConfig.class, EmpiSubmitterConfig.class}) public class EmpiConfig { @Bean @@ -33,12 +34,6 @@ public class EmpiConfig { return new EmpiRuleValidator(theFhirContext, theSearchParamRetriever); } - @Bean - EmpiSearchParamSvc empiSearchParamSvc() { - return new EmpiSearchParamSvc(); - } - - @Bean IEmpiSettings empiSettings(@Autowired EmpiRuleValidator theEmpiRuleValidator, AppProperties appProperties) throws IOException { DefaultResourceLoader resourceLoader = new DefaultResourceLoader(); diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/Application.java b/src/main/java/ca/uhn/fhir/jpa/starter/Application.java index 3670b37..b0aa670 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/Application.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/Application.java @@ -21,7 +21,7 @@ import org.springframework.web.servlet.DispatcherServlet; @ServletComponentScan(basePackageClasses = { JpaRestfulServer.class}, basePackages = "ca.uhn.fhir.jpa.starter") -@SpringBootApplication(exclude = ElasticsearchRestClientAutoConfiguration.class) +@SpringBootApplication(exclude = {ElasticsearchRestClientAutoConfiguration.class}, scanBasePackages = {"ca.uhn.fhir.jpa.starter"}) @Import({SubscriptionSubmitterConfig.class, SubscriptionProcessorConfig.class, SubscriptionChannelConfig.class, WebsocketDispatcherConfig.class, EmpiConfig.class}) public class Application extends SpringBootServletInitializer { diff --git a/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerR4IT.java b/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerR4IT.java index 36774dc..dbcfff4 100644 --- a/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerR4IT.java +++ b/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerR4IT.java @@ -39,7 +39,9 @@ import static org.junit.jupiter.api.Assertions.assertTrue; "spring.profiles.active=r4", "spring.datasource.url=jdbc:h2:mem:dbr4", "hapi.fhir.subscription.websocket_enabled=true", - "hapi.fhir.empi_enabled=true" + "hapi.fhir.empi_enabled=true", + //Override is currently required when using Empi as the construction of the Empi beans are ambiguous as they are constructed multiple places. This is evident when running in a spring boot environment + "spring.main.allow-bean-definition-overriding=true" }) public class ExampleServerR4IT {