Merge branch 'master' into rel_5_1_0

This commit is contained in:
jamesagnew
2020-06-15 18:22:06 -04:00
5 changed files with 170 additions and 3 deletions

View File

@@ -134,7 +134,14 @@ public class FhirServerConfigCommon {
@Bean
public PartitionSettings partitionSettings() {
return new PartitionSettings();
PartitionSettings retVal = new PartitionSettings();
// Partitioning
if (HapiProperties.getPartitioningMultitenancyEnabled()) {
retVal.setPartitioningEnabled(true);
}
return retVal;
}

View File

@@ -78,6 +78,8 @@ public class HapiProperties {
static final String BULK_EXPORT_ENABLED = "bulk.export.enabled";
static final String EXPIRE_SEARCH_RESULTS_AFTER_MINS = "retain_cached_searches_mins";
static final String MAX_BINARY_SIZE = "max_binary_size";
static final String PARTITIONING_MULTITENANCY_ENABLED = "partitioning.multitenancy.enabled";
private static Properties ourProperties;
public static boolean isElasticSearchEnabled() {
@@ -510,5 +512,9 @@ public class HapiProperties {
public static boolean isFhirPathFilterInterceptorEnabled() {
return HapiProperties.getBooleanProperty("fhirpath_interceptor.enabled", false);
}
public static boolean getPartitioningMultitenancyEnabled() {
return HapiProperties.getBooleanProperty(PARTITIONING_MULTITENANCY_ENABLED, false);
}
}

View File

@@ -37,6 +37,8 @@ import ca.uhn.fhir.rest.server.interceptor.RequestValidatingInterceptor;
import ca.uhn.fhir.rest.server.interceptor.ResponseHighlighterInterceptor;
import ca.uhn.fhir.rest.server.interceptor.ResponseValidatingInterceptor;
import ca.uhn.fhir.rest.server.provider.ResourceProviderFactory;
import ca.uhn.fhir.rest.server.interceptor.partition.RequestTenantPartitionInterceptor;
import ca.uhn.fhir.rest.server.tenant.UrlBaseTenantIdentificationStrategy;
import ca.uhn.fhir.validation.IValidatorModule;
import ca.uhn.fhir.validation.ResultSeverityEnum;
import org.hl7.fhir.dstu3.model.Bundle;
@@ -327,6 +329,12 @@ public class JpaRestfulServer extends RestfulServer {
partitionSettings.setAllowReferencesAcrossPartitions(mode);
partitionSettings.setIncludePartitionInSearchHashes(HapiProperties.getIncludePartitionInSearchHashes());
registerProvider(appCtx.getBean(PartitionManagementProvider.class));
}
if (HapiProperties.getPartitioningMultitenancyEnabled()) {
registerInterceptor(new RequestTenantPartitionInterceptor());
setTenantIdentificationStrategy(new UrlBaseTenantIdentificationStrategy());
registerProviders(appCtx.getBean(PartitionManagementProvider.class));
}
}
}