Adjusted according to review
This commit is contained in:
@@ -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()) {
|
||||||
|
|||||||
@@ -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")
|
@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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user