Allow customizing the list of supported resources
This commit is contained in:
@@ -8,7 +8,12 @@ import com.google.common.annotations.VisibleForTesting;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.FileInputStream;
|
||||
import java.util.Arrays;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.*;
|
||||
|
||||
public class HapiProperties {
|
||||
static final String ALLOW_EXTERNAL_REFERENCES = "allow_external_references";
|
||||
@@ -268,6 +273,14 @@ public class HapiProperties {
|
||||
return HapiProperties.getProperty(CORS_ALLOWED_ORIGIN, "*");
|
||||
}
|
||||
|
||||
public static Set<String> getSupportedResourceTypes() {
|
||||
String[] types = defaultString(getProperty("supported_resource_types")).split(",");
|
||||
return Arrays.stream(types)
|
||||
.map(t->trim(t))
|
||||
.filter(t->isNotBlank(t))
|
||||
.collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
public static String getServerName() {
|
||||
return HapiProperties.getProperty(SERVER_NAME, "Local Tester");
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@ import org.springframework.web.cors.CorsConfiguration;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Set;
|
||||
|
||||
public class JpaRestfulServer extends RestfulServer {
|
||||
|
||||
@@ -51,6 +52,13 @@ public class JpaRestfulServer extends RestfulServer {
|
||||
*/
|
||||
ApplicationContext appCtx = (ApplicationContext) getServletContext().getAttribute("org.springframework.web.context.WebApplicationContext.ROOT");
|
||||
|
||||
// Customize supported resource types
|
||||
Set<String> supportedResourceTypes = HapiProperties.getSupportedResourceTypes();
|
||||
if (!supportedResourceTypes.isEmpty()) {
|
||||
DaoRegistry daoRegistry = appCtx.getBean(DaoRegistry.class);
|
||||
daoRegistry.setSupportedResourceTypes(supportedResourceTypes);
|
||||
}
|
||||
|
||||
/*
|
||||
* ResourceProviders are fetched from the Spring context
|
||||
*/
|
||||
|
||||
@@ -38,6 +38,15 @@ datasource.password=
|
||||
server.name=Local Tester
|
||||
server.id=home
|
||||
test.port=
|
||||
|
||||
# Enable the following property if you want to customize the
|
||||
# list of resources that is supported by the server (i.e. to
|
||||
# disable specific resources)
|
||||
#supported_resource_types=Patient,Observation,Encounter
|
||||
|
||||
###################################################
|
||||
# Database Settings
|
||||
###################################################
|
||||
hibernate.dialect=ca.uhn.fhir.jpa.util.DerbyTenSevenHapiFhirDialect
|
||||
hibernate.search.model_mapping=ca.uhn.fhir.jpa.search.LuceneSearchMappingFactory
|
||||
hibernate.format_sql=false
|
||||
@@ -52,6 +61,10 @@ hibernate.search.default.directory_provider=filesystem
|
||||
hibernate.search.default.indexBase=target/lucenefiles
|
||||
hibernate.search.lucene_version=LUCENE_CURRENT
|
||||
tester.config.refuse_to_fetch_third_party_urls=false
|
||||
|
||||
##################################################
|
||||
# CORS Settings
|
||||
##################################################
|
||||
cors.enabled=true
|
||||
cors.allowed_origin=*
|
||||
|
||||
|
||||
Reference in New Issue
Block a user