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/10 11:58:33 UTC

[2/6] incubator-taverna-language git commit: Add test for nested helper in Scufl2Tools

Add test for nested helper in Scufl2Tools


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

Branch: refs/heads/master
Commit: d93452d7ab30dc36bf0cabafe923ff3707bb0c55
Parents: edb12c6
Author: Majdi Haouech <m....@criteo.com>
Authored: Sat Jul 28 14:28:08 2018 +0200
Committer: Majdi Haouech <m....@criteo.com>
Committed: Sat Jul 28 14:28:08 2018 +0200

----------------------------------------------------------------------
 .../taverna/scufl2/api/common/Scufl2Tools.java  |  7 +++++++
 .../scufl2/api/common/TestScufl2Tools.java      | 20 ++++++++++++++++++++
 2 files changed, 27 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/d93452d7/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/api/common/Scufl2Tools.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/api/common/Scufl2Tools.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/api/common/Scufl2Tools.java
index 1222733..f7f7698 100644
--- a/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/api/common/Scufl2Tools.java
+++ b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/api/common/Scufl2Tools.java
@@ -65,6 +65,7 @@ import org.apache.taverna.scufl2.api.profiles.Profile;
 
 
 import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
 
 /**
  * Utility methods for dealing with SCUFL2 models
@@ -767,6 +768,12 @@ public class Scufl2Tools {
 		Activity activity = createActivityFromProcessor(processor, profile);
 		activity.setType(NESTED_WORKFLOW);
 		Configuration configuration = createConfigurationFor(activity, NESTED_WORKFLOW);
+
+		ObjectNode json = configuration.getJsonAsObjectNode();
+		json.put("nestedWorkflow", childWorkflow.getName());
+
+		childWorkflow.setParent(processor.getParent().getParent());
+
 		return configuration;
 	}
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/d93452d7/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/api/common/TestScufl2Tools.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/api/common/TestScufl2Tools.java b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/api/common/TestScufl2Tools.java
index 5880253..24fc788 100644
--- a/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/api/common/TestScufl2Tools.java
+++ b/taverna-scufl2-api/src/test/java/org/apache/taverna/scufl2/api/common/TestScufl2Tools.java
@@ -41,6 +41,7 @@ import org.apache.taverna.scufl2.api.common.Visitor.VisitorWithPath;
 import org.apache.taverna.scufl2.api.container.WorkflowBundle;
 import org.apache.taverna.scufl2.api.core.ControlLink;
 import org.apache.taverna.scufl2.api.core.Processor;
+import org.apache.taverna.scufl2.api.core.Workflow;
 import org.apache.taverna.scufl2.api.port.InputActivityPort;
 import org.apache.taverna.scufl2.api.port.InputProcessorPort;
 import org.apache.taverna.scufl2.api.port.OutputActivityPort;
@@ -63,6 +64,25 @@ public class TestScufl2Tools extends ExampleWorkflow {
 		makeWorkflowBundle();
 		assertNotNull(workflowBundle);
 	}
+
+	@Test
+	public void testNestedWorkflows() {
+		Workflow child = new Workflow();
+		child.setName("childWorkflow");
+		child.setParent(workflowBundle);
+
+		Workflow mainWorkflow = workflowBundle.getMainWorkflow();
+		Processor processor = new Processor();
+		processor.setParent(mainWorkflow);
+
+		Profile profile = workflowBundle.getMainProfile();
+
+		Scufl2Tools tools = new Scufl2Tools();
+		tools.createNestedRelationship(processor, child, profile);
+		Workflow nested = tools.nestedWorkflowForProcessor(processor, profile);
+
+		assertEquals(child, nested);
+	}
 	
 	@Test
 	public void controlLinksBlocking() {