Stats complete - todo - log file 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/63203f72 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/63203f72 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/63203f72
Branch: refs/heads/master Commit: 63203f724a5fd4931a0d19e106c5e2abc8c64435 Parents: aeb2b2e Author: Menaka Madushanka <[email protected]> Authored: Tue Jun 30 11:24:46 2015 +0530 Committer: Menaka Madushanka <[email protected]> Committed: Tue Jun 30 11:24:46 2015 +0530 ---------------------------------------------------------------------- .../taverna/tavlang/tools/stats/GetWfStat.java | 102 +++++++++++++++++-- 1 file changed, 95 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/63203f72/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/tools/stats/GetWfStat.java ---------------------------------------------------------------------- diff --git a/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/tools/stats/GetWfStat.java b/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/tools/stats/GetWfStat.java index 26b6f95..0ea728d 100644 --- a/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/tools/stats/GetWfStat.java +++ b/taverna-language-commandline/src/main/java/org/apache/taverna/tavlang/tools/stats/GetWfStat.java @@ -1,43 +1,107 @@ package org.apache.taverna.tavlang.tools.stats; +import java.io.BufferedWriter; import java.io.File; +import java.io.FileWriter; import java.io.IOException; import java.util.List; import org.apache.taverna.scufl2.api.common.NamedSet; import org.apache.taverna.scufl2.api.container.WorkflowBundle; +import org.apache.taverna.scufl2.api.core.ControlLink; +import org.apache.taverna.scufl2.api.core.DataLink; +import org.apache.taverna.scufl2.api.core.Processor; import org.apache.taverna.scufl2.api.core.Workflow; import org.apache.taverna.scufl2.api.io.ReaderException; import org.apache.taverna.scufl2.api.io.WorkflowBundleIO; +import org.apache.taverna.scufl2.api.port.InputPort; +import org.apache.taverna.scufl2.api.port.OutputPort; public class GetWfStat { - public Workflow wflow; - public NamedSet<Workflow> set; - public String logFile; + private NamedSet<Workflow> set; + private String logFile; + private boolean verbose; + private StringBuilder str; + //If given file is a workflow file - public GetWfStat(List<String> wf_files, String log){ + public GetWfStat(List<String> wf_files, String log, boolean verbose){ this.logFile = log; + this.verbose = verbose; + for(String files : wf_files){ File f = new File(files); if(f.isFile()){ this.read(f); }else{ - System.out.println("Error reading the file " + f.getName()); + System.err.println("Error reading the file " + f.getName()); } } } + public void read(File file){ WorkflowBundleIO io = new WorkflowBundleIO(); try { WorkflowBundle wf = io.readBundle(file, null); this.set = wf.getWorkflows(); - + System.out.println("Statistics of the workflow bundle: " + wf.getName()); for(Workflow wrf : set){ - System.out.println(wrf.getInputPorts()); + //TODO :- Take each type of resource and make a system to view them to the user. + System.out.println("Name of the workflow = " + wrf.getName()); + System.out.println(" |--> Number of Processors = " + wrf.getProcessors().size()); + + if(this.verbose && wrf.getProcessors().size()!=0){ + System.out.println(" | |--> Processors: "); + for(Processor p : wrf.getProcessors()){ + System.out.println(" | |--> " + p.getName()); + } + System.out.println(" |"); + } + + System.out.println(" |--> Number of Data Links = " + wrf.getDataLinks().size()); + + if(this.verbose && wrf.getDataLinks().size()!=0){ + System.out.println(" | |--> Data Links"); + for(DataLink link : wrf.getDataLinks()){ + System.out.println(" | |--> " + link); + } + System.out.println(" |"); + } + + System.out.println(" |--> Number of Control Links = " + wrf.getControlLinks().size()); + + if(this.verbose && wrf.getControlLinks().size()!=0){ + System.out.println(" | |--> Control Links"); + for(ControlLink link : wrf.getControlLinks()){ + System.out.println(" | |--> " + link); + } + System.out.println(" |"); + } + + System.out.println(" |--> Number of Input ports = " + wrf.getInputPorts().size()); + + if(this.verbose && wrf.getInputPorts().size()!=0){ + System.out.println(" | |--> Input Ports"); + for(InputPort iport : wrf.getInputPorts()){ + System.out.println(" | |--> " + iport.toString()); + } + System.out.println(" |"); + } + + System.out.println(" |--> Number of Output Ports = " + wrf.getOutputPorts().size()); + + if(this.verbose && wrf.getOutputPorts().size()!=0){ + System.out.println(" | |--> Input Ports"); + for(OutputPort o_port : wrf.getOutputPorts()){ + System.out.println(" | |--> " + o_port.toString()); + } + System.out.println(""); + } + + System.out.println(""); } } catch (ReaderException | IOException e) { @@ -45,5 +109,29 @@ public class GetWfStat { e.printStackTrace(); } } + + public void writefile(String report, String url){ + + File file = new File(url); + + if(!file.isFile()){ + System.err.println("Error in writing the log file..."); + } + + FileWriter writer; + BufferedWriter bfw; + try { + writer = new FileWriter(file); + bfw = new BufferedWriter(writer); + bfw.write(report); + bfw.close(); + writer.close(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + }
