From c559e005e5f78f6b107d1b018a12b12f0ebb634b Mon Sep 17 00:00:00 2001 From: Simon Harrer Date: Thu, 5 Jan 2017 15:00:11 +0100 Subject: [PATCH] Simpler model, fully automated xsd generation. --- loader/src/main/java/loader/PEBLMergerMain.java | 6 +++--- .../main/java/loader/PEBLStoreFilesAlongMain.java | 6 +++--- pebl/doc/result-test-result.puml | 2 +- .../src/main/java/pebl/result/test/TestResult.java | 12 ++++++------ pebl/src/main/java/pebl/xsd/PEBL.java | 14 +++++++------- pebl/src/main/java/pebl/xsd/SchemaGenerator.java | 11 ++++++++++- pebl/src/main/resources/pebl/pebl.json | 2 +- pebl/src/main/resources/pebl/pebl.xsd | 2 +- 8 files changed, 32 insertions(+), 23 deletions(-) diff --git a/loader/src/main/java/loader/PEBLMergerMain.java b/loader/src/main/java/loader/PEBLMergerMain.java index d7280977..8a63453d 100644 --- a/loader/src/main/java/loader/PEBLMergerMain.java +++ b/loader/src/main/java/loader/PEBLMergerMain.java @@ -119,9 +119,9 @@ private static void merge(PEBL peblSource, PEBL peblTarget, Path newRelativeData e.getFiles().clear(); e.getFiles().addAll(files); - final List logFiles = e.getLogFiles().stream().map(newRelativeDataFolder::relativize).collect(Collectors.toList()); - e.getLogFiles().clear(); - e.getLogFiles().addAll(logFiles); + final List logFiles = e.getLogs().stream().map(newRelativeDataFolder::relativize).collect(Collectors.toList()); + e.getLogs().clear(); + e.getLogs().addAll(logFiles); final Optional testResultOptional = peblTarget.result.testResults.stream().filter(tr -> tr.getId().equals(e.getId())).findAny(); if(testResultOptional.isPresent()) { diff --git a/loader/src/main/java/loader/PEBLStoreFilesAlongMain.java b/loader/src/main/java/loader/PEBLStoreFilesAlongMain.java index 46f583ec..f9d76c9f 100644 --- a/loader/src/main/java/loader/PEBLStoreFilesAlongMain.java +++ b/loader/src/main/java/loader/PEBLStoreFilesAlongMain.java @@ -55,15 +55,15 @@ static void copyFilesRelative(PEBL pebl, Path path) { t.getFiles().clear(); t.getFiles().addAll(files); - final List logFiles = t.getLogFiles() + final List logFiles = t.getLogs() .stream() .map(file -> copyAndGetRelativePath(id, file, s -> "testResults/" + s + "/logFiles", parent)) .collect(Collectors.toList()); assertNoDuplicates(id, files); - t.getLogFiles().clear(); - t.getLogFiles().addAll(logFiles); + t.getLogs().clear(); + t.getLogs().addAll(logFiles); }); } diff --git a/pebl/doc/result-test-result.puml b/pebl/doc/result-test-result.puml index 25152b08..196a2451 100644 --- a/pebl/doc/result-test-result.puml +++ b/pebl/doc/result-test-result.puml @@ -18,7 +18,7 @@ package "" { class TestResult { files : List - logFiles : List + logs : List deploymentPackage : String extensions : Map } diff --git a/pebl/src/main/java/pebl/result/test/TestResult.java b/pebl/src/main/java/pebl/result/test/TestResult.java index f6bd1f02..9a48ffe0 100644 --- a/pebl/src/main/java/pebl/result/test/TestResult.java +++ b/pebl/src/main/java/pebl/result/test/TestResult.java @@ -39,9 +39,9 @@ public class TestResult implements HasExtensions, HasId { @XmlAttribute(required = true) private final String tool; - @XmlElement(name = "logFiles") + @XmlElement(name = "logs") @XmlList - private final List logFiles; + private final List logs; @XmlElement(required = true) private final Path deploymentPackage; @@ -72,7 +72,7 @@ public class TestResult implements HasExtensions, HasId { public TestResult(Test test, Engine engine, String tool, - List logFiles, + List logs, Path deploymentPackage, List files, List measurements, @@ -81,7 +81,7 @@ public TestResult(Test test, this.test = test; this.engine = engine; this.tool = tool; - this.logFiles = new ArrayList<>(logFiles); + this.logs = new ArrayList<>(logs); this.deploymentPackage = deploymentPackage; this.files = new ArrayList<>(files); this.measurements = new LinkedList<>(measurements); @@ -101,8 +101,8 @@ public String getTool() { return tool; } - public List getLogFiles() { - return logFiles; + public List getLogs() { + return logs; } public Path getDeploymentPackage() { diff --git a/pebl/src/main/java/pebl/xsd/PEBL.java b/pebl/src/main/java/pebl/xsd/PEBL.java index c8ba6f8e..01f4b6a3 100644 --- a/pebl/src/main/java/pebl/xsd/PEBL.java +++ b/pebl/src/main/java/pebl/xsd/PEBL.java @@ -73,7 +73,7 @@ public void assertLinksWork() { }); result.testResults.forEach(e -> { e.getFiles().stream().filter(missing.or(relative)).forEach(unlinked::add); - e.getLogFiles().stream().filter(missing.or(relative)).forEach(unlinked::add); + e.getLogs().stream().filter(missing.or(relative)).forEach(unlinked::add); }); if(unlinked.size() > 0) { @@ -120,13 +120,13 @@ private void makeFilesAbsolute(Path workingDirectory) { e.getFiles().clear(); e.getFiles().addAll(files); - final List logFiles = e.getLogFiles() + final List logFiles = e.getLogs() .stream() .map(workingDirectory::resolve) .map(Path::toAbsolutePath) .collect(Collectors.toList()); - e.getLogFiles().clear(); - e.getLogFiles().addAll(logFiles); + e.getLogs().clear(); + e.getLogs().addAll(logFiles); }); } @@ -155,13 +155,13 @@ public void makeFilesRelative(Path workingDirectory) { e.getFiles().clear(); e.getFiles().addAll(files); - final List logFiles = e.getLogFiles() + final List logFiles = e.getLogs() .stream() .map(Path::toAbsolutePath) .map(workingDirectory::relativize) .collect(Collectors.toList()); - e.getLogFiles().clear(); - e.getLogFiles().addAll(logFiles); + e.getLogs().clear(); + e.getLogs().addAll(logFiles); }); } diff --git a/pebl/src/main/java/pebl/xsd/SchemaGenerator.java b/pebl/src/main/java/pebl/xsd/SchemaGenerator.java index bb8127f3..2db6acdb 100644 --- a/pebl/src/main/java/pebl/xsd/SchemaGenerator.java +++ b/pebl/src/main/java/pebl/xsd/SchemaGenerator.java @@ -2,7 +2,11 @@ import java.io.File; import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.nio.file.Path; +import java.util.List; +import java.util.stream.Collectors; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; @@ -54,7 +58,12 @@ public Result createOutput(String uri, String suggestedFileName) throws IOExcept }; jc.generateSchema(sor); - return xsd.toPath(); + final Path xsdPath = xsd.toPath(); + + final List lines = Files.readAllLines(xsdPath, StandardCharsets.UTF_8); + Files.write(xsdPath, lines.stream().map(s -> s.replace("##other", "##any")).collect(Collectors.toList()), StandardCharsets.UTF_8); + + return xsdPath; } } diff --git a/pebl/src/main/resources/pebl/pebl.json b/pebl/src/main/resources/pebl/pebl.json index 4c69b9c4..6bf7b239 100644 --- a/pebl/src/main/resources/pebl/pebl.json +++ b/pebl/src/main/resources/pebl/pebl.json @@ -1611,7 +1611,7 @@ "tool" : { "type" : "string" }, - "logFiles" : { + "logs" : { "type" : "array", "items" : { "type" : "string" diff --git a/pebl/src/main/resources/pebl/pebl.xsd b/pebl/src/main/resources/pebl/pebl.xsd index d17c002d..efee5648 100644 --- a/pebl/src/main/resources/pebl/pebl.xsd +++ b/pebl/src/main/resources/pebl/pebl.xsd @@ -500,7 +500,7 @@ - +