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();