You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2016/06/22 16:39:27 UTC

[08/11] incubator-taverna-common-activities git commit: format as array

format as array


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/84b42425
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/tree/84b42425
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/diff/84b42425

Branch: refs/heads/cwl-browse
Commit: 84b4242569d5a986db3b96238895def6010c0436
Parents: cabca1d
Author: ThilinaManamgoda <ma...@gmail.com>
Authored: Mon Jun 20 23:50:49 2016 +0530
Committer: ThilinaManamgoda <ma...@gmail.com>
Committed: Mon Jun 20 23:50:49 2016 +0530

----------------------------------------------------------------------
 .../CWLFiles/customtool1.cwl                    |  1 +
 .../taverna/cwl/ui/view/CwlContextualView.java  | 71 +++++++++++---------
 .../org/apache/taverna/cwl/CwlDumyActivity.java | 57 +++++++++-------
 .../java/org/apache/taverna/cwl/PortDetail.java | 11 ++-
 4 files changed, 82 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/84b42425/taverna-cwl-activity-ui/CWLFiles/customtool1.cwl
----------------------------------------------------------------------
diff --git a/taverna-cwl-activity-ui/CWLFiles/customtool1.cwl b/taverna-cwl-activity-ui/CWLFiles/customtool1.cwl
index 5d580fd..8ead5e4 100644
--- a/taverna-cwl-activity-ui/CWLFiles/customtool1.cwl
+++ b/taverna-cwl-activity-ui/CWLFiles/customtool1.cwl
@@ -56,6 +56,7 @@ outputs:
     type: String
     label: output 2 testing label
     description: this is a short description of output 2
+    format: ["edam:format_2323", just a string]
     
 label: This is a short description of the tool
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/84b42425/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
index 0eb4484..2e87493 100644
--- 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
@@ -19,6 +19,7 @@ package org.apache.taverna.cwl.ui.view;
 import java.awt.BorderLayout;
 import java.awt.FlowLayout;
 import java.awt.Frame;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
 import javax.swing.Action;
@@ -127,29 +128,13 @@ public class CwlContextualView extends HTMLBasedActivityContextualView<CwlActivi
 		summery += "<tr><th colspan='2' align='left'>Inputs</th></tr>";
 
 		HashMap<String, PortDetail> inputs = activity.getProcessedInputs();
+
 		if (inputs != null && !inputs.isEmpty())
 			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.getLabel() != null) {
-					summery += "<tr><td  align ='left' colspan ='2'>Label: " + detail.getLabel() + "</td></tr>";
-				}
-				
-				if (detail.getDescription() != null) {
 
-					summery = paragraphToHtml(summery, detail.getDescription());
+				PortDetail detail = inputs.get(id);
 
-				}
-				
-				if (detail.getFormat() != null) {
-					summery += "<tr><td  align ='left' colspan ='2'>Format: " + detail.getFormat() + "</td></tr>";
-				}
-				
-				// putting a space
-				summery += "<tr></tr>";
+				summery = extractSummery(summery, id, detail);
 			}
 
 		summery += "<tr><th colspan='2' align='left'>Outputs</th></tr>";
@@ -161,24 +146,46 @@ public class CwlContextualView extends HTMLBasedActivityContextualView<CwlActivi
 
 				PortDetail detail = outPuts.get(id);
 
-				summery += "<tr align='left'><td> ID: " + id + " </td><td>Depth: " + detail.getDepth() + "</td></tr>";
+				summery = extractSummery(summery, id, detail);
+			}
+		summery += "</table>";
+		return summery;
+	}
 
-				if (detail.getLabel() != null) {
-					summery += "<tr><td  align ='left' colspan ='2'>Label: " + detail.getLabel() + "</td></tr>";
-				}
+	private String extractSummery(String summery, String id, PortDetail detail) {
 
-				if (detail.getDescription() != null) {
-					summery = paragraphToHtml(summery, detail.getDescription());
-				}
+		summery += "<tr align='left'><td> ID: " + id + " </td><td>Depth: " + detail.getDepth() + "</td></tr>";
 
-				if (detail.getFormat() != null) {
-					summery += "<tr><td  align ='left' colspan ='2'>Format: " + detail.getFormat() + "</td></tr>";
-				}
+		if (detail.getLabel() != null) {
+			summery += "<tr><td  align ='left' colspan ='2'>Label: " + detail.getLabel() + "</td></tr>";
+		}
+
+		if (detail.getDescription() != null) {
+
+			summery = paragraphToHtml(summery, detail.getDescription());
+
+		}
+
+		if (detail.getFormat() != null) {
+			summery += "<tr><td  align ='left' colspan ='2'>Format: ";
+			ArrayList<String> formats = detail.getFormat();
 
-				summery += "<tr></tr>";
+			int Size = formats.size();
+
+			if (Size == 1) {
+				// single format
+				summery += formats.get(0);
+			} else {
+
+				// array of formats
+				for (int i = 0; i < (Size - 1); i++) {
+					summery += formats.get(i) + ", ";
+				}
+				summery += formats.get(Size - 1);
 			}
-		summery += "</table>";
+			summery += "</td></tr>";
+		}
+		summery += "<tr></tr>";
 		return summery;
 	}
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/84b42425/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 40f4f9f..8e8383a 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> {
 
@@ -208,34 +209,44 @@ public class CwlDumyActivity extends AbstractAsynchronousActivity<CwlActivityCon
 	private void extractFormat(Map input, PortDetail detail) {
 		if (input != null)
 			if (input.containsKey(FORMAT)) {
-				String formatInfo = input.get(FORMAT).toString();
-
-				if (formatInfo.startsWith(EXPRESSSION)) {
-
-					detail.setFormat(formatInfo);
-				} else if (formatInfo.contains(COLON)) {
-
-					String format[] = formatInfo.split(COLON);
-					String namespaceKey = format[0];
-					String urlAppned = format[1];
-					
-					if (!nameSpace.isEmpty()) {
-						if (nameSpace.containsKey(namespaceKey))
-							detail.setFormat(nameSpace.get(namespaceKey) + urlAppned);
-						else
-							//Can't figure out the format  defined
-							detail.setFormat(formatInfo);
-					} else {
-						//Can't figure out the format  defined
-						detail.setFormat(formatInfo);
+
+				Object formatInfo = input.get(FORMAT);
+
+				ArrayList<String> format = new ArrayList<>();
+				detail.setFormat(format);
+
+				if (formatInfo.getClass() == String.class) {
+
+					extractThisFormat(formatInfo.toString(), detail);
+				} else if (formatInfo.getClass() == ArrayList.class) {
+					for (Object eachFormat : (ArrayList) formatInfo) {
+						extractThisFormat(eachFormat.toString(), detail);
 					}
-				} else {
-					//Can't figure out the format  defined
-					detail.setFormat(formatInfo);
 				}
 
 			}
 	}
+	private void extractThisFormat(String formatInfoString, PortDetail detail) {
+		if (formatInfoString.startsWith("$")) {
+
+			 detail.addFormat(formatInfoString);
+		} else if (formatInfoString.contains(":")) {
+			String format[] = formatInfoString.split(":");
+			String namespaceKey = format[0];
+			String urlAppednd = format[1];
+			if (!nameSpace.isEmpty()) {
+				if (nameSpace.containsKey(namespaceKey))
+					detail.addFormat(nameSpace.get(namespaceKey) + urlAppednd);
+				else
+
+					detail.addFormat(formatInfoString);
+			} else {
+				 detail.addFormat(formatInfoString);
+			}
+		} else {
+			 detail.addFormat(formatInfoString);
+		}
+	}
 
 	@Override
 	public void executeAsynch(Map<String, T2Reference> arg0, AsynchronousActivityCallback arg1) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/84b42425/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
index 18ab918..aed5b05 100644
--- 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
@@ -16,6 +16,8 @@
  *******************************************************************************/
 package org.apache.taverna.cwl;
 
+import java.util.ArrayList;
+
 public class PortDetail {
 
 	
@@ -23,7 +25,7 @@ public class PortDetail {
 	private int depth;
 	private String description;
 	private String label;
-	private String format;
+	private ArrayList<String> format;
 	public int getDepth() {
 		return depth;
 	}
@@ -42,12 +44,15 @@ public class PortDetail {
 	public void setLabel(String label) {
 		this.label = label;
 	}
-	public String getFormat() {
+	public ArrayList<String> getFormat() {
 		return format;
 	}
-	public void setFormat(String format) {
+	public void setFormat(ArrayList<String> format) {
 		this.format = format;
 	}
 	
+	public void addFormat(String format){
+		this.format.add(format);
+	}
 	
 }