Report structure Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/commit/06bef782 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/06bef782 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/06bef782
Branch: refs/heads/master Commit: 06bef782020e1de371d26b7a761905034b1d82d9 Parents: 6c6dfa6 Author: Menaka Madushanka <[email protected]> Authored: Fri Jul 24 04:00:27 2015 +0530 Committer: Menaka Madushanka <[email protected]> Committed: Fri Jul 24 04:00:27 2015 +0530 ---------------------------------------------------------------------- .../taverna/robundle/validator/RoValidator.java | 54 +++++++++++++++++++- .../robundle/validator/ValidationReport.java | 4 ++ 2 files changed, 56 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/06bef782/taverna-robundle/src/main/java/org/apache/taverna/robundle/validator/RoValidator.java ---------------------------------------------------------------------- diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/validator/RoValidator.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/validator/RoValidator.java index 18bf218..ce340cd 100644 --- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/validator/RoValidator.java +++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/validator/RoValidator.java @@ -66,11 +66,15 @@ public class RoValidator { private ArrayList<String> errorList = new ArrayList<>(); //ArrayList for warnings :- If files not listed in the manifest are included in bundle - private ArrayList<String> warningList = new ArrayList<String>(); + private ArrayList<String> infoWarningList = new ArrayList<String>(); + + //If there are external urls + private ArrayList<String> warning = new ArrayList<String>(); public RoValidator(Path path){ this.p = path; + this.validate(); } public void validate(){ @@ -99,10 +103,56 @@ public class RoValidator { check(items); + } - public void check(ArrayList<String> list){ + public ValidationReport check(ArrayList<String> list){ + + ValidationReport report = new ValidationReport(); + + for(PathMetadata pm : this.aggr){ + + //If aggregates listed in manifest are not found in bundle... + if(!list.contains(pm.toString())){ + + /* + * Here it can be a external url or the file is missing + * */ + //If the aggregate is a external URL... + if(pm.toString().contains("http://") || pm.toString().contains(".com")){ + this.warning.add(pm.toString()); + }else{ + this.errorList.add(pm.toString()); + } + } + } + + /* + * There could be files in the bundle, which are not included as aggregates. + * There are default files: mimetype and LICENSE + * */ + for(String s : list){ + + s = s.toLowerCase(); + PathMetadata p = new PathMetadata(s); + if(s.contains("mimetype")||s.contains("license")){ + //This is ok and skip + }else{ + if(!this.aggr.contains(p)){ + this.infoWarningList.add(s); + } + } + } + + report.setErrorList(this.errorList); + report.setInfoWarnings(this.infoWarningList); + report.setWarnings(this.warning); + + return report; } + + + } http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/06bef782/taverna-robundle/src/main/java/org/apache/taverna/robundle/validator/ValidationReport.java ---------------------------------------------------------------------- diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/validator/ValidationReport.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/validator/ValidationReport.java index 6217039..04f6539 100644 --- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/validator/ValidationReport.java +++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/validator/ValidationReport.java @@ -9,6 +9,10 @@ public class ValidationReport { private ArrayList<String> infoWarnings; private ArrayList<String> warnings; + + public ValidationReport(){ + + } public ArrayList<String> getErrorList() { return errorList;
