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 f347915..6a0c818 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigCommon.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigCommon.java @@ -28,6 +28,7 @@ public class FhirServerConfigCommon { private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(FhirServerConfigCommon.class); + private Boolean enableIndexMissingFields = HapiProperties.getEnableIndexMissingFields(); private Boolean autoCreatePlaceholderReferenceTargets = HapiProperties.getAutoCreatePlaceholderReferenceTargets(); private Boolean enforceReferentialIntegrityOnWrite = HapiProperties.getEnforceReferentialIntegrityOnWrite(); private Boolean enforceReferentialIntegrityOnDelete = HapiProperties.getEnforceReferentialIntegrityOnDelete(); @@ -85,6 +86,7 @@ public class FhirServerConfigCommon { public DaoConfig daoConfig() { DaoConfig retVal = new DaoConfig(); + retVal.setIndexMissingFields(this.enableIndexMissingFields ? DaoConfig.IndexEnabledEnum.ENABLED : DaoConfig.IndexEnabledEnum.DISABLED); retVal.setAutoCreatePlaceholderReferenceTargets(this.autoCreatePlaceholderReferenceTargets); retVal.setEnforceReferentialIntegrityOnWrite(this.enforceReferentialIntegrityOnWrite); retVal.setEnforceReferentialIntegrityOnDelete(this.enforceReferentialIntegrityOnDelete); diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/HapiProperties.java b/src/main/java/ca/uhn/fhir/jpa/starter/HapiProperties.java index 8b3bfeb..02f6581 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/HapiProperties.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/HapiProperties.java @@ -16,6 +16,7 @@ import java.util.stream.Collectors; import static org.apache.commons.lang3.StringUtils.*; public class HapiProperties { + static final String ENABLE_INDEX_MISSING_FIELDS = "enable_index_missing_fields"; static final String AUTO_CREATE_PLACEHOLDER_REFERENCE_TARGETS = "auto_create_placeholder_reference_targets"; static final String ENFORCE_REFERENTIAL_INTEGRITY_ON_WRITE = "enforce_referential_integrity_on_write"; static final String ENFORCE_REFERENTIAL_INTEGRITY_ON_DELETE = "enforce_referential_integrity_on_delete"; @@ -394,5 +395,9 @@ public class HapiProperties { public static boolean getAutoCreatePlaceholderReferenceTargets() { return HapiProperties.getBooleanProperty(AUTO_CREATE_PLACEHOLDER_REFERENCE_TARGETS, true); } + + public static boolean getEnableIndexMissingFields() { + return HapiProperties.getBooleanProperty(ENABLE_INDEX_MISSING_FIELDS, false); + } } diff --git a/src/main/resources/hapi.properties b/src/main/resources/hapi.properties index 0b92af1..9f51ca4 100644 --- a/src/main/resources/hapi.properties +++ b/src/main/resources/hapi.properties @@ -13,9 +13,10 @@ fhir_version=R4 # accessible from the server itself. server_address=http://localhost:8080/hapi-fhir-jpaserver/fhir/ -auto_create_placeholder_reference_targets=true -enforce_referential_integrity_on_write=true -enforce_referential_integrity_on_delete=true +enable_index_missing_fields=false +auto_create_placeholder_reference_targets=false +enforce_referential_integrity_on_write=false +enforce_referential_integrity_on_delete=false default_encoding=JSON etag_support=ENABLED reuse_cached_search_results_millis=-1