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/06 15:22:59 UTC

[11/13] incubator-taverna-language git commit: Create input/output port adapted to all step types (workflow or other)

Create input/output port adapted to all step types (workflow or other)


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

Branch: refs/heads/master
Commit: ba5ea1b6ea02cac618d145b52b2523a63546d8be
Parents: 38d1fad
Author: Majdi Haouech <m....@criteo.com>
Authored: Sun Aug 5 20:09:40 2018 +0200
Committer: Majdi Haouech <m....@criteo.com>
Committed: Sun Aug 5 20:11:14 2018 +0200

----------------------------------------------------------------------
 .../apache/taverna/scufl2/cwl/Converter.java    | 12 ++---
 .../taverna/scufl2/cwl/WorkflowParser.java      | 18 +++----
 .../apache/taverna/scufl2/cwl/YAMLHelper.java   | 12 ++---
 .../scufl2/cwl/components/CommandLineTool.java  |  2 +-
 .../scufl2/cwl/components/InputPort.java        | 53 +++++++++++++++++++
 .../scufl2/cwl/components/OutputPort.java       | 41 +++++++++++++++
 .../taverna/scufl2/cwl/components/Process.java  | 30 ++++++++---
 .../scufl2/cwl/components/Reference.java        |  2 +-
 .../taverna/scufl2/cwl/components/Step.java     | 20 ++++----
 .../scufl2/cwl/components/StepInput.java        | 54 --------------------
 .../scufl2/cwl/components/StepOutput.java       | 41 ---------------
 .../scufl2/cwl/components/WorkflowProcess.java  |  6 +--
 12 files changed, 153 insertions(+), 138 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ba5ea1b6/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 086d9dd..6bfe77d 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
