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 13:59:29 UTC
[1/8] incubator-taverna-language git commit: Change components
package and clean unused imports throught the project
Repository: incubator-taverna-language
Updated Branches:
refs/heads/cwlparser 9cd4b8781 -> 991224bd2
Change components package and clean unused imports throught the project
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/50b2caec
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/50b2caec
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/50b2caec
Branch: refs/heads/cwlparser
Commit: 50b2caec42c1fa289108526cf8f40b6331aee2cd
Parents: b8081fa
Author: Majdi Haouech <m....@criteo.com>
Authored: Wed Aug 8 00:43:18 2018 +0200
Committer: Majdi Haouech <m....@criteo.com>
Committed: Wed Aug 8 00:43:18 2018 +0200
----------------------------------------------------------------------
.../org/apache/taverna/scufl2/cwl/CWLParser.java | 10 ++--------
.../org/apache/taverna/scufl2/cwl/CWLReader.java | 1 +
.../org/apache/taverna/scufl2/cwl/Converter.java | 4 +++-
.../apache/taverna/scufl2/cwl/WorkflowParser.java | 2 ++
.../org/apache/taverna/scufl2/cwl/YAMLHelper.java | 3 +++
.../scufl2/cwl/components/CommandLineTool.java | 5 ++++-
.../taverna/scufl2/cwl/components/InputPort.java | 2 +-
.../taverna/scufl2/cwl/components/OutputPort.java | 2 +-
.../taverna/scufl2/cwl/components/PortDetail.java | 4 +---
.../taverna/scufl2/cwl/components/Process.java | 2 +-
.../scufl2/cwl/components/ProcessFactory.java | 2 +-
.../taverna/scufl2/cwl/components/Reference.java | 3 +--
.../taverna/scufl2/cwl/components/Step.java | 3 +--
.../scufl2/cwl/components/WorkflowProcess.java | 5 +++--
.../apache/taverna/scufl2/cwl/TestConverting.java | 4 ++--
.../org/apache/taverna/scufl2/cwl/TestParser.java | 3 ---
.../taverna/scufl2/cwl/TestWorkflowNesting.java | 18 ++----------------
.../taverna/scufl2/cwl/TestWorkflowProcess.java | 4 ++++
18 files changed, 33 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLParser.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLParser.java
index 63e70d1..3b3879c 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLParser.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLParser.java
@@ -22,16 +22,10 @@ import java.util.Map;
import java.util.Set;
import java.util.HashSet;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.core.Processor;
-
-import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
-import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
-import org.apache.taverna.scufl2.api.port.InputProcessorPort;
-import org.apache.taverna.scufl2.api.port.OutputProcessorPort;
-
import com.fasterxml.jackson.databind.JsonNode;
+import org.apache.taverna.scufl2.cwl.components.*;
+
public class CWLParser {
private JsonNode cwlFile;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLReader.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLReader.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLReader.java
index de9d799..1b5afc7 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLReader.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLReader.java
@@ -27,6 +27,7 @@ import org.apache.taverna.scufl2.api.container.WorkflowBundle;
import org.apache.taverna.scufl2.api.io.WorkflowBundleReader;
import org.apache.taverna.scufl2.api.io.ReaderException;
+import org.apache.taverna.scufl2.cwl.components.*;
public class CWLReader implements WorkflowBundleReader {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/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 5cfd9ce..2f77d05 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
@@ -21,7 +21,6 @@ package org.apache.taverna.scufl2.cwl;
import java.util.Set;
import java.util.HashSet;
import java.util.Map;
-import java.util.HashMap;
import org.apache.taverna.scufl2.api.core.Workflow;
import org.apache.taverna.scufl2.api.core.Processor;
@@ -37,6 +36,9 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import org.apache.taverna.scufl2.cwl.components.Process;
+import org.apache.taverna.scufl2.cwl.components.*;
+
public class Converter {
private JsonNodeFactory jsonNodeFactory;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/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 2680bf4..24b5238 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
@@ -49,6 +49,8 @@ import org.apache.taverna.scufl2.api.container.WorkflowBundle;
import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
import org.apache.taverna.scufl2.api.io.WriterException;
+import org.apache.taverna.scufl2.cwl.components.*;
+
public class WorkflowParser {
private static final String FILE_NAME = "/hello_world.cwl";
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/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 1b016f8..f745386 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
@@ -36,6 +36,9 @@ import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.fasterxml.jackson.databind.node.TextNode;
+import org.apache.taverna.scufl2.cwl.components.Process;
+import org.apache.taverna.scufl2.cwl.components.*;
+
public class YAMLHelper {
public static final String ARRAY_SPLIT_BRACKETS = "\\[\\]";
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/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 dc5e16d..eca00fa 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
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.taverna.scufl2.cwl;
+package org.apache.taverna.scufl2.cwl.components;
import java.util.Set;
import java.util.Map;
@@ -28,6 +28,9 @@ import com.fasterxml.jackson.databind.JsonNode;
import org.apache.taverna.scufl2.api.port.InputProcessorPort;
import org.apache.taverna.scufl2.api.port.OutputProcessorPort;
+
+import org.apache.taverna.scufl2.cwl.*;
+
public class CommandLineTool extends Process {
private final static String BASE_COMMAND = "baseCommand";
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/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
index 1d1522d..1b44a27 100644
--- 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
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.taverna.scufl2.cwl;
+package org.apache.taverna.scufl2.cwl.components;
public class InputPort {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/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
index c865e9c..ac7c139 100644
--- 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
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.taverna.scufl2.cwl;
+package org.apache.taverna.scufl2.cwl.components;
public class OutputPort {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/PortDetail.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/PortDetail.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/PortDetail.java
index 53604e7..cbfdae9 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/PortDetail.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/PortDetail.java
@@ -17,15 +17,13 @@
* under the License.
*/
-package org.apache.taverna.scufl2.cwl;
+package org.apache.taverna.scufl2.cwl.components;
import java.util.ArrayList;
public class PortDetail {
-
-
private String id;
private String label;
private int depth;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/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 991df0a..74f2f5f 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
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.taverna.scufl2.cwl;
+package org.apache.taverna.scufl2.cwl.components;
import java.util.HashSet;
import java.util.Set;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/ProcessFactory.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/ProcessFactory.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/ProcessFactory.java
index 301d417..6fa5569 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/ProcessFactory.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/components/ProcessFactory.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.taverna.scufl2.cwl;
+package org.apache.taverna.scufl2.cwl.components;
import com.fasterxml.jackson.databind.JsonNode;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/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 9d5d0c0..f51f48b 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
@@ -17,9 +17,8 @@
* under the License.
*/
-package org.apache.taverna.scufl2.cwl;
+package org.apache.taverna.scufl2.cwl.components;
-import com.fasterxml.jackson.databind.JsonNode;
public class Reference extends Process {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/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 80ccf03..aab6b65 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
@@ -17,10 +17,9 @@
* under the License.
*/
-package org.apache.taverna.scufl2.cwl;
+package org.apache.taverna.scufl2.cwl.components;
-import java.util.ArrayList;
import java.util.Set;
import java.util.HashSet;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/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 a8e6607..3a19d3a 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
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.taverna.scufl2.cwl;
+package org.apache.taverna.scufl2.cwl.components;
import java.util.Set;
import java.util.HashSet;
@@ -30,7 +30,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.taverna.scufl2.api.core.Processor;
import org.apache.taverna.scufl2.api.core.DataLink;
-import org.apache.taverna.scufl2.api.core.Workflow;
import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
@@ -41,6 +40,8 @@ import org.apache.taverna.scufl2.api.port.ReceiverPort;
import com.fasterxml.jackson.databind.JsonNode;
+import org.apache.taverna.scufl2.cwl.*;
+
public class WorkflowProcess extends Process {
private CWLParser cwlParser;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java
index 2b34a3c..56885b2 100644
--- a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java
+++ b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java
@@ -19,7 +19,6 @@
package org.apache.taverna.scufl2.cwl;
-import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
@@ -27,12 +26,13 @@ import org.yaml.snakeyaml.Yaml;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
import org.apache.taverna.scufl2.api.container.WorkflowBundle;
import org.apache.taverna.scufl2.api.core.Workflow;
import org.apache.taverna.scufl2.api.core.Processor;
+import org.apache.taverna.scufl2.cwl.components.*;
+
public class TestConverting {
private static final String HELLO_WORLD_CWL = "/hello_world.cwl";
private static final String WORKFLOW_WITH_COMMAND = "/workflow_with_command.cwl";
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestParser.java b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestParser.java
index 20c494c..a4ea204 100644
--- a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestParser.java
+++ b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestParser.java
@@ -28,10 +28,8 @@ import static org.junit.Assert.assertEquals;
import org.yaml.snakeyaml.Yaml;
-import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
import org.apache.taverna.scufl2.api.core.Workflow;
import org.apache.taverna.scufl2.api.core.Processor;
@@ -40,7 +38,6 @@ import org.apache.taverna.scufl2.api.core.DataLink;
import org.apache.taverna.scufl2.api.common.NamedSet;
import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
-import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
import org.apache.taverna.scufl2.api.port.InputProcessorPort;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowNesting.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowNesting.java b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowNesting.java
index d0f3e88..e0a4330 100644
--- a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowNesting.java
+++ b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowNesting.java
@@ -19,12 +19,7 @@
package org.apache.taverna.scufl2.cwl;
-import java.io.File;
-import java.io.IOException;
import java.util.Set;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.HashMap;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
@@ -33,19 +28,10 @@ import org.yaml.snakeyaml.Yaml;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
-import com.fasterxml.jackson.core.JsonProcessingException;
+import org.apache.taverna.scufl2.cwl.components.Process;
+import org.apache.taverna.scufl2.cwl.components.*;
-import org.apache.taverna.scufl2.api.core.Workflow;
-
-import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
-import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
-
-import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
-import org.apache.taverna.scufl2.api.io.WriterException;
-
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
public class TestWorkflowNesting {
private static final String HELLO_WORLD_CWL = "/hello_world.cwl";
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/50b2caec/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowProcess.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowProcess.java b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowProcess.java
index 4b3bba7..e622668 100644
--- a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowProcess.java
+++ b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowProcess.java
@@ -47,6 +47,10 @@ import org.apache.taverna.scufl2.api.io.WriterException;
import org.apache.taverna.scufl2.api.container.WorkflowBundle;
+import org.apache.taverna.scufl2.cwl.components.Process;
+import org.apache.taverna.scufl2.cwl.components.*;
+
+
public class TestWorkflowProcess {
private static final String HELLO_WORLD_CWL = "/hello_world.cwl";
private static final String WORKFLOW_WITH_COMMAND = "/workflow_with_command.cwl";
[2/8] incubator-taverna-language git commit: Parse step outputs from
the yaml file
Posted by st...@apache.org.
Parse step outputs from the yaml file
- The yaml parser used didn't support output inputs parsing
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/06de6305
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/06de6305
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/06de6305
Branch: refs/heads/cwlparser
Commit: 06de630547cce035e46d124bab8662f58839adff
Parents: 50b2cae
Author: Majdi Haouech <m....@criteo.com>
Authored: Wed Aug 8 02:05:47 2018 +0200
Committer: Majdi Haouech <m....@criteo.com>
Committed: Wed Aug 8 02:05:47 2018 +0200
----------------------------------------------------------------------
.../apache/taverna/scufl2/cwl/YAMLHelper.java | 31 ++++++++++++++++++++
1 file changed, 31 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/06de6305/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 f745386..76652ea 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
@@ -125,9 +125,12 @@ public class YAMLHelper {
Process run = ProcessFactory.createProcess(runNode);
run.parse(); // Recursively parse nested process
Set<InputPort> inputs = processStepInput(stepNode.get(INPUTS));
+ Set<OutputPort> outputs = processStepOutput(stepNode.get(OUTPUTS));
step.setId(id);
step.setRun(run);
step.setInputs(inputs);
+ step.setOutputs(outputs);
+
result.add(step);
}
} else if(steps.isObject()) {
@@ -145,8 +148,10 @@ public class YAMLHelper {
step.setRun(run);
}
Set<InputPort> inputs = processStepInput(value.get(INPUTS));
+ Set<OutputPort> outputs = processStepOutput(value.get(OUTPUTS));
step.setId(id);
step.setInputs(inputs);
+ step.setOutputs(outputs);
result.add(step);
}
@@ -183,6 +188,32 @@ public class YAMLHelper {
return result;
}
+ private Set<OutputPort> processStepOutput(JsonNode outputs) {
+ Set<OutputPort> result = new HashSet<>();
+ if(outputs == null) {
+ return result;
+ }
+ if (outputs.isArray()) {
+
+ for (JsonNode output : outputs) {
+ String id = output.get(ID).asText();
+
+ result.add(new OutputPort(id));
+ }
+ } else if (outputs.isObject()) {
+ Iterator<Entry<String, JsonNode>> iterator = outputs.fields();
+ while (iterator.hasNext()) {
+ Entry<String, JsonNode> entry = iterator.next();
+
+ String id = entry.getKey();
+
+ result.add(new OutputPort(id));
+ }
+ }
+
+ return result;
+ }
+
/**
* This method will go through CWL tool input or out puts and figure outs
* their IDs and the respective depths
[6/8] incubator-taverna-language git commit: Add name attribute to
all Processes
Posted by st...@apache.org.
Add name attribute to all Processes
- Override equals and hashCode for Step component
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/9d34b4ab
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/9d34b4ab
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/9d34b4ab
Branch: refs/heads/cwlparser
Commit: 9d34b4abe4f89532ce67bd20086d21abf32e22ff
Parents: f089bd8
Author: Majdi Haouech <m....@criteo.com>
Authored: Sat Aug 11 12:04:24 2018 +0200
Committer: Majdi Haouech <m....@criteo.com>
Committed: Sat Aug 11 12:04:24 2018 +0200
----------------------------------------------------------------------
.../scufl2/cwl/components/CommandLineTool.java | 1 +
.../taverna/scufl2/cwl/components/Process.java | 11 ++++++++++-
.../taverna/scufl2/cwl/components/Reference.java | 2 ++
.../apache/taverna/scufl2/cwl/components/Step.java | 15 +++++++++++++++
.../scufl2/cwl/components/WorkflowProcess.java | 7 ++++++-
5 files changed, 34 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/9d34b4ab/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 eca00fa..4270f46 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
@@ -46,6 +46,7 @@ public class CommandLineTool extends Process {
private Map<String, OutputProcessorPort> processorOutputs = new HashMap<>();
public CommandLineTool(JsonNode node) {
+ this.name = "";
this.node = node;
this.cwlParser = new CWLParser(node);
this.parse();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/9d34b4ab/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 6276278..c152b12 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
@@ -30,7 +30,7 @@ public abstract class Process {
protected Set<InputPort> insideInputPorts = new HashSet<>();
protected Set<OutputPort> insideOutputPorts = new HashSet<>();
-
+ protected String name;
public abstract void parse();
@@ -66,4 +66,13 @@ public abstract class Process {
this.insideOutputPorts = insideOutputPorts;
}
+ public String getName() {
+ return 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/9d34b4ab/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 f51f48b..0adb161 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
@@ -26,10 +26,12 @@ public class Reference extends Process {
public Reference() {
source = "";
+ name = "";
}
public Reference(String src) {
this.source = src;
+ this.name = "";
}
public void parse() {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/9d34b4ab/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 aab6b65..8ac65c2 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
@@ -35,6 +35,7 @@ public class Step {
public Step() {
inputs = new HashSet<>();
outputs = new HashSet<>();
+ id = "";
}
public String getId() {
@@ -81,4 +82,18 @@ public class Step {
return "Step " + id + ": run = " + run;
}
+ @Override
+ public boolean equals(Object obj) {
+ if(this == obj) return true;
+ if(obj == null) return false;
+ if(this.getClass() != obj.getClass()) return false;
+
+ Step other = (Step) obj;
+ return other.id.equals(id) && other.run.getName().equals(run.getName()); // && other.inputs == inputs && other.outputs == outputs;
+ }
+
+ @Override
+ public int hashCode() {
+ return id.hashCode() * 13 + run.getName().hashCode() * 17;
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/9d34b4ab/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 263455d..617aab6 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
@@ -57,8 +57,12 @@ public class WorkflowProcess extends Process {
private Converter converter = new Converter();
- public WorkflowProcess(InputStream stream) {
+ public WorkflowProcess() {
+ this.name = "";
+ }
+ public WorkflowProcess(InputStream stream) {
+ this();
Yaml reader = new Yaml();
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.valueToTree(reader.load(stream));
@@ -68,6 +72,7 @@ public class WorkflowProcess extends Process {
}
public WorkflowProcess(JsonNode node) {
+ this();
cwlParser = new CWLParser(node);
this.parse();
}
[3/8] incubator-taverna-language git commit: Create a mirror process
for each new nested workflow
Posted by st...@apache.org.
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/cwlparser
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();
[4/8] incubator-taverna-language git commit: Add support for
datalinks while converting a Workflow
Posted by st...@apache.org.
Add support for datalinks while converting a 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/2c17fa7e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/2c17fa7e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/2c17fa7e
Branch: refs/heads/cwlparser
Commit: 2c17fa7e41006b071494f3e812f3a2b9efa411da
Parents: d163547
Author: Majdi Haouech <m....@criteo.com>
Authored: Thu Aug 9 22:23:48 2018 +0200
Committer: Majdi Haouech <m....@criteo.com>
Committed: Thu Aug 9 22:23:48 2018 +0200
----------------------------------------------------------------------
.../apache/taverna/scufl2/cwl/Converter.java | 35 +++++++++++++++++---
.../taverna/scufl2/cwl/components/Process.java | 20 +++++++++++
.../scufl2/cwl/components/WorkflowProcess.java | 2 ++
.../taverna/scufl2/cwl/TestConverting.java | 6 ++++
.../src/test/resources/hello_world.cwl | 2 +-
5 files changed, 59 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/2c17fa7e/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 4134783..5637ced 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
@@ -22,6 +22,8 @@ import java.util.Set;
import java.util.HashSet;
import java.util.Map;
+import org.apache.taverna.scufl2.api.common.NamedSet;
+import org.apache.taverna.scufl2.api.core.DataLink;
import org.apache.taverna.scufl2.api.core.Workflow;
import org.apache.taverna.scufl2.api.core.Processor;
import org.apache.taverna.scufl2.api.container.WorkflowBundle;
@@ -36,6 +38,8 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import org.apache.taverna.scufl2.api.port.ReceiverPort;
+import org.apache.taverna.scufl2.api.port.SenderPort;
import org.apache.taverna.scufl2.cwl.components.Process;
import org.apache.taverna.scufl2.cwl.components.*;
@@ -179,23 +183,44 @@ 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();
+ Set<InputPort> inputPorts = workflowProcess.getInsideInputPorts();
+ Set<OutputPort> outputPorts = workflowProcess.getInsideOutputPorts();
+
+ NamedSet<InputProcessorPort> inputProcessorPorts = new NamedSet<>();
+ NamedSet<OutputProcessorPort> outputProcessorPorts = new NamedSet<>();
for(Process process: workflowProcess.getProcesses()) {
+ Processor processor;
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
+ 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);
+ processor = convertCommandLineTool((CommandLineTool) process);
workflow.getProcessors().add(processor);
} else {
assert(process instanceof Reference);
- Processor processor = convertReference((Reference) process);
+ processor = convertReference((Reference) process);
workflow.getProcessors().add(processor);
}
+ inputProcessorPorts.addAll(processor.getInputPorts());
+ outputProcessorPorts.addAll(processor.getOutputPorts());
+ }
+
+ // DataLinks
+ for(InputPort port: inputPorts) {
+ String senderName = port.getSource();
+ String destName = port.getName();
+ SenderPort senderPort = outputProcessorPorts.getByName(senderName);
+ if(senderPort == null) { // Source is one of the Workflow inputs
+ senderPort = workflow.getInputPorts().getByName(senderName);
+ }
+ ReceiverPort receiverPort = inputProcessorPorts.getByName(destName);
+ if(receiverPort == null) { // Destination is one of the Workflow outputs
+ receiverPort = workflow.getOutputPorts().getByName(destName);
+ }
+ new DataLink(workflow, senderPort, receiverPort);
}
return workflow;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/2c17fa7e/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 5447e8c..6276278 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
@@ -27,6 +27,10 @@ public abstract class Process {
protected Set<InputPort> inputPorts = new HashSet<>();
protected Set<OutputPort> outputPorts = new HashSet<>();
+ protected Set<InputPort> insideInputPorts = new HashSet<>();
+
+ protected Set<OutputPort> insideOutputPorts = new HashSet<>();
+
public abstract void parse();
@@ -46,4 +50,20 @@ public abstract class Process {
this.outputPorts = outputs;
}
+ public Set<InputPort> getInsideInputPorts() {
+ return insideInputPorts;
+ }
+
+ public void setInsideInputPorts(Set<InputPort> insideInputPorts) {
+ this.insideInputPorts = insideInputPorts;
+ }
+
+ public Set<OutputPort> getInsideOutputPorts() {
+ return insideOutputPorts;
+ }
+
+ public void setInsideOutputPorts(Set<OutputPort> insideOutputPorts) {
+ this.insideOutputPorts = insideOutputPorts;
+ }
+
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/2c17fa7e/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 3a19d3a..263455d 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
@@ -104,6 +104,8 @@ public class WorkflowProcess extends Process {
Process process = step.getRun();
process.setInputPorts(step.getInputs());
process.setOutputPorts(step.getOutputs());
+ insideInputPorts.addAll(step.getInputs());
+ insideOutputPorts.addAll(step.getOutputs());
result.add(process);
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/2c17fa7e/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java
index 56885b2..a6a803f 100644
--- a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java
+++ b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java
@@ -19,6 +19,7 @@
package org.apache.taverna.scufl2.cwl;
+import org.apache.taverna.scufl2.api.core.DataLink;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
@@ -86,5 +87,10 @@ public class TestConverting {
Processor processor = workflow.getProcessors().iterator().next();
assertEquals(1, processor.getInputPorts().size());
assertEquals(0, processor.getOutputPorts().size());
+
+ assertEquals(1, workflow.getDataLinks().size());
+ DataLink dataLink = workflow.getDataLinks().iterator().next();
+ assertEquals("name", dataLink.getReceivesFrom().getName());
+ assertEquals("text", dataLink.getSendsTo().getName());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/2c17fa7e/taverna-scufl2-cwl/src/test/resources/hello_world.cwl
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/test/resources/hello_world.cwl b/taverna-scufl2-cwl/src/test/resources/hello_world.cwl
index 4207afa..eee01dd 100644
--- a/taverna-scufl2-cwl/src/test/resources/hello_world.cwl
+++ b/taverna-scufl2-cwl/src/test/resources/hello_world.cwl
@@ -32,6 +32,6 @@ steps:
inputs:
- id: text
- source: "#x/name"
+ source: "name"
outputs: []
[8/8] incubator-taverna-language git commit: Parse step outputs and
support DataLink CWL to Taverna conversion
Posted by st...@apache.org.
Parse step outputs and support DataLink CWL to Taverna conversion
Merge branch 'pr-42' into cwlparser
Contributed by Majdi Haouech (ICLA on file)
See #42
Signed-off-by: Stian Soiland-Reyes <st...@apache.org>
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/991224bd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/991224bd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/991224bd
Branch: refs/heads/cwlparser
Commit: 991224bd23be752922ce982977628a5a29869a1c
Parents: 9cd4b87 bebd694
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Aug 15 14:59:11 2018 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Aug 15 14:59:11 2018 +0100
----------------------------------------------------------------------
.../apache/taverna/scufl2/cwl/CWLParser.java | 11 +--
.../apache/taverna/scufl2/cwl/CWLReader.java | 1 +
.../apache/taverna/scufl2/cwl/Converter.java | 52 ++++++++++++-
.../taverna/scufl2/cwl/TavernaConverter.java | 81 ++++++++++++++++++++
.../taverna/scufl2/cwl/WorkflowParser.java | 6 ++
.../apache/taverna/scufl2/cwl/YAMLHelper.java | 38 +++++++++
.../scufl2/cwl/components/CommandLineTool.java | 6 +-
.../scufl2/cwl/components/InputPort.java | 2 +-
.../scufl2/cwl/components/OutputPort.java | 2 +-
.../scufl2/cwl/components/PortDetail.java | 4 +-
.../taverna/scufl2/cwl/components/Process.java | 35 ++++++++-
.../scufl2/cwl/components/ProcessFactory.java | 2 +-
.../scufl2/cwl/components/Reference.java | 5 +-
.../taverna/scufl2/cwl/components/Step.java | 18 ++++-
.../scufl2/cwl/components/WorkflowProcess.java | 14 +++-
.../taverna/scufl2/cwl/TestConverting.java | 14 +++-
.../apache/taverna/scufl2/cwl/TestParser.java | 3 -
.../scufl2/cwl/TestTavernaConverter.java | 80 +++++++++++++++++++
.../taverna/scufl2/cwl/TestWorkflowNesting.java | 21 ++---
.../taverna/scufl2/cwl/TestWorkflowProcess.java | 5 ++
.../src/test/resources/hello_world.cwl | 2 +-
.../test/resources/workflow_with_workflow.cwl | 4 +-
22 files changed, 354 insertions(+), 52 deletions(-)
----------------------------------------------------------------------
[5/8] incubator-taverna-language git commit: Use explicit imports
instead of wildcards. Add minor test change.
Posted by st...@apache.org.
Use explicit imports instead of wildcards. Add minor test change.
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/f089bd8a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/f089bd8a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/f089bd8a
Branch: refs/heads/cwlparser
Commit: f089bd8aa657c343b91f8c031d51260b98b3bb9c
Parents: 2c17fa7
Author: Majdi Haouech <m....@criteo.com>
Authored: Fri Aug 10 17:46:23 2018 +0200
Committer: Majdi Haouech <m....@criteo.com>
Committed: Fri Aug 10 17:46:23 2018 +0200
----------------------------------------------------------------------
.../main/java/org/apache/taverna/scufl2/cwl/CWLParser.java | 3 ++-
.../main/java/org/apache/taverna/scufl2/cwl/CWLReader.java | 2 +-
.../main/java/org/apache/taverna/scufl2/cwl/Converter.java | 8 +++++++-
.../java/org/apache/taverna/scufl2/cwl/WorkflowParser.java | 6 +++++-
.../main/java/org/apache/taverna/scufl2/cwl/YAMLHelper.java | 6 +++++-
.../java/org/apache/taverna/scufl2/cwl/TestConverting.java | 6 +++++-
.../org/apache/taverna/scufl2/cwl/TestWorkflowNesting.java | 5 ++++-
.../org/apache/taverna/scufl2/cwl/TestWorkflowProcess.java | 3 ++-
.../src/test/resources/workflow_with_workflow.cwl | 4 ++--
9 files changed, 33 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f089bd8a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLParser.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLParser.java
index 3b3879c..fd5f9c1 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLParser.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLParser.java
@@ -24,7 +24,8 @@ import java.util.HashSet;
import com.fasterxml.jackson.databind.JsonNode;
-import org.apache.taverna.scufl2.cwl.components.*;
+import org.apache.taverna.scufl2.cwl.components.Step;
+import org.apache.taverna.scufl2.cwl.components.PortDetail;
public class CWLParser {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f089bd8a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLReader.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLReader.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLReader.java
index 1b5afc7..8f0f664 100644
--- a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLReader.java
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/CWLReader.java
@@ -27,7 +27,7 @@ import org.apache.taverna.scufl2.api.container.WorkflowBundle;
import org.apache.taverna.scufl2.api.io.WorkflowBundleReader;
import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.cwl.components.*;
+import org.apache.taverna.scufl2.cwl.components.WorkflowProcess;
public class CWLReader implements WorkflowBundleReader {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f089bd8a/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 5637ced..79d4e24 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
@@ -41,7 +41,13 @@ import com.fasterxml.jackson.databind.node.JsonNodeFactory;
import org.apache.taverna.scufl2.api.port.ReceiverPort;
import org.apache.taverna.scufl2.api.port.SenderPort;
import org.apache.taverna.scufl2.cwl.components.Process;
-import org.apache.taverna.scufl2.cwl.components.*;
+import org.apache.taverna.scufl2.cwl.components.PortDetail;
+import org.apache.taverna.scufl2.cwl.components.Step;
+import org.apache.taverna.scufl2.cwl.components.InputPort;
+import org.apache.taverna.scufl2.cwl.components.OutputPort;
+import org.apache.taverna.scufl2.cwl.components.WorkflowProcess;
+import org.apache.taverna.scufl2.cwl.components.CommandLineTool;
+import org.apache.taverna.scufl2.cwl.components.Reference;
public class Converter {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f089bd8a/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 24b5238..9191806 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
@@ -49,7 +49,11 @@ import org.apache.taverna.scufl2.api.container.WorkflowBundle;
import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
import org.apache.taverna.scufl2.api.io.WriterException;
-import org.apache.taverna.scufl2.cwl.components.*;
+import org.apache.taverna.scufl2.cwl.components.Step;
+import org.apache.taverna.scufl2.cwl.components.PortDetail;
+import org.apache.taverna.scufl2.cwl.components.InputPort;
+import org.apache.taverna.scufl2.cwl.components.OutputPort;
+
public class WorkflowParser {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f089bd8a/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 76652ea..6561c59 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
@@ -37,7 +37,11 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import com.fasterxml.jackson.databind.node.TextNode;
import org.apache.taverna.scufl2.cwl.components.Process;
-import org.apache.taverna.scufl2.cwl.components.*;
+import org.apache.taverna.scufl2.cwl.components.Step;
+import org.apache.taverna.scufl2.cwl.components.PortDetail;
+import org.apache.taverna.scufl2.cwl.components.InputPort;
+import org.apache.taverna.scufl2.cwl.components.OutputPort;
+import org.apache.taverna.scufl2.cwl.components.ProcessFactory;
public class YAMLHelper {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f089bd8a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java
index a6a803f..ce57b96 100644
--- a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java
+++ b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestConverting.java
@@ -32,7 +32,8 @@ import org.apache.taverna.scufl2.api.container.WorkflowBundle;
import org.apache.taverna.scufl2.api.core.Workflow;
import org.apache.taverna.scufl2.api.core.Processor;
-import org.apache.taverna.scufl2.cwl.components.*;
+import org.apache.taverna.scufl2.cwl.components.WorkflowProcess;
+import org.apache.taverna.scufl2.cwl.components.ProcessFactory;
public class TestConverting {
private static final String HELLO_WORLD_CWL = "/hello_world.cwl";
@@ -88,6 +89,9 @@ public class TestConverting {
assertEquals(1, processor.getInputPorts().size());
assertEquals(0, processor.getOutputPorts().size());
+ String processorPortName = processor.getInputPorts().iterator().next().getName();
+ assertEquals("text", processorPortName);
+
assertEquals(1, workflow.getDataLinks().size());
DataLink dataLink = workflow.getDataLinks().iterator().next();
assertEquals("name", dataLink.getReceivesFrom().getName());
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f089bd8a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowNesting.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowNesting.java b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowNesting.java
index e0a4330..a4ea652 100644
--- a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowNesting.java
+++ b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowNesting.java
@@ -30,7 +30,10 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.taverna.scufl2.cwl.components.Process;
-import org.apache.taverna.scufl2.cwl.components.*;
+import org.apache.taverna.scufl2.cwl.components.ProcessFactory;
+import org.apache.taverna.scufl2.cwl.components.CommandLineTool;
+import org.apache.taverna.scufl2.cwl.components.WorkflowProcess;
+import org.apache.taverna.scufl2.cwl.components.Reference;
public class TestWorkflowNesting {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f089bd8a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowProcess.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowProcess.java b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowProcess.java
index e622668..6ff449c 100644
--- a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowProcess.java
+++ b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestWorkflowProcess.java
@@ -48,7 +48,8 @@ import org.apache.taverna.scufl2.api.io.WriterException;
import org.apache.taverna.scufl2.api.container.WorkflowBundle;
import org.apache.taverna.scufl2.cwl.components.Process;
-import org.apache.taverna.scufl2.cwl.components.*;
+import org.apache.taverna.scufl2.cwl.components.ProcessFactory;
+import org.apache.taverna.scufl2.cwl.components.WorkflowProcess;
public class TestWorkflowProcess {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f089bd8a/taverna-scufl2-cwl/src/test/resources/workflow_with_workflow.cwl
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/test/resources/workflow_with_workflow.cwl b/taverna-scufl2-cwl/src/test/resources/workflow_with_workflow.cwl
index 58323c5..7abca5e 100644
--- a/taverna-scufl2-cwl/src/test/resources/workflow_with_workflow.cwl
+++ b/taverna-scufl2-cwl/src/test/resources/workflow_with_workflow.cwl
@@ -25,7 +25,7 @@ inputs:
outputs:
download:
type: File
- outputSource: "#step1/curl"
+ outputSource: "curl"
steps:
step1:
@@ -40,7 +40,7 @@ steps:
run: example.cwl
inputs:
- id: text
- source: "#x/name"
+ source: "name"
outputs: []
in:
text: message
[7/8] incubator-taverna-language git commit: Create a Taverna to
Custom CWL Objects converter
Posted by st...@apache.org.
Create a Taverna to Custom CWL Objects converter
- Convert basic workflow, process, input and outputs
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/bebd694f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/bebd694f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/bebd694f
Branch: refs/heads/cwlparser
Commit: bebd694fb8bda54160f43b7049a3d16585f69ad7
Parents: 9d34b4a
Author: Majdi Haouech <m....@criteo.com>
Authored: Sat Aug 11 12:06:12 2018 +0200
Committer: Majdi Haouech <m....@criteo.com>
Committed: Sat Aug 11 12:06:12 2018 +0200
----------------------------------------------------------------------
.../taverna/scufl2/cwl/TavernaConverter.java | 81 ++++++++++++++++++++
.../scufl2/cwl/TestTavernaConverter.java | 80 +++++++++++++++++++
2 files changed, 161 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/bebd694f/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/TavernaConverter.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/TavernaConverter.java b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/TavernaConverter.java
new file mode 100644
index 0000000..da1ece3
--- /dev/null
+++ b/taverna-scufl2-cwl/src/main/java/org/apache/taverna/scufl2/cwl/TavernaConverter.java
@@ -0,0 +1,81 @@
+package org.apache.taverna.scufl2.cwl;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import org.apache.taverna.scufl2.api.common.NamedSet;
+import org.apache.taverna.scufl2.api.core.DataLink;
+import org.apache.taverna.scufl2.api.core.Processor;
+import org.apache.taverna.scufl2.api.core.Workflow;
+import org.apache.taverna.scufl2.api.port.InputProcessorPort;
+import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
+import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
+import org.apache.taverna.scufl2.api.port.SenderPort;
+import org.apache.taverna.scufl2.cwl.components.InputPort;
+import org.apache.taverna.scufl2.cwl.components.OutputPort;
+import org.apache.taverna.scufl2.cwl.components.Reference;
+import org.apache.taverna.scufl2.cwl.components.Step;
+import org.apache.taverna.scufl2.cwl.components.WorkflowProcess;
+
+public class TavernaConverter {
+
+ public WorkflowProcess convertWorkflow(Workflow workflow) {
+ WorkflowProcess process = new WorkflowProcess();
+ process.setName(workflow.getName());
+ Set<InputPort> inputs = convertInputPorts(workflow);
+ Set<OutputPort> outputs = convertOutputPorts(workflow);
+
+ process.setInputPorts(inputs);
+ process.setOutputPorts(outputs);
+
+ return process;
+ }
+
+ public Set<InputPort> convertInputPorts(Workflow workflow) {
+ Set<InputPort> result = new HashSet<>();
+ for(InputWorkflowPort workflowPort: workflow.getInputPorts()) {
+ InputPort port = new InputPort(workflowPort.getName(), "");
+ result.add(port);
+ }
+ return result;
+ }
+
+ public Set<OutputPort> convertOutputPorts(Workflow workflow) {
+ Set<OutputPort> result = new HashSet<>();
+ for(OutputWorkflowPort workflowPort: workflow.getOutputPorts()) {
+ OutputPort port = new OutputPort(workflowPort.getName());
+ result.add(port);
+ }
+ return result;
+ }
+
+ public Set<Step> convertProcessors(Workflow workflow) {
+ Set<Step> result = new HashSet<>();
+ NamedSet<Processor> processors = workflow.getProcessors();
+ Set<DataLink> dataLinks = workflow.getDataLinks();
+ Map<String, SenderPort> portNameToSource = new HashMap<>();
+ for(DataLink link: dataLinks) {
+ portNameToSource.put(link.getSendsTo().getName(), link.getReceivesFrom());
+ }
+
+ for(Processor processor: processors) {
+ Step step = convertProcessor(processor, portNameToSource);
+ result.add(step);
+ }
+ return result;
+ }
+
+ public Step convertProcessor(Processor processor, Map<String, SenderPort> portNameToSource) {
+ Step step = new Step();
+ step.setRun(new Reference(processor.getName())); // TODO: Support nested steps. Check name value.
+ for(InputProcessorPort port: processor.getInputPorts()) {
+ InputPort stepPort = new InputPort();
+ stepPort.setName(port.getName());
+ SenderPort senderPort = portNameToSource.get(port.getName());
+ stepPort.setSource(senderPort.getName());
+ step.getInputs().add(stepPort);
+ }
+ return step;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/bebd694f/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestTavernaConverter.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestTavernaConverter.java b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestTavernaConverter.java
new file mode 100644
index 0000000..14bb8a0
--- /dev/null
+++ b/taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestTavernaConverter.java
@@ -0,0 +1,80 @@
+/*
+ * 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.HashSet;
+import java.util.Set;
+import java.util.stream.Collectors;
+import org.apache.taverna.scufl2.api.core.Processor;
+import org.apache.taverna.scufl2.api.core.Workflow;
+import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
+import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
+import org.apache.taverna.scufl2.cwl.components.InputPort;
+import org.apache.taverna.scufl2.cwl.components.Reference;
+import org.apache.taverna.scufl2.cwl.components.Step;
+import org.apache.taverna.scufl2.cwl.components.WorkflowProcess;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+
+
+public class TestTavernaConverter {
+
+ @Test
+ public void testWorkflowToWorkflowProcess() {
+ Workflow workflow = new Workflow();
+ workflow.setName("workflowName");
+ workflow.getInputPorts().add(new InputWorkflowPort(workflow, "input1"));
+ workflow.getInputPorts().add(new InputWorkflowPort(workflow, "input2"));
+ workflow.getOutputPorts().add(new OutputWorkflowPort(workflow, "output"));
+
+ TavernaConverter converter = new TavernaConverter();
+
+ WorkflowProcess workflowProcess = converter.convertWorkflow(workflow);
+ assertEquals(workflow.getInputPorts().size(), workflowProcess.getInputPorts().size());
+ assertEquals(workflow.getOutputPorts().size(), workflowProcess.getOutputPorts().size());
+
+ Set<String> expectedInputNames = workflow.getInputPorts().stream().map(InputWorkflowPort::getName).collect(Collectors.toSet());
+ Set<String> convertedInputNames = workflowProcess.getInputPorts().stream().map(InputPort::getName).collect(Collectors.toSet());
+
+ assertEquals(expectedInputNames, convertedInputNames);
+
+ assertEquals("output", workflowProcess.getOutputPorts().iterator().next().getName());
+ }
+
+ @Test
+ public void testProcessorsToSteps() {
+ Workflow workflow = new Workflow();
+ workflow.setName("workflowName");
+ workflow.getProcessors().add(new Processor(workflow, "processor1"));
+ workflow.getProcessors().add(new Processor(workflow, "processor2"));
+
+ Step step1 = new Step();
+ step1.setRun(new Reference("processor1"));
+ Step step2 = new Step();
+ step2.setRun(new Reference("processor2"));
+ Set<Step> steps = new HashSet<>();
+ steps.add(step1);
+ steps.add(step2);
+
+ TavernaConverter converter = new TavernaConverter();
+ Set<Step> convertedSteps = converter.convertProcessors(workflow);
+
+ assertEquals(steps, convertedSteps);
+ }
+}