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 <[email protected]> Authored: Mon Jun 20 23:50:49 2016 +0530 Committer: ThilinaManamgoda <[email protected]> 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); + } }
