Adjusted according to review

This commit is contained in:
jvi
2021-02-11 11:17:48 +01:00
parent 5aec4b7e18
commit 77f4fcba34
5 changed files with 19 additions and 8 deletions

View File

@@ -98,7 +98,7 @@ public class BaseJpaRestfulServer extends RestfulServer {
ApplicationContext myApplicationContext; ApplicationContext myApplicationContext;
@Autowired(required = false) @Autowired(required = false)
RepositoryValidationInterceptorFactoryR4 factory; IRepositoryValidationInterceptorFactory factory;
public BaseJpaRestfulServer() { public BaseJpaRestfulServer() {
@@ -354,7 +354,7 @@ public class BaseJpaRestfulServer extends RestfulServer {
if (appProperties.getImplementationGuides() != null) { if (appProperties.getImplementationGuides() != null) {
Map<String, AppProperties.ImplementationGuide> guides = appProperties.getImplementationGuides(); Map<String, AppProperties.ImplementationGuide> guides = appProperties.getImplementationGuides();
for (Map.Entry<String, AppProperties.ImplementationGuide> guide : guides.entrySet()) { for (Map.Entry<String, AppProperties.ImplementationGuide> guide : guides.entrySet()) {
PackageInstallOutcomeJson outcome = packageInstallerSvc.install(new PackageInstallationSpec() packageInstallerSvc.install(new PackageInstallationSpec()
.setPackageUrl(guide.getValue().getUrl()) .setPackageUrl(guide.getValue().getUrl())
.setName(guide.getValue().getName()) .setName(guide.getValue().getName())
.setVersion(guide.getValue().getVersion()) .setVersion(guide.getValue().getVersion())
@@ -363,9 +363,9 @@ public class BaseJpaRestfulServer extends RestfulServer {
} }
} }
if(factory != null) if(factory != null) {
interceptorService.registerInterceptor(factory.buildUsingStoredStructureDefinitions()); interceptorService.registerInterceptor(factory.buildUsingStoredStructureDefinitions());
}
if (appProperties.getLastn_enabled()) { if (appProperties.getLastn_enabled()) {

View File

@@ -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();
}

View File

@@ -29,7 +29,7 @@ import java.util.stream.Collectors;
@ConditionalOnProperty(prefix = "hapi.fhir", name = "enable_repository_validating_interceptor", havingValue = "true") @ConditionalOnProperty(prefix = "hapi.fhir", name = "enable_repository_validating_interceptor", havingValue = "true")
@Configuration @Configuration
@Conditional(OnDSTU3Condition.class) @Conditional(OnDSTU3Condition.class)
public class RepositoryValidationInterceptorFactoryDstu3 { public class RepositoryValidationInterceptorFactoryDstu3 implements IRepositoryValidationInterceptorFactory {
private final FhirContext fhirContext; private final FhirContext fhirContext;
private final RepositoryValidatingRuleBuilder repositoryValidatingRuleBuilder; private final RepositoryValidatingRuleBuilder repositoryValidatingRuleBuilder;

View File

@@ -29,7 +29,7 @@ import java.util.stream.Collectors;
@ConditionalOnProperty(prefix = "hapi.fhir", name = "enable_repository_validating_interceptor", havingValue = "true") @ConditionalOnProperty(prefix = "hapi.fhir", name = "enable_repository_validating_interceptor", havingValue = "true")
@Configuration @Configuration
@Conditional(OnR4Condition.class) @Conditional(OnR4Condition.class)
public class RepositoryValidationInterceptorFactoryR4 { public class RepositoryValidationInterceptorFactoryR4 implements IRepositoryValidationInterceptorFactory {
private final FhirContext fhirContext; private final FhirContext fhirContext;
private final RepositoryValidatingRuleBuilder repositoryValidatingRuleBuilder; private final RepositoryValidatingRuleBuilder repositoryValidatingRuleBuilder;
@@ -42,6 +42,7 @@ public class RepositoryValidationInterceptorFactoryR4 {
} }
@Override
public RepositoryValidatingInterceptor buildUsingStoredStructureDefinitions() { public RepositoryValidatingInterceptor buildUsingStoredStructureDefinitions() {
IBundleProvider results = structureDefinitionResourceProvider.search(new SearchParameterMap().add(StructureDefinition.SP_KIND, new TokenParam("resource"))); 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); return new RepositoryValidatingInterceptor(fhirContext, rules);
} }
@Override
public RepositoryValidatingInterceptor build() { public RepositoryValidatingInterceptor build() {
// Customize the ruleBuilder here to have the rules you want! We will give a simple example // Customize the ruleBuilder here to have the rules you want! We will give a simple example

View File

@@ -29,7 +29,7 @@ import java.util.stream.Collectors;
@ConditionalOnProperty(prefix = "hapi.fhir", name = "enable_repository_validating_interceptor", havingValue = "true") @ConditionalOnProperty(prefix = "hapi.fhir", name = "enable_repository_validating_interceptor", havingValue = "true")
@Configuration @Configuration
@Conditional(OnR5Condition.class) @Conditional(OnR5Condition.class)
public class RepositoryValidationInterceptorFactoryR5 { public class RepositoryValidationInterceptorFactoryR5 implements IRepositoryValidationInterceptorFactory {
private final FhirContext fhirContext; private final FhirContext fhirContext;
private final RepositoryValidatingRuleBuilder repositoryValidatingRuleBuilder; private final RepositoryValidatingRuleBuilder repositoryValidatingRuleBuilder;