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();
+               }
+               
+       }
+       
 
 }

Reply via email to