mirror of
https://github.com/hapifhir/org.hl7.fhir.core.git
synced 2025-02-07 05:18:14 +00:00
FML updates for tests and validator
This commit is contained in:
parent
aabe8b43eb
commit
0ad3882132
@ -248,11 +248,13 @@ public class FHIRPathEngine {
|
|||||||
public FHIRPathEngine(IWorkerContext worker) {
|
public FHIRPathEngine(IWorkerContext worker) {
|
||||||
super();
|
super();
|
||||||
this.worker = worker;
|
this.worker = worker;
|
||||||
for (StructureDefinition sd : worker.allStructures()) {
|
if (this.worker!=null) {
|
||||||
if (sd.getDerivation() == TypeDerivationRule.SPECIALIZATION && sd.getKind() != StructureDefinitionKind.LOGICAL)
|
for (StructureDefinition sd : worker.allStructures()) {
|
||||||
allTypes.put(sd.getName(), sd);
|
if (sd.getDerivation() == TypeDerivationRule.SPECIALIZATION && sd.getKind() != StructureDefinitionKind.LOGICAL)
|
||||||
if (sd.getDerivation() == TypeDerivationRule.SPECIALIZATION && sd.getKind() == StructureDefinitionKind.PRIMITIVETYPE) {
|
allTypes.put(sd.getName(), sd);
|
||||||
primitiveTypes.add(sd.getName());
|
if (sd.getDerivation() == TypeDerivationRule.SPECIALIZATION && sd.getKind() == StructureDefinitionKind.PRIMITIVETYPE) {
|
||||||
|
primitiveTypes.add(sd.getName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,7 @@ public class FHIRMappingLanguageTests implements ITransformerServices {
|
|||||||
static public void setUp() throws Exception {
|
static public void setUp() throws Exception {
|
||||||
if (context == null) {
|
if (context == null) {
|
||||||
PackageCacheManager pcm = new PackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
PackageCacheManager pcm = new PackageCacheManager(true, ToolsVersion.TOOLS_VERSION);
|
||||||
context = SimpleWorkerContext.fromPackage(pcm.loadPackage("hl7.fhir.core", "4.0.0"));
|
context = SimpleWorkerContext.fromPackage(pcm.loadPackage("hl7.fhir.core", "4.0.1"));
|
||||||
jsonParser = new JsonParser();
|
jsonParser = new JsonParser();
|
||||||
jsonParser.setOutputStyle(OutputStyle.PRETTY);
|
jsonParser.setOutputStyle(OutputStyle.PRETTY);
|
||||||
}
|
}
|
||||||
@ -93,7 +93,7 @@ public class FHIRMappingLanguageTests implements ITransformerServices {
|
|||||||
|
|
||||||
InputStream fileSource = TestingUtilities.loadTestResourceStream("r5", "fml", source);
|
InputStream fileSource = TestingUtilities.loadTestResourceStream("r5", "fml", source);
|
||||||
InputStream fileMap = TestingUtilities.loadTestResourceStream("r5", "fml", map);
|
InputStream fileMap = TestingUtilities.loadTestResourceStream("r5", "fml", map);
|
||||||
String fileOutput = TestingUtilities.tempFile("fml", output);
|
String outputJson = TestingUtilities.loadTestResource("r5","fml", output);
|
||||||
String fileOutputRes = TestingUtilities.tempFile("fml", output)+".out";
|
String fileOutputRes = TestingUtilities.tempFile("fml", output)+".out";
|
||||||
|
|
||||||
outputs.clear();
|
outputs.clear();
|
||||||
@ -117,9 +117,10 @@ public class FHIRMappingLanguageTests implements ITransformerServices {
|
|||||||
if (ok) {
|
if (ok) {
|
||||||
ByteArrayOutputStream boas = new ByteArrayOutputStream();
|
ByteArrayOutputStream boas = new ByteArrayOutputStream();
|
||||||
jsonParser.compose(boas, resource);
|
jsonParser.compose(boas, resource);
|
||||||
log(boas.toString());
|
String result = boas.toString();
|
||||||
|
log(result);
|
||||||
TextFile.bytesToFile(boas.toByteArray(), fileOutputRes);
|
TextFile.bytesToFile(boas.toByteArray(), fileOutputRes);
|
||||||
msg = TestingUtilities.checkJsonIsSame(fileOutputRes,fileOutput);
|
msg = TestingUtilities.checkJsonSrcIsSame(result, outputJson);
|
||||||
assertTrue(msg, Utilities.noString(msg));
|
assertTrue(msg, Utilities.noString(msg));
|
||||||
} else
|
} else
|
||||||
assertTrue("Error, but proper output was expected (" + msg + ")", output.equals("$error"));
|
assertTrue("Error, but proper output was expected (" + msg + ")", output.equals("$error"));
|
||||||
|
@ -293,7 +293,7 @@ public class ValidationEngine implements IValidatorResourceFetcher {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private SimpleWorkerContext context;
|
private SimpleWorkerContext context;
|
||||||
// private FHIRPathEngine fpe;
|
// private FHIRPathEngine fpe;
|
||||||
private Map<String, byte[]> binaries = new HashMap<String, byte[]>();
|
private Map<String, byte[]> binaries = new HashMap<String, byte[]>();
|
||||||
@ -753,7 +753,7 @@ public class ValidationEngine implements IValidatorResourceFetcher {
|
|||||||
return FhirFormat.TEXT;
|
return FhirFormat.TEXT;
|
||||||
|
|
||||||
return checkIsResource(TextFile.fileToBytes(path), path);
|
return checkIsResource(TextFile.fileToBytes(path), path);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void connectToTSServer(String url, String log, FhirPublication version) throws URISyntaxException, FHIRException {
|
public void connectToTSServer(String url, String log, FhirPublication version) throws URISyntaxException, FHIRException {
|
||||||
context.setTlogging(false);
|
context.setTlogging(false);
|
||||||
@ -769,7 +769,7 @@ public class ValidationEngine implements IValidatorResourceFetcher {
|
|||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadProfile(String src) throws Exception {
|
public void loadProfile(String src) throws Exception {
|
||||||
if (context.hasResource(StructureDefinition.class, src))
|
if (context.hasResource(StructureDefinition.class, src))
|
||||||
@ -808,10 +808,10 @@ public class ValidationEngine implements IValidatorResourceFetcher {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (canonical != null)
|
if (canonical != null)
|
||||||
grabNatives(source, canonical);
|
grabNatives(source, canonical);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Resource loadFileWithErrorChecking(String version, Entry<String, byte[]> t, String fn) {
|
public Resource loadFileWithErrorChecking(String version, Entry<String, byte[]> t, String fn) {
|
||||||
if (debug)
|
if (debug)
|
||||||
@ -907,10 +907,10 @@ public class ValidationEngine implements IValidatorResourceFetcher {
|
|||||||
if (e.getKey().endsWith(".zip"))
|
if (e.getKey().endsWith(".zip"))
|
||||||
binaries.put(prefix+"#"+e.getKey(), e.getValue());
|
binaries.put(prefix+"#"+e.getKey(), e.getValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setQuestionnaires(List<String> questionnaires) {
|
public void setQuestionnaires(List<String> questionnaires) {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setNative(boolean doNative) {
|
public void setNative(boolean doNative) {
|
||||||
this.doNative = doNative;
|
this.doNative = doNative;
|
||||||
@ -1147,12 +1147,12 @@ public class ValidationEngine implements IValidatorResourceFetcher {
|
|||||||
|
|
||||||
private void validateSHEX(String location, List<ValidationMessage> messages) {
|
private void validateSHEX(String location, List<ValidationMessage> messages) {
|
||||||
messages.add(new ValidationMessage(Source.InstanceValidator, IssueType.INFORMATIONAL, location, "SHEX Validation is not done yet", IssueSeverity.INFORMATION));
|
messages.add(new ValidationMessage(Source.InstanceValidator, IssueType.INFORMATIONAL, location, "SHEX Validation is not done yet", IssueSeverity.INFORMATION));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void validateXmlSchema(String location, List<ValidationMessage> messages) throws FileNotFoundException, IOException, SAXException {
|
private void validateXmlSchema(String location, List<ValidationMessage> messages) throws FileNotFoundException, IOException, SAXException {
|
||||||
XmlValidator xml = new XmlValidator(messages, loadSchemas(), loadTransforms());
|
XmlValidator xml = new XmlValidator(messages, loadSchemas(), loadTransforms());
|
||||||
messages.add(new ValidationMessage(Source.InstanceValidator, IssueType.INFORMATIONAL, location, "XML Schema Validation is not done yet", IssueSeverity.INFORMATION));
|
messages.add(new ValidationMessage(Source.InstanceValidator, IssueType.INFORMATIONAL, location, "XML Schema Validation is not done yet", IssueSeverity.INFORMATION));
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<String, byte[]> loadSchemas() throws IOException {
|
private Map<String, byte[]> loadSchemas() throws IOException {
|
||||||
Map<String, byte[]> res = new HashMap<String, byte[]>();
|
Map<String, byte[]> res = new HashMap<String, byte[]>();
|
||||||
@ -1176,7 +1176,7 @@ public class ValidationEngine implements IValidatorResourceFetcher {
|
|||||||
|
|
||||||
private void validateJsonSchema(String location, List<ValidationMessage> messages) {
|
private void validateJsonSchema(String location, List<ValidationMessage> messages) {
|
||||||
messages.add(new ValidationMessage(Source.InstanceValidator, IssueType.INFORMATIONAL, location, "JSON Schema Validation is not done yet", IssueSeverity.INFORMATION));
|
messages.add(new ValidationMessage(Source.InstanceValidator, IssueType.INFORMATIONAL, location, "JSON Schema Validation is not done yet", IssueSeverity.INFORMATION));
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<ValidationMessage> filterMessages(List<ValidationMessage> messages) {
|
private List<ValidationMessage> filterMessages(List<ValidationMessage> messages) {
|
||||||
List<ValidationMessage> filteredValidation = new ArrayList<ValidationMessage>();
|
List<ValidationMessage> filteredValidation = new ArrayList<ValidationMessage>();
|
||||||
@ -1208,7 +1208,7 @@ public class ValidationEngine implements IValidatorResourceFetcher {
|
|||||||
}
|
}
|
||||||
new NarrativeGenerator("", "", context).generate(null, op);
|
new NarrativeGenerator("", "", context).generate(null, op);
|
||||||
return op;
|
return op;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String issueSummary (OperationOutcomeIssueComponent issue) {
|
public static String issueSummary (OperationOutcomeIssueComponent issue) {
|
||||||
String source = ToolingExtensions.readStringExtension(issue, ToolingExtensions.EXT_ISSUE_SOURCE);
|
String source = ToolingExtensions.readStringExtension(issue, ToolingExtensions.EXT_ISSUE_SOURCE);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user