@@ -63,17 +63,17 @@ public class Converter {
         Processor processor = new Processor(null, step.getId());
         // Convert input ports
         Set<InputProcessorPort> processorInputs = new HashSet<>();
-        Set<StepInput> inputs = step.getInputs();
-        for(StepInput input: inputs) {
-            InputProcessorPort port = new InputProcessorPort(processor, input.getId());
+        Set<InputPort> inputs = step.getInputs();
+        for(InputPort input: inputs) {
+            InputProcessorPort port = new InputProcessorPort(processor, input.getName());
             processorInputs.add(port);
         }
         processor.setInputPorts(processorInputs);
         // Convert output ports
         Set<OutputProcessorPort> processorOutputs = new HashSet<>();
-        Set<StepOutput> outputs = step.getOutputs();
-        for(StepOutput output: outputs) {
-            OutputProcessorPort port = new OutputProcessorPort(processor, output.getId());
+        Set<OutputPort> outputs = step.getOutputs();
+        for(OutputPort output: outputs) {
+            OutputProcessorPort port = new OutputProcessorPort(processor, output.getName());
             processorOutputs.add(port);
         }
         processor.setOutputPorts(processorOutputs);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ba5ea1b6/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/WorkflowParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/WorkflowParser.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/WorkflowParser.java
index b66991c..2680bf4 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/WorkflowParser.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/WorkflowParser.java
@@ -78,7 +78,7 @@ public class WorkflowParser {
         parseOutputs();
         Set<Step> cwlSteps = cwlParser.parseSteps();
         parseProcessors(cwlSteps);
-        parseDataLinks(cwlSteps);
+//        parseDataLinks(cwlSteps);
 
         Workflow workflow = new Workflow();
         Set<InputWorkflowPort> inputs = new HashSet<>(workflowInputs.values());
@@ -137,20 +137,20 @@ public class WorkflowParser {
             Processor processor = converter.convertStepToProcessor(step);
             workflowProcessors.put(step.getId(), processor);
 
-            for(StepInput stepInput: step.getInputs()) {
-                InputProcessorPort processorPort = new InputProcessorPort(processor, stepInput.getId());
-                processorInputs.put(stepInput.getId(), processorPort);
+            for(InputPort stepInput: step.getInputs()) {
+                InputProcessorPort processorPort = new InputProcessorPort(processor, stepInput.getName());
+                processorInputs.put(stepInput.getName(), processorPort);
             }
-            for(StepOutput stepOutput: step.getOutputs()) {
-                OutputProcessorPort processorPort = new OutputProcessorPort(processor, stepOutput.getId());
-                processorOutputs.put(stepOutput.getId(), processorPort);
+            for(OutputPort stepOutput: step.getOutputs()) {
+                OutputProcessorPort processorPort = new OutputProcessorPort(processor, stepOutput.getName());
+                processorOutputs.put(stepOutput.getName(), processorPort);
             }
         }
     }
 
     public void parseDataLinks(Set<Step> cwlSteps) {
         for(Step step: cwlSteps) {
-            for(StepInput stepInput: step.getInputs()) {
+            for(InputPort stepInput: step.getInputs()) {
                 String[] sourcePath = stepInput.getSource().split("/");
                 String source = sourcePath[sourcePath.length-1];
                 source = source.replace("#", "");
@@ -163,7 +163,7 @@ public class WorkflowParser {
                 if(sender == null) {
                     throw new NullPointerException("Cannot find sender port with name: " + source);
                 }
-                String receiverId = stepInput.getId();
+                String receiverId = stepInput.getName();
                 ReceiverPort receiver = workflowOutputs.get(receiverId);
                 if(receiver == null) {
                     receiver = processorInputs.get(receiverId);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ba5ea1b6/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/YAMLHelper.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/YAMLHelper.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/YAMLHelper.java
index c9b10dc..1b016f8 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/YAMLHelper.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/YAMLHelper.java
@@ -121,7 +121,7 @@ public class YAMLHelper {
                 JsonNode runNode = stepNode.get(RUN);
                 Process run = ProcessFactory.createProcess(runNode);
                 run.parse();  // Recursively parse nested process
-                Set<StepInput> inputs = processStepInput(stepNode.get(INPUTS));
+                Set<InputPort> inputs = processStepInput(stepNode.get(INPUTS));
                 step.setId(id);
                 step.setRun(run);
                 step.setInputs(inputs);
@@ -141,7 +141,7 @@ public class YAMLHelper {
                     run.parse();
                     step.setRun(run);
                 }
-                Set<StepInput> inputs = processStepInput(value.get(INPUTS));
+                Set<InputPort> inputs = processStepInput(value.get(INPUTS));
                 step.setId(id);
                 step.setInputs(inputs);
 
@@ -152,9 +152,9 @@ public class YAMLHelper {
         return result;
     }
 
-    private Set<StepInput> processStepInput(JsonNode inputs) {
+    private Set<InputPort> processStepInput(JsonNode inputs) {
 
-        Set<StepInput> result = new HashSet<>();
+        Set<InputPort> result = new HashSet<>();
         if(inputs == null) {
             return result;
         }
@@ -164,7 +164,7 @@ public class YAMLHelper {
                 String id = input.get(ID).asText();
                 String source = input.get(SOURCE).asText();
 
-                result.add(new StepInput(id, source));
+                result.add(new InputPort(id, source));
             }
         } else if (inputs.isObject()) {
             Iterator<Entry<String, JsonNode>> iterator = inputs.fields();
@@ -174,7 +174,7 @@ public class YAMLHelper {
                 String id = entry.getKey();
                 String source = entry.getValue().get(SOURCE).asText();
 
-                result.add(new StepInput(id, source));
+                result.add(new InputPort(id, source));
             }
         }
         return result;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ba5ea1b6/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/CommandLineTool.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/CommandLineTool.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/CommandLineTool.java
index 70d9098..dc5e16d 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/CommandLineTool.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/CommandLineTool.java
@@ -28,7 +28,7 @@ import com.fasterxml.jackson.databind.JsonNode;
 import org.apache.taverna.scufl2.api.port.InputProcessorPort;
 import org.apache.taverna.scufl2.api.port.OutputProcessorPort;
 
-public class CommandLineTool implements Process {
+public class CommandLineTool extends Process {
 
     private final static String BASE_COMMAND = "baseCommand";
     private final static String ID = "id";

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ba5ea1b6/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/InputPort.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/InputPort.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/InputPort.java
new file mode 100644
index 0000000..1d1522d
--- /dev/null
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/InputPort.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.taverna.scufl2.cwl;
+
+public class InputPort {
+
+    private String name;
+
+    private String source;
+
+    public InputPort() {
+        this.name = "";
+        this.source = "";
+    }
+
+    public InputPort(String name, String source) {
+        this.name = name;
+        this.source = source;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getSource() {
+        return source;
+    }
+
+    public void setSource(String source) {
+        this.source = source;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ba5ea1b6/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/OutputPort.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/OutputPort.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/OutputPort.java
new file mode 100644
index 0000000..c865e9c
--- /dev/null
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/OutputPort.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.taverna.scufl2.cwl;
+
+public class OutputPort {
+
+    private String name;
+
+    public OutputPort() {
+        this.name = "";
+    }
+
+    public OutputPort(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ba5ea1b6/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 70e3669..991df0a 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
@@ -19,15 +19,31 @@
 
 package org.apache.taverna.scufl2.cwl;
 
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Set;
 import java.util.HashSet;
-import org.apache.taverna.scufl2.api.port.SenderPort;
-import org.apache.taverna.scufl2.api.port.ReceiverPort;
+import java.util.Set;
+
+public abstract class Process {
+
+    private Set<InputPort> inputPorts = new HashSet<>();
+    private Set<OutputPort> outputPorts = new HashSet<>();
+
+
+    public abstract void parse();
+
+    public Set<InputPort> getInputPorts() {
+        return this.inputPorts;
+    }
+
+    public void setInputPorts(Set<InputPort> inputs) {
+        this.inputPorts = inputs;
+    }
 
-public interface Process {
+    public Set<OutputPort> getOutputPorts() {
+        return this.outputPorts;
+    }
 
-    public void parse();
+    public void setOutputPorts(Set<OutputPort> outputs) {
+        this.outputPorts = outputs;
+    }
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ba5ea1b6/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Reference.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Reference.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Reference.java
index 193e1a6..9d5d0c0 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Reference.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Reference.java
@@ -21,7 +21,7 @@ package org.apache.taverna.scufl2.cwl;
 
 import com.fasterxml.jackson.databind.JsonNode;
 
-public class Reference implements Process {
+public class Reference extends Process {
 
     private String source;
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ba5ea1b6/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Step.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Step.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Step.java
index cdcd46e..80ccf03 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Step.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/Step.java
@@ -30,8 +30,8 @@ public class Step {
     private String id;
     private Process run;
 
-    private Set<StepInput> inputs;
-    private Set<StepOutput> outputs;
+    private Set<InputPort> inputs;
+    private Set<OutputPort> outputs;
 
     public Step() {
         inputs = new HashSet<>();
@@ -54,27 +54,27 @@ public class Step {
         this.run = run;
     }
 
-    public void addInput(String id, String source) {
-        inputs.add(new StepInput(id, source));
+    public void addInput(String name, String source) {
+        inputs.add(new InputPort(name, source));
     }
 
-    public void setInputs(Set<StepInput> inputs) {
+    public void setInputs(Set<InputPort> inputs) {
         this.inputs = inputs;
     }
 
-    public Set<StepInput> getInputs() {
+    public Set<InputPort> getInputs() {
         return inputs;
     }
 
-    public void addOutput(String id) {
-        outputs.add(new StepOutput(id));
+    public void addOutput(String name) {
+        outputs.add(new OutputPort(name));
     }
 
-    public void setOutputs(Set<StepOutput> outputs) {
+    public void setOutputs(Set<OutputPort> outputs) {
         this.outputs = outputs;
     }
 
-    public Set<StepOutput> getOutputs() {
+    public Set<OutputPort> getOutputs() {
         return outputs;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ba5ea1b6/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/StepInput.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/StepInput.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/StepInput.java
deleted file mode 100644
index 0432272..0000000
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/StepInput.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.taverna.scufl2.cwl;
-
-import java.util.*;
-
-public class StepInput {
-
-    private String id;
-    private String source;
-
-    public StepInput() {
-        this.id = null;
-        this.source = null;
-    }
-
-    public StepInput(String id, String source) {
-        this.id = id;
-        this.source = source;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setSource(String source) {
-        this.source = source;
-    }
-
-    public String getSource() {
-        return source;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ba5ea1b6/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/StepOutput.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/StepOutput.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/StepOutput.java
deleted file mode 100644
index 145fa2d..0000000
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/StepOutput.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.taverna.scufl2.cwl;
-
-public class StepOutput {
-
-    private String id;
-
-    public StepOutput() {
-        this.id = null;
-    }
-
-    public StepOutput(String id) {
-        this.id = id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getId() {
-        return id;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ba5ea1b6/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/WorkflowProcess.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/WorkflowProcess.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/WorkflowProcess.java
index 8470434..9f61758 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/WorkflowProcess.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/WorkflowProcess.java
@@ -41,7 +41,7 @@ import org.apache.taverna.scufl2.api.port.ReceiverPort;
 
 import com.fasterxml.jackson.databind.JsonNode;
 
-public class WorkflowProcess implements Process {
+public class WorkflowProcess extends Process {
 
     private CWLParser cwlParser;
 
@@ -127,7 +127,7 @@ public class WorkflowProcess implements Process {
 
     public void parseDataLinks(Set<Step> cwlSteps) {
         for(Step step: cwlSteps) {
-            for(StepInput stepInput: step.getInputs()) {
+            for(InputPort stepInput: step.getInputs()) {
                 String[] sourcePath = stepInput.getSource().split("/");
                 String source = sourcePath[sourcePath.length-1];
                 source = source.replace("#", "");
@@ -140,7 +140,7 @@ public class WorkflowProcess implements Process {
                 if(sender == null) {
                     throw new NullPointerException("Cannot find sender port with name: " + source);
                 }
-                String receiverId = stepInput.getId();
+                String receiverId = stepInput.getName();
                 ReceiverPort receiver = workflowOutputs.get(receiverId);
                 if(receiver == null) {
                     receiver = processorInputs.get(receiverId);