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 fab5481..272feb6 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/Application.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/Application.java @@ -1,6 +1,7 @@ package ca.uhn.fhir.jpa.starter; import ca.uhn.fhir.jpa.empi.EmpiConfig; +import ca.uhn.fhir.jpa.starter.annotations.OnEitherVersion; 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; @@ -15,6 +16,7 @@ import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Import; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.servlet.DispatcherServlet; @@ -44,6 +46,7 @@ public class Application extends SpringBootServletInitializer { AutowireCapableBeanFactory beanFactory; @Bean + @Conditional(OnEitherVersion.class) public ServletRegistrationBean hapiServletRegistration() { ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(); JpaRestfulServer jpaRestfulServer = new JpaRestfulServer(); diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/BaseJpaRestfulServer.java b/src/main/java/ca/uhn/fhir/jpa/starter/BaseJpaRestfulServer.java index 2f7c044..41743a3 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/BaseJpaRestfulServer.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/BaseJpaRestfulServer.java @@ -13,11 +13,7 @@ import ca.uhn.fhir.jpa.interceptor.CascadingDeleteInterceptor; import ca.uhn.fhir.jpa.packages.IPackageInstallerSvc; import ca.uhn.fhir.jpa.packages.PackageInstallationSpec; import ca.uhn.fhir.jpa.partition.PartitionManagementProvider; -import ca.uhn.fhir.jpa.provider.GraphQLProvider; -import ca.uhn.fhir.jpa.provider.IJpaSystemProvider; -import ca.uhn.fhir.jpa.provider.JpaConformanceProviderDstu2; -import ca.uhn.fhir.jpa.provider.SubscriptionTriggeringProvider; -import ca.uhn.fhir.jpa.provider.TerminologyUploaderProvider; +import ca.uhn.fhir.jpa.provider.*; import ca.uhn.fhir.jpa.provider.dstu3.JpaConformanceProviderDstu3; import ca.uhn.fhir.jpa.provider.r4.JpaConformanceProviderR4; import ca.uhn.fhir.jpa.provider.r5.JpaConformanceProviderR5; diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigCommon.java b/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigCommon.java index 091f37a..4b7d721 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigCommon.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigCommon.java @@ -16,6 +16,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Primary; +import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import org.springframework.transaction.annotation.EnableTransactionManagement; import java.util.Optional; @@ -133,8 +134,8 @@ public class FhirServerConfigCommon { @Primary @Bean - public HibernateDialectProvider jpaStarterDialectProvider() { - return new JpaHibernateDialectProvider(); + public HibernateDialectProvider jpaStarterDialectProvider(LocalContainerEntityManagerFactoryBean myEntityManagerFactory) { + return new JpaHibernateDialectProvider(myEntityManagerFactory); } @Bean diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigDstu2.java b/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigDstu2.java index 8efc81f..5674d2a 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigDstu2.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigDstu2.java @@ -3,24 +3,21 @@ package ca.uhn.fhir.jpa.starter; import ca.uhn.fhir.context.ConfigurationException; import ca.uhn.fhir.jpa.config.BaseJavaConfigDstu2; import ca.uhn.fhir.jpa.search.DatabaseBackedPagingProvider; +import ca.uhn.fhir.jpa.starter.annotations.OnDSTU2Condition; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; -import org.springframework.context.annotation.Profile; import org.springframework.core.env.ConfigurableEnvironment; -import org.springframework.core.env.Environment; import org.springframework.orm.jpa.JpaTransactionManager; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import javax.persistence.EntityManagerFactory; import javax.sql.DataSource; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; @Configuration -@Profile("dstu2") +@Conditional(OnDSTU2Condition.class) public class FhirServerConfigDstu2 extends BaseJavaConfigDstu2 { @Autowired diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigDstu3.java b/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigDstu3.java index ace88af..02d51ea 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigDstu3.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigDstu3.java @@ -3,11 +3,9 @@ package ca.uhn.fhir.jpa.starter; import ca.uhn.fhir.context.ConfigurationException; import ca.uhn.fhir.jpa.config.BaseJavaConfigDstu3; import ca.uhn.fhir.jpa.search.DatabaseBackedPagingProvider; +import ca.uhn.fhir.jpa.starter.annotations.OnDSTU3Condition; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.context.annotation.Profile; +import org.springframework.context.annotation.*; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.orm.jpa.JpaTransactionManager; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; @@ -16,7 +14,7 @@ import javax.persistence.EntityManagerFactory; import javax.sql.DataSource; @Configuration -@Profile("dstu3") +@Conditional(OnDSTU3Condition.class) public class FhirServerConfigDstu3 extends BaseJavaConfigDstu3 { @Autowired diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigR4.java b/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigR4.java index 8d8e699..6734723 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigR4.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigR4.java @@ -3,23 +3,21 @@ package ca.uhn.fhir.jpa.starter; import ca.uhn.fhir.context.ConfigurationException; import ca.uhn.fhir.jpa.config.BaseJavaConfigR4; import ca.uhn.fhir.jpa.search.DatabaseBackedPagingProvider; +import ca.uhn.fhir.jpa.starter.annotations.OnR4Condition; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; -import org.springframework.context.annotation.Profile; import org.springframework.core.env.ConfigurableEnvironment; -import org.springframework.core.env.Environment; import org.springframework.orm.jpa.JpaTransactionManager; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import javax.persistence.EntityManagerFactory; import javax.sql.DataSource; -import java.util.Arrays; -import java.util.Properties; @Configuration -@Profile("r4") +@Conditional(OnR4Condition.class) public class FhirServerConfigR4 extends BaseJavaConfigR4 { @Autowired diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigR5.java b/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigR5.java index 5a5145b..28e5ef5 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigR5.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigR5.java @@ -3,11 +3,12 @@ package ca.uhn.fhir.jpa.starter; import ca.uhn.fhir.context.ConfigurationException; import ca.uhn.fhir.jpa.config.BaseJavaConfigR5; import ca.uhn.fhir.jpa.search.DatabaseBackedPagingProvider; +import ca.uhn.fhir.jpa.starter.annotations.OnR5Condition; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; -import org.springframework.context.annotation.Profile; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.orm.jpa.JpaTransactionManager; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; @@ -16,7 +17,7 @@ import javax.persistence.EntityManagerFactory; import javax.sql.DataSource; @Configuration -@Profile("r5") +@Conditional(OnR5Condition.class) public class FhirServerConfigR5 extends BaseJavaConfigR5 { @Autowired diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/JpaHibernateDialectProvider.java b/src/main/java/ca/uhn/fhir/jpa/starter/JpaHibernateDialectProvider.java index 61395a1..49d31ee 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/JpaHibernateDialectProvider.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/JpaHibernateDialectProvider.java @@ -3,20 +3,29 @@ package ca.uhn.fhir.jpa.starter; import ca.uhn.fhir.context.ConfigurationException; import ca.uhn.fhir.jpa.config.HibernateDialectProvider; import org.hibernate.dialect.Dialect; -import org.springframework.beans.factory.annotation.Value; +import org.hibernate.engine.jdbc.dialect.internal.StandardDialectResolver; +import org.hibernate.engine.jdbc.dialect.spi.DatabaseMetaDataDialectResolutionInfoAdapter; +import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; + +import javax.sql.DataSource; +import java.sql.SQLException; public class JpaHibernateDialectProvider extends HibernateDialectProvider { - @Value("${spring.jpa.properties.hibernate.dialect}") - public String myDialectClass; + private final Dialect dialect; + public JpaHibernateDialectProvider(LocalContainerEntityManagerFactoryBean myEntityManagerFactory) { + DataSource connection = myEntityManagerFactory.getDataSource(); + try { + dialect = new StandardDialectResolver() + .resolveDialect(new DatabaseMetaDataDialectResolutionInfoAdapter(connection.getConnection().getMetaData())); + } catch (SQLException sqlException) { + throw new ConfigurationException(sqlException.getMessage(), sqlException); + } + } @Override public Dialect getDialect() { - try { - return (Dialect) Class.forName(myDialectClass).newInstance(); - } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { - throw new ConfigurationException("Can not load dialect: " + myDialectClass); - } + return dialect; } } diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnDSTU2Condition.java b/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnDSTU2Condition.java new file mode 100644 index 0000000..2c2419c --- /dev/null +++ b/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnDSTU2Condition.java @@ -0,0 +1,19 @@ +package ca.uhn.fhir.jpa.starter.annotations; + +import ca.uhn.fhir.context.FhirVersionEnum; +import org.springframework.context.annotation.Condition; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.type.AnnotatedTypeMetadata; + +public class OnDSTU2Condition implements Condition { + @Override + public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata metadata) { + FhirVersionEnum version = FhirVersionEnum.forVersionString(conditionContext. + getEnvironment() + .getProperty("hapi.fhir.fhir_version") + .toUpperCase()); + + return version == FhirVersionEnum.DSTU2; + + } +} diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnDSTU3Condition.java b/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnDSTU3Condition.java new file mode 100644 index 0000000..1196245 --- /dev/null +++ b/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnDSTU3Condition.java @@ -0,0 +1,19 @@ +package ca.uhn.fhir.jpa.starter.annotations; + +import ca.uhn.fhir.context.FhirVersionEnum; +import org.springframework.context.annotation.Condition; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.type.AnnotatedTypeMetadata; + +public class OnDSTU3Condition implements Condition { + @Override + public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata metadata) { + FhirVersionEnum version = FhirVersionEnum.forVersionString(conditionContext. + getEnvironment() + .getProperty("hapi.fhir.fhir_version") + .toUpperCase()); + + return version == FhirVersionEnum.DSTU3; + + } +} diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnEitherVersion.java b/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnEitherVersion.java new file mode 100644 index 0000000..abf564f --- /dev/null +++ b/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnEitherVersion.java @@ -0,0 +1,35 @@ +package ca.uhn.fhir.jpa.starter.annotations; + +import org.springframework.boot.autoconfigure.condition.AnyNestedCondition; +import org.springframework.boot.autoconfigure.condition.ConditionOutcome; +import org.springframework.context.annotation.Conditional; + +public class OnEitherVersion extends AnyNestedCondition { + + OnEitherVersion() { + super(ConfigurationPhase.REGISTER_BEAN); + } + + @Override + protected ConditionOutcome getFinalMatchOutcome(MemberMatchOutcomes memberOutcomes) { + ConditionOutcome result = super.getFinalMatchOutcome(memberOutcomes); + return result; + } + + @Conditional(OnDSTU2Condition.class) + static class OnDSTU2 { + } + + @Conditional(OnDSTU3Condition.class) + static class OnDSTU3 { + } + + @Conditional(OnR4Condition.class) + static class OnR4 { + } + + @Conditional(OnR5Condition.class) + static class OnR5 { + } + +} \ No newline at end of file diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnR4Condition.java b/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnR4Condition.java new file mode 100644 index 0000000..e362aea --- /dev/null +++ b/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnR4Condition.java @@ -0,0 +1,19 @@ +package ca.uhn.fhir.jpa.starter.annotations; + +import ca.uhn.fhir.context.FhirVersionEnum; +import org.springframework.context.annotation.Condition; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.type.AnnotatedTypeMetadata; + +public class OnR4Condition implements Condition { + @Override + public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata metadata) { + FhirVersionEnum version = FhirVersionEnum.forVersionString(conditionContext. + getEnvironment() + .getProperty("hapi.fhir.fhir_version") + .toUpperCase()); + + return version == FhirVersionEnum.R4; + + } +} diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnR5Condition.java b/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnR5Condition.java new file mode 100644 index 0000000..1ecca66 --- /dev/null +++ b/src/main/java/ca/uhn/fhir/jpa/starter/annotations/OnR5Condition.java @@ -0,0 +1,19 @@ +package ca.uhn.fhir.jpa.starter.annotations; + +import ca.uhn.fhir.context.FhirVersionEnum; +import org.springframework.context.annotation.Condition; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.core.type.AnnotatedTypeMetadata; + +public class OnR5Condition implements Condition { + @Override + public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata metadata) { + FhirVersionEnum version = FhirVersionEnum.forVersionString(conditionContext. + getEnvironment() + .getProperty("hapi.fhir.fhir_version") + .toUpperCase()); + + return version == FhirVersionEnum.R5; + + } +} diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index b7ec776..abb95b2 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -5,24 +5,21 @@ spring: password: null driverClassName: org.h2.Driver max-active: 15 - profiles: - ### This is the FHIR version. Choose between, dstu2, dstu3, r4 or r5 - active: r4 - jpa: - properties: - hibernate.dialect: org.hibernate.dialect.H2Dialect - hibernate.search.model_mapping: ca.uhn.fhir.jpa.search.LuceneSearchMappingFactory - hibernate.format_sql: false - hibernate.show_sql: false - hibernate.hbm2ddl.auto: update - hibernate.jdbc.batch_size: 20 - hibernate.cache.use_query_cache: false - hibernate.cache.use_second_level_cache: false - hibernate.cache.use_structured_entries: false - hibernate.cache.use_minimal_puts: false - hibernate.search.default.directory_provider: filesystem - hibernate.search.default.indexBase: target/lucenefiles - hibernate.search.lucene_version: LUCENE_CURRENT +# jpa: +# properties: +# hibernate.dialect: org.hibernate.dialect.h2dialect +# hibernate.search.model_mapping: ca.uhn.fhir.jpa.search.lucenesearchmappingfactory +# hibernate.format_sql: false +# hibernate.show_sql: false +# hibernate.hbm2ddl.auto: update +# hibernate.jdbc.batch_size: 20 +# hibernate.cache.use_query_cache: false +# hibernate.cache.use_second_level_cache: false +# hibernate.cache.use_structured_entries: false +# hibernate.cache.use_minimal_puts: false +# hibernate.search.default.directory_provider: filesystem +# hibernate.search.default.indexbase: target/lucenefiles +# hibernate.search.lucene_version: lucene_current batch: job: @@ -30,7 +27,9 @@ spring: hapi: fhir: - defer_indexing_for_codesystems_of_size: 101 + ### This is the FHIR version. Choose between, DSTU2, DSTU3, R4 or R5 + fhir_version: R4 +# defer_indexing_for_codesystems_of_size: 101 # implementationguides: # - # url: https://build.fhir.org/ig/hl7dk/dk-medcom/branches/corrections/package.tgz diff --git a/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerDstu2IT.java b/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerDstu2IT.java index b99ea65..3aa1556 100644 --- a/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerDstu2IT.java +++ b/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerDstu2IT.java @@ -19,7 +19,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = Application.class, properties = { "spring.batch.job.enabled=false", - "spring.profiles.active=dstu2", + "hapi.fhir.fhir_version=dstu2", "spring.datasource.url=jdbc:h2:mem:dbr2" }) public class ExampleServerDstu2IT { diff --git a/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerDstu3IT.java b/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerDstu3IT.java index ca1cbf1..f190697 100644 --- a/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerDstu3IT.java +++ b/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerDstu3IT.java @@ -33,8 +33,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = Application.class, properties = { "spring.batch.job.enabled=false", - "spring.profiles.active=dstu3", "spring.datasource.url=jdbc:h2:mem:dbr3", + "hapi.fhir.fhir_version=dstu3", "hapi.fhir.subscription.websocket_enabled=true", "hapi.fhir.allow_external_references=true", "hapi.fhir.allow_placeholder_references=true", 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 6fc36b3..8a011be 100644 --- a/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerR4IT.java +++ b/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerR4IT.java @@ -36,8 +36,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = Application.class, properties = { "spring.batch.job.enabled=false", - "spring.profiles.active=r4", "spring.datasource.url=jdbc:h2:mem:dbr4", + "hapi.fhir.fhir_version=r4", "hapi.fhir.subscription.websocket_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 diff --git a/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerR5IT.java b/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerR5IT.java index 3a52ec7..9ac9997 100644 --- a/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerR5IT.java +++ b/src/test/java/ca/uhn/fhir/jpa/starter/ExampleServerR5IT.java @@ -35,8 +35,8 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = Application.class, properties = { "spring.batch.job.enabled=false", - "spring.profiles.active=r5", "spring.datasource.url=jdbc:h2:mem:dbr5", + "hapi.fhir.fhir_version=r5", "hapi.fhir.subscription.websocket_enabled=true" }) public class ExampleServerR5IT { diff --git a/src/test/java/ca/uhn/fhir/jpa/starter/MultitenantServerR4IT.java b/src/test/java/ca/uhn/fhir/jpa/starter/MultitenantServerR4IT.java index 66fb4df..f13a11a 100644 --- a/src/test/java/ca/uhn/fhir/jpa/starter/MultitenantServerR4IT.java +++ b/src/test/java/ca/uhn/fhir/jpa/starter/MultitenantServerR4IT.java @@ -21,8 +21,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = Application.class, properties = { "spring.batch.job.enabled=false", - "spring.profiles.active=r4", "spring.datasource.url=jdbc:h2:mem:dbr4-mt", + "hapi.fhir.fhir_version=r4", "hapi.fhir.subscription.websocket_enabled=true", "hapi.fhir.partitioning.partitioning_include_in_search_hashes=false"