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

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")
@Configuration
@Conditional(OnDSTU3Condition.class)
public class RepositoryValidationInterceptorFactoryDstu3 {
public class RepositoryValidationInterceptorFactoryDstu3 implements IRepositoryValidationInterceptorFactory {
private final FhirContext fhirContext;
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")
@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

View File

@@ -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;