Feat/extra resource loading from npm (#784)

* Logic to do the basics

* Added configurable folders

* Scoped additional resources to - pr. IG

* Updated telemetry version

* Changed to set

* Changed PostConstruct to Component and introduced use of PartitionCondition
Added try-load of HAPI optimized dialect

* Satisfying spotless

* Reverted to default config

* Apply spotless

* Use core-provided feature
Addling the binary content as its needed for example resource inspection

* Update src/main/java/ca/uhn/fhir/jpa/starter/util/JpaHibernatePropertiesProvider.java

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Reverting dialect change - fit for a potential other PR

* no message

* Formatting

* Update src/main/java/ca/uhn/fhir/jpa/starter/ig/ExtendedPackageInstallationSpec.java

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Bad AI ... bad bad AI ...

* Formatting

* bump of feature revision flag

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Jens Kristian Villadsen
2025-08-27 08:52:59 +02:00
committed by GitHub
parent 0114510fbc
commit 8621c0d89c
8 changed files with 121 additions and 60 deletions

View File

@@ -5,7 +5,7 @@ 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.IdStrategyEnum;
import ca.uhn.fhir.jpa.model.entity.NormalizedQuantitySearchLevel;
import ca.uhn.fhir.jpa.packages.PackageInstallationSpec;
import ca.uhn.fhir.jpa.starter.ig.ExtendedPackageInstallationSpec;
import ca.uhn.fhir.rest.api.EncodingEnum;
import org.hl7.fhir.r4.model.Bundle;
import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -88,7 +88,9 @@ public class AppProperties {
private Partitioning partitioning = null;
private Boolean validate_resource_status_for_package_upload = true;
private Boolean install_transitive_ig_dependencies = true;
private Map<String, PackageInstallationSpec> implementationGuides = null;
private List<String> install_additional_resources_from_ig_folders = new ArrayList<>();
private Map<String, ExtendedPackageInstallationSpec> implementationGuides = null;
private String custom_content_path = null;
private String app_content_path = null;
private Boolean lastn_enabled = false;
@@ -157,11 +159,11 @@ public class AppProperties {
this.defer_indexing_for_codesystems_of_size = defer_indexing_for_codesystems_of_size;
}
public Map<String, PackageInstallationSpec> getImplementationGuides() {
public Map<String, ExtendedPackageInstallationSpec> getImplementationGuides() {
return implementationGuides;
}
public void setImplementationGuides(Map<String, PackageInstallationSpec> implementationGuides) {
public void setImplementationGuides(Map<String, ExtendedPackageInstallationSpec> implementationGuides) {
this.implementationGuides = implementationGuides;
}
@@ -710,6 +712,15 @@ public class AppProperties {
this.resource_dbhistory_enabled = resource_dbhistory_enabled;
}
public List<String> getInstall_additional_resources_from_ig_folders() {
return install_additional_resources_from_ig_folders;
}
public void setInstall_additional_resources_from_ig_folders(
List<String> install_additional_resources_from_ig_folders) {
this.install_additional_resources_from_ig_folders = install_additional_resources_from_ig_folders;
}
public Boolean getPre_expand_value_sets() {
return this.pre_expand_value_sets;
}