Repository: incubator-taverna-common-activities
Updated Branches:
  refs/heads/cwl-browse 146c84191 -> f563c8d77


new description panal added


Project: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/commit/63e2c6f4
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/tree/63e2c6f4
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/diff/63e2c6f4

Branch: refs/heads/cwl-browse
Commit: 63e2c6f4e530f592aea99ce77d5e19f19a59cd1f
Parents: 146c841
Author: ThilinaManamgoda <[email protected]>
Authored: Fri Jun 10 23:08:43 2016 +0530
Committer: ThilinaManamgoda <[email protected]>
Committed: Fri Jun 10 23:08:43 2016 +0530

----------------------------------------------------------------------
 .../cwl/ui/serviceprovider/CwlServiceDesc.java  |   5 +-
 .../taverna/cwl/ui/serviceprovider/Testing.java |  17 ++-
 .../ui/view/CwlActivityContextViewFactory.java  |  20 +++
 .../taverna/cwl/ui/view/CwlContextualView.java  | 129 +++++++++++++++++++
 .../cwl/CwlActivityConfigurationBean.java       |  10 +-
 .../org/apache/taverna/cwl/CwlDumyActivity.java |  57 +++++---
 .../java/org/apache/taverna/cwl/PortDetail.java |  23 ++++
 7 files changed, 241 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/63e2c6f4/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/serviceprovider/CwlServiceDesc.java
----------------------------------------------------------------------
diff --git 
a/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/serviceprovider/CwlServiceDesc.java
 
