From 5b5bf912e062d80d9fa9b3357309fa6d69254753 Mon Sep 17 00:00:00 2001 From: Oliver Egger Date: Thu, 14 Jan 2021 15:15:42 +0100 Subject: [PATCH] configure fhirpath with resolve bundle func --- .../java/org/hl7/fhir/validation/ValidationEngine.java | 7 +++++-- .../hl7/fhir/validation/instance/InstanceValidator.java | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/ValidationEngine.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/ValidationEngine.java index 122404cc4..acde82364 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/ValidationEngine.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/ValidationEngine.java @@ -50,6 +50,8 @@ import org.hl7.fhir.validation.cli.model.ScanOutputItem; import org.hl7.fhir.validation.cli.services.StandAloneValidatorFetcher.IPackageInstaller; import org.hl7.fhir.validation.cli.utils.*; import org.hl7.fhir.validation.instance.InstanceValidator; +import org.hl7.fhir.validation.instance.utils.NodeStack; +import org.hl7.fhir.validation.instance.utils.ValidatorHostContext; import org.w3c.dom.Document; import org.xml.sax.SAXException; @@ -1387,9 +1389,10 @@ public class ValidationEngine implements IValidatorResourceFetcher, IPackageInst public String evaluateFhirPath(String source, String expression) throws FHIRException, IOException { Content cnt = loadContent(source, "validate", false); - FHIRPathEngine fpe = new FHIRPathEngine(context); + FHIRPathEngine fpe = this.getValidator().getFHIRPathEngine(); Element e = Manager.parse(context, new ByteArrayInputStream(cnt.focus), cnt.cntType); - return fpe.evaluateToString(e, expression); + ExpressionNode exp = fpe.parse(expression); + return fpe.evaluateToString(new ValidatorHostContext(context, e), e, e, e, exp); } public StructureDefinition snapshot(String source, String version) throws FHIRException, IOException { diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java index 2ebae0d89..5e0f8c07a 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java @@ -332,6 +332,10 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat } private FHIRPathEngine fpe; + public FHIRPathEngine getFHIRPathEngine() { + return fpe; + } + // configuration items private CheckDisplayOption checkDisplay; private boolean anyExtensionsAllowed;