Adjusted according to review
This commit is contained in:
@@ -98,7 +98,7 @@ public class BaseJpaRestfulServer extends RestfulServer {
|
||||
ApplicationContext myApplicationContext;
|
||||
|
||||
@Autowired(required = false)
|
||||
RepositoryValidationInterceptorFactoryR4 factory;
|
||||
IRepositoryValidationInterceptorFactory factory;
|
||||
|
||||
public BaseJpaRestfulServer() {
|
||||
|
||||
@@ -354,7 +354,7 @@ public class BaseJpaRestfulServer extends RestfulServer {
|
||||
if (appProperties.getImplementationGuides() != null) {
|
||||
Map<String, AppProperties.ImplementationGuide> guides = appProperties.getImplementationGuides();
|
||||
for (Map.Entry<String, AppProperties.ImplementationGuide> guide : guides.entrySet()) {
|
||||
PackageInstallOutcomeJson outcome = packageInstallerSvc.install(new PackageInstallationSpec()
|
||||
packageInstallerSvc.install(new PackageInstallationSpec()
|
||||
.setPackageUrl(guide.getValue().getUrl())
|
||||
.setName(guide.getValue().getName())
|
||||
.setVersion(guide.getValue().getVersion())
|
||||
@@ -363,9 +363,9 @@ public class BaseJpaRestfulServer extends RestfulServer {
|
||||
}
|
||||
}
|
||||
|
||||
if(factory != null)
|
||||
if(factory != null) {
|
||||
interceptorService.registerInterceptor(factory.buildUsingStoredStructureDefinitions());
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (appProperties.getLastn_enabled()) {
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package ca.uhn.fhir.jpa.starter;
|
||||
|
||||
import ca.uhn.fhir.jpa.interceptor.validation.RepositoryValidatingInterceptor;
|
||||
|
||||
public interface IRepositoryValidationInterceptorFactory {
|
||||
RepositoryValidatingInterceptor buildUsingStoredStructureDefinitions();
|
||||
|
||||
RepositoryValidatingInterceptor build();
|
||||
}
|
||||
@@ -29,7 +29,7 @@ import java.util.stream.Collectors;
|
||||
@ConditionalOnProperty(prefix = "hapi.fhir", name = "enable_repository_validating_interceptor", havingValue = "true")
|
||||
@Configuration
|
||||
@Conditional(OnDSTU3Condition.class)
|
||||
public class RepositoryValidationInterceptorFactoryDstu3 {
|
||||
public class RepositoryValidationInterceptorFactoryDstu3 implements IRepositoryValidationInterceptorFactory {
|
||||
|
||||
private final FhirContext fhirContext;
|
||||
private final RepositoryValidatingRuleBuilder repositoryValidatingRuleBuilder;
|
||||
|
||||
@@ -29,7 +29,7 @@ import java.util.stream.Collectors;
|
||||
@ConditionalOnProperty(prefix = "hapi.fhir", name = "enable_repository_validating_interceptor", havingValue = "true")
|
||||
@Configuration
|
||||
@Conditional(OnR4Condition.class)
|
||||
public class RepositoryValidationInterceptorFactoryR4 {
|
||||
public class RepositoryValidationInterceptorFactoryR4 implements IRepositoryValidationInterceptorFactory {
|
||||
|
||||
private final FhirContext fhirContext;
|
||||
private final RepositoryValidatingRuleBuilder repositoryValidatingRuleBuilder;
|
||||
@@ -42,6 +42,7 @@ public class RepositoryValidationInterceptorFactoryR4 {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public RepositoryValidatingInterceptor buildUsingStoredStructureDefinitions() {
|
||||
|
||||
IBundleProvider results = structureDefinitionResourceProvider.search(new SearchParameterMap().add(StructureDefinition.SP_KIND, new TokenParam("resource")));
|
||||
@@ -60,6 +61,7 @@ public class RepositoryValidationInterceptorFactoryR4 {
|
||||
return new RepositoryValidatingInterceptor(fhirContext, rules);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RepositoryValidatingInterceptor build() {
|
||||
|
||||
// Customize the ruleBuilder here to have the rules you want! We will give a simple example
|
||||
|
||||
@@ -29,7 +29,7 @@ import java.util.stream.Collectors;
|
||||
@ConditionalOnProperty(prefix = "hapi.fhir", name = "enable_repository_validating_interceptor", havingValue = "true")
|
||||
@Configuration
|
||||
@Conditional(OnR5Condition.class)
|
||||
public class RepositoryValidationInterceptorFactoryR5 {
|
||||
public class RepositoryValidationInterceptorFactoryR5 implements IRepositoryValidationInterceptorFactory {
|
||||
|
||||
private final FhirContext fhirContext;
|
||||
private final RepositoryValidatingRuleBuilder repositoryValidatingRuleBuilder;
|
||||
|
||||
Reference in New Issue
Block a user