Enable configuration of store_meta_source_information (#825)

* Enable configuration of store_meta_source_information

* Update src/main/java/ca/uhn/fhir/jpa/starter/common/FhirServerConfigCommon.java

Co-authored-by: James Agnew <jamesagnew@gmail.com>

* Apply spotless style checks

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
This commit is contained in:
Michal Sevcik
2025-06-08 11:40:26 +02:00
committed by GitHub
parent e29dc540e3
commit 7cd0637c88
3 changed files with 18 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
package ca.uhn.fhir.jpa.starter; package ca.uhn.fhir.jpa.starter;
import ca.uhn.fhir.context.FhirVersionEnum; import ca.uhn.fhir.context.FhirVersionEnum;
import ca.uhn.fhir.jpa.api.config.JpaStorageSettings;
import ca.uhn.fhir.jpa.api.config.JpaStorageSettings.ClientIdStrategyEnum; import ca.uhn.fhir.jpa.api.config.JpaStorageSettings.ClientIdStrategyEnum;
import ca.uhn.fhir.jpa.api.config.JpaStorageSettings.IdStrategyEnum; import ca.uhn.fhir.jpa.api.config.JpaStorageSettings.IdStrategyEnum;
import ca.uhn.fhir.jpa.model.entity.NormalizedQuantitySearchLevel; import ca.uhn.fhir.jpa.model.entity.NormalizedQuantitySearchLevel;
@@ -106,6 +107,8 @@ public class AppProperties {
private Integer pre_expand_value_sets_default_count = 1000; private Integer pre_expand_value_sets_default_count = 1000;
private Integer pre_expand_value_sets_max_count = 1000; private Integer pre_expand_value_sets_max_count = 1000;
private Integer maximum_expansion_size = 1000; private Integer maximum_expansion_size = 1000;
private JpaStorageSettings.StoreMetaSourceInformationEnum store_meta_source_information =
JpaStorageSettings.StoreMetaSourceInformationEnum.NONE;
private Map<String, RemoteSystem> remote_terminology_service = null; private Map<String, RemoteSystem> remote_terminology_service = null;
@@ -742,6 +745,15 @@ public class AppProperties {
this.remote_terminology_service = remote_terminology_service; this.remote_terminology_service = remote_terminology_service;
} }
public JpaStorageSettings.StoreMetaSourceInformationEnum getStore_meta_source_information() {
return store_meta_source_information;
}
public void setStore_meta_source_information(
JpaStorageSettings.StoreMetaSourceInformationEnum store_meta_source_information) {
this.store_meta_source_information = store_meta_source_information;
}
public static class Cors { public static class Cors {
private Boolean allow_Credentials = true; private Boolean allow_Credentials = true;
private List<String> allowed_origin = List.of("*"); private List<String> allowed_origin = List.of("*");

View File

@@ -254,6 +254,10 @@ public class FhirServerConfigCommon {
jpaStorageSettings.setBundleBatchPoolSize(appProperties.getBundle_batch_pool_size()); jpaStorageSettings.setBundleBatchPoolSize(appProperties.getBundle_batch_pool_size());
jpaStorageSettings.setBundleBatchPoolSize(appProperties.getBundle_batch_pool_max_size()); jpaStorageSettings.setBundleBatchPoolSize(appProperties.getBundle_batch_pool_max_size());
// Set store meta source information
ourLog.debug("Server configured to Store Meta Source: {}", appProperties.getStore_meta_source_information());
jpaStorageSettings.setStoreMetaSourceInformation(appProperties.getStore_meta_source_information());
storageSettings(appProperties, jpaStorageSettings); storageSettings(appProperties, jpaStorageSettings);
return jpaStorageSettings; return jpaStorageSettings;
} }

View File

@@ -276,7 +276,8 @@ hapi:
# classes listed here will be fetched from the Spring context when combined with 'custom-bean-packages', # classes listed here will be fetched from the Spring context when combined with 'custom-bean-packages',
# or will be instantiated via reflection using an no-arg contructor; then registered with the server # or will be instantiated via reflection using an no-arg contructor; then registered with the server
#custom-provider-classes: #custom-provider-classes:
# specify what should be stored in meta.source based on StoreMetaSourceInformationEnum defaults to NONE
# store_meta_source_information: NONE
# Threadpool size for BATCH'ed GETs in a bundle. # Threadpool size for BATCH'ed GETs in a bundle.
# bundle_batch_pool_size: 10 # bundle_batch_pool_size: 10
# bundle_batch_pool_max_size: 50 # bundle_batch_pool_max_size: 50