Conditionally add the default NarrativeGenerator to the context

#182
This commit is contained in:
Vladimir Nemergut
2020-12-02 11:37:59 +01:00
parent ccfaee6f0a
commit bb99a69085
3 changed files with 19 additions and 1 deletions

View File

@@ -52,6 +52,7 @@ public class AppProperties {
private ClientIdStrategyEnum client_id_strategy = ClientIdStrategyEnum.ALPHANUMERIC; private ClientIdStrategyEnum client_id_strategy = ClientIdStrategyEnum.ALPHANUMERIC;
private List<String> supported_resource_types = new ArrayList<>(); private List<String> supported_resource_types = new ArrayList<>();
private List<Bundle.BundleType> allowed_bundle_types = null; private List<Bundle.BundleType> allowed_bundle_types = null;
private Boolean narrative_enabled = true;
private Validation validation = new Validation(); private Validation validation = new Validation();
private List<Tester> tester = ImmutableList.of(new Tester()); private List<Tester> tester = ImmutableList.of(new Tester());
@@ -371,6 +372,16 @@ public class AppProperties {
this.tester = tester; this.tester = tester;
} }
public Boolean getNarrative_enabled()
{
return narrative_enabled;
}
public void setNarrative_enabled(Boolean narrative_enabled)
{
this.narrative_enabled = narrative_enabled;
}
public static class Cors { public static class Cors {
private Boolean allow_Credentials = true; private Boolean allow_Credentials = true;
private List<String> allowed_origin = ImmutableList.of("*"); private List<String> allowed_origin = ImmutableList.of("*");

View File

@@ -21,6 +21,8 @@ import ca.uhn.fhir.jpa.search.DatabaseBackedPagingProvider;
import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamRegistry; import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamRegistry;
import ca.uhn.fhir.jpa.subscription.util.SubscriptionDebugLogInterceptor; import ca.uhn.fhir.jpa.subscription.util.SubscriptionDebugLogInterceptor;
import ca.uhn.fhir.narrative.DefaultThymeleafNarrativeGenerator; import ca.uhn.fhir.narrative.DefaultThymeleafNarrativeGenerator;
import ca.uhn.fhir.narrative.INarrativeGenerator;
import ca.uhn.fhir.narrative2.NullNarrativeGenerator;
import ca.uhn.fhir.rest.server.ETagSupportEnum; import ca.uhn.fhir.rest.server.ETagSupportEnum;
import ca.uhn.fhir.rest.server.HardcodedServerAddressStrategy; import ca.uhn.fhir.rest.server.HardcodedServerAddressStrategy;
import ca.uhn.fhir.rest.server.RestfulServer; import ca.uhn.fhir.rest.server.RestfulServer;
@@ -177,7 +179,11 @@ public class BaseJpaRestfulServer extends RestfulServer {
* This server tries to dynamically generate narratives * This server tries to dynamically generate narratives
*/ */
FhirContext ctx = getFhirContext(); FhirContext ctx = getFhirContext();
ctx.setNarrativeGenerator(new DefaultThymeleafNarrativeGenerator()); INarrativeGenerator theNarrativeGenerator =
appProperties.getNarrative_enabled() ?
new DefaultThymeleafNarrativeGenerator() :
new NullNarrativeGenerator();
ctx.setNarrativeGenerator(theNarrativeGenerator);
/* /*
* Default to JSON and pretty printing * Default to JSON and pretty printing

View File

@@ -63,6 +63,7 @@ hapi:
# fhirpath_interceptor_enabled: false # fhirpath_interceptor_enabled: false
# filter_search_enabled: true # filter_search_enabled: true
# graphql_enabled: true # graphql_enabled: true
# narrative_enabled: true
#partitioning: #partitioning:
# cross_partition_reference_mode: true # cross_partition_reference_mode: true
# multitenancy_enabled: true # multitenancy_enabled: true