Validation - verbose mode, file save, integrated into conversion 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/fef98303 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/fef98303 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/fef98303
Branch: refs/heads/master Commit: fef98303b5bd1da3ba19a070c80c76854cec5974 Parents: bb795c3 Author: Menaka Madushanka <[email protected]> Authored: Thu Jul 2 01:22:16 2015 +0530 Committer: Menaka Madushanka <[email protected]> Committed: Thu Jul 2 01:22:16 2015 +0530 ---------------------------------------------------------------------- .../apache/taverna/tavlang/CommandLineTool.java | 11 ++++- .../tavlang/tools/validate/Validate.java | 48 ++++++++++++++------ 2 files changed, 44 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/fef98303/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/CommandLineTool.java ---------------------------------------------------------------------- diff --git a/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/CommandLineTool.java b/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/CommandLineTool.java index d040ae0..3efa17e 100644 --- a/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/CommandLineTool.java +++ b/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/CommandLineTool.java @@ -213,6 +213,12 @@ public class CommandLineTool { @Override public void execute() { + + //Validate before convert + if(validate){ + Validate validate = new Validate(files, null, false); + } + if (Filetypes.isRo) { try { new ToRobundle(files, Optional.getOutFile()); @@ -301,6 +307,9 @@ public class CommandLineTool { @Option(name = { "-l", "--log" }, description = "Specify the file name where results should be stored ([some dir]/log.txt)") public String file; + @Option(name = {"-v", "--verbose"}, description = "Verbose mode") + public boolean verbose; + // @Inject // Optional optional = new Optional(); @@ -311,7 +320,7 @@ public class CommandLineTool { @Override public void execute() { - Validate validate = new Validate(toValidate, file); + Validate validate = new Validate(toValidate, file, verbose); } http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/fef98303/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/tools/validate/Validate.java ---------------------------------------------------------------------- diff --git a/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/tools/validate/Validate.java b/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/tools/validate/Validate.java index 5cb0c47..8f3fc4f 100644 --- a/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/tools/validate/Validate.java +++ b/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/tools/validate/Validate.java @@ -39,13 +39,26 @@ import org.apache.taverna.scufl2.validation.correctness.ReportCorrectnessValidat public class Validate { private String logfile; + private String nonVerbose = ""; private String finalrep = ""; + private boolean verbose; + - public Validate(List<String> files, String file) { + public Validate(List<String> files, String file, boolean verbose) { + this.verbose = verbose; this.logfile = file; + System.out.println("Validation started...."); for (String f : files) { + System.out.println("Validating " + f); File wfile = new File(f); read(wfile); + + } + System.out.println("Validation completed......."); + + + if (this.logfile != null) { + saveToLog(this.finalrep); } } @@ -53,9 +66,7 @@ public class Validate { WorkflowBundleIO io = new WorkflowBundleIO(); try { this.finalrep += validate(io.readBundle(file, null), file.getName()); - if (this.logfile != null) { - saveToLog(finalrep); - } + } catch (ReaderException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -68,21 +79,22 @@ public class Validate { } public String validate(WorkflowBundle wfb, String file) { - System.out.println("Validation started..."); + StringBuilder report2 = new StringBuilder(); - CorrectnessValidationListener r = new ReportCorrectnessValidationListener(); - CorrectnessValidator v = new CorrectnessValidator(); - r = v.validate(wfb); - String report = r.toString().replace( + CorrectnessValidationListener correctnessValidationListener = new ReportCorrectnessValidationListener(); + CorrectnessValidator correctnessValidator = new CorrectnessValidator(); + correctnessValidationListener = correctnessValidator.validate(wfb); + String report = correctnessValidationListener.toString().replace( "ReportCorrectnessValidationListener [", ""); String[] sections = report.split(", "); - HashMap<String, String> map = new HashMap<>(); - System.out.println("Validation completed......."); - - if (!r.detectedProblems()){ + + + boolean detect = correctnessValidationListener.detectedProblems(); + if (!detect){ report2.append("The workflow " + file + " has no errors. \n\n"); + this.nonVerbose = "The workflow " + file + " has no errors. \n"; } @@ -102,8 +114,15 @@ public class Validate { } report2.append("--------------------------------------------------------------------------------- \n\n"); - if(r.detectedProblems()) + if(detect){ + System.out.println("The workflow bundle has following problems: \n"+report2.toString()); + } + + if(verbose){ System.out.println(report2.toString()); + }else{ + System.out.println(this.nonVerbose); + } return report2.toString(); @@ -118,6 +137,7 @@ public class Validate { blw.write(s); blw.close(); logwriter.close(); + System.out.println("Results were saved into " + logFile.getPath()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace();
