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 2018/08/15 14:00:22 UTC

[3/9] incubator-taverna-language git commit: Create a mirror process for each new nested workflow

Create a mirror process for each new nested workflow


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

Branch: refs/heads/master
Commit: d163547bc95c5abb3aabe57995bfee45444571a7
Parents: 06de630
Author: Majdi Haouech <m....@criteo.com>
Authored: Wed Aug 8 02:07:13 2018 +0200
Committer: Majdi Haouech <m....@criteo.com>
Committed: Wed Aug 8 02:07:13 2018 +0200

----------------------------------------------------------------------
 .../java/org/apache/taverna/scufl2/cwl/Converter.java  | 13 +++++++++++++
 .../apache/taverna/scufl2/cwl/components/Process.java  |  4 ++--
 2 files changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/d163547b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/Converter.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/Converter.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/Converter.java
index 2f77d05..4134783 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/Converter.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/Converter.java
@@ -179,10 +179,14 @@ public class Converter {
         Set<OutputWorkflowPort> outputs = new HashSet<>(workflowProcess.getWorkflowOutputs().values());
         workflow.setInputPorts(inputs);
         workflow.setOutputPorts(outputs);
+        Set<InputPort> inputPorts = workflowProcess.getInputPorts();
+        Set<OutputPort> outputPorts = workflowProcess.getOutputPorts();
 
         for(Process process: workflowProcess.getProcesses()) {
             if(process instanceof WorkflowProcess) {
                 Workflow childWorkflow = convertWorkflowProcess((WorkflowProcess) process, bundle); // TODO: Add nested relationship
+                Processor processor = new Processor(workflow, childWorkflow.getName()); // TODO: Check if we want the processor to have the same name as the childworkflow
+                createProcessPortsFromWorkflow(processor, childWorkflow);
                 bundle.getWorkflows().add(childWorkflow);
             } else if(process instanceof CommandLineTool) {
                 Processor processor = convertCommandLineTool((CommandLineTool) process);
@@ -197,6 +201,15 @@ public class Converter {
         return workflow;
     }
 
+    public void createProcessPortsFromWorkflow(Processor processor, Workflow workflow) {
+        for(InputWorkflowPort inputWorkflowPort: workflow.getInputPorts()) {
+            processor.getInputPorts().add(new InputProcessorPort(processor, inputWorkflowPort.getName()));
+        }
+        for(OutputWorkflowPort outputWorkflowPort: workflow.getOutputPorts()) {
+            processor.getOutputPorts().add(new OutputProcessorPort(processor, outputWorkflowPort.getName()));
+        }
+    }
+
     public Processor convertCommandLineTool(CommandLineTool command) {
         Processor processor = new Processor(null, command.getBaseCommand());
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/d163547b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Process.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Process.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Process.java
index 74f2f5f..5447e8c 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Process.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Process.java
@@ -24,8 +24,8 @@ import java.util.Set;
 
 public abstract class Process {
 
-    private Set<InputPort> inputPorts = new HashSet<>();
-    private Set<OutputPort> outputPorts = new HashSet<>();
+    protected Set<InputPort> inputPorts = new HashSet<>();
+    protected Set<OutputPort> outputPorts = new HashSet<>();
 
 
     public abstract void parse();