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 2015/02/17 21:40:05 UTC

[14/51] [partial] incubator-taverna-language git commit: temporarily empty repository

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/DataflowActivityParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/DataflowActivityParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/DataflowActivityParser.java
deleted file mode 100644
index aaadeab..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/DataflowActivityParser.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultactivities;
-/*
- *
- * 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.apache.taverna.scufl2.api.core.Workflow.WORKFLOW_ROOT;
-import static org.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-
-import java.net.URI;
-
-import org.apache.taverna.scufl2.api.common.URITools;
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.DataflowConfig;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class DataflowActivityParser extends AbstractActivityParser {
-	private URITools uriTools = new URITools();
-	private static URI activityRavenURI = ravenURI
-			.resolve("net.sf.taverna.t2.activities/dataflow-activity/");
-	private static String activityClassName = "net.sf.taverna.t2.activities.dataflow.DataflowActivity";
-	public static URI nestedUri = URI
-			.create("http://ns.taverna.org.uk/2010/activity/nested-workflow");
-
-	@Override
-	public boolean canHandlePlugin(URI activityURI) {
-		String activityUriStr = activityURI.toASCIIString();
-		return activityUriStr.startsWith(activityRavenURI.toASCIIString())
-				&& activityUriStr.endsWith(activityClassName);
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return nestedUri;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState) throws ReaderException {
-		DataflowConfig dataflowConfig = unmarshallConfig(t2FlowParser,
-				configBean, "dataflow", DataflowConfig.class);
-		Configuration configuration = new Configuration();
-		configuration.setType(nestedUri.resolve("#Config"));		
-
-		String wfId = dataflowConfig.getRef();
-		URI wfUri = WORKFLOW_ROOT.resolve(wfId + "/");
-		Workflow wf = (Workflow) getUriTools().resolveUri(wfUri, parserState.getCurrentWorkflowBundle());		
-		if (wf == null)
-	        throw new ReaderException("Can't find nested workflow with id " + wfId);
-		ObjectNode json = configuration.getJsonAsObjectNode();
-		json.put("nestedWorkflow", wf.getName());
-		return configuration;
-	}
-
-	public void setUriTools(URITools uriTools) {
-		this.uriTools = uriTools;
-	}
-
-	public URITools getUriTools() {
-		return uriTools;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/InteractionActivityParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/InteractionActivityParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/InteractionActivityParser.java
deleted file mode 100644
index 73a3a22..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/InteractionActivityParser.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultactivities;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-
-import java.net.URI;
-
-import org.apache.taverna.scufl2.api.activity.Activity;
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ActivityPortDefinitionBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.InteractionConfig;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class InteractionActivityParser extends AbstractActivityParser {
-	private static final URI activityRavenURI = ravenURI
-			.resolve("net.sf.taverna.t2.activities/interaction-activity/");
-	private static final String activityClassName = "net.sf.taverna.t2.activities.interaction.InteractionActivity";
-	public static final URI ACTIVITY_URI = URI
-			.create("http://ns.taverna.org.uk/2010/activity/interaction");
-
-	@Override
-	public boolean canHandlePlugin(URI activityURI) {
-		String activityUriStr = activityURI.toASCIIString();
-		return activityUriStr.startsWith(activityRavenURI.toASCIIString())
-				&& activityUriStr.endsWith(activityClassName);
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return ACTIVITY_URI;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState)
-			throws ReaderException {
-		InteractionConfig interactionConfig = unmarshallConfig(t2FlowParser,
-				configBean, "xstream", InteractionConfig.class);
-
-		Configuration configuration = new Configuration();
-		configuration.setParent(parserState.getCurrentProfile());
-
-		ObjectNode json = (ObjectNode) configuration.getJson();
-		configuration.setType(ACTIVITY_URI.resolve("#Config"));
-		
-		String presentationOrigin = interactionConfig.getPresentationOrigin();
-		json.put("presentationOrigin", presentationOrigin);
-		
-		String interactionActivityType = interactionConfig.getInteractionActivityType();
-		json.put("interactionActivityType", interactionActivityType);
-		
-		boolean progressNotification = interactionConfig.getProgressNotification();
-		json.put("progressNotification", progressNotification);
-		
-		Activity activity = parserState.getCurrentActivity();
-		activity.getInputPorts().clear();
-		activity.getOutputPorts().clear();
-		for (ActivityPortDefinitionBean portBean : interactionConfig
-				.getInputs()
-				.getNetSfTavernaT2WorkflowmodelProcessorActivityConfigActivityInputPortDefinitionBean())
-			parseAndAddInputPortDefinition(portBean, configuration, activity);
-		for (ActivityPortDefinitionBean portBean : interactionConfig
-				.getOutputs()
-				.getNetSfTavernaT2WorkflowmodelProcessorActivityConfigActivityOutputPortDefinitionBean())
-			parseAndAddOutputPortDefinition(portBean, configuration, activity);
-		return configuration;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/RshellActivityParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/RshellActivityParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/RshellActivityParser.java
deleted file mode 100644
index e9808eb..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/RshellActivityParser.java
+++ /dev/null
@@ -1,215 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultactivities;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.taverna.scufl2.api.activity.Activity;
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ActivityPortDefinitionBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.RShellConfig;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.RShellConnection;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.RShellSymanticType;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.RShellSymanticType.RShellPortSymanticTypeBean;
-
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class RshellActivityParser extends AbstractActivityParser {
-	/*
-	 * A lovely artifact of xstream 'efficiency' - Xpath backpointers to
-	 * previous elements. luckily we are here restricted within this specific
-	 * config bean
-	 * 
-	 * Example:
-	 * ../../net.sf.taverna.t2.activities.rshell.RShellPortSymanticTypeBean
-	 * [3]/symanticType
-	 * ../../../inputSymanticTypes/net.sf.taverna.t2.activities.
-	 * rshell.RShellPortSymanticTypeBean[2]/symanticType
-	 */
-	Pattern strangeXpath = Pattern
-			.compile("[./]+/(inputSymanticTypes)?.*TypeBean(\\[(\\d+)\\])?/symanticType$");
-
-	private static final URI activityRavenURI = ravenURI
-			.resolve("net.sf.taverna.t2.activities/rshell-activity/");
-	private static final String activityClassName = "net.sf.taverna.t2.activities.rshell.RshellActivity";
-	public static final URI ACTIVITY_URI = URI
-			.create("http://ns.taverna.org.uk/2010/activity/rshell");
-
-	@Override
-	public boolean canHandlePlugin(URI activityURI) {
-		String activityUriStr = activityURI.toASCIIString();
-		return activityUriStr.startsWith(activityRavenURI.toASCIIString())
-				&& activityUriStr.endsWith(activityClassName);
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return ACTIVITY_URI;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState) throws ReaderException {
-		RShellConfig rshellConfig = unmarshallConfig(t2FlowParser, configBean,
-				"xstream", RShellConfig.class);
-
-		Configuration configuration = new Configuration();
-		configuration.setParent(parserState.getCurrentProfile());
-
-		ObjectNode json = (ObjectNode) configuration.getJson();
-		configuration.setType(ACTIVITY_URI.resolve("#Config"));
-
-		// Basic properties
-		String script = rshellConfig.getScript();
-		json.put("script", script);
-//		if (rshellConfig.getRVersion() != null) {
-//            json.put("rVersion", rshellConfig.getRVersion());
-//		}
-
-		// Connection
-		ObjectNode connection = json.objectNode();
-		json.put("connection", connection);
-        RShellConnection conn = rshellConfig.getConnectionSettings();
-        connection.put("hostname", conn.getHost());
-        json.put("port", conn.getPort());
-
-		// ignored - Taverna 2.3+ uses credential manager
-		// connection.put("username", conn.getUsername());
-		// connection.put("password", conn.getPassword());
-        
-        connection.put("keepSessionAlive", conn.isKeepSessionAlive());
-
-		// ignoooooored - we won't support the legacy ones anymore
-		// if (rshellConfig.getConnectionSettings().isNewRVersion() == null || !
-		// rshellConfig.getConnectionSettings().isNewRVersion()) {
-		// connection.put("legacy", true);
-		// }
-
-		// Activity ports
-		Activity activity = parserState.getCurrentActivity();
-		activity.getInputPorts().clear();
-		activity.getOutputPorts().clear();
-		
-		for (ActivityPortDefinitionBean portBean : rshellConfig
-				.getInputs()
-				.getNetSfTavernaT2WorkflowmodelProcessorActivityConfigActivityInputPortDefinitionBean())
-			parseAndAddInputPortDefinition(portBean, configuration, activity);
-		for (ActivityPortDefinitionBean portBean : rshellConfig
-				.getOutputs()
-				.getNetSfTavernaT2WorkflowmodelProcessorActivityConfigActivityOutputPortDefinitionBean())
-			parseAndAddOutputPortDefinition(portBean, configuration, activity);
-		
-		RShellSymanticType inputSymanticTypes = rshellConfig
-				.getInputSymanticTypes();
-		List<String> foundInputTypes = new ArrayList<>();
-
-		ArrayNode inputPorts = json.arrayNode();
-		json.put("inputTypes", inputPorts);
-		for (RShellPortSymanticTypeBean symanticType : inputSymanticTypes
-				.getNetSfTavernaT2ActivitiesRshellRShellPortSymanticTypeBean()) {
-            ObjectNode port = json.objectNode();
-			port.put("port", symanticType.getName());
-			String dataType = symanticType.getSymanticType().getValue(); 
-			String reference = symanticType.getSymanticType().getReference();
-			if (reference != null) {
-				Matcher matcher = strangeXpath.matcher(reference);
-				if (matcher == null || !matcher.matches())
-					throw new ReaderException(
-							"Unhandled xstream xpath expression: " + reference);
-				String position = matcher.group(3);
-				if (position == null)
-					position = "1";
-				dataType = foundInputTypes.get(Integer.parseInt(position) - 1);
-			}
-			
-			foundInputTypes.add(dataType);
-			// Even if it's null - so the index is correct
-
-			if (dataType != null)
-			    port.put("dataType", dataType);
-		}
-		/*
-		 * FIXME: Avoid this repetition. Would require a fair bit of parser
-		 * state...
-		 */
-		RShellSymanticType outputSymanticTypes = rshellConfig
-				.getOutputSymanticTypes();
-		List<String> foundOutputTypes = new ArrayList<>();
-        ArrayNode outputPorts = json.arrayNode();
-        json.put("outputTypes", outputPorts);
-
-		for (RShellPortSymanticTypeBean symanticType : outputSymanticTypes
-				.getNetSfTavernaT2ActivitiesRshellRShellPortSymanticTypeBean()) {
-            ObjectNode port = json.objectNode();
-            port.put("port", symanticType.getName());
-
-			String dataType = symanticType.getSymanticType().getValue();
-			String reference = symanticType.getSymanticType().getReference();
-			if (reference != null) {
-				/*
-				 * A lovely artifact of xstream 'efficiency' - Xpath
-				 * backpointers to previous elements. luckily we are here
-				 * restricted within this specific config bean.
-				 *
-				 * Example:
-				 * ../../net.sf.taverna.t2.activities.rshell.RShellPortSymanticTypeBean[3]/symanticType
-				 * ../../../inputSymanticTypes/net.sf.taverna.t2.activities.rshell.RShellPortSymanticTypeBean[2]/symanticType
-				 */
-
-				Matcher matcher = strangeXpath.matcher(reference);
-				if (matcher == null || !matcher.matches())
-					throw new ReaderException(
-							"Unhandled xstream xpath expression: " + reference);
-
-				boolean isInputSymantic = matcher.group(1) != null;
-				String position = matcher.group(3);
-				if (position == null)
-					position = "1";
-				if (isInputSymantic)
-					dataType = foundInputTypes
-							.get(Integer.parseInt(position) - 1);
-				else
-					dataType = foundOutputTypes
-							.get(Integer.parseInt(position) - 1);
-			}
-
-			foundOutputTypes.add(dataType);
-			// Even if it's null - so the index is correct
-
-			if (dataType != null)
-                port.put("dataType", dataType);
-		}
-		return configuration;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/SoaplabActivityParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/SoaplabActivityParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/SoaplabActivityParser.java
deleted file mode 100644
index b5ce171..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/SoaplabActivityParser.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultactivities;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-
-import java.math.BigInteger;
-import java.net.URI;
-
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.SoaplabConfig;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class SoaplabActivityParser extends AbstractActivityParser {
-	private static final URI activityRavenURI = ravenURI
-			.resolve("net.sf.taverna.t2.activities/soaplab-activity/");
-	private static final String activityClassName = "net.sf.taverna.t2.activities.soaplab.SoaplabActivity";
-	public static final URI scufl2Uri = URI
-			.create("http://ns.taverna.org.uk/2010/activity/soaplab");
-
-	@Override
-	public boolean canHandlePlugin(URI activityURI) {
-		String activityUriStr = activityURI.toASCIIString();
-		return activityUriStr.startsWith(activityRavenURI.toASCIIString())
-				&& activityUriStr.endsWith(activityClassName);
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return scufl2Uri;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState)
-			throws ReaderException {
-		SoaplabConfig soaplabConfig = unmarshallConfig(t2FlowParser,
-				configBean, "xstream", SoaplabConfig.class);
-
-		Configuration configuration = new Configuration();
-		configuration.setParent(parserState.getCurrentProfile());
-
-		ObjectNode json = (ObjectNode) configuration.getJson();
-		configuration.setType(scufl2Uri.resolve("#Config"));
-
-		String endpoint = soaplabConfig.getEndpoint();
-		if (endpoint == null || endpoint.isEmpty())
-			throw new ReaderException("Soablab config has no endpoint set");
-		json.put("endpoint", endpoint);
-
-		double pollingBackoff = soaplabConfig.getPollingBackoff();
-		json.put("pollingBackoff", pollingBackoff);
-
-		BigInteger pollingInterval = soaplabConfig.getPollingInterval();
-		if (pollingInterval != null)
-            json.put("pollingInterval", pollingInterval.intValue());
-
-		BigInteger pollingIntervalMax = soaplabConfig.getPollingIntervalMax();
-		if (pollingIntervalMax != null)
-            json.put("pollingIntervalMax", pollingIntervalMax.intValue());
-
-		return configuration;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/SpreadsheetActivityParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/SpreadsheetActivityParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/SpreadsheetActivityParser.java
deleted file mode 100644
index e860171..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/SpreadsheetActivityParser.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultactivities;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-
-import java.net.URI;
-
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.SpreadsheetColumnNameEntry;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.SpreadsheetImportConfig;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.SpreadsheetRange;
-
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class SpreadsheetActivityParser extends AbstractActivityParser {
-	private static final URI activityRavenURI = ravenURI
-			.resolve("net.sf.taverna.t2.activities/spreadsheet-import-activity/");
-	private static final String activityClassName = "net.sf.taverna.t2.activities.spreadsheet.SpreadsheetImportActivity";
-	public static final URI ACTIVITY_URI = URI
-			.create("http://ns.taverna.org.uk/2010/activity/spreadsheet-import");
-	public static final URI RANGE_URI = URI
-			.create("http://ns.taverna.org.uk/2010/activity/spreadsheet-import/Range");
-	public static final URI MAPPING_URI = URI
-			.create("http://ns.taverna.org.uk/2010/activity/spreadsheet-import/Mapping");
-
-	@Override
-	public boolean canHandlePlugin(URI activityURI) {
-		String activityUriStr = activityURI.toASCIIString();
-		return activityUriStr.startsWith(activityRavenURI.toASCIIString())
-				&& activityUriStr.endsWith(activityClassName);
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return ACTIVITY_URI;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser, ConfigBean configBean,
-			ParserState parserState) throws ReaderException {
-		SpreadsheetImportConfig config = unmarshallConfig(t2FlowParser, configBean, "xstream",
-				SpreadsheetImportConfig.class);
-
-		Configuration configuration = new Configuration();
-		configuration.setParent(parserState.getCurrentProfile());
-
-		ObjectNode json = (ObjectNode) configuration.getJson();
-		configuration.setType(ACTIVITY_URI.resolve("#Config"));
-
-		ObjectNode columnRange = json.objectNode();
-		json.put("columnRange", columnRange);
-		makeRange(config.getColumnRange(), columnRange);
-
-		ObjectNode rowRange = json.objectNode();
-        json.put("rowRange", rowRange);
-        makeRange(config.getRowRange(), rowRange);
-
-		if (config.getEmptyCellValue() != null)
-		    json.put("emptyCellValue", config.getEmptyCellValue());
-		
-		ArrayNode columnNames = json.arrayNode();
-        if (config.getColumnNames() != null && config.getColumnNames().getEntry() != null) {
-    		for (SpreadsheetColumnNameEntry entry : config.getColumnNames().getEntry()) {
-    		    ObjectNode mapping = json.objectNode();
-    		    columnNames.add(mapping);
-                mapping.put("column", entry.getString().get(0));
-                mapping.put("port", entry.getString().get(1));
-    		}
-    		if (columnNames.size() > 0)
-    		    json.put("columnNames", columnNames);
-        }
-		
-		json.put("allRows", config.isAllRows());
-		json.put("excludeFirstRow", config.isExcludeFirstRow());
-		json.put("ignoreBlankRows", config.isIgnoreBlankRows());
-		if (config.getEmptyCellPolicy() != null)
-			json.put("emptyCellPolicy", config.getEmptyCellPolicy().value());
-		if (config.getOutputFormat() != null)
-			json.put("outputFormat", config.getOutputFormat().value());
-		if (config.getCsvDelimiter() != null)
-			json.put("csvDelimiter", config.getCsvDelimiter());
-
-		return configuration;
-	}
-
-	private void makeRange(SpreadsheetRange range, ObjectNode rangeJson) {
-		rangeJson.put("start", range.getStart().longValue());
-        rangeJson.put("end", range.getEnd().longValue());
-        
-        ArrayNode excludes = rangeJson.arrayNode();
-		for (SpreadsheetRange excludesRange : range.getExcludes().getExclude()) {
-			ObjectNode exclude = rangeJson.objectNode();
-			makeRange(excludesRange, exclude);
-		    excludes.add(exclude);
-		}
-		if (excludes.size() > 0)
-		    rangeJson.put("excludes", excludes);
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/StringConstantActivityParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/StringConstantActivityParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/StringConstantActivityParser.java
deleted file mode 100644
index cb77ef8..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/StringConstantActivityParser.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultactivities;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-
-import java.net.URI;
-
-import org.apache.taverna.scufl2.api.activity.Activity;
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.api.port.OutputActivityPort;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.StringConstantConfig;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class StringConstantActivityParser extends AbstractActivityParser {
-	private static final String VALUE = "value";
-	private static final URI activityRavenURI = ravenURI
-			.resolve("net.sf.taverna.t2.activities/stringconstant-activity/");
-	private static final String activityClassName = "net.sf.taverna.t2.activities.stringconstant.StringConstantActivity";
-	public static final URI CONSTANT = URI
-			.create("http://ns.taverna.org.uk/2010/activity/constant");
-
-	@Override
-	public boolean canHandlePlugin(URI activityURI) {
-		String activityUriStr = activityURI.toASCIIString();
-		return activityUriStr.startsWith(activityRavenURI.toASCIIString())
-				&& activityUriStr.endsWith(activityClassName);
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return CONSTANT;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState) throws ReaderException {
-		StringConstantConfig strConfig = unmarshallConfig(t2FlowParser,
-				configBean, "xstream", StringConstantConfig.class);
-		String value = strConfig.getValue();
-		if (value == null)
-			throw new ReaderException("String constant configuration has no value set");
-		Configuration configuration = new Configuration();
-		ObjectNode json = (ObjectNode) configuration.getJson();
-		configuration.setType(CONSTANT.resolve("#Config"));
-		json.put("string", value);
-		
-		Activity activity = parserState.getCurrentActivity();
-		OutputActivityPort valuePort = new OutputActivityPort(activity, VALUE);
-		valuePort.setDepth(0);
-		valuePort.setGranularDepth(0);
-		return configuration;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/WSDLActivityParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/WSDLActivityParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/WSDLActivityParser.java
deleted file mode 100644
index ffb6537..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/WSDLActivityParser.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultactivities;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-
-import java.net.URI;
-
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.WSDLConfig;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class WSDLActivityParser extends AbstractActivityParser {
-	private static final URI wsdlActivityRavenURI = ravenURI
-			.resolve("net.sf.taverna.t2.activities/wsdl-activity/");
-	private static final String wsdlActivityClassName = "net.sf.taverna.t2.activities.wsdl.WSDLActivity";
-	public static final URI WSDL = URI
-			.create("http://ns.taverna.org.uk/2010/activity/wsdl");
-	public static final URI SECURITY = WSDL.resolve("wsdl/security");
-	public static final URI OPERATION = WSDL.resolve("wsdl/operation");
-
-	@Override
-	public boolean canHandlePlugin(URI activityURI) {
-		String activityUriStr = activityURI.toASCIIString();
-		if (!activityUriStr.startsWith(wsdlActivityRavenURI.toASCIIString()))
-			return false;
-		if (activityUriStr.endsWith(wsdlActivityClassName))
-			return true;
-		return false;
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return WSDL;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState)
-			throws ReaderException {
-		WSDLConfig wsdlConfig = unmarshallConfig(t2FlowParser, configBean,
-				"xstream", WSDLConfig.class);
-
-		Configuration configuration = new Configuration();
-		configuration.setType(WSDL.resolve("#Config"));
-
-		URI wsdl;
-		try {
-			wsdl = URI.create(wsdlConfig.getWsdl());
-			if (!wsdl.isAbsolute())
-				throw new ReaderException("WSDL URI is not absolute: "
-						+ wsdlConfig.getWsdl());
-		} catch (IllegalArgumentException ex) {
-			throw new ReaderException("WSDL not a valid URI: "
-					+ wsdlConfig.getWsdl());
-		} catch (NullPointerException ex) {
-			throw new ReaderException("WSDL config has no wsdl set");
-		}
-		String operation = wsdlConfig.getOperation();
-		if (operation == null || operation.equals(""))
-			throw new ReaderException("WSDL config has no operation set");
-
-		ObjectNode json = (ObjectNode) configuration.getJson();
-
-		ObjectNode wsdlOperation = json.objectNode();
-		json.put("operation", wsdlOperation);
-
-		wsdlOperation.put("wsdl", wsdl.toString());
-		wsdlOperation.put("name", operation);
-
-		if (wsdlConfig.getSecurityProfile() != null
-				&& !wsdlConfig.getSecurityProfile().isEmpty()) {
-			URI securityProfileURI = SECURITY.resolve("#"
-					+ wsdlConfig.getSecurityProfile());
-			json.put("securityProfile", securityProfileURI.toString());
-		}
-		return configuration;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/WSDLXMLSplitterParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/WSDLXMLSplitterParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/WSDLXMLSplitterParser.java
deleted file mode 100644
index 2b9e64b..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultactivities/WSDLXMLSplitterParser.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultactivities;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.defaultactivities.WSDLActivityParser.WSDL;
-
-import java.net.URI;
-
-import org.apache.taverna.scufl2.api.activity.Activity;
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ActivityPortDefinitionBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.XMLSplitterConfig;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class WSDLXMLSplitterParser extends AbstractActivityParser {
-	private static final URI wsdlActivityRavenURI = T2FlowParser.ravenURI
-			.resolve("net.sf.taverna.t2.activities/wsdl-activity/");
-	private static final String inputSplitterClassName = "net.sf.taverna.t2.activities.wsdl.xmlsplitter.XMLInputSplitterActivity";
-	private static final String outputSplitterClassName = "net.sf.taverna.t2.activities.wsdl.xmlsplitter.XMLOutputSplitterActivity";
-	public static final URI SPLITTER = WSDL.resolve("xml-splitter");
-	public static final URI XML_INPUT_SPLITTER = SPLITTER
-			.resolve("xml-splitter/in");
-	public static final URI XML_OUTPUT_SPLITTER = SPLITTER
-			.resolve("xml-splitter/out");
-
-	@Override
-	public boolean canHandlePlugin(URI activityURI) {
-		String activityUriStr = activityURI.toASCIIString();
-		if (!activityUriStr.startsWith(wsdlActivityRavenURI.toASCIIString()))
-			return false;
-		return activityUriStr.endsWith(inputSplitterClassName)
-				|| activityUriStr.endsWith(outputSplitterClassName);
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		String activityUriStr = t2flowActivity.toASCIIString();
-		if (activityUriStr.endsWith(inputSplitterClassName))
-			return XML_INPUT_SPLITTER;
-		else if (activityUriStr.endsWith(outputSplitterClassName))
-			return XML_OUTPUT_SPLITTER;
-		throw new IllegalArgumentException("Unexpected URI " + t2flowActivity);
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState)
-			throws ReaderException {
-		XMLSplitterConfig splitterConfig = unmarshallConfig(t2FlowParser,
-				configBean, "xstream", XMLSplitterConfig.class);
-
-		Configuration configuration = new Configuration();
-		configuration.setParent(parserState.getCurrentProfile());
-
-		ObjectNode json = (ObjectNode) configuration.getJson();
-		configuration.setType(SPLITTER.resolve("#Config"));
-
-		String wrappedTypeXML = splitterConfig.getWrappedTypeXML();
-
-		json.put("wrappedType", wrappedTypeXML);
-
-		Activity activity = parserState.getCurrentActivity();
-		activity.getInputPorts().clear();
-		activity.getOutputPorts().clear();
-
-		for (ActivityPortDefinitionBean portBean : splitterConfig
-				.getInputs()
-				.getNetSfTavernaT2WorkflowmodelProcessorActivityConfigActivityInputPortDefinitionBean())
-			parseAndAddInputPortDefinition(portBean, configuration, activity);
-		for (ActivityPortDefinitionBean portBean : splitterConfig
-				.getOutputs()
-				.getNetSfTavernaT2WorkflowmodelProcessorActivityConfigActivityOutputPortDefinitionBean())
-			parseAndAddOutputPortDefinition(portBean, configuration, activity);
-
-		return configuration;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/ErrorBounceParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/ErrorBounceParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/ErrorBounceParser.java
deleted file mode 100644
index ef8437d..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/ErrorBounceParser.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-
-import java.net.URI;
-
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-import org.apache.taverna.scufl2.translator.t2flow.defaultactivities.AbstractActivityParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-
-public class ErrorBounceParser extends AbstractActivityParser {
-	private static final URI bouncerRavenURI = ravenURI
-			.resolve("net.sf.taverna.t2.core/workflowmodel-impl/");
-	private static final String className = "net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce";
-	public static final URI scufl2Uri = URI
-			.create("http://ns.taverna.org.uk/2010/scufl2/taverna/dispatchlayer/ErrorBounce");
-
-	@Override
-	public boolean canHandlePlugin(URI pluginURI) {
-		String uriStr = pluginURI.toASCIIString();
-		return uriStr.startsWith(bouncerRavenURI.toASCIIString())
-				&& uriStr.endsWith(className);
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return scufl2Uri;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState)
-			throws ReaderException {
-		return null; // no config!
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/FailoverParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/FailoverParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/FailoverParser.java
deleted file mode 100644
index 6ea8864..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/FailoverParser.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-
-import java.net.URI;
-
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-import org.apache.taverna.scufl2.translator.t2flow.defaultactivities.AbstractActivityParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-
-public class FailoverParser extends AbstractActivityParser {
-	private static final URI modelRavenURI = ravenURI
-			.resolve("net.sf.taverna.t2.core/workflowmodel-impl/");
-	private static final String className = "net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover";
-	public static final URI scufl2Uri = URI
-			.create("http://ns.taverna.org.uk/2010/scufl2/taverna/dispatchlayer/Failover");
-
-	@Override
-	public boolean canHandlePlugin(URI pluginURI) {
-		String uriStr = pluginURI.toASCIIString();
-		return uriStr.startsWith(modelRavenURI.toASCIIString())
-				&& uriStr.endsWith(className);
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return scufl2Uri;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState) throws ReaderException {
-		return null; // no config!
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/InvokeParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/InvokeParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/InvokeParser.java
deleted file mode 100644
index 25ae86c..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/InvokeParser.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-
-import java.net.URI;
-
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-import org.apache.taverna.scufl2.translator.t2flow.defaultactivities.AbstractActivityParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-
-public class InvokeParser extends AbstractActivityParser {
-	private static final URI modelRavenURI = ravenURI
-			.resolve("net.sf.taverna.t2.core/workflowmodel-impl/");
-	private static final String className = "net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke";
-	public static final URI scufl2Uri = URI
-			.create("http://ns.taverna.org.uk/2010/scufl2/taverna/dispatchlayer/Invoke");
-
-	@Override
-	public boolean canHandlePlugin(URI pluginURI) {
-		String uriStr = pluginURI.toASCIIString();
-		return uriStr.startsWith(modelRavenURI.toASCIIString())
-				&& uriStr.endsWith(className);
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return scufl2Uri;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState)
-			throws ReaderException {
-		return null; // no config!
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/LoopParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/LoopParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/LoopParser.java
deleted file mode 100644
index d742c82..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/LoopParser.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-
-import java.net.URI;
-
-import javax.xml.bind.JAXBException;
-
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-import org.apache.taverna.scufl2.translator.t2flow.defaultactivities.AbstractActivityParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.Activity;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.LoopConfig;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.Property;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class LoopParser extends AbstractActivityParser {
-	/**
-	 * Expose some of the useful activity/config parser methods to LoopParser
-	 * with a different parser state.
-	 * <p>
-	 * TODO: Refactor T2FlowParser to avoid the need for this 
-	 */
-	protected class ConditionalActivityParser extends T2FlowParser {
-		public ConditionalActivityParser(ParserState origState) throws JAXBException {
-			super();
-			parserState.get().setCurrentProfile(origState.getCurrentProfile());
-			parserState.get().setCurrentProcessor(origState.getCurrentProcessor());
-		}
-		@Override
-		public org.apache.taverna.scufl2.api.activity.Activity parseActivity(
-				Activity origActivity) throws ReaderException {
-			org.apache.taverna.scufl2.api.activity.Activity parsed = super.parseActivity(origActivity);
-			parserState.get().setCurrentActivity(parsed);
-			return parsed;
-		}
-		@Override
-		protected Configuration parseConfiguration(ConfigBean configBean)
-				throws JAXBException, ReaderException {
-			return super.parseConfiguration(configBean);
-		}
-	}
-
-	private static final URI modelRavenURI = ravenURI
-			.resolve("net.sf.taverna.t2.core/workflowmodel-impl/");
-	private static final String className = "net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop";
-	public static final URI scufl2Uri = URI
-			.create("http://ns.taverna.org.uk/2010/scufl2/taverna/dispatchlayer/Loop");
-
-	@Override
-	public boolean canHandlePlugin(URI pluginURI) {
-		String uriStr = pluginURI.toASCIIString();
-		return uriStr.startsWith(modelRavenURI.toASCIIString())
-				&& uriStr.endsWith(className);
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return scufl2Uri;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState)
-			throws ReaderException {
-		LoopConfig loopConfig = unmarshallConfig(t2FlowParser, configBean,
-				"xstream", LoopConfig.class);
-
-		final Configuration c = new Configuration();
-		c.setType(scufl2Uri.resolve("Config"));
-
-		ObjectNode json = (ObjectNode) c.getJson();
-
-		json.put("runFirst", loopConfig.isRunFirst());
-
-		for (Property prop : loopConfig.getProperties().getProperty())
-			json.put(prop.getName(), prop.getValue());
-		
-		String conditionXml = loopConfig.getConditionXML();	
-		if (conditionXml == null)
-		    // activity is unconfigured (bug in T2). 
-		    // Return c only if there are properties beyond "runFirst"
-			return json.size() > 1 ? c : null;
-		Activity conditionActivity = unmarshallXml(
-				parserState.getT2FlowParser(), conditionXml, Activity.class);
-		try {
-			ConditionalActivityParser internalParser = new ConditionalActivityParser(
-					parserState);
-
-			org.apache.taverna.scufl2.api.activity.Activity newActivity = internalParser
-					.parseActivity(conditionActivity);
-			String name = parserState.getCurrentProcessor().getName() + "-loop";
-			newActivity.setName(name);
-			parserState.getCurrentProfile().getActivities()
-					.addWithUniqueName(newActivity);
-			newActivity.setParent(parserState.getCurrentProfile());
-
-			Configuration newConfig = internalParser
-					.parseConfiguration(conditionActivity.getConfigBean());
-			newConfig.setName(name);
-			newConfig.setConfigures(newActivity);
-			parserState.getCurrentProfile().getConfigurations()
-					.addWithUniqueName(newConfig);
-			// URI uriActivity = uriTools.relativeUriForBean(newActivity, parserState.getCurrentProfile());
-			json.put("conditionActivity", newActivity.getName());
-		} catch (JAXBException e) {
-			throw new ReaderException("Can't parse conditional loop activity",
-					e);
-		}
-		return c;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/ParallelizeParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/ParallelizeParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/ParallelizeParser.java
deleted file mode 100644
index 977b4c9..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/ParallelizeParser.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-
-import java.math.BigInteger;
-import java.net.URI;
-
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-import org.apache.taverna.scufl2.translator.t2flow.defaultactivities.AbstractActivityParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ParallelizeConfig;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class ParallelizeParser extends AbstractActivityParser {
-
-	private static URI modelRavenURI = ravenURI
-			.resolve("net.sf.taverna.t2.core/workflowmodel-impl/");
-
-	private static String className = "net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize";
-
-	public static URI scufl2Uri = URI
-			.create("http://ns.taverna.org.uk/2010/scufl2/taverna/dispatchlayer/Parallelize");
-
-	public static class Defaults {
-		public static int maxJobs = 1;
-	}
-
-	@Override
-	public boolean canHandlePlugin(URI pluginURI) {
-		String uriStr = pluginURI.toASCIIString();
-		return uriStr.startsWith(modelRavenURI.toASCIIString())
-				&& uriStr.endsWith(className);
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return scufl2Uri;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState)
-			throws ReaderException {
-		ParallelizeConfig parallelConfig = unmarshallConfig(t2FlowParser,
-				configBean, "xstream", ParallelizeConfig.class);
-		Configuration c = new Configuration();
-		c.setType(scufl2Uri.resolve("#Config"));
-
-		BigInteger maxJobs = parallelConfig.getMaxJobs();
-		if (maxJobs != null && maxJobs.intValue() > 0
-				&& maxJobs.intValue() != Defaults.maxJobs) {
-			ObjectNode json = (ObjectNode) c.getJson();
-			json.put("maxJobs", maxJobs.intValue());
-		}
-		return c;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/RetryParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/RetryParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/RetryParser.java
deleted file mode 100644
index e1194f0..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/RetryParser.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-import static org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.RetryParser.Defaults.BACKOFF_FACTOR;
-import static org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.RetryParser.Defaults.INITIAL_DELAY;
-import static org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.RetryParser.Defaults.MAX_DELAY;
-import static org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.RetryParser.Defaults.MAX_RETRIES;
-
-import java.math.BigInteger;
-import java.net.URI;
-
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-import org.apache.taverna.scufl2.translator.t2flow.defaultactivities.AbstractActivityParser;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.RetryConfig;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class RetryParser extends AbstractActivityParser {
-	private static final URI modelRavenURI =
-		ravenURI.resolve("net.sf.taverna.t2.core/workflowmodel-impl/");
-	private static final String className = "net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry";
-	public static final URI scufl2Uri = URI
-			.create("http://ns.taverna.org.uk/2010/scufl2/taverna/dispatchlayer/Retry");
-
-	@Override
-	public boolean canHandlePlugin(URI pluginURI) {
-		String uriStr = pluginURI.toASCIIString();
-		return uriStr.startsWith(modelRavenURI.toASCIIString())
-				&& uriStr.endsWith(className);
-	}
-
-	/**
-	 * Default values - ignored for now
-	 */
-	public static final class Defaults {
-		public static final int MAX_RETRIES = 0;
-		public static final int INITIAL_DELAY = 1000;
-		public static final int MAX_DELAY = 5000;
-		public static final double BACKOFF_FACTOR = 1.0;
-	}
-	
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return scufl2Uri;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState)
-			throws ReaderException {
-		RetryConfig config = unmarshallConfig(t2FlowParser, configBean,
-				"xstream", RetryConfig.class);
-
-		Configuration c = new Configuration();
-		c.setType(scufl2Uri.resolve("#Config"));
-
-		ObjectNode json = (ObjectNode) c.getJson();
-
-		BigInteger maxRetries = config.getMaxRetries();
-		if (maxRetries != null
-				&& (maxRetries.longValue() != MAX_RETRIES || maxRetries
-						.longValue() < 0))
-			json.put("maxRetries", maxRetries.longValue());
-
-		if (maxRetries != null && maxRetries.longValue() != 0) {
-			// Neither of these makes sense if retries are disabled
-
-			if (config.getInitialDelay() != INITIAL_DELAY
-					&& config.getInitialDelay() > -1)
-				json.put("initialDelay", config.getInitialDelay());
-
-			if (config.getMaxDelay() != MAX_DELAY && config.getMaxDelay() > -1)
-				json.put("maxDelay", config.getMaxDelay());
-
-			double delta = Math.abs(config.getBackoffFactor() - BACKOFF_FACTOR);
-			if (config.getBackoffFactor() > 0 && delta > 1e-14)
-				json.put("backoffFactor", config.getBackoffFactor());
-		}
-		return c;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/t23activities/ExternalToolActivityParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/t23activities/ExternalToolActivityParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/t23activities/ExternalToolActivityParser.java
deleted file mode 100644
index 7f5aa8c..0000000
--- a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/t23activities/ExternalToolActivityParser.java
+++ /dev/null
@@ -1,522 +0,0 @@
-package org.apache.taverna.scufl2.translator.t2flow.t23activities;
-/*
- *
- * 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.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
-
-import java.net.URI;
-import java.net.URL;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.translator.t2flow.ParserState;
-import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
-import org.apache.taverna.scufl2.translator.t2flow.defaultactivities.AbstractActivityParser;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.Entry;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ExternalToolConfig;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.Group;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ScriptInputStatic;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ScriptInputUser;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.ScriptOutput;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.UsecaseConfig;
-import org.apache.taverna.scufl2.xml.t2flow.jaxb.UsecaseDescription;
-
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class ExternalToolActivityParser extends AbstractActivityParser {
-	@SuppressWarnings("unused")
-	private static final String STDOUT = "STDOUT";
-	@SuppressWarnings("unused")
-	private static final String STDIN = "STDIN";
-	@SuppressWarnings("unused")
-	private static final String STDERR = "STDERR";
-	private static final String EXTERNALTOOLACTIVITY_XSD = "/org/apache/taverna/scufl2/translator/t2flow/xsd/externaltoolactivity.xsd";
-	public static final URI CNT = URI.create("http://www.w3.org/2011/content#");
-	public static final URI CHARSET = URI
-			.create("http://www.iana.org/assignments/character-sets#");
-	// or http://www.iana.org/assignments/charset-reg/ ?
-	private static final URI usecaseActivityRavenUri = ravenURI
-			.resolve("net.sf.taverna.t2.activities/usecase-activity/");
-	private static final String usecaseActivityClass = "net.sf.taverna.t2.activities.usecase.UseCaseActivity";
-	private static final URI externalToolRavenUri = ravenURI
-			.resolve("net.sf.taverna.t2.activities/external-tool-activity/");
-	private static final String externalToolClass = "net.sf.taverna.t2.activities.externaltool.ExternalToolActivity";
-	public static final URI ACTIVITY_URI = URI
-			.create("http://ns.taverna.org.uk/2010/activity/tool");
-	public static final URI DC = URI.create("http://purl.org/dc/elements/1.1/");
-
-	@SuppressWarnings("unused")
-	private Map<URI, URI> mappedMechanismTypes = makeMappedMechanismTypes();
-
-	private Map<URI, URI> makeMappedMechanismTypes() {
-		Map<URI, URI> map = new HashMap<>();
-		map.put(ACTIVITY_URI.resolve("#789663B8-DA91-428A-9F7D-B3F3DA185FD4"),
-				ACTIVITY_URI.resolve("#local"));
-		map.put(ACTIVITY_URI.resolve("#D0A4CDEB-DD10-4A8E-A49C-8871003083D8"),
-				ACTIVITY_URI.resolve("#ssh"));
-		return map;
-	}
-
-	@Override
-	public boolean canHandlePlugin(URI activityURI) {
-		String activityUriStr = activityURI.toASCIIString();
-		if (activityUriStr.startsWith(usecaseActivityRavenUri.toASCIIString())
-				&& activityUriStr.endsWith(usecaseActivityClass))
-			return true;
-		return activityUriStr.startsWith(externalToolRavenUri.toASCIIString())
-				&& activityUriStr.endsWith(externalToolClass);
-	}
-
-	@Override
-	public List<URI> getAdditionalSchemas() {
-		URL externalToolXsd = ExternalToolActivityParser.class
-				.getResource(EXTERNALTOOLACTIVITY_XSD);
-		try {
-			return Arrays.asList(externalToolXsd.toURI());
-		} catch (Exception e) {
-			throw new IllegalStateException("Can't find external tool schema "
-					+ externalToolXsd);
-		}
-	}
-
-	@Override
-	public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
-		return ACTIVITY_URI;
-	}
-
-	@Override
-	public Configuration parseConfiguration(T2FlowParser t2FlowParser,
-			ConfigBean configBean, ParserState parserState)
-			throws ReaderException {
-		ExternalToolConfig externalToolConfig = null;
-		UsecaseConfig usecaseConfig = null;
-
-		try {
-			externalToolConfig = unmarshallConfig(t2FlowParser, configBean,
-					"xstream", ExternalToolConfig.class);
-		} catch (ReaderException ex) {
-			usecaseConfig = unmarshallConfig(t2FlowParser, configBean,
-					"xstream", UsecaseConfig.class);
-		}
-
-		Configuration configuration = new Configuration();
-		configuration.setParent(parserState.getCurrentProfile());
-		parserState.setCurrentConfiguration(configuration);
-		try {
-			ObjectNode json = configuration.getJsonAsObjectNode();
-
-			configuration.setType(ACTIVITY_URI.resolve("#Config"));
-
-			if (usecaseConfig != null) {
-				if (usecaseConfig.getRepositoryUrl() != null)
-					json.put("repositoryUrl", usecaseConfig.getRepositoryUrl());
-				json.put("toolId", usecaseConfig.getUsecaseid());
-			} else if (externalToolConfig != null) {
-				if (externalToolConfig.getRepositoryUrl() != null)
-					json.put("repositoryUrl",
-							externalToolConfig.getRepositoryUrl());
-				json.put("toolId", externalToolConfig.getExternaltoolid());
-				if (externalToolConfig.isEdited())
-					json.put("edited", externalToolConfig.isEdited());
-			}
-
-			if (externalToolConfig != null) {
-				Group group = externalToolConfig.getGroup();
-				if (group != null) {
-					ObjectNode invocationGroup = json.objectNode();
-					json.put("invocationGroup", invocationGroup);
-					invocationGroup.put("name", group.getInvocationGroupName());
-					invocationGroup.put("mechanismType",
-							group.getMechanismType());
-					invocationGroup.put("mechanismName",
-							group.getMechanismName());
-					invocationGroup
-							.put("mechanismXML", group.getMechanismXML());
-				} else {
-					json.put("mechanismType",
-							externalToolConfig.getMechanismType());
-					json.put("mechanismName",
-							externalToolConfig.getMechanismName());
-					json.put("mechanismXML",
-							externalToolConfig.getMechanismXML());
-				}
-//				URI mechanismTypeURI = ACTIVITY_URI.resolve("#"
-//						+ uriTools.validFilename(mechanismType));
-//				if (mappedMechanismTypes.containsKey(mechanismTypeURI)) {
-//					mechanismTypeURI = mappedMechanismTypes.get(mechanismTypeURI);
-//				}
-//				invocation.addPropertyReference(ACTIVITY_URI.resolve("#mechanismType"),
-//						mechanismTypeURI);
-//
-//				invocation.addPropertyAsString(ACTIVITY_URI.resolve("#mechanismName"),
-//						mechanismName);
-//				invocation.addProperty(ACTIVITY_URI.resolve("#mechanismXML"), new PropertyLiteral(
-//						mechanismXML, PropertyLiteral.XML_LITERAL));
-                
-                // TODO: Extract SSH hostname etc. from mechanismXML
-//				parseMechanismXML(json);
-
-				ObjectNode toolDescription = json.objectNode();
-				parseToolDescription(toolDescription,
-						externalToolConfig.getUseCaseDescription(), parserState);
-				json.put("toolDescription", toolDescription);
-
-//				configResource.addProperty(ACTIVITY_URI.resolve("#invocationGroup"),
-//						parseGroup(externalToolConfig.getGroup()));
-
-			}
-
-			return configuration;
-		} finally {
-			parserState.setCurrentConfiguration(null);
-		}
-	}
-
-//	private void parseMechanismXML(ObjectNode invocation) {
-//	    type = invocatoin.
-//	    
-//		URI type = invocation.getPropertyAsResourceURI(ACTIVITY_URI.resolve("#mechanismType"));
-//		if (type.equals(ACTIVITY_URI.resolve("#local"))) {
-//			Element xml = invocation.getPropertyAsLiteral(ACTIVITY_URI.resolve("#mechanismXML"))
-//					.getLiteralValueAsElement();
-//
-//			String directory = elementByTag(xml, "directory");
-//			String linkCommand = elementByTag(xml, "linkCommand");
-//			String shellPrefix = elementByTag(xml, "shellPrefix");
-//			PropertyResource node = new PropertyResource();
-//			node.setTypeURI(ACTIVITY_URI.resolve("#LocalNode"));
-//			if (directory != null) {
-//				node.addPropertyAsString(ACTIVITY_URI.resolve("#directory"), directory);
-//			}
-//			if (linkCommand != null) {
-//				node.addPropertyAsString(ACTIVITY_URI.resolve("#linkCommand"), linkCommand);
-//			}
-//			if (shellPrefix != null) {
-//				node.addPropertyAsString(ACTIVITY_URI.resolve("#shellPrefix"), shellPrefix);
-//			}
-//			if (!node.getProperties().isEmpty()) {
-//				// Only add if it is customized
-//				invocation.addProperty(ACTIVITY_URI.resolve("#node"), node);
-//			}
-//
-//			invocation.getProperties().remove(ACTIVITY_URI.resolve("#mechanismXML"));
-//		} else if (type.equals(ACTIVITY_URI.resolve("#ssh"))) {
-//			Element xml = invocation.getPropertyAsLiteral(ACTIVITY_URI.resolve("#mechanismXML"))
-//					.getLiteralValueAsElement();
-//			for (Element sshNode : elementIter(xml.getElementsByTagName("sshNode"))) {
-//				String hostname = elementByTag(sshNode, "host");
-//				String port = elementByTag(sshNode, "port");
-//				String directory = elementByTag(sshNode, "directory");
-//				String linkCommand = elementByTag(sshNode, "linkCommand");
-//				String copyCommand = elementByTag(sshNode, "copyCommand");
-//
-//				PropertyResource node = invocation.addPropertyAsNewResource(
-//						ACTIVITY_URI.resolve("#node"), ACTIVITY_URI.resolve("#SSHNode"));
-//				node.addPropertyAsString(ACTIVITY_URI.resolve("#hostname"), hostname);
-//				if (port != null) {
-//					PropertyLiteral portLit = new PropertyLiteral(port, PropertyLiteral.XSD_INT);
-//					node.addProperty(ACTIVITY_URI.resolve("#port"), portLit);
-//				}
-//				if (directory != null) {
-//					node.addPropertyAsString(ACTIVITY_URI.resolve("#directory"), directory);
-//				}
-//				if (linkCommand != null) {
-//					node.addPropertyAsString(ACTIVITY_URI.resolve("#linkCommand"), linkCommand);
-//				}
-//				if (copyCommand != null) {
-//					node.addPropertyAsString(ACTIVITY_URI.resolve("#copyCommand"), copyCommand);
-//				}
-//			}
-//			invocation.clearProperties(ACTIVITY_URI.resolve("#mechanismXML"));
-//		} else {
-//
-//		}
-//	}
-
-	@SuppressWarnings("unused")
-	private Iterable<Element> elementIter(final NodeList nodeList) {
-		return new Iterable<Element>() {
-			@Override
-			public Iterator<Element> iterator() {
-				return new Iterator<Element>() {
-					int position = 0;
-
-					@Override
-					public boolean hasNext() {
-						return nodeList.getLength() > position;
-					}
-
-					@Override
-					public Element next() {
-						return (Element) nodeList.item(position++);
-					}
-
-					@Override
-					public void remove() {
-						throw new UnsupportedOperationException();
-					}
-				};
-			}
-		};
-	}
-
-	@SuppressWarnings("unused")
-	private String elementByTag(Element el, String tagName) {
-		NodeList nodeList = el.getElementsByTagName(tagName);
-		if (nodeList.getLength() == 0)
-			return null;
-		return nodeList.item(0).getTextContent();
-	}
-
-	protected ObjectNode parseToolDescription(ObjectNode json, UsecaseDescription toolDesc,
-			ParserState parserState) {
-	    	    ObjectNode description = json.objectNode();
-	    description.put("dc:title", toolDesc.getUsecaseid());
-		if (toolDesc.getGroup() != null)
-		    description.put("group", toolDesc.getGroup());
-		if (toolDesc.getDescription() != null)
-		      description.put("dc:description", toolDesc.getDescription());
-
-		description.put("command", toolDesc.getCommand());
-
-		description.put("preparingTimeoutInSeconds",
-				toolDesc.getPreparingTimeoutInSeconds());
-		description.put("executionTimeoutInSeconds",
-				toolDesc.getExecutionTimeoutInSeconds());
-
-		// Ignoring tags, REs, queue__preferred, queue__deny
-
-        ArrayNode staticInputs = json.arrayNode();
-        // static inputs
-		for (ScriptInputStatic inputStatic : toolDesc.getStaticInputs()
-				.getDeUniLuebeckInbKnowarcUsecasesScriptInputStatic()) {
-		    ObjectNode input = json.objectNode();
-		    staticInputs.add(input);
-		    input.put("tag", inputStatic.getTag());
-		    input.put("file", inputStatic.isFile());
-            input.put("tempFile", inputStatic.isTempFile());
-            input.put("binary", inputStatic.isBinary());
-            input.put("charsetName", inputStatic.getCharsetName());
-            input.put("forceCopy", inputStatic.isForceCopy());
-			if (inputStatic.getUrl() != null)
-	            input.put("url", inputStatic.getUrl());
-			if (inputStatic.getContent() != null)
-                input.put("content", inputStatic.getContent().getValue());
-		}
-		if (staticInputs.size() > 0)
-		    json.put("staticInputs", staticInputs);
-        
-//		for (ScriptInputStatic inputStatic : toolDesc.getStaticInputs()
-//				.getDeUniLuebeckInbKnowarcUsecasesScriptInputStatic()) {
-//			String portName = inputStatic.getTag();
-//			PropertyResource staticInput = generatePortDefinition(portName, inputStatic.getTag(),
-//					inputStatic.getCharsetName(), true, false, inputStatic.isBinary(),
-//					inputStatic.isFile(), inputStatic.isTempFile(), inputStatic.isForceCopy(),
-//					false, true, parserState);
-//
-//			configResource.addProperty(ACTIVITY_URI.resolve("#staticInput"), staticInput);
-//			if (inputStatic.getUrl() != null) {
-//				staticInput.addPropertyReference(ACTIVITY_URI.resolve("#source"),
-//						URI.create(inputStatic.getUrl()));
-//			} else {
-//				PropertyResource content = staticInput.addPropertyAsNewResource(
-//						ACTIVITY_URI.resolve("#source"), CNT.resolve("#ContentAsText"));
-//				content.addPropertyAsString(CNT.resolve("#chars"), inputStatic.getContent()
-//						.getValue());
-//				// TODO: Support bytes?
-//			}
-//		}
-
-		
-		
-		// Inputs
-		ArrayNode inputs = json.arrayNode();
-        for (Entry entry : toolDesc.getInputs().getEntry()) {
-            ObjectNode mapping = json.objectNode();
-            mapping.put("port", entry.getString());
-            ObjectNode input = json.objectNode();
-            mapping.put("input", input);
-
-            ScriptInputUser scriptInput = entry
-                    .getDeUniLuebeckInbKnowarcUsecasesScriptInputUser();
-            input.put("tag", scriptInput.getTag());
-            input.put("file", scriptInput.isFile());
-            input.put("tempFile", scriptInput.isTempFile());
-            input.put("binary", scriptInput.isBinary());
-
-            input.put("charsetName", scriptInput.getCharsetName());
-            input.put("forceCopy", scriptInput.isForceCopy());
-            input.put("list", scriptInput.isList());
-            input.put("concatenate", scriptInput.isConcatenate());
-        }
-		if (inputs.size() > 0)
-		    json.put("inputs", inputs);
-//		for (Entry entry : toolDesc.getInputs().getEntry()) {
-//			String portName = entry.getString();
-//			ScriptInputUser scriptInput = entry.getDeUniLuebeckInbKnowarcUsecasesScriptInputUser();
-//			PropertyResource portDef = generatePortDefinition(portName, scriptInput.getTag(),
-//					scriptInput.getCharsetName(), true, scriptInput.isList(),
-//					scriptInput.isBinary(), scriptInput.isFile(), scriptInput.isTempFile(),
-//					scriptInput.isForceCopy(), scriptInput.isConcatenate(), false, parserState);
-//			configResource.addProperty(Scufl2Tools.PORT_DEFINITION.resolve("#inputPortDefinition"),
-//					portDef);
-//		}
-		
-		// Outputs		
-		ArrayNode outputs = json.arrayNode();
-		for (Entry entry : toolDesc.getOutputs().getEntry()) {
-			ObjectNode mapping = json.objectNode();
-			mapping.put("port", entry.getString());
-			ObjectNode output = json.objectNode();
-			mapping.put("output", output);
-
-			ScriptOutput scriptOutput = entry
-					.getDeUniLuebeckInbKnowarcUsecasesScriptOutput();
-			output.put("path", scriptOutput.getPath());
-			output.put("binary", scriptOutput.isBinary());
-		}
-		if (outputs.size() > 0)
-			json.put("outputs", outputs);
-//		for (Entry entry : toolDesc.getOutputs().getEntry()) {
-//			String portName = entry.getString();
-//			ScriptOutput scriptOutput = entry.getDeUniLuebeckInbKnowarcUsecasesScriptOutput();
-//			PropertyResource portDef = generatePortDefinition(portName, scriptOutput.getPath(),
-//					null, false, false, scriptOutput.isBinary(), true, false, false, false, false,
-//					parserState);
-//			configResource.addProperty(
-//					Scufl2Tools.PORT_DEFINITION.resolve("#outputPortDefinition"), portDef);
-        // }
-
-        json.put("includeStdIn", toolDesc.isIncludeStdIn());
-        json.put("includeStdOut", toolDesc.isIncludeStdOut());
-        json.put("includeStdErr", toolDesc.isIncludeStdErr());
-
-//		if (toolDesc.isIncludeStdIn()) {
-//			InputActivityPort stdin = new InputActivityPort(parserState.getCurrentActivity(), STDIN);
-//			stdin.setDepth(0);
-//		}
-//		if (toolDesc.isIncludeStdOut()) {
-//			OutputActivityPort stdout = new OutputActivityPort(parserState.getCurrentActivity(),
-//					STDOUT);
-//			stdout.setDepth(0);
-//			stdout.setGranularDepth(0);
-//		}
-//		if (toolDesc.isIncludeStdErr()) {
-//			OutputActivityPort stderr = new OutputActivityPort(parserState.getCurrentActivity(),
-//					STDERR);
-//			stderr.setDepth(0);
-//			stderr.setGranularDepth(0);
-//		}
-
-		return description;
-	}
-//
-//	private PropertyResource generatePortDefinition(String portName, String tag, String charSet,
-//			boolean isInput, boolean isList, boolean isBinary, boolean isFile, boolean isTempFile,
-//			boolean isForceCopy, boolean isConcatenate, boolean isStatic, ParserState parserState) {
-//
-//		ActivityPort actPort;
-//		if (isStatic) {
-//			resource.setTypeURI(ACTIVITY_URI.resolve("#StaticInput"));
-//		} else {
-//
-//			if (isInput) {
-//				resource.setTypeURI(Scufl2Tools.PORT_DEFINITION.resolve("#InputPortDefinition"));
-//				actPort = new InputActivityPort(parserState.getCurrentActivity(), portName);
-//				URI portUri = uriTools.relativeUriForBean(actPort,
-//						parserState.getCurrentConfiguration());
-//				resource.addPropertyReference(
-//						Scufl2Tools.PORT_DEFINITION.resolve("#definesInputPort"), portUri);
-//			} else {
-//				resource.setTypeURI(Scufl2Tools.PORT_DEFINITION.resolve("#OutputPortDefinition"));
-//				actPort = new OutputActivityPort(parserState.getCurrentActivity(), portName);
-//				URI portUri = uriTools.relativeUriForBean(actPort,
-//						parserState.getCurrentConfiguration());
-//				resource.addPropertyReference(
-//						Scufl2Tools.PORT_DEFINITION.resolve("#definesOutputPort"), portUri);
-//			}
-//
-//			if (isList) {
-//				actPort.setDepth(1);
-//			} else {
-//				actPort.setDepth(0);
-//			}
-//		}
-//
-//		URI dataType = PropertyLiteral.XSD_STRING;
-//		if (isFile || isTempFile) {
-//			if (isForceCopy) {
-//				resource.addProperty(ACTIVITY_URI.resolve("#forceCopy"), new PropertyLiteral(true));
-//			}
-//
-//			if (isBinary) {
-//				// FIXME: Is there a good URI for raw bytes? xsd:byte is just
-//				// one byte,
-//				// xsd:hexBinary and xsd:base64Binary both mandate an encoding
-//				dataType = Scufl2Tools.PORT_DEFINITION.resolve("#binary");
-//			} else if (charSet != null) {
-//				resource.addPropertyReference(ACTIVITY_URI.resolve("#charset"),
-//						CHARSET.resolve("#" + uriTools.validFilename(charSet)));
-//				// TODO: Check with
-//				// http://www.w3.org/International/www-international.html if
-//				// this URI scheme really make sense
-//			} else {
-//				resource.addPropertyReference(ACTIVITY_URI.resolve("#charset"),
-//						CHARSET.resolve("#UTF-8"));
-//			}
-//		}
-//		resource.addPropertyReference(Scufl2Tools.PORT_DEFINITION.resolve("#dataType"), dataType);
-//
-//		resource.addPropertyAsString(ACTIVITY_URI.resolve("#substitutes"), tag);
-//		URI subsitutionType;
-//		if (isFile) {
-//			subsitutionType = ACTIVITY_URI.resolve("#File");
-//		} else if (isTempFile) {
-//			subsitutionType = ACTIVITY_URI.resolve("#TempFile");
-//		} else {
-//			subsitutionType = ACTIVITY_URI.resolve("#Parameter");
-//		}
-//		resource.addPropertyReference(ACTIVITY_URI.resolve("#substitutionType"), subsitutionType);
-//
-//		if (isList && isConcatenate) {
-//			resource.addProperty(ACTIVITY_URI.resolve("#concatenate"), new PropertyLiteral(true));
-//		}
-//
-//		return resource;
-//	}
-
-//	protected PropertyObject parseGroup(Group group) {
-//		PropertyResource propertyResource = new PropertyResource();
-//		propertyResource.setTypeURI(ACTIVITY_URI.resolve("#InvocationGroup"));
-//		return propertyResource;
-//	}
-}