This commit is contained in:
dotasek 2024-09-26 02:08:11 +00:00 committed by GitHub
commit 2f4567979c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 21 additions and 4 deletions

View File

@ -228,7 +228,7 @@ public class FhirResourceDaoR4ValidateTest extends BaseJpaR4Test {
encoded = encode(oo); encoded = encode(oo);
ourLog.info(encoded); ourLog.info(encoded);
assertThat(oo.getIssue()).hasSize(1); assertThat(oo.getIssue()).hasSize(1);
assertEquals("CodeSystem is unknown and can't be validated: http://cs for 'http://cs#code1' (error because this is a required binding)", oo.getIssueFirstRep().getDiagnostics()); assertEquals("CodeSystem is unknown and can't be validated: http://cs for 'http://cs#code1'", oo.getIssueFirstRep().getDiagnostics());
assertEquals(OperationOutcome.IssueSeverity.WARNING, oo.getIssueFirstRep().getSeverity()); assertEquals(OperationOutcome.IssueSeverity.WARNING, oo.getIssueFirstRep().getSeverity());
// Invalid code // Invalid code
@ -334,7 +334,7 @@ public class FhirResourceDaoR4ValidateTest extends BaseJpaR4Test {
encoded = encode(oo); encoded = encode(oo);
ourLog.info(encoded); ourLog.info(encoded);
assertThat(oo.getIssue()).hasSize(1); assertThat(oo.getIssue()).hasSize(1);
assertEquals("CodeSystem is unknown and can't be validated: http://cs for 'http://cs#code1' (error because this is a required binding)", oo.getIssueFirstRep().getDiagnostics()); assertEquals("CodeSystem is unknown and can't be validated: http://cs for 'http://cs#code1'", oo.getIssueFirstRep().getDiagnostics());
assertEquals(OperationOutcome.IssueSeverity.WARNING, oo.getIssueFirstRep().getSeverity()); assertEquals(OperationOutcome.IssueSeverity.WARNING, oo.getIssueFirstRep().getSeverity());
// Invalid code // Invalid code
@ -343,7 +343,7 @@ public class FhirResourceDaoR4ValidateTest extends BaseJpaR4Test {
encoded = encode(oo); encoded = encode(oo);
ourLog.info(encoded); ourLog.info(encoded);
assertThat(oo.getIssue()).hasSize(1); assertThat(oo.getIssue()).hasSize(1);
assertEquals("CodeSystem is unknown and can't be validated: http://cs for 'http://cs#code99' (error because this is a required binding)", oo.getIssue().get(0).getDiagnostics()); assertEquals("CodeSystem is unknown and can't be validated: http://cs for 'http://cs#code99'", oo.getIssue().get(0).getDiagnostics());
assertEquals(OperationOutcome.IssueSeverity.WARNING, oo.getIssue().get(0).getSeverity()); assertEquals(OperationOutcome.IssueSeverity.WARNING, oo.getIssue().get(0).getSeverity());
} }

View File

@ -35,6 +35,7 @@ public class FhirInstanceValidator extends BaseValidatorBridge implements IInsta
private boolean noBindingMsgSuppressed = false; private boolean noBindingMsgSuppressed = false;
private volatile VersionSpecificWorkerContextWrapper myWrappedWorkerContext; private volatile VersionSpecificWorkerContextWrapper myWrappedWorkerContext;
private boolean errorForUnknownProfiles = true; private boolean errorForUnknownProfiles = true;
private boolean myUnknownSystemsCauseErrors = true;
private boolean assumeValidRestReferences; private boolean assumeValidRestReferences;
private List<String> myExtensionDomains = Collections.emptyList(); private List<String> myExtensionDomains = Collections.emptyList();
private IValidatorResourceFetcher validatorResourceFetcher; private IValidatorResourceFetcher validatorResourceFetcher;
@ -132,6 +133,14 @@ public class FhirInstanceValidator extends BaseValidatorBridge implements IInsta
myBestPracticeWarningLevel = theBestPracticeWarningLevel; myBestPracticeWarningLevel = theBestPracticeWarningLevel;
} }
public void setUnknownSystemsCauseErrors(boolean theUnknownSystemsCauseErrors) {
myUnknownSystemsCauseErrors = theUnknownSystemsCauseErrors;
}
public boolean isUnknownSystemsCauseErrors() {
return myUnknownSystemsCauseErrors;
}
/** /**
* Returns the {@link IValidationSupport validation support} in use by this validator. Default is an instance of * Returns the {@link IValidationSupport validation support} in use by this validator. Default is an instance of
* DefaultProfileValidationSupport if the no-arguments constructor for this object was used. * DefaultProfileValidationSupport if the no-arguments constructor for this object was used.
@ -229,6 +238,7 @@ public class FhirInstanceValidator extends BaseValidatorBridge implements IInsta
.setAnyExtensionsAllowed(isAnyExtensionsAllowed()) .setAnyExtensionsAllowed(isAnyExtensionsAllowed())
.setBestPracticeWarningLevel(getBestPracticeWarningLevel()) .setBestPracticeWarningLevel(getBestPracticeWarningLevel())
.setErrorForUnknownProfiles(isErrorForUnknownProfiles()) .setErrorForUnknownProfiles(isErrorForUnknownProfiles())
.setUnknownSystemsCauseErrors(isUnknownSystemsCauseErrors())
.setExtensionDomains(getExtensionDomains()) .setExtensionDomains(getExtensionDomains())
.setValidationPolicyAdvisor(validatorPolicyAdvisor) .setValidationPolicyAdvisor(validatorPolicyAdvisor)
.setNoTerminologyChecks(isNoTerminologyChecks()) .setNoTerminologyChecks(isNoTerminologyChecks())

View File

@ -47,6 +47,7 @@ class ValidatorWrapper {
private boolean myAssumeValidRestReferences; private boolean myAssumeValidRestReferences;
private boolean myNoExtensibleWarnings; private boolean myNoExtensibleWarnings;
private boolean myNoBindingMsgSuppressed; private boolean myNoBindingMsgSuppressed;
private boolean myUnknownSystemsCauseErrors;
private Collection<? extends String> myExtensionDomains; private Collection<? extends String> myExtensionDomains;
private IValidatorResourceFetcher myValidatorResourceFetcher; private IValidatorResourceFetcher myValidatorResourceFetcher;
private IValidationPolicyAdvisor myValidationPolicyAdvisor; private IValidationPolicyAdvisor myValidationPolicyAdvisor;
@ -82,6 +83,11 @@ class ValidatorWrapper {
return this; return this;
} }
public ValidatorWrapper setUnknownSystemsCauseErrors(boolean theUnknownSystemsCauseErrors) {
myUnknownSystemsCauseErrors = theUnknownSystemsCauseErrors;
return this;
}
public ValidatorWrapper setNoTerminologyChecks(boolean theNoTerminologyChecks) { public ValidatorWrapper setNoTerminologyChecks(boolean theNoTerminologyChecks) {
myNoTerminologyChecks = theNoTerminologyChecks; myNoTerminologyChecks = theNoTerminologyChecks;
return this; return this;
@ -129,6 +135,7 @@ class ValidatorWrapper {
v.setResourceIdRule(IdStatus.OPTIONAL); v.setResourceIdRule(IdStatus.OPTIONAL);
v.setNoTerminologyChecks(myNoTerminologyChecks); v.setNoTerminologyChecks(myNoTerminologyChecks);
v.setErrorForUnknownProfiles(myErrorForUnknownProfiles); v.setErrorForUnknownProfiles(myErrorForUnknownProfiles);
v.setUnknownCodeSystemsCauseErrors(myUnknownSystemsCauseErrors);
v.getExtensionDomains().addAll(myExtensionDomains); v.getExtensionDomains().addAll(myExtensionDomains);
v.setFetcher(myValidatorResourceFetcher); v.setFetcher(myValidatorResourceFetcher);
v.setPolicyAdvisor(myValidationPolicyAdvisor); v.setPolicyAdvisor(myValidationPolicyAdvisor);

View File

@ -949,7 +949,7 @@
</licenses> </licenses>
<properties> <properties>
<fhir_core_version>6.3.23</fhir_core_version> <fhir_core_version>6.3.25</fhir_core_version>
<spotless_version>2.41.1</spotless_version> <spotless_version>2.41.1</spotless_version>
<surefire_jvm_args>-Dfile.encoding=UTF-8 -Xmx2048m</surefire_jvm_args> <surefire_jvm_args>-Dfile.encoding=UTF-8 -Xmx2048m</surefire_jvm_args>