b/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/serviceprovider/CwlServiceDesc.java
index 07c958b..54934f1 100644
--- 
a/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/serviceprovider/CwlServiceDesc.java
+++ 
b/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/serviceprovider/CwlServiceDesc.java
@@ -35,8 +35,8 @@ public class CwlServiceDesc extends 
ServiceDescription<CwlActivityConfigurationB
        @Override
        public String getDescription() {
                String description = (String) cwlConfiguration.get(DESCRIPTION);
-
-               if (description == null)
+               //see  whether description is too long
+               if (description == null || (description.length()>40))
                        return "";
                else
                        return description;
@@ -55,6 +55,7 @@ public class CwlServiceDesc extends 
ServiceDescription<CwlActivityConfigurationB
                // Creating the CWL configuration bean
                CwlActivityConfigurationBean configurationBean = new 
CwlActivityConfigurationBean();
                configurationBean.setCwlConfigurations(cwlConfiguration);
+               configurationBean.setToolName(toolName);
                return configurationBean;
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/63e2c6f4/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/serviceprovider/Testing.java
----------------------------------------------------------------------
diff --git 
a/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/serviceprovider/Testing.java
 
b/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/serviceprovider/Testing.java
index 92deb34..ef33834 100644
--- 
a/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/serviceprovider/Testing.java
+++ 
b/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/serviceprovider/Testing.java
@@ -29,7 +29,7 @@ import org.apache.taverna.cwl.CwlActivityConfigurationBean;
 import org.yaml.snakeyaml.Yaml;
 
 public class Testing {
-       private static final File cwlFilesLocation = new File("CWLFiles");
+       private static final File cwlFilesLocation = new 
File("/home/maanadev/cwlToolsTesting");
        private static final String INPUTS = "inputs";
        private static final String ID = "id";
        private static final String TYPE = "type";
@@ -72,7 +72,20 @@ public class Testing {
 //             
 //     
 //     }
-
+public static void main(String[] args) {
+       
+       File[] cwlFiles = getCwlFiles();
+       
+       Map cwlFile = null;
+       // Load the CWL file using SnakeYaml lib
+       Yaml cwlReader = new Yaml();
+       try {
+               cwlFile = (Map) cwlReader.load(new 
FileInputStream(cwlFiles[0]));
+               System.out.println(cwlFile.get("description"));
+       }catch(Exception e){
+               
+       }
+}
        private static HashMap<String, Integer> processInputs(Map cwlFile) {
                
                HashMap<String, Integer> result = new HashMap<>();

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/63e2c6f4/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/view/CwlActivityContextViewFactory.java
----------------------------------------------------------------------
diff --git 
a/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/view/CwlActivityContextViewFactory.java
 
b/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/view/CwlActivityContextViewFactory.java
new file mode 100644
index 0000000..31c3bc8
--- /dev/null
+++ 
b/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/view/CwlActivityContextViewFactory.java
@@ -0,0 +1,20 @@
+package org.apache.taverna.cwl.ui.view;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.taverna.cwl.CwlDumyActivity;
+
+import net.sf.taverna.t2.workbench.ui.views.contextualviews.ContextualView;
+import 
net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory;
+
+public class CwlActivityContextViewFactory implements 
ContextualViewFactory<CwlDumyActivity> {
+
+       public boolean canHandle(Object selection) {
+               return selection instanceof CwlDumyActivity;
+       }
+
+       public List<ContextualView> getViews(CwlDumyActivity selection) {
+               return Arrays.<ContextualView> asList(new 
CwlContextualView(selection));
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/63e2c6f4/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/view/CwlContextualView.java
----------------------------------------------------------------------
diff --git 
a/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/view/CwlContextualView.java
 
b/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/view/CwlContextualView.java
new file mode 100644
index 0000000..ae4936f
--- /dev/null
+++ 
b/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/view/CwlContextualView.java
@@ -0,0 +1,129 @@
+package org.apache.taverna.cwl.ui.view;
+
+import java.awt.BorderLayout;
+import java.awt.FlowLayout;
+import java.awt.Frame;
+import java.util.HashMap;
+import java.util.Map;
+import javax.swing.Action;
+import javax.swing.JComponent;
+import javax.swing.JPanel;
+import org.apache.taverna.cwl.CwlActivityConfigurationBean;
+import org.apache.taverna.cwl.CwlDumyActivity;
+import org.apache.taverna.cwl.PortDetail;
+import 
net.sf.taverna.t2.workbench.ui.actions.activity.HTMLBasedActivityContextualView;
+import net.sf.taverna.t2.workflowmodel.processor.activity.Activity;
+
+public class CwlContextualView extends 
HTMLBasedActivityContextualView<CwlActivityConfigurationBean> {
+
+       private static final String DESCRIPTION = "description";
+
+       private final CwlActivityConfigurationBean configurationBean;
+       private final CwlDumyActivity activity;
+
+       public CwlContextualView(CwlDumyActivity activity) {
+               super((Activity) activity);
+               this.activity = activity;
+               this.configurationBean = activity.getConfiguration();
+               super.initView();
+       }
+
+       @Override
+       public void initView() {
+       }
+
+       @Override
+       public JComponent getMainFrame() {
+               final JComponent mainFrame = super.getMainFrame();
+               JPanel flowPanel = new JPanel(new FlowLayout());
+
+               mainFrame.add(flowPanel, BorderLayout.SOUTH);
+               return mainFrame;
+       }
+
+       @Override
+       public String getViewTitle() {
+               return configurationBean.getToolName();
+       }
+
+       /**
+        * Typically called when the activity configuration has changed.
+        */
+       @Override
+       public void refreshView() {
+       }
+
+       /**
+        * View position hint
+        */
+       @Override
+       public int getPreferredPosition() {
+               return 100;
+       }
+
+       @Override
+       public Action getConfigureAction(final Frame owner) {
+               return null;
+       }
+
+       private String paragraphToHtml(String summery, String paragraph) {
+
+               summery += "<tr><td colspan='2' align='left'>";
+
+               for (String line : paragraph.split("[\n|\r]"))
+                       summery += "<p>" + line + "</p>";
+
+               summery += "</td></tr>";
+
+               return summery;
+       }
+
+       @Override
+       protected String getRawTableRowsHtml() {
+               String summery = "";
+
+               Map cwlFile = configurationBean.getCwlConfigurations();
+               String description = "";
+
+               if (cwlFile.containsKey(DESCRIPTION)) {
+                       
+                       description = (String) cwlFile.get(DESCRIPTION);
+                       summery = paragraphToHtml(summery, description);
+
+               }
+
+               summery += "<tr><th colspan='2' align='left'>Inputs</th></tr>";
+
+               HashMap<String, PortDetail> inputs = 
activity.getProcessedInputs();
+               if (inputs != null)
+                       for (String id : inputs.keySet()) {
+                               PortDetail detail = inputs.get(id);
+                               summery += "<tr align='left'><td> ID: " + id + 
" </td><td>Depth: " + detail.getDepth() + "</td></tr>";
+
+                               if (detail.getDescription() != null) {
+
+                                       summery = paragraphToHtml(summery, 
detail.getDescription());
+
+                               }
+                               summery += "<tr></tr>";
+                       }
+
+               summery += "<tr><th colspan='2' align='left'>Outputs</th></tr>";
+
+               HashMap<String, PortDetail> outPuts = 
activity.getProcessedOutputs();
+               
+               if (outPuts != null)
+                       for (String id : outPuts.keySet()) {
+                               PortDetail detail = outPuts.get(id);
+                               summery += "<tr align='left'><td> ID: " + id + 
" </td><td>Depth: " + detail.getDepth() + "</td></tr>";
+
+                               if (detail.getDescription() != null) {
+                                       summery = paragraphToHtml(summery, 
detail.getDescription());
+                               }
+                               summery += "<tr></tr>";
+                       }
+
+               return summery;
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/63e2c6f4/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/CwlActivityConfigurationBean.java
----------------------------------------------------------------------
diff --git 
a/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/CwlActivityConfigurationBean.java
 
b/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/CwlActivityConfigurationBean.java
index 80a73c8..718f3e8 100644
--- 
a/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/CwlActivityConfigurationBean.java
+++ 
b/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/CwlActivityConfigurationBean.java
@@ -22,7 +22,7 @@ public class CwlActivityConfigurationBean {
 //This class holds the object which is produced by the ServiceProvider and 
contains the configurations that are need for the CWLActivity 
        
        private Map cwlConfigurations;
-
+       private String toolName;
        public Map getCwlConfigurations() {
                return cwlConfigurations;
        }
@@ -30,4 +30,12 @@ public class CwlActivityConfigurationBean {
        public void setCwlConfigurations(Map cwlConfigurations) {
                this.cwlConfigurations = cwlConfigurations;
        }
+
+       public String getToolName() {
+               return toolName;
+       }
+
+       public void setToolName(String toolName) {
+               this.toolName = toolName;
+       }
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/63e2c6f4/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/CwlDumyActivity.java
----------------------------------------------------------------------
diff --git 
a/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/CwlDumyActivity.java
 
b/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/CwlDumyActivity.java
index 054824f..16ffbb8 100644
--- 
a/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/CwlDumyActivity.java
+++ 
b/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/CwlDumyActivity.java
@@ -27,6 +27,7 @@ import 
org.apache.taverna.workflowmodel.processor.activity.ActivityConfiguration
 import 
org.apache.taverna.workflowmodel.processor.activity.AsynchronousActivity;
 import 
org.apache.taverna.workflowmodel.processor.activity.AsynchronousActivityCallback;
 
+
 public class CwlDumyActivity extends 
AbstractAsynchronousActivity<CwlActivityConfigurationBean>
                implements AsynchronousActivity<CwlActivityConfigurationBean> {
 
@@ -35,23 +36,42 @@ public class CwlDumyActivity extends 
AbstractAsynchronousActivity<CwlActivityCon
        private static final String ID = "id";
        private static final String TYPE = "type";
        private static final String ARRAY = "array";
-
+       private static final String DESCRIPTION = "description";
        private static final int DEPTH_0 = 0;
        private static final int DEPTH_1 = 1;
        private static final int DEPTH_2 = 2;
+       private HashMap<String, PortDetail> processedInputs;
+       private HashMap<String, PortDetail> processedOutputs;
+       
+       
+       public HashMap<String, PortDetail> getProcessedInputs() {
+               return processedInputs;
+       }
+
+       public void setProcessedInputs(HashMap<String, PortDetail> 
processedInputs) {
+               this.processedInputs = processedInputs;
+       }
+
+       public HashMap<String, PortDetail> getProcessedOutputs() {
+               return processedOutputs;
+       }
 
+       public void setProcessedOutputs(HashMap<String, PortDetail> 
processedOutputs) {
+               this.processedOutputs = processedOutputs;
+       }
+
+       
        @Override
        public void configure(CwlActivityConfigurationBean configurationBean) 
throws ActivityConfigurationException {
                removeInputs();
                removeOutputs();
                Map cwlFile = configurationBean.getCwlConfigurations();
-               HashMap<String, Integer> processedInputs;
-               HashMap<String, Integer> processedOutputs;
+               
                if (cwlFile != null) {
                        processedInputs = processInputs(cwlFile);
 
                        for (String inputId : processedInputs.keySet()) {
-                               int depth = processedInputs.get(inputId);
+                               int depth = 
processedInputs.get(inputId).getDepth();
                                if (depth == DEPTH_0)
                                        addInput(inputId, DEPTH_0, true, null, 
String.class);
                                else if (depth == DEPTH_1)
@@ -60,7 +80,7 @@ public class CwlDumyActivity extends 
AbstractAsynchronousActivity<CwlActivityCon
                        }
                        processedOutputs = processOutputs(cwlFile);
                        for (String inputId : processedOutputs.keySet()) {
-                               int depth = processedOutputs.get(inputId);
+                               int depth = 
processedOutputs.get(inputId).getDepth();
                                if (depth == DEPTH_0)
                                        addOutput(inputId, DEPTH_0);
                                else if (depth == DEPTH_1)
@@ -71,35 +91,43 @@ public class CwlDumyActivity extends 
AbstractAsynchronousActivity<CwlActivityCon
 
        }
 
-       private HashMap<String, Integer> processOutputs(Map cwlFile) {
+       private HashMap<String, PortDetail> processOutputs(Map cwlFile) {
                return process(cwlFile.get(OUTPUTS));
        }
 
-       private HashMap<String, Integer> processInputs(Map cwlFile) {
+       private HashMap<String, PortDetail> processInputs(Map cwlFile) {
                return process(cwlFile.get(INPUTS));
        }
 
-       private HashMap<String, Integer> process(Object inputs) {
+       private HashMap<String, PortDetail> process(Object inputs) {
 
-               HashMap<String, Integer> result = new HashMap<>();
+               HashMap<String, PortDetail> result = new HashMap<>();
 
                if (inputs.getClass() == ArrayList.class) {
-
+                       PortDetail detail = new PortDetail();
                        for (Map input : (ArrayList<Map>) inputs) {
                                String currentInputId = (String) input.get(ID);
                                Object typeConfigurations;
-
+                               if (input.containsKey(DESCRIPTION)) {
+                                       detail.setDescription((String) 
input.get(DESCRIPTION));
+                               } else {
+                                       detail.setDescription(null);
+                               }
                                try {
 
                                        typeConfigurations = input.get(TYPE);
                                        // if type :single argument
                                        if (typeConfigurations.getClass() == 
String.class) {
-                                               result.put(currentInputId, 
DEPTH_0);
+                                               detail.setDepth(DEPTH_0);
+
+                                               result.put(currentInputId, 
detail);
                                                // type : defined as another 
map which contains type:
                                        } else if 
(typeConfigurations.getClass() == LinkedHashMap.class) {
                                                String inputType = (String) 
((Map) typeConfigurations).get(TYPE);
-                                               if (inputType.equals(ARRAY))
-                                                       
result.put(currentInputId, DEPTH_1);
+                                               if (inputType.equals(ARRAY)) {
+                                                       
detail.setDepth(DEPTH_1);
+                                                       
result.put(currentInputId, detail);
+                                               }
                                        }
 
                                } catch (ClassCastException e) {
@@ -108,7 +136,6 @@ public class CwlDumyActivity extends 
AbstractAsynchronousActivity<CwlActivityCon
                                }
 
                        }
-                       // see whether it's an EXPRESSION
                } else if (inputs.getClass() == LinkedHashMap.class) {
                        for (Object parameter : ((Map) inputs).keySet()) {
                                if (parameter.toString().startsWith("$"))

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/63e2c6f4/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/PortDetail.java
----------------------------------------------------------------------
diff --git 
a/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/PortDetail.java 
b/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/PortDetail.java
new file mode 100644
index 0000000..f42d488
--- /dev/null
+++ b/taverna-cwl-activity/src/main/java/org/apache/taverna/cwl/PortDetail.java
@@ -0,0 +1,23 @@
+package org.apache.taverna.cwl;
+
+public class PortDetail {
+
+       
+       
+       private int depth;
+       private String description;
+       public int getDepth() {
+               return depth;
+       }
+       public void setDepth(int depth) {
+               this.depth = depth;
+       }
+       public String getDescription() {
+               return description;
+       }
+       public void setDescription(String description) {
+               this.description = description;
+       }
+       
+       
+}

Reply via email to