configuration option to not reload IG resources that are already loaded

This commit is contained in:
Craig McClendon
2023-03-23 14:54:20 -05:00
committed by Jens Kristian Villadsen
parent cb4f560413
commit c83e324692
3 changed files with 13 additions and 1 deletions

View File

@@ -71,6 +71,7 @@ public class AppProperties {
private Cors cors = null; private Cors cors = null;
private Partitioning partitioning = null; private Partitioning partitioning = null;
private Boolean install_transitive_ig_dependencies = true; private Boolean install_transitive_ig_dependencies = true;
private Boolean reload_existing_implementationguides = false;
private Map<String, ImplementationGuide> implementationGuides = null; private Map<String, ImplementationGuide> implementationGuides = null;
private String staticLocation = null; private String staticLocation = null;
@@ -546,6 +547,14 @@ public class AppProperties {
this.install_transitive_ig_dependencies = install_transitive_ig_dependencies; this.install_transitive_ig_dependencies = install_transitive_ig_dependencies;
} }
public boolean getReload_existing_implementationguides() {
return reload_existing_implementationguides;
}
public void setReload_existing_implementationguides(boolean reload_existing_implementationguides) {
this.reload_existing_implementationguides = reload_existing_implementationguides;
}
public Integer getBundle_batch_pool_size() { public Integer getBundle_batch_pool_size() {
return this.bundle_batch_pool_size; return this.bundle_batch_pool_size;
} }

View File

@@ -198,6 +198,7 @@ public class StarterJpaConfig {
Map<String, AppProperties.ImplementationGuide> guides = appProperties.getImplementationGuides(); Map<String, AppProperties.ImplementationGuide> guides = appProperties.getImplementationGuides();
for (Map.Entry<String, AppProperties.ImplementationGuide> guide : guides.entrySet()) { for (Map.Entry<String, AppProperties.ImplementationGuide> guide : guides.entrySet()) {
PackageInstallationSpec packageInstallationSpec = new PackageInstallationSpec().setPackageUrl(guide.getValue().getUrl()).setName(guide.getValue().getName()).setVersion(guide.getValue().getVersion()).setInstallMode(PackageInstallationSpec.InstallModeEnum.STORE_AND_INSTALL); PackageInstallationSpec packageInstallationSpec = new PackageInstallationSpec().setPackageUrl(guide.getValue().getUrl()).setName(guide.getValue().getName()).setVersion(guide.getValue().getVersion()).setInstallMode(PackageInstallationSpec.InstallModeEnum.STORE_AND_INSTALL);
packageInstallationSpec.setReloadExisting(appProperties.getReload_existing_implementationguides());
if (appProperties.getInstall_transitive_ig_dependencies()) { if (appProperties.getInstall_transitive_ig_dependencies()) {
packageInstallationSpec.setFetchDependencies(true); packageInstallationSpec.setFetchDependencies(true);
packageInstallationSpec.setDependencyExcludes(ImmutableList.of("hl7.fhir.r2.core", "hl7.fhir.r3.core", "hl7.fhir.r4.core", "hl7.fhir.r5.core")); packageInstallationSpec.setDependencyExcludes(ImmutableList.of("hl7.fhir.r2.core", "hl7.fhir.r3.core", "hl7.fhir.r4.core", "hl7.fhir.r5.core"));

View File

@@ -71,6 +71,8 @@ hapi:
# server_address: http://hapi.fhir.org/baseR4 # server_address: http://hapi.fhir.org/baseR4
# defer_indexing_for_codesystems_of_size: 101 # defer_indexing_for_codesystems_of_size: 101
# install_transitive_ig_dependencies: true # install_transitive_ig_dependencies: true
### tells the server whether to attempt to load IG resources that are already present
# reload_existing_implementationGuides : false
# implementationguides: # implementationguides:
### example from registry (packages.fhir.org) ### example from registry (packages.fhir.org)
# swiss: # swiss: