New DSTU2 FhirInstanceValidator bean exposed. (#611)
Merging with master, issue #609 will be closed.
This commit is contained in:
parent
93cfb2360c
commit
4748c8ba74
|
@ -20,6 +20,16 @@ package ca.uhn.fhir.jpa.config;
|
||||||
* #L%
|
* #L%
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
|
import ca.uhn.fhir.jpa.dao.*;
|
||||||
|
import ca.uhn.fhir.jpa.term.HapiTerminologySvcDstu2;
|
||||||
|
import ca.uhn.fhir.jpa.term.IHapiTerminologySvc;
|
||||||
|
import ca.uhn.fhir.model.dstu2.composite.MetaDt;
|
||||||
|
import ca.uhn.fhir.validation.IValidatorModule;
|
||||||
|
import org.hl7.fhir.instance.hapi.validation.DefaultProfileValidationSupport;
|
||||||
|
import org.hl7.fhir.instance.hapi.validation.FhirInstanceValidator;
|
||||||
|
import org.hl7.fhir.instance.hapi.validation.ValidationSupportChain;
|
||||||
|
import org.hl7.fhir.instance.validation.IResourceValidator.BestPracticeWarningLevel;
|
||||||
import org.springframework.beans.factory.annotation.Autowire;
|
import org.springframework.beans.factory.annotation.Autowire;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
@ -27,17 +37,6 @@ import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.context.annotation.Primary;
|
import org.springframework.context.annotation.Primary;
|
||||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||||
|
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
|
||||||
import ca.uhn.fhir.jpa.dao.FulltextSearchSvcImpl;
|
|
||||||
import ca.uhn.fhir.jpa.dao.IFhirSystemDao;
|
|
||||||
import ca.uhn.fhir.jpa.dao.IFulltextSearchSvc;
|
|
||||||
import ca.uhn.fhir.jpa.dao.ISearchParamRegistry;
|
|
||||||
import ca.uhn.fhir.jpa.dao.SearchParamExtractorDstu2;
|
|
||||||
import ca.uhn.fhir.jpa.dao.SearchParamRegistryDstu2;
|
|
||||||
import ca.uhn.fhir.jpa.term.HapiTerminologySvcDstu2;
|
|
||||||
import ca.uhn.fhir.jpa.term.IHapiTerminologySvc;
|
|
||||||
import ca.uhn.fhir.model.dstu2.composite.MetaDt;
|
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableTransactionManagement
|
@EnableTransactionManagement
|
||||||
public class BaseDstu2Config extends BaseConfig {
|
public class BaseDstu2Config extends BaseConfig {
|
||||||
|
@ -75,6 +74,15 @@ public class BaseDstu2Config extends BaseConfig {
|
||||||
return retVal;
|
return retVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean(name = "myInstanceValidatorDstu2")
|
||||||
|
@Lazy
|
||||||
|
public IValidatorModule instanceValidatorDstu2() {
|
||||||
|
FhirInstanceValidator retVal = new FhirInstanceValidator();
|
||||||
|
retVal.setBestPracticeWarningLevel(BestPracticeWarningLevel.Warning);
|
||||||
|
retVal.setValidationSupport(new ValidationSupportChain(new DefaultProfileValidationSupport(), jpaValidationSupportDstu2()));
|
||||||
|
return retVal;
|
||||||
|
}
|
||||||
|
|
||||||
@Bean(autowire = Autowire.BY_TYPE)
|
@Bean(autowire = Autowire.BY_TYPE)
|
||||||
public IFulltextSearchSvc searchDao() {
|
public IFulltextSearchSvc searchDao() {
|
||||||
FulltextSearchSvcImpl searchDao = new FulltextSearchSvcImpl();
|
FulltextSearchSvcImpl searchDao = new FulltextSearchSvcImpl();
|
||||||
|
|
|
@ -1,43 +1,5 @@
|
||||||
package ca.uhn.fhir.jpa.dao;
|
package ca.uhn.fhir.jpa.dao;
|
||||||
|
|
||||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* #%L
|
|
||||||
* HAPI FHIR JPA Server
|
|
||||||
* %%
|
|
||||||
* Copyright (C) 2014 - 2017 University Health Network
|
|
||||||
* %%
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
* #L%
|
|
||||||
*/
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.hl7.fhir.instance.hapi.validation.DefaultProfileValidationSupport;
|
|
||||||
import org.hl7.fhir.instance.hapi.validation.FhirInstanceValidator;
|
|
||||||
import org.hl7.fhir.instance.hapi.validation.IValidationSupport;
|
|
||||||
import org.hl7.fhir.instance.hapi.validation.ValidationSupportChain;
|
|
||||||
import org.hl7.fhir.instance.model.api.IBaseOperationOutcome;
|
|
||||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
|
||||||
import org.hl7.fhir.instance.model.api.IIdType;
|
|
||||||
import org.hl7.fhir.instance.validation.IResourceValidator.BestPracticeWarningLevel;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
|
||||||
|
|
||||||
import ca.uhn.fhir.context.RuntimeResourceDefinition;
|
import ca.uhn.fhir.context.RuntimeResourceDefinition;
|
||||||
import ca.uhn.fhir.context.RuntimeSearchParam;
|
import ca.uhn.fhir.context.RuntimeSearchParam;
|
||||||
import ca.uhn.fhir.jpa.entity.ResourceTable;
|
import ca.uhn.fhir.jpa.entity.ResourceTable;
|
||||||
|
@ -64,6 +26,38 @@ import ca.uhn.fhir.validation.FhirValidator;
|
||||||
import ca.uhn.fhir.validation.IValidationContext;
|
import ca.uhn.fhir.validation.IValidationContext;
|
||||||
import ca.uhn.fhir.validation.IValidatorModule;
|
import ca.uhn.fhir.validation.IValidatorModule;
|
||||||
import ca.uhn.fhir.validation.ValidationResult;
|
import ca.uhn.fhir.validation.ValidationResult;
|
||||||
|
import org.hl7.fhir.instance.hapi.validation.IValidationSupport;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseOperationOutcome;
|
||||||
|
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
|
import org.hl7.fhir.instance.model.api.IIdType;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* #%L
|
||||||
|
* HAPI FHIR JPA Server
|
||||||
|
* %%
|
||||||
|
* Copyright (C) 2014 - 2017 University Health Network
|
||||||
|
* %%
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* #L%
|
||||||
|
*/
|
||||||
|
|
||||||
public class FhirResourceDaoDstu2<T extends IResource> extends BaseHapiFhirResourceDao<T> {
|
public class FhirResourceDaoDstu2<T extends IResource> extends BaseHapiFhirResourceDao<T> {
|
||||||
|
|
||||||
|
@ -71,6 +65,9 @@ public class FhirResourceDaoDstu2<T extends IResource> extends BaseHapiFhirResou
|
||||||
@Qualifier("myJpaValidationSupportDstu2")
|
@Qualifier("myJpaValidationSupportDstu2")
|
||||||
private IValidationSupport myJpaValidationSupport;
|
private IValidationSupport myJpaValidationSupport;
|
||||||
|
|
||||||
|
@Autowired()
|
||||||
|
@Qualifier("myInstanceValidatorDstu2")
|
||||||
|
private IValidatorModule myInstanceValidator;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<Object> getIncludeValues(FhirTerser theTerser, Include theInclude, IBaseResource theResource, RuntimeResourceDefinition theResourceDef) {
|
protected List<Object> getIncludeValues(FhirTerser theTerser, Include theInclude, IBaseResource theResource, RuntimeResourceDefinition theResourceDef) {
|
||||||
|
@ -124,10 +121,7 @@ public class FhirResourceDaoDstu2<T extends IResource> extends BaseHapiFhirResou
|
||||||
|
|
||||||
FhirValidator validator = getContext().newValidator();
|
FhirValidator validator = getContext().newValidator();
|
||||||
|
|
||||||
FhirInstanceValidator val = new FhirInstanceValidator();
|
validator.registerValidatorModule(myInstanceValidator);
|
||||||
val.setBestPracticeWarningLevel(BestPracticeWarningLevel.Warning);
|
|
||||||
val.setValidationSupport(new ValidationSupportChain(new DefaultProfileValidationSupport(), myJpaValidationSupport));
|
|
||||||
validator.registerValidatorModule(val);
|
|
||||||
|
|
||||||
validator.registerValidatorModule(new IdChecker(theMode));
|
validator.registerValidatorModule(new IdChecker(theMode));
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,20 @@
|
||||||
package ca.uhn.fhir.jpa.config;
|
package ca.uhn.fhir.jpa.config;
|
||||||
|
|
||||||
import java.util.Properties;
|
import ca.uhn.fhir.jpa.dao.DaoConfig;
|
||||||
|
import ca.uhn.fhir.rest.server.interceptor.RequestValidatingInterceptor;
|
||||||
import javax.persistence.EntityManagerFactory;
|
import ca.uhn.fhir.validation.ResultSeverityEnum;
|
||||||
import javax.sql.DataSource;
|
|
||||||
|
|
||||||
import org.apache.commons.dbcp2.BasicDataSource;
|
import org.apache.commons.dbcp2.BasicDataSource;
|
||||||
import org.hibernate.jpa.HibernatePersistenceProvider;
|
import org.hibernate.jpa.HibernatePersistenceProvider;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Primary;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.orm.jpa.JpaTransactionManager;
|
import org.springframework.orm.jpa.JpaTransactionManager;
|
||||||
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
|
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
|
||||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||||
|
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import javax.persistence.EntityManagerFactory;
|
||||||
import ca.uhn.fhir.jpa.dao.DaoConfig;
|
import javax.sql.DataSource;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableTransactionManagement()
|
@EnableTransactionManagement()
|
||||||
|
@ -65,4 +64,19 @@ public class TestDstu2Config extends BaseJavaConfigDstu2 {
|
||||||
return extraProperties;
|
return extraProperties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bean which validates incoming requests
|
||||||
|
*/
|
||||||
|
@Bean
|
||||||
|
@Lazy
|
||||||
|
public RequestValidatingInterceptor requestValidatingInterceptor() {
|
||||||
|
RequestValidatingInterceptor requestValidator = new RequestValidatingInterceptor();
|
||||||
|
requestValidator.setFailOnSeverity(ResultSeverityEnum.ERROR);
|
||||||
|
requestValidator.setAddResponseHeaderOnSeverity(null);
|
||||||
|
requestValidator.setAddResponseOutcomeHeaderOnSeverity(ResultSeverityEnum.INFORMATION);
|
||||||
|
requestValidator.addValidatorModule(instanceValidatorDstu2());
|
||||||
|
|
||||||
|
return requestValidator;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,14 @@
|
||||||
package ca.uhn.fhirtest.config;
|
package ca.uhn.fhirtest.config;
|
||||||
|
|
||||||
import java.util.Properties;
|
import ca.uhn.fhir.jpa.config.BaseJavaConfigDstu2;
|
||||||
|
import ca.uhn.fhir.jpa.dao.DaoConfig;
|
||||||
import javax.persistence.EntityManagerFactory;
|
import ca.uhn.fhir.jpa.util.SubscriptionsRequireManualActivationInterceptorDstu2;
|
||||||
import javax.sql.DataSource;
|
import ca.uhn.fhir.rest.api.RestOperationTypeEnum;
|
||||||
|
import ca.uhn.fhir.rest.server.interceptor.IServerInterceptor;
|
||||||
|
import ca.uhn.fhir.rest.server.interceptor.RequestValidatingInterceptor;
|
||||||
|
import ca.uhn.fhir.rest.server.interceptor.ResponseValidatingInterceptor;
|
||||||
|
import ca.uhn.fhir.validation.ResultSeverityEnum;
|
||||||
|
import ca.uhn.fhirtest.interceptor.TdlSecurityInterceptor;
|
||||||
import org.apache.commons.dbcp2.BasicDataSource;
|
import org.apache.commons.dbcp2.BasicDataSource;
|
||||||
import org.apache.commons.lang3.time.DateUtils;
|
import org.apache.commons.lang3.time.DateUtils;
|
||||||
import org.hibernate.dialect.DerbyTenSevenDialect;
|
import org.hibernate.dialect.DerbyTenSevenDialect;
|
||||||
|
@ -13,18 +17,16 @@ import org.springframework.beans.factory.annotation.Autowire;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.DependsOn;
|
|
||||||
import org.springframework.context.annotation.Import;
|
import org.springframework.context.annotation.Import;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
|
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
|
||||||
import org.springframework.orm.jpa.JpaTransactionManager;
|
import org.springframework.orm.jpa.JpaTransactionManager;
|
||||||
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
|
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
|
||||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||||
|
|
||||||
import ca.uhn.fhir.jpa.config.BaseJavaConfigDstu2;
|
import javax.persistence.EntityManagerFactory;
|
||||||
import ca.uhn.fhir.jpa.dao.DaoConfig;
|
import javax.sql.DataSource;
|
||||||
import ca.uhn.fhir.jpa.util.SubscriptionsRequireManualActivationInterceptorDstu2;
|
import java.util.Properties;
|
||||||
import ca.uhn.fhir.rest.server.interceptor.IServerInterceptor;
|
|
||||||
import ca.uhn.fhirtest.interceptor.TdlSecurityInterceptor;
|
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@Import(CommonConfig.class)
|
@Import(CommonConfig.class)
|
||||||
|
@ -113,6 +115,49 @@ public class TdlDstu2Config extends BaseJavaConfigDstu2 {
|
||||||
return extraProperties;
|
return extraProperties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bean which validates incoming requests
|
||||||
|
*/
|
||||||
|
@Bean
|
||||||
|
@Lazy
|
||||||
|
public RequestValidatingInterceptor requestValidatingInterceptor() {
|
||||||
|
RequestValidatingInterceptor requestValidator = new RequestValidatingInterceptor();
|
||||||
|
requestValidator.setFailOnSeverity(null);
|
||||||
|
requestValidator.setAddResponseHeaderOnSeverity(null);
|
||||||
|
requestValidator.setAddResponseOutcomeHeaderOnSeverity(ResultSeverityEnum.INFORMATION);
|
||||||
|
requestValidator.addValidatorModule(instanceValidatorDstu2());
|
||||||
|
requestValidator.setIgnoreValidatorExceptions(true);
|
||||||
|
|
||||||
|
return requestValidator;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bean which validates outgoing responses
|
||||||
|
*/
|
||||||
|
@Bean
|
||||||
|
@Lazy
|
||||||
|
public ResponseValidatingInterceptor responseValidatingInterceptor() {
|
||||||
|
ResponseValidatingInterceptor responseValidator = new ResponseValidatingInterceptor();
|
||||||
|
responseValidator.setResponseHeaderValueNoIssues("Validation did not detect any issues");
|
||||||
|
responseValidator.setFailOnSeverity(null);
|
||||||
|
responseValidator.setAddResponseHeaderOnSeverity(null);
|
||||||
|
responseValidator.setAddResponseOutcomeHeaderOnSeverity(ResultSeverityEnum.INFORMATION);
|
||||||
|
responseValidator.addExcludeOperationType(RestOperationTypeEnum.METADATA);
|
||||||
|
responseValidator.addExcludeOperationType(RestOperationTypeEnum.EXTENDED_OPERATION_INSTANCE);
|
||||||
|
responseValidator.addExcludeOperationType(RestOperationTypeEnum.EXTENDED_OPERATION_SERVER);
|
||||||
|
responseValidator.addExcludeOperationType(RestOperationTypeEnum.EXTENDED_OPERATION_TYPE);
|
||||||
|
responseValidator.addExcludeOperationType(RestOperationTypeEnum.GET_PAGE);
|
||||||
|
responseValidator.addExcludeOperationType(RestOperationTypeEnum.HISTORY_INSTANCE);
|
||||||
|
responseValidator.addExcludeOperationType(RestOperationTypeEnum.HISTORY_SYSTEM);
|
||||||
|
responseValidator.addExcludeOperationType(RestOperationTypeEnum.HISTORY_TYPE);
|
||||||
|
responseValidator.addExcludeOperationType(RestOperationTypeEnum.SEARCH_SYSTEM);
|
||||||
|
responseValidator.addExcludeOperationType(RestOperationTypeEnum.SEARCH_TYPE);
|
||||||
|
responseValidator.addValidatorModule(instanceValidatorDstu2());
|
||||||
|
responseValidator.setIgnoreValidatorExceptions(true);
|
||||||
|
|
||||||
|
return responseValidator;
|
||||||
|
}
|
||||||
|
|
||||||
@Bean(autowire=Autowire.BY_TYPE)
|
@Bean(autowire=Autowire.BY_TYPE)
|
||||||
public IServerInterceptor subscriptionSecurityInterceptor() {
|
public IServerInterceptor subscriptionSecurityInterceptor() {
|
||||||
return new SubscriptionsRequireManualActivationInterceptorDstu2();
|
return new SubscriptionsRequireManualActivationInterceptorDstu2();
|
||||||
|
|
|
@ -1,30 +1,28 @@
|
||||||
package ca.uhn.fhirtest.config;
|
package ca.uhn.fhirtest.config;
|
||||||
|
|
||||||
import java.util.Properties;
|
import ca.uhn.fhir.jpa.config.BaseJavaConfigDstu2;
|
||||||
|
import ca.uhn.fhir.jpa.dao.DaoConfig;
|
||||||
import javax.persistence.EntityManagerFactory;
|
import ca.uhn.fhir.rest.server.interceptor.IServerInterceptor;
|
||||||
import javax.sql.DataSource;
|
import ca.uhn.fhir.rest.server.interceptor.RequestValidatingInterceptor;
|
||||||
|
import ca.uhn.fhir.validation.ResultSeverityEnum;
|
||||||
|
import ca.uhn.fhirtest.interceptor.PublicSecurityInterceptor;
|
||||||
import org.apache.commons.dbcp2.BasicDataSource;
|
import org.apache.commons.dbcp2.BasicDataSource;
|
||||||
import org.apache.commons.lang3.time.DateUtils;
|
import org.apache.commons.lang3.time.DateUtils;
|
||||||
import org.hibernate.dialect.PostgreSQL94Dialect;
|
import org.hibernate.dialect.PostgreSQL94Dialect;
|
||||||
import org.hibernate.jpa.HibernatePersistenceProvider;
|
import org.hibernate.jpa.HibernatePersistenceProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowire;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.DependsOn;
|
|
||||||
import org.springframework.context.annotation.Import;
|
import org.springframework.context.annotation.Import;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
|
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
|
||||||
import org.springframework.orm.jpa.JpaTransactionManager;
|
import org.springframework.orm.jpa.JpaTransactionManager;
|
||||||
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
|
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
|
||||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||||
|
|
||||||
import ca.uhn.fhir.jpa.config.BaseJavaConfigDstu2;
|
import javax.persistence.EntityManagerFactory;
|
||||||
import ca.uhn.fhir.jpa.dao.DaoConfig;
|
import javax.sql.DataSource;
|
||||||
import ca.uhn.fhir.jpa.util.SubscriptionsRequireManualActivationInterceptorDstu2;
|
import java.util.Properties;
|
||||||
import ca.uhn.fhir.rest.server.interceptor.IServerInterceptor;
|
|
||||||
import ca.uhn.fhirtest.interceptor.PublicSecurityInterceptor;
|
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@Import(CommonConfig.class)
|
@Import(CommonConfig.class)
|
||||||
|
@ -114,6 +112,22 @@ public class TestDstu2Config extends BaseJavaConfigDstu2 {
|
||||||
return extraProperties;
|
return extraProperties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bean which validates incoming requests
|
||||||
|
*/
|
||||||
|
@Bean
|
||||||
|
@Lazy
|
||||||
|
public RequestValidatingInterceptor requestValidatingInterceptor() {
|
||||||
|
RequestValidatingInterceptor requestValidator = new RequestValidatingInterceptor();
|
||||||
|
requestValidator.setFailOnSeverity(null);
|
||||||
|
requestValidator.setAddResponseHeaderOnSeverity(null);
|
||||||
|
requestValidator.setAddResponseOutcomeHeaderOnSeverity(ResultSeverityEnum.INFORMATION);
|
||||||
|
requestValidator.addValidatorModule(instanceValidatorDstu2());
|
||||||
|
requestValidator.setIgnoreValidatorExceptions(true);
|
||||||
|
|
||||||
|
return requestValidator;
|
||||||
|
}
|
||||||
|
|
||||||
// @Bean(autowire = Autowire.BY_TYPE)
|
// @Bean(autowire = Autowire.BY_TYPE)
|
||||||
// public IServerInterceptor subscriptionSecurityInterceptor() {
|
// public IServerInterceptor subscriptionSecurityInterceptor() {
|
||||||
// return new SubscriptionsRequireManualActivationInterceptorDstu2();
|
// return new SubscriptionsRequireManualActivationInterceptorDstu2();
|
||||||
|
|
|
@ -26,6 +26,11 @@
|
||||||
Web testing UI displayed an error when a transaction was pasted into the UI
|
Web testing UI displayed an error when a transaction was pasted into the UI
|
||||||
for a DSTU2 server. Thanks to Suresh Kumar for reporting!
|
for a DSTU2 server. Thanks to Suresh Kumar for reporting!
|
||||||
</action>
|
</action>
|
||||||
|
<action type="add" issue="609">
|
||||||
|
hapi-fhir-jpaserver-base now exposes a
|
||||||
|
<![CDATA[<code>FhirInstanceValidator</code> bean named <code>"myInstanceValidatorDstu2"</code>]]>
|
||||||
|
for DSTU2. A similar bean for DSTU3 was previously implemented.
|
||||||
|
</action>
|
||||||
</release>
|
</release>
|
||||||
<release version="2.3" date="2017-03-18">
|
<release version="2.3" date="2017-03-18">
|
||||||
<action type="add">
|
<action type="add">
|
||||||
|
|
Loading…
Reference in New Issue