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.InputStream;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static org.apache.commons.lang3.StringUtils.*;
|
||||||
|
|
||||||
public class HapiProperties {
|
public class HapiProperties {
|
||||||
static final String ALLOW_EXTERNAL_REFERENCES = "allow_external_references";
|
static final String ALLOW_EXTERNAL_REFERENCES = "allow_external_references";
|
||||||
@@ -268,6 +273,14 @@ public class HapiProperties {
|
|||||||
return HapiProperties.getProperty(CORS_ALLOWED_ORIGIN, "*");
|
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() {
|
public static String getServerName() {
|
||||||
return HapiProperties.getProperty(SERVER_NAME, "Local Tester");
|
return HapiProperties.getProperty(SERVER_NAME, "Local Tester");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import org.springframework.web.cors.CorsConfiguration;
|
|||||||
|
|
||||||
import javax.servlet.ServletException;
|
import javax.servlet.ServletException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public class JpaRestfulServer extends RestfulServer {
|
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");
|
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
|
* ResourceProviders are fetched from the Spring context
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -38,6 +38,15 @@ datasource.password=
|
|||||||
server.name=Local Tester
|
server.name=Local Tester
|
||||||
server.id=home
|
server.id=home
|
||||||
test.port=
|
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.dialect=ca.uhn.fhir.jpa.util.DerbyTenSevenHapiFhirDialect
|
||||||
hibernate.search.model_mapping=ca.uhn.fhir.jpa.search.LuceneSearchMappingFactory
|
hibernate.search.model_mapping=ca.uhn.fhir.jpa.search.LuceneSearchMappingFactory
|
||||||
hibernate.format_sql=false
|
hibernate.format_sql=false
|
||||||
@@ -52,6 +61,10 @@ hibernate.search.default.directory_provider=filesystem
|
|||||||
hibernate.search.default.indexBase=target/lucenefiles
|
hibernate.search.default.indexBase=target/lucenefiles
|
||||||
hibernate.search.lucene_version=LUCENE_CURRENT
|
hibernate.search.lucene_version=LUCENE_CURRENT
|
||||||
tester.config.refuse_to_fetch_third_party_urls=false
|
tester.config.refuse_to_fetch_third_party_urls=false
|
||||||
|
|
||||||
|
##################################################
|
||||||
|
# CORS Settings
|
||||||
|
##################################################
|
||||||
cors.enabled=true
|
cors.enabled=true
|
||||||
cors.allowed_origin=*
|
cors.allowed_origin=*
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user