Repository: incubator-taverna-language Updated Branches: refs/heads/master 99156bd0e -> 92ccd6b3c
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/1e13219f/taverna-tavlangtool/src/test/java/org/apache/taverna/tavlang/test/TestTools.java ---------------------------------------------------------------------- diff --git a/taverna-tavlangtool/src/test/java/org/apache/taverna/tavlang/test/TestTools.java b/taverna-tavlangtool/src/test/java/org/apache/taverna/tavlang/test/TestTools.java new file mode 100644 index 0000000..483d4c3 --- /dev/null +++ b/taverna-tavlangtool/src/test/java/org/apache/taverna/tavlang/test/TestTools.java @@ -0,0 +1,80 @@ +package org.apache.taverna.tavlang.test; + +/* + * 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. + */ + +import static org.junit.Assert.*; + +import java.util.HashMap; + +import org.apache.taverna.tavlang.tools.Tools.ConvertionTools; +import org.junit.Test; +import org.junit.*; + +/* + * Test cases for the Tools Class. + * Input :- The output file format + * Output:- The relevant writer media type for that file format + * + * */ + +public class TestTools { + + private ConvertionTools tools; + private HashMap<String, String> map = new HashMap<>(); + + + @Before + public void setMap(){ + this.map.put("wfdesc", "text/vnd.wf4ever.wfdesc+turtle"); + this.map.put("iwir", "application/vnd.shiwa.iwir+xml"); + this.map.put("json", "application/ld+json"); + this.map.put("wfbundle", "application/vnd.taverna.scufl2.workflow-bundle"); + this.map.put("robundle", null); + } + + + @Test + public void testWfdesc() { + assertEquals(map.get("wfdesc"), ConvertionTools.valueOf("wfdesc").getMediaType(tools)); + } + + @Test + public void testIwir() { + assertEquals(map.get("iwir"), ConvertionTools.valueOf("iwir").getMediaType(tools)); + } + + @Test + public void testJson() { + assertEquals(map.get("json"), ConvertionTools.valueOf("json").getMediaType(tools)); + } + + + @Test + public void testWfbundle() { + assertEquals(map.get("wfbundle"), ConvertionTools.valueOf("wfbundle").getMediaType(tools)); + } + + + @Test + public void testRobundle() { + assertEquals(map.get("robundle"), ConvertionTools.valueOf("robundle").getMediaType(tools)); + } + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/1e13219f/taverna-tavlangtool/src/test/java/org/apache/taverna/tavlang/test/TestValidate.java ---------------------------------------------------------------------- diff --git a/taverna-tavlangtool/src/test/java/org/apache/taverna/tavlang/test/TestValidate.java b/taverna-tavlangtool/src/test/java/org/apache/taverna/tavlang/test/TestValidate.java new file mode 100644 index 0000000..58e0d3f --- /dev/null +++ b/taverna-tavlangtool/src/test/java/org/apache/taverna/tavlang/test/TestValidate.java @@ -0,0 +1,49 @@ +package org.apache.taverna.tavlang.test; + +/* + * 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. + */ + + +import static org.junit.Assert.*; + +import java.awt.List; +import java.util.ArrayList; + +import org.apache.taverna.robundle.Bundle; +import org.apache.taverna.tavlang.tools.validate.Validate; +import org.junit.Assert; +import org.junit.Test; + +import com.google.common.collect.Lists; + +public class TestValidate { + + + + @Test + public void test() { + ArrayList<String> list = Lists.newArrayList(); + list.add("src/test/resources/workflows/t2flow/as.t2flow"); + Validate val = new Validate(list, null, false); + + assertEquals(false, val.getCheck()); + + } + +} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/1e13219f/taverna-tavlangtool/src/test/resources/.gitignore ---------------------------------------------------------------------- diff --git a/taverna-tavlangtool/src/test/resources/.gitignore b/taverna-tavlangtool/src/test/resources/.gitignore new file mode 100644 index 0000000..e69de29 http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/1e13219f/taverna-tavlangtool/src/test/resources/workflows/t2flow/as.t2flow ---------------------------------------------------------------------- diff --git a/taverna-tavlangtool/src/test/resources/workflows/t2flow/as.t2flow b/taverna-tavlangtool/src/test/resources/workflows/t2flow/as.t2flow new file mode 100644 index 0000000..2d9f127 --- /dev/null +++ b/taverna-tavlangtool/src/test/resources/workflows/t2flow/as.t2flow @@ -0,0 +1,1674 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> +<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1" producedBy="taverna-2.1.0"> + <dataflow id="92c5e8d5-8360-4f86-a845-09c9849cbdc5" role="top"> + <name>Workflow1</name> + <inputPorts /> + <outputPorts> + <port> + <name>asdasd</name> + <annotations /> + </port> + </outputPorts> + <processors> + <processor> + <name>Workflow19</name> + <inputPorts> + <port> + <name>lk</name> + <depth>0</depth> + </port> + </inputPorts> + <outputPorts> + <port> + <name>kk</name> + <depth>0</depth> + <granularDepth>0</granularDepth> + </port> + <port> + <name>String_constant_value</name> + <depth>0</depth> + <granularDepth>0</granularDepth> + </port> + </outputPorts> + <annotations /> + <activities> + <activity> + <raven> + <group>net.sf.taverna.t2.activities</group> + <artifact>dataflow-activity</artifact> + <version>1.0</version> + </raven> + <class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class> + <inputMap> + <map from="lk" to="lk" /> + </inputMap> + <outputMap> + <map from="String_constant_value" to="String_constant_value" /> + <map from="kk" to="kk" /> + </outputMap> + <configBean encoding="dataflow"> + <dataflow ref="c451b1cf-1c95-47e5-b89c-537a5501a1ef" /> + </configBean> + <annotations /> + </activity> + </activities> + <dispatchStack> + <dispatchLayer> + <raven> + <group>net.sf.taverna.t2.core</group> + <artifact>workflowmodel-impl</artifact> + <version>1.0</version> + </raven> + <class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class> + <configBean encoding="xstream"> + <net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns=""> + <maxJobs>1</maxJobs> + </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig> + </configBean> + </dispatchLayer> + <dispatchLayer> + <raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns=""> + <backoffFactor>1.0</backoffFactor> + <initialDelay>1000</initialDelay> + <maxDelay>5000</maxDelay> + <maxRetries>0</maxRetries> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +</dispatchStack> +<iterationStrategyStack> +<iteration> +<strategy> +<cross> +<port name="lk" depth="0" /> +</cross> +</strategy> +</iteration> +</iterationStrategyStack> +</processor> +<processor> +<name>Concatenate_two_strings</name> +<inputPorts> +<port> +<name>string2</name> +<depth>0</depth> +</port> +<port> +<name>string1</name> +<depth>0</depth> +</port> +</inputPorts> +<outputPorts> +<port> +<name>output</name> +<depth>0</depth> +<granularDepth>0</granularDepth> +</port> +</outputPorts> +<annotations /> +<activities> +<activity> +<raven> +<group>net.sf.taverna.t2.activities</group> +<artifact>localworker-activity</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class> +<inputMap> +<map from="string2" to="string2" /> +<map from="string1" to="string1" /> +</inputMap> +<outputMap> +<map from="output" to="output" /> +</outputMap> +<configBean encoding="xstream"> +<net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns=""> + <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringConcat</localworkerName> + <script>output = string1 + string2;</script> + <dependencies /> + <classLoaderSharing>workflow</classLoaderSharing> + <localDependencies /> + <artifactDependencies /> + <inputs> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <handledReferenceSchemes /> + <translatedElementType>java.lang.String</translatedElementType> + <allowsLiteralValues>true</allowsLiteralValues> + <name>string1</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <handledReferenceSchemes /> + <translatedElementType>java.lang.String</translatedElementType> + <allowsLiteralValues>true</allowsLiteralValues> + <name>string2</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + </inputs> + <outputs> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + <granularDepth>0</granularDepth> + <name>output</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + </outputs> +</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean> +</configBean> +<annotations /> +</activity> +</activities> +<dispatchStack> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns=""> + <maxJobs>1</maxJobs> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns=""> + <backoffFactor>1.0</backoffFactor> + <initialDelay>1000</initialDelay> + <maxDelay>5000</maxDelay> + <maxRetries>0</maxRetries> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +</dispatchStack> +<iterationStrategyStack> +<iteration> +<strategy> +<cross> +<port name="string2" depth="0" /> +<port name="string1" depth="0" /> +</cross> +</strategy> +</iteration> +</iterationStrategyStack> +</processor> +<processor> +<name>Concatenate_two_strings_2</name> +<inputPorts> +<port> +<name>string2</name> +<depth>0</depth> +</port> +<port> +<name>string1</name> +<depth>0</depth> +</port> +</inputPorts> +<outputPorts> +<port> +<name>output</name> +<depth>0</depth> +<granularDepth>0</granularDepth> +</port> +</outputPorts> +<annotations /> +<activities> +<activity> +<raven> +<group>net.sf.taverna.t2.activities</group> +<artifact>localworker-activity</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class> +<inputMap> +<map from="string2" to="string2" /> +<map from="string1" to="string1" /> +</inputMap> +<outputMap> +<map from="output" to="output" /> +</outputMap> +<configBean encoding="xstream"> +<net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns=""> + <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringConcat</localworkerName> + <script>output = string1 + string2;</script> + <dependencies /> + <classLoaderSharing>workflow</classLoaderSharing> + <localDependencies /> + <artifactDependencies /> + <inputs> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <handledReferenceSchemes /> + <translatedElementType>java.lang.String</translatedElementType> + <allowsLiteralValues>true</allowsLiteralValues> + <name>string1</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <handledReferenceSchemes /> + <translatedElementType>java.lang.String</translatedElementType> + <allowsLiteralValues>true</allowsLiteralValues> + <name>string2</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + </inputs> + <outputs> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + <granularDepth>0</granularDepth> + <name>output</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + </outputs> +</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean> +</configBean> +<annotations /> +</activity> +</activities> +<dispatchStack> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns=""> + <maxJobs>1</maxJobs> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns=""> + <backoffFactor>1.0</backoffFactor> + <initialDelay>1000</initialDelay> + <maxDelay>5000</maxDelay> + <maxRetries>0</maxRetries> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +</dispatchStack> +<iterationStrategyStack> +<iteration> +<strategy> +<cross> +<port name="string2" depth="0" /> +<port name="string1" depth="0" /> +</cross> +</strategy> +</iteration> +</iterationStrategyStack> +</processor> +<processor> +<name>Create_Lots_Of_Strings</name> +<inputPorts /> +<outputPorts> +<port> +<name>strings</name> +<depth>1</depth> +<granularDepth>1</granularDepth> +</port> +</outputPorts> +<annotations /> +<activities> +<activity> +<raven> +<group>net.sf.taverna.t2.activities</group> +<artifact>localworker-activity</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class> +<inputMap /> +<outputMap> +<map from="strings" to="strings" /> +</outputMap> +<configBean encoding="xstream"> +<net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns=""> + <localworkerName>org.embl.ebi.escience.scuflworkers.java.EmitLotsOfStrings</localworkerName> + <script>List strings = new ArrayList(); +for (int i = 0; i < 40; i++) { + strings.add("String" + i); +} +</script> + <dependencies /> + <classLoaderSharing>workflow</classLoaderSharing> + <localDependencies /> + <artifactDependencies /> + <inputs /> + <outputs> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + <granularDepth>1</granularDepth> + <name>strings</name> + <depth>1</depth> + <mimeTypes> + <string>l('text/plain')</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + </outputs> +</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean> +</configBean> +<annotations /> +</activity> +</activities> +<dispatchStack> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns=""> + <maxJobs>1</maxJobs> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns=""> + <backoffFactor>1.0</backoffFactor> + <initialDelay>1000</initialDelay> + <maxDelay>5000</maxDelay> + <maxRetries>0</maxRetries> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +</dispatchStack> +<iterationStrategyStack> +<iteration> +<strategy /> +</iteration> +</iterationStrategyStack> +</processor> +<processor> +<name>Concatenate_two_strings_3</name> +<inputPorts> +<port> +<name>string1</name> +<depth>0</depth> +</port> +<port> +<name>string2</name> +<depth>0</depth> +</port> +</inputPorts> +<outputPorts> +<port> +<name>output</name> +<depth>0</depth> +<granularDepth>0</granularDepth> +</port> +</outputPorts> +<annotations /> +<activities> +<activity> +<raven> +<group>net.sf.taverna.t2.activities</group> +<artifact>localworker-activity</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class> +<inputMap> +<map from="string2" to="string2" /> +<map from="string1" to="string1" /> +</inputMap> +<outputMap> +<map from="output" to="output" /> +</outputMap> +<configBean encoding="xstream"> +<net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns=""> + <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringConcat</localworkerName> + <script>output = string1 + string2;</script> + <dependencies /> + <classLoaderSharing>workflow</classLoaderSharing> + <localDependencies /> + <artifactDependencies /> + <inputs> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <handledReferenceSchemes /> + <translatedElementType>java.lang.String</translatedElementType> + <allowsLiteralValues>true</allowsLiteralValues> + <name>string1</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <handledReferenceSchemes /> + <translatedElementType>java.lang.String</translatedElementType> + <allowsLiteralValues>true</allowsLiteralValues> + <name>string2</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + </inputs> + <outputs> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + <granularDepth>0</granularDepth> + <name>output</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + </outputs> +</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean> +</configBean> +<annotations /> +</activity> +</activities> +<dispatchStack> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns=""> + <maxJobs>1</maxJobs> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns=""> + <backoffFactor>1.0</backoffFactor> + <initialDelay>1000</initialDelay> + <maxDelay>5000</maxDelay> + <maxRetries>0</maxRetries> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +</dispatchStack> +<iterationStrategyStack> +<iteration> +<strategy> +<cross> +<port name="string1" depth="0" /> +<port name="string2" depth="0" /> +</cross> +</strategy> +</iteration> +</iterationStrategyStack> +</processor> +<processor> +<name>String_constant</name> +<inputPorts /> +<outputPorts> +<port> +<name>value</name> +<depth>0</depth> +<granularDepth>0</granularDepth> +</port> +</outputPorts> +<annotations /> +<activities> +<activity> +<raven> +<group>net.sf.taverna.t2.activities</group> +<artifact>stringconstant-activity</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class> +<inputMap /> +<outputMap> +<map from="value" to="value" /> +</outputMap> +<configBean encoding="xstream"> +<net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns=""> + <value>Add your own value here</value> +</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean> +</configBean> +<annotations /> +</activity> +</activities> +<dispatchStack> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns=""> + <maxJobs>1</maxJobs> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns=""> + <backoffFactor>1.0</backoffFactor> + <initialDelay>1000</initialDelay> + <maxDelay>5000</maxDelay> + <maxRetries>0</maxRetries> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +</dispatchStack> +<iterationStrategyStack> +<iteration> +<strategy /> +</iteration> +</iterationStrategyStack> +</processor> +<processor> +<name>Concatenate_two_strings_4</name> +<inputPorts> +<port> +<name>string1</name> +<depth>0</depth> +</port> +<port> +<name>string2</name> +<depth>0</depth> +</port> +</inputPorts> +<outputPorts> +<port> +<name>output</name> +<depth>0</depth> +<granularDepth>0</granularDepth> +</port> +</outputPorts> +<annotations /> +<activities> +<activity> +<raven> +<group>net.sf.taverna.t2.activities</group> +<artifact>localworker-activity</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class> +<inputMap> +<map from="string2" to="string2" /> +<map from="string1" to="string1" /> +</inputMap> +<outputMap> +<map from="output" to="output" /> +</outputMap> +<configBean encoding="xstream"> +<net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns=""> + <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringConcat</localworkerName> + <script>output = string1 + string2;</script> + <dependencies /> + <classLoaderSharing>workflow</classLoaderSharing> + <localDependencies /> + <artifactDependencies /> + <inputs> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <handledReferenceSchemes /> + <translatedElementType>java.lang.String</translatedElementType> + <allowsLiteralValues>true</allowsLiteralValues> + <name>string1</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <handledReferenceSchemes /> + <translatedElementType>java.lang.String</translatedElementType> + <allowsLiteralValues>true</allowsLiteralValues> + <name>string2</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + </inputs> + <outputs> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + <granularDepth>0</granularDepth> + <name>output</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + </outputs> +</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean> +</configBean> +<annotations /> +</activity> +</activities> +<dispatchStack> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns=""> + <maxJobs>1</maxJobs> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns=""> + <backoffFactor>1.0</backoffFactor> + <initialDelay>1000</initialDelay> + <maxDelay>5000</maxDelay> + <maxRetries>0</maxRetries> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +</dispatchStack> +<iterationStrategyStack> +<iteration> +<strategy> +<cross> +<port name="string1" depth="0" /> +<port name="string2" depth="0" /> +</cross> +</strategy> +</iteration> +</iterationStrategyStack> +</processor> +<processor> +<name>Echo_List</name> +<inputPorts> +<port> +<name>inputlist</name> +<depth>1</depth> +</port> +</inputPorts> +<outputPorts> +<port> +<name>outputlist</name> +<depth>1</depth> +<granularDepth>1</granularDepth> +</port> +</outputPorts> +<annotations /> +<activities> +<activity> +<raven> +<group>net.sf.taverna.t2.activities</group> +<artifact>localworker-activity</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class> +<inputMap> +<map from="inputlist" to="inputlist" /> +</inputMap> +<outputMap> +<map from="outputlist" to="outputlist" /> +</outputMap> +<configBean encoding="xstream"> +<net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns=""> + <localworkerName>org.embl.ebi.escience.scuflworkers.java.EchoList</localworkerName> + <script>outputlist = inputlist;</script> + <dependencies /> + <classLoaderSharing>workflow</classLoaderSharing> + <localDependencies /> + <artifactDependencies /> + <inputs> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <handledReferenceSchemes /> + <translatedElementType>[B</translatedElementType> + <allowsLiteralValues>true</allowsLiteralValues> + <name>inputlist</name> + <depth>1</depth> + <mimeTypes> + <string>l('')</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + </inputs> + <outputs> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + <granularDepth>1</granularDepth> + <name>outputlist</name> + <depth>1</depth> + <mimeTypes> + <string>l('')</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + </outputs> +</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean> +</configBean> +<annotations /> +</activity> +</activities> +<dispatchStack> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns=""> + <maxJobs>1</maxJobs> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns=""> + <backoffFactor>1.0</backoffFactor> + <initialDelay>1000</initialDelay> + <maxDelay>5000</maxDelay> + <maxRetries>0</maxRetries> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +</dispatchStack> +<iterationStrategyStack> +<iteration> +<strategy> +<cross> +<port name="inputlist" depth="1" /> +</cross> +</strategy> +</iteration> +</iterationStrategyStack> +</processor> +</processors> +<conditions /> +<datalinks> +<datalink> +<sink type="processor"> +<processor>Workflow19</processor> +<port>lk</port> +</sink> +<source type="processor"> +<processor>Concatenate_two_strings</processor> +<port>output</port> +</source> +</datalink> +<datalink> +<sink type="processor"> +<processor>Concatenate_two_strings</processor> +<port>string2</port> +</sink> +<source type="processor"> +<processor>Concatenate_two_strings_2</processor> +<port>output</port> +</source> +</datalink> +<datalink> +<sink type="processor"> +<processor>Concatenate_two_strings</processor> +<port>string1</port> +</sink> +<source type="processor"> +<processor>Create_Lots_Of_Strings</processor> +<port>strings</port> +</source> +</datalink> +<datalink> +<sink type="processor"> +<processor>Concatenate_two_strings_2</processor> +<port>string2</port> +</sink> +<source type="processor"> +<processor>Create_Lots_Of_Strings</processor> +<port>strings</port> +</source> +</datalink> +<datalink> +<sink type="processor"> +<processor>Concatenate_two_strings_2</processor> +<port>string1</port> +</sink> +<source type="processor"> +<processor>Create_Lots_Of_Strings</processor> +<port>strings</port> +</source> +</datalink> +<datalink> +<sink type="processor"> +<processor>Concatenate_two_strings_3</processor> +<port>string1</port> +</sink> +<source type="processor"> +<processor>Workflow19</processor> +<port>kk</port> +</source> +</datalink> +<datalink> +<sink type="processor"> +<processor>Concatenate_two_strings_3</processor> +<port>string2</port> +</sink> +<source type="processor"> +<processor>String_constant</processor> +<port>value</port> +</source> +</datalink> +<datalink> +<sink type="processor"> +<processor>Concatenate_two_strings_4</processor> +<port>string1</port> +</sink> +<source type="processor"> +<processor>String_constant</processor> +<port>value</port> +</source> +</datalink> +<datalink> +<sink type="processor"> +<processor>Concatenate_two_strings_4</processor> +<port>string2</port> +</sink> +<source type="processor"> +<processor>Workflow19</processor> +<port>String_constant_value</port> +</source> +</datalink> +<datalink> +<sink type="merge"> +<processor>Echo_List</processor> +<port>inputlist</port> +</sink> +<source type="processor"> +<processor>Concatenate_two_strings_4</processor> +<port>output</port> +</source> +</datalink> +<datalink> +<sink type="merge"> +<processor>Echo_List</processor> +<port>inputlist</port> +</sink> +<source type="processor"> +<processor>Concatenate_two_strings_3</processor> +<port>output</port> +</source> +</datalink> +<datalink> +<sink type="dataflow"> +<port>asdasd</port> +</sink> +<source type="processor"> +<processor>Echo_List</processor> +<port>outputlist</port> +</source> +</datalink> +</datalinks> +<annotations /> +</dataflow> +<dataflow id="c451b1cf-1c95-47e5-b89c-537a5501a1ef" role="nested"> +<name>Workflow19</name> +<inputPorts> +<port> +<name>lk</name> +<depth>0</depth> +<granularDepth>0</granularDepth> +<annotations /> +</port> +</inputPorts> +<outputPorts> +<port> +<name>kk</name> +<annotations /> +</port> +<port> +<name>String_constant_value</name> +<annotations /> +</port> +</outputPorts> +<processors> +<processor> +<name>Concatenate_two_strings</name> +<inputPorts> +<port> +<name>string1</name> +<depth>0</depth> +</port> +<port> +<name>string2</name> +<depth>0</depth> +</port> +</inputPorts> +<outputPorts> +<port> +<name>output</name> +<depth>0</depth> +<granularDepth>0</granularDepth> +</port> +</outputPorts> +<annotations /> +<activities> +<activity> +<raven> +<group>net.sf.taverna.t2.activities</group> +<artifact>localworker-activity</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class> +<inputMap> +<map from="string2" to="string2" /> +<map from="string1" to="string1" /> +</inputMap> +<outputMap> +<map from="output" to="output" /> +</outputMap> +<configBean encoding="xstream"> +<net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns=""> + <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringConcat</localworkerName> + <script>output = string1 + string2;</script> + <dependencies /> + <classLoaderSharing>workflow</classLoaderSharing> + <localDependencies /> + <artifactDependencies /> + <inputs> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <handledReferenceSchemes /> + <translatedElementType>java.lang.String</translatedElementType> + <allowsLiteralValues>true</allowsLiteralValues> + <name>string1</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + <handledReferenceSchemes /> + <translatedElementType>java.lang.String</translatedElementType> + <allowsLiteralValues>true</allowsLiteralValues> + <name>string2</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean> + </inputs> + <outputs> + <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + <granularDepth>0</granularDepth> + <name>output</name> + <depth>0</depth> + <mimeTypes> + <string>'text/plain'</string> + </mimeTypes> + </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean> + </outputs> +</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean> +</configBean> +<annotations /> +</activity> +</activities> +<dispatchStack> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns=""> + <maxJobs>1</maxJobs> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns=""> + <backoffFactor>1.0</backoffFactor> + <initialDelay>1000</initialDelay> + <maxDelay>5000</maxDelay> + <maxRetries>0</maxRetries> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +</dispatchStack> +<iterationStrategyStack> +<iteration> +<strategy> +<cross> +<port name="string1" depth="0" /> +<port name="string2" depth="0" /> +</cross> +</strategy> +</iteration> +</iterationStrategyStack> +</processor> +<processor> +<name>string1_value</name> +<inputPorts /> +<outputPorts> +<port> +<name>value</name> +<depth>0</depth> +<granularDepth>0</granularDepth> +</port> +</outputPorts> +<annotations /> +<activities> +<activity> +<raven> +<group>net.sf.taverna.t2.activities</group> +<artifact>stringconstant-activity</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class> +<inputMap /> +<outputMap> +<map from="value" to="value" /> +</outputMap> +<configBean encoding="xstream"> +<net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns=""> + <value>kjkj</value> +</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean> +</configBean> +<annotations /> +</activity> +</activities> +<dispatchStack> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns=""> + <maxJobs>1</maxJobs> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns=""> + <backoffFactor>1.0</backoffFactor> + <initialDelay>1000</initialDelay> + <maxDelay>5000</maxDelay> + <maxRetries>0</maxRetries> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +</dispatchStack> +<iterationStrategyStack> +<iteration> +<strategy /> +</iteration> +</iterationStrategyStack> +</processor> +<processor> +<name>String_constant</name> +<inputPorts /> +<outputPorts> +<port> +<name>value</name> +<depth>0</depth> +<granularDepth>0</granularDepth> +</port> +</outputPorts> +<annotations /> +<activities> +<activity> +<raven> +<group>net.sf.taverna.t2.activities</group> +<artifact>stringconstant-activity</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class> +<inputMap /> +<outputMap> +<map from="value" to="value" /> +</outputMap> +<configBean encoding="xstream"> +<net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns=""> + <value>Add your own value here</value> +</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean> +</configBean> +<annotations /> +</activity> +</activities> +<dispatchStack> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns=""> + <maxJobs>1</maxJobs> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class> +<configBean encoding="xstream"> +<net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns=""> + <backoffFactor>1.0</backoffFactor> + <initialDelay>1000</initialDelay> + <maxDelay>5000</maxDelay> + <maxRetries>0</maxRetries> +</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig> +</configBean> +</dispatchLayer> +<dispatchLayer> +<raven> +<group>net.sf.taverna.t2.core</group> +<artifact>workflowmodel-impl</artifact> +<version>1.0</version> +</raven> +<class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class> +<configBean encoding="xstream"> +<null xmlns="" /> +</configBean> +</dispatchLayer> +</dispatchStack> +<iterationStrategyStack> +<iteration> +<strategy /> +</iteration> +</iterationStrategyStack> +</processor> +</processors> +<conditions> +<condition control="Concatenate_two_strings" target="String_constant" /> +</conditions> +<datalinks> +<datalink> +<sink type="processor"> +<processor>Concatenate_two_strings</processor> +<port>string1</port> +</sink> +<source type="processor"> +<processor>string1_value</processor> +<port>value</port> +</source> +</datalink> +<datalink> +<sink type="processor"> +<processor>Concatenate_two_strings</processor> +<port>string2</port> +</sink> +<source type="dataflow"> +<port>lk</port> +</source> +</datalink> +<datalink> +<sink type="dataflow"> +<port>kk</port> +</sink> +<source type="processor"> +<processor>Concatenate_two_strings</processor> +<port>output</port> +</source> +</datalink> +<datalink> +<sink type="dataflow"> +<port>String_constant_value</port> +</sink> +<source type="processor"> +<processor>String_constant</processor> +<port>value</port> +</source> +</datalink> +</datalinks> +<annotations /> +</dataflow> +</workflow> \ No newline at end of file