You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by re...@apache.org on 2015/03/23 17:38:04 UTC

[20/51] [partial] incubator-taverna-engine git commit:

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/Job.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/Job.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/Job.java
deleted file mode 100644
index 1ce96a3..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/Job.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.activity;
-
-import java.util.Map;
-
-import net.sf.taverna.t2.invocation.InvocationContext;
-import net.sf.taverna.t2.invocation.IterationInternalEvent;
-import net.sf.taverna.t2.invocation.ProcessIdentifierException;
-import net.sf.taverna.t2.reference.T2Reference;
-
-/**
- * Contains a (possibly partial) job description. A job is the smallest entity
- * that can be enacted by the invocation layer of the dispatch stack within a
- * processor. Jobs are partial jobs if the set of keys in the data map is not
- * identical to the set of named input ports on the processor within which the
- * job is used. These objects are used internally within the processor to stage
- * data during iteration and within the dispatch stack, they do not appear
- * within the workflow itself.
- * 
- * @author Tom Oinn
- */
-public class Job extends IterationInternalEvent<Job> {
-	private Map<String, T2Reference> dataMap;
-
-	/**
-	 * Push the index array onto the owning process name and return the new Job
-	 * object. Does not modify this object, the method creates a new Job with
-	 * the modified index array and owning process
-	 * 
-	 * @return
-	 */
-	@Override
-	public Job pushIndex() {
-		return new Job(getPushedOwningProcess(), new int[] {}, dataMap, context);
-	}
-
-	/**
-	 * Pull the index array previous pushed to the owning process name and
-	 * prepend it to the current index array
-	 */
-	@Override
-	public Job popIndex() {
-		return new Job(owner.substring(0, owner.lastIndexOf(':')),
-				getPoppedIndex(), dataMap, context);
-	}
-
-	/**
-	 * The actual data carried by this (partial) Job object is in the form of a
-	 * map, where the keys of the map are Strings identifying the named input
-	 * and the values are Strings containing valid data identifiers within the
-	 * context of a visible DataManager object (see CloudOne specification for
-	 * further information on the DataManager system)
-	 * 
-	 * @return Map of name to data reference for this Job
-	 */
-	public Map<String, T2Reference> getData() {
-		return this.dataMap;
-	}
-
-	/**
-	 * Create a new Job object with the specified owning process (colon
-	 * separated 'list' of process identifiers), index array and data map
-	 * 
-	 * @param owner
-	 * @param index
-	 * @param data
-	 */
-	public Job(String owner, int[] index, Map<String, T2Reference> data,
-			InvocationContext context) {
-		super(owner, index, context);
-		this.dataMap = data;
-	}
-
-	/**
-	 * Show the owner, index array and data map in textual form for debugging
-	 * and any other purpose. Jobs appear in the form :
-	 * 
-	 * <pre>
-	 * Job(Process1)[2,0]{Input2=dataID4,Input1=dataID3}
-	 * </pre>
-	 */
-	@Override
-	public String toString() {
-		StringBuilder sb = new StringBuilder();
-		sb.append("Job(").append(owner).append(")[");
-		String sep = "";
-		for (int i : index) {
-			sb.append(sep).append(i);
-			sep = ",";
-		}
-		sb.append("]{");
-		sep = "";
-		for (String key : dataMap.keySet()) {
-			sb.append(sep).append(key).append("=").append(dataMap.get(key));
-			sep = ",";
-		}
-		sb.append("}");
-		return sb.toString();
-	}
-
-	@Override
-	public Job popOwningProcess() throws ProcessIdentifierException {
-		return new Job(popOwner(), index, dataMap, context);
-	}
-
-	@Override
-	public Job pushOwningProcess(String localProcessName)
-			throws ProcessIdentifierException {
-		return new Job(pushOwner(localProcessName), index, dataMap, context);
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/LockedNestedDataflow.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/LockedNestedDataflow.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/LockedNestedDataflow.java
deleted file mode 100644
index d215a5b..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/LockedNestedDataflow.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package net.sf.taverna.t2.workflowmodel.processor.activity;
-
-/**
- * A LockedNestedDataflow is intended to be unchangeable. It is normally defined
- * elsewhere to the workflow.
- * 
- * @author alanrw
- */
-public interface LockedNestedDataflow extends NestedDataflow {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/MonitorableAsynchronousActivity.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/MonitorableAsynchronousActivity.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/MonitorableAsynchronousActivity.java
deleted file mode 100644
index 3b87776..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/MonitorableAsynchronousActivity.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.activity;
-
-import java.util.Map;
-import java.util.Set;
-
-import net.sf.taverna.t2.monitor.MonitorableProperty;
-import net.sf.taverna.t2.reference.T2Reference;
-
-/**
- * An extension of AsynchronousActivity with the additional stipulation that
- * implementing classes must return a set of monitorable properties for the
- * activity invocation instance when invoked. This allows for deep state
- * management, where the monitor state extends out from the workflow engine into
- * the remote resources themselves and is dependant on the resource proxied by
- * the activity implementation providing this information.
- * 
- * @author Tom Oinn
- */
-public interface MonitorableAsynchronousActivity<ConfigType> extends
-		AsynchronousActivity<ConfigType> {
-	/**
-	 * This has the same invocation semantics as
-	 * {@link AsynchronousActivity}<code>.executeAsynch</code> and all
-	 * implementations should also implement that method, with the difference
-	 * that this one returns immediately with a set of monitorable properties
-	 * which represent monitorable or steerable state within the invocation
-	 * itself.
-	 * 
-	 * @param data
-	 * @param callback
-	 * @return a set of monitorable properties representing internal state of
-	 *         the invoked resource
-	 */
-	Set<MonitorableProperty<?>> executeAsynchWithMonitoring(
-			Map<String, T2Reference> data, AsynchronousActivityCallback callback);
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/NestedDataflow.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/NestedDataflow.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/NestedDataflow.java
deleted file mode 100644
index c37cb3f..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/NestedDataflow.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- *
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.activity;
-
-import net.sf.taverna.t2.workflowmodel.Dataflow;
-
-/**
- * Nested workflows/dataflows can come in many shapes and sizes - in-line, url
- * etc. However, they are all {@link Dataflow}s. Implement this in any
- * implementation of a Nested dataflow
- * 
- * @author Ian Dunlop
- */
-public interface NestedDataflow {
-	Dataflow getNestedDataflow();
-
-	void setNestedDataflow(Dataflow dataflow);
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/NestedDataflowSource.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/NestedDataflowSource.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/NestedDataflowSource.java
deleted file mode 100644
index d901af2..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/NestedDataflowSource.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * 
- */
-package net.sf.taverna.t2.workflowmodel.processor.activity;
-
-import net.sf.taverna.t2.workflowmodel.Dataflow;
-
-/**
- * @author alanrw
- */
-public interface NestedDataflowSource<T extends NestedDataflow> {
-	T getNestedDataflow();
-
-	Dataflow getParentDataflow();
-
-	@Override
-	String toString();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/NonExecutableActivity.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/NonExecutableActivity.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/NonExecutableActivity.java
deleted file mode 100644
index c0ab452..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/NonExecutableActivity.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.workflowmodel.processor.activity;
-
-import java.util.Map;
-
-import net.sf.taverna.t2.reference.T2Reference;
-
-/**
- * A non-executable activity is a wrapper for an Activity that cannot be
- * executed, for example because it is offline or unrecognized.
- * 
- * @author alanrw
- */
-public abstract class NonExecutableActivity<T> extends
-		AbstractAsynchronousActivity<T> {
-	public static final String URI = "http://ns.taverna.org.uk/2010/activity/nonExecutable";
-
-	/**
-	 * It is not possible to create a "naked" NonExecutableActivity.
-	 */
-	protected NonExecutableActivity() {
-		super();
-	}
-
-	/**
-	 * Add an input to the NonExecutableActivity with the specified name.
-	 * 
-	 * @param portName
-	 */
-	public void addProxyInput(String portName) {
-		super.addInput(portName, 0, true, null, null);
-	}
-
-	/**
-	 * Add an input to the NonExecutableActivity with the specified name and
-	 * depth.
-	 * 
-	 * @param portName
-	 * @param depth
-	 */
-	public void addProxyInput(String portName, int depth) {
-		super.addInput(portName, depth, true, null, null);
-	}
-
-	/**
-	 * Add an output to the NonExecutableActivity with the specified name
-	 * 
-	 * @param portName
-	 */
-	public void addProxyOutput(String portName) {
-		super.addOutput(portName, 0);
-	}
-
-	/**
-	 * Add an output to the NonExecutableActivity with the specified name and
-	 * depth
-	 * 
-	 * @param portName
-	 * @param depth
-	 */
-	public void addProxyOutput(String portName, int depth) {
-		super.addOutput(portName, depth);
-	}
-
-	/**
-	 * Attempting to run a NonExecutableActivity will always fail.
-	 */
-	@Override
-	public void executeAsynch(Map<String, T2Reference> data,
-			final AsynchronousActivityCallback callback) {
-		callback.requestRun(new Runnable() {
-			@Override
-			public void run() {
-				callback.fail("The service is not executable");
-			}
-		});
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/SupersededActivity.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/SupersededActivity.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/SupersededActivity.java
deleted file mode 100644
index 727298b..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/SupersededActivity.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * 
- */
-package net.sf.taverna.t2.workflowmodel.processor.activity;
-
-/**
- * 
- * A superseded activity is one which has been replaced be another activity type
- * of similar functionality but different configuration and name
- * 
- * @author alanrw
- */
-public interface SupersededActivity<ConfigurationType> extends
-		Activity<ConfigurationType> {
-	Activity<?> getReplacementActivity() throws ActivityConfigurationException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/UnrecognizedActivity.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/UnrecognizedActivity.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/UnrecognizedActivity.java
deleted file mode 100644
index be2465a..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/UnrecognizedActivity.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.workflowmodel.processor.activity;
-
-import org.jdom.Element;
-
-/**
- * An unrecognized activity is an activity that was not recognized when the
- * workflow was opened.
- * 
- * @author alanrw
- */
-public final class UnrecognizedActivity extends NonExecutableActivity<Element> {
-	public static final String URI = "http://ns.taverna.org.uk/2010/activity/unrecognized";
-
-	private Element conf;
-
-	/**
-	 * It is not possible to create a "naked" UnrecognizedActivity.
-	 */
-	private UnrecognizedActivity() {
-		super();
-	}
-
-	public UnrecognizedActivity(Element config)
-			throws ActivityConfigurationException {
-		this();
-		this.configure(config);
-	}
-
-	@Override
-	public void configure(Element conf) throws ActivityConfigurationException {
-		this.conf = conf;
-	}
-
-	@Override
-	public Element getConfiguration() {
-		return conf;
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityInputPortDefinitionBean.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityInputPortDefinitionBean.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityInputPortDefinitionBean.java
deleted file mode 100644
index 7dd4c05..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityInputPortDefinitionBean.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.activity.config;
-
-import java.util.Collections;
-import java.util.List;
-
-import net.sf.taverna.t2.reference.ExternalReferenceSPI;
-import net.sf.taverna.t2.workflowmodel.processor.config.ConfigurationBean;
-
-/**
- * A bean that describes properties of an Input port.
- * 
- * @author Stuart Owen
- * @author Stian Soiland-Reyes
- */
-@ConfigurationBean(uri = "http://ns.taverna.org.uk/2010/scufl2#InputPortDefinition")
-public class ActivityInputPortDefinitionBean extends ActivityPortDefinitionBean {
-	private List<Class<? extends ExternalReferenceSPI>> handledReferenceSchemes;
-	private Class<?> translatedElementType;
-	private boolean allowsLiteralValues;
-
-	public List<Class<? extends ExternalReferenceSPI>> getHandledReferenceSchemes() {
-		if (handledReferenceSchemes == null)
-			return Collections.emptyList();
-		return handledReferenceSchemes;
-	}
-
-	public void setHandledReferenceSchemes(
-			List<Class<? extends ExternalReferenceSPI>> handledReferenceSchemes) {
-		this.handledReferenceSchemes = handledReferenceSchemes;
-	}
-
-	public Class<?> getTranslatedElementType() {
-		return translatedElementType;
-	}
-
-	public void setTranslatedElementType(Class<?> translatedElementType) {
-		this.translatedElementType = translatedElementType;
-	}
-
-	public boolean getAllowsLiteralValues() {
-		return allowsLiteralValues;
-	}
-
-	public void setAllowsLiteralValues(boolean allowsLiteralValues) {
-		this.allowsLiteralValues = allowsLiteralValues;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityOutputPortDefinitionBean.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityOutputPortDefinitionBean.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityOutputPortDefinitionBean.java
deleted file mode 100644
index 55bda31..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityOutputPortDefinitionBean.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.activity.config;
-
-import net.sf.taverna.t2.workflowmodel.OutputPort;
-import net.sf.taverna.t2.workflowmodel.processor.config.ConfigurationBean;
-
-/**
- * A bean that describes properties of an Output port.
- * 
- * @author Stuart Owen
- */
-@ConfigurationBean(uri = "http://ns.taverna.org.uk/2010/scufl2#OutputPortDefinition")
-public class ActivityOutputPortDefinitionBean extends ActivityPortDefinitionBean {
-	private int granularDepth;
-
-	/**
-	 * @return the granular depth of the port
-	 * @see OutputPort#getGranularDepth()
-	 */
-	public int getGranularDepth() {
-		return granularDepth;
-	}
-
-	/**
-	 * @param granularDepth the granular depth of the port
-	 */
-	public void setGranularDepth(int granularDepth) {
-		this.granularDepth = granularDepth;
-	}	
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityPortDefinitionBean.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityPortDefinitionBean.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityPortDefinitionBean.java
deleted file mode 100644
index 05d991f..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityPortDefinitionBean.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.activity.config;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-
-import net.sf.taverna.t2.workflowmodel.processor.config.ConfigurationBean;
-import net.sf.taverna.t2.workflowmodel.processor.config.ConfigurationProperty;
-
-/**
- * A generic bean that describes the shared properties of input and output
- * ports.
- * 
- * @author Stuart Owen
- * 
- */
-@ConfigurationBean(uri = "http://ns.taverna.org.uk/2010/scufl2#PortDefinition")
-public abstract class ActivityPortDefinitionBean {
-	private String name;
-	private int depth;
-	private List<String> mimeTypes;
-
-	/**
-	 * @return the port name
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * @param name
-	 *            the port name
-	 */
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	/**
-	 * @return the depth of the port
-	 */
-	public int getDepth() {
-		return depth;
-	}
-
-	/**
-	 * @param depth
-	 *            the depth of the port
-	 */
-	public void setDepth(int depth) {
-		this.depth = depth;
-	}
-
-	/**
-	 * @return a list a MIME types that describe the port
-	 */
-	public List<String> getMimeTypes() {
-		if (mimeTypes == null)
-			return Collections.emptyList();
-		return mimeTypes;
-	}
-
-	/**
-	 * @param mimeTypes
-	 *            the list of MIME-types that describe the port
-	 */
-	public void setMimeTypes(List<String> mimeTypes) {
-		this.mimeTypes = mimeTypes;
-	}
-
-	/**
-	 * @param mimeTypes
-	 *            the list of MIME-types that describe the port
-	 */
-	@ConfigurationProperty(name = "expectedMimeType", label = "Mime Types", description = "The MIME-types that describe the port", required = false)
-	public void setMimeTypes(Set<URI> mimeTypes) {
-		this.mimeTypes = new ArrayList<>();
-		for (URI uri : mimeTypes)
-			this.mimeTypes.add("'"
-					+ URI.create("http://purl.org/NET/mediatypes/").relativize(
-							uri) + "'");
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityPortsDefinitionBean.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityPortsDefinitionBean.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityPortsDefinitionBean.java
deleted file mode 100644
index 211a759..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/ActivityPortsDefinitionBean.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.activity.config;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import net.sf.taverna.t2.workflowmodel.processor.activity.Activity;
-import net.sf.taverna.t2.workflowmodel.processor.config.ConfigurationBean;
-import net.sf.taverna.t2.workflowmodel.processor.config.ConfigurationProperty;
-
-/**
- * <p>
- * Defines a configuration type that relates directly to an {@link Activity} and
- * in particular defines details its input and output ports.<br>
- * An Activity that has its ports implicitly defined may define a ConfigType
- * that extends this class, but this is not enforced.
- * </p>
- * 
- * @author Stuart Owen
- */
-@ConfigurationBean(uri = "http://ns.taverna.org.uk/2010/scufl2#ActivityPortsDefinition")
-public class ActivityPortsDefinitionBean {
-	private List<ActivityInputPortDefinitionBean> inputs = new ArrayList<>();
-	private List<ActivityOutputPortDefinitionBean> outputs = new ArrayList<>();
-
-	/**
-	 * @return a list of {@link ActivityInputPortDefinitionBean} that describes
-	 *         each input port
-	 */
-	public List<ActivityInputPortDefinitionBean> getInputPortDefinitions() {
-		return inputs;
-	}
-
-	/**
-	 * @return a list of {@link ActivityOutputPortDefinitionBean} that describes
-	 *         each output port.
-	 */
-	public List<ActivityOutputPortDefinitionBean> getOutputPortDefinitions() {
-		return outputs;
-	}
-
-	/**
-	 * @param portDefinitions
-	 *            a list of {@link ActivityInputPortDefinitionBean} that
-	 *            describes each input port
-	 */
-	@ConfigurationProperty(name = "inputPortDefinition", label = "Input Ports", description = "", required = false, ordering = ConfigurationProperty.OrderPolicy.NON_ORDERED)
-	public void setInputPortDefinitions(
-			List<ActivityInputPortDefinitionBean> portDefinitions) {
-		inputs = portDefinitions;
-	}
-
-	/**
-	 * @param portDefinitions
-	 *            a list of {@link ActivityOutputPortDefinitionBean} that
-	 *            describes each output port
-	 */
-	@ConfigurationProperty(name = "outputPortDefinition", label = "Output Ports", description = "", required = false, ordering = ConfigurationProperty.OrderPolicy.NON_ORDERED)
-	public void setOutputPortDefinitions(
-			List<ActivityOutputPortDefinitionBean> portDefinitions) {
-		outputs = portDefinitions;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/package.html
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/package.html b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/package.html
deleted file mode 100644
index fa104d7..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/config/package.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<body>
-A set of helper classes to aid in defining how Activities are configured.
-An Activity class is associated with a ConfigurationType, which is an arbitrary Java object defining
-how the Activity should be configured.<br>
-This package provides classes and interfaces that help in creating these ConfigurationTypes with details that are common
-across different Activities, but there use is in no way enforced.
-</body>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/package.html
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/package.html b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/package.html
deleted file mode 100644
index 72a9076..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/activity/package.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<body>
-Provides definitions for a single Activity to be contained within a
-Processor. Activity was previously called 'Service' but this was
-somewhat misleading as there wasn't always a service backing it. The
-Activity may be abstract, it may be synchronous or asynchronous in which
-case it uses a callback mechanism. It doesn't carry around annotation
-itself instead using an activity annotation container to handle this
-(this avoids third parties having to manage annotation containment
-themselves).
-</body>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/config/ConfigurationBean.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/config/ConfigurationBean.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/config/ConfigurationBean.java
deleted file mode 100644
index ff0e589..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/config/ConfigurationBean.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package net.sf.taverna.t2.workflowmodel.processor.config;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-public @interface ConfigurationBean {
-	String uri();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/config/ConfigurationProperty.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/config/ConfigurationProperty.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/config/ConfigurationProperty.java
deleted file mode 100644
index f952991..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/config/ConfigurationProperty.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package net.sf.taverna.t2.workflowmodel.processor.config;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.METHOD)
-public @interface ConfigurationProperty {
-	// TODO document this
-	String name();
-
-	String label() default "";
-
-	String description() default "";
-
-	boolean required() default true;
-
-	OrderPolicy ordering() default OrderPolicy.DEFAULT;
-
-	enum OrderPolicy {
-		DEFAULT, NON_ORDERED
-	}
-
-	String uri() default "";
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/AbstractDispatchLayer.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/AbstractDispatchLayer.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/AbstractDispatchLayer.java
deleted file mode 100644
index fc07e75..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/AbstractDispatchLayer.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.dispatch;
-
-import java.util.Timer;
-
-import net.sf.taverna.t2.workflowmodel.Processor;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchCompletionEvent;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchErrorEvent;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchJobEvent;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchJobQueueEvent;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchResultEvent;
-
-/**
- * Convenience abstract implementation of DispatchLayer
- * 
- * @author Tom Oinn
- */
-public abstract class AbstractDispatchLayer<ConfigurationType> implements
-		DispatchLayer<ConfigurationType> {
-	protected static Timer cleanupTimer = new Timer(
-			"Dispatch stack state cleanup", true);
-	protected static final int CLEANUP_DELAY_MS = 1000;
-
-	@Override
-	public void setDispatchStack(DispatchStack parentStack) {
-		this.dispatchStack = parentStack;
-	}
-
-	protected DispatchStack dispatchStack;
-
-	protected final DispatchLayer<?> getAbove() {
-		return dispatchStack.layerAbove(this);
-	}
-
-	protected final DispatchLayer<?> getBelow() {
-		return dispatchStack.layerBelow(this);
-	}
-
-	@Override
-	public void receiveError(DispatchErrorEvent errorEvent) {
-		DispatchLayer<?> above = dispatchStack.layerAbove(this);
-		if (above != null)
-			above.receiveError(errorEvent);
-	}
-
-	@Override
-	public void receiveJob(DispatchJobEvent jobEvent) {
-		DispatchLayer<?> below = dispatchStack.layerBelow(this);
-		if (below != null)
-			below.receiveJob(jobEvent);
-	}
-
-	@Override
-	public void receiveJobQueue(DispatchJobQueueEvent jobQueueEvent) {
-		DispatchLayer<?> below = dispatchStack.layerBelow(this);
-		if (below != null)
-			below.receiveJobQueue(jobQueueEvent);
-	}
-
-	@Override
-	public void receiveResult(DispatchResultEvent resultEvent) {
-		DispatchLayer<?> above = dispatchStack.layerAbove(this);
-		if (above != null)
-			above.receiveResult(resultEvent);
-	}
-
-	@Override
-	public void receiveResultCompletion(DispatchCompletionEvent completionEvent) {
-		DispatchLayer<?> above = dispatchStack.layerAbove(this);
-		if (above != null)
-			above.receiveResultCompletion(completionEvent);
-	}
-
-	@Override
-	public void finishedWith(String owningProcess) {
-		// Do nothing by default
-	}
-
-	public Processor getProcessor() {
-		if (dispatchStack == null)
-			return null;
-		return dispatchStack.getProcessor();
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/AbstractErrorHandlerLayer.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/AbstractErrorHandlerLayer.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/AbstractErrorHandlerLayer.java
deleted file mode 100644
index 3f180c1..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/AbstractErrorHandlerLayer.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.dispatch;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.log4j.Logger;
-
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchCompletionEvent;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchErrorEvent;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchJobEvent;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchResultEvent;
-
-/**
- * Superclass of error handling dispatch layers (for example retry and
- * failover). Provides generic functionality required by this class of layers.
- * 
- * @author Tom Oinn
- * @author Stian Soiland-Reyes
- */
-public abstract class AbstractErrorHandlerLayer<ConfigurationType> extends
-		AbstractDispatchLayer<ConfigurationType> {
-	private static Logger logger = Logger
-			.getLogger(AbstractErrorHandlerLayer.class);
-
-	/**
-	 * Compare two arrays of ints, return true if they are the same length and
-	 * if at every index the two integer values are equal
-	 * 
-	 * @param a
-	 * @param b
-	 * @return
-	 */
-	private static boolean identicalIndex(int[] a, int[] b) {
-		if (a.length != b.length)
-			return false;
-		for (int i = 0; i < a.length; i++)
-			if (a[i] != b[i])
-				return false;
-		return true;
-	}
-
-	/**
-	 * Map of process name -> list of state models. Note that all access to this
-	 * map must be synchronized on the stateMap, and access to the lists inside
-	 * it must be synchronized on the list.
-	 * 
-	 * @see #addJobToStateList(DispatchJobEvent)
-	 * @see #removeJob(String, JobState)
-	 * @see #getJobsDefault(String)
-	 * @see #getJobsCopy(String)
-	 */
-	private Map<String, List<JobState>> stateMap = new HashMap<>();
-
-	protected AbstractErrorHandlerLayer() {
-		super();
-	}
-
-	/**
-	 * Clear cached state for the specified process when notified by the
-	 * dispatch stack
-	 */
-	@Override
-	public void finishedWith(String owningProcess) {
-		synchronized (stateMap) {
-			stateMap.remove(owningProcess);
-		}
-	}
-
-	/**
-	 * If an error occurs we can either handle the error or send it to the layer
-	 * above for further processing.
-	 */
-	@Override
-	public void receiveError(DispatchErrorEvent errorEvent) {
-		String owningProcess = errorEvent.getOwningProcess();
-		for (JobState rs : getJobsCopy(owningProcess))
-			if (identicalIndex(rs.jobEvent.getIndex(), errorEvent.getIndex())) {
-				boolean handled = rs.handleError();
-				if (!handled) {
-					removeJob(owningProcess, rs);
-					getAbove().receiveError(errorEvent);
-					return;
-				}
-			}
-	}
-
-	/**
-	 * Receive a job from the layer above, store it for later retries and pass
-	 * it down to the next layer
-	 */
-	@Override
-	public void receiveJob(DispatchJobEvent jobEvent) {
-		addJobToStateList(jobEvent);
-		getBelow().receiveJob(jobEvent);
-	}
-
-	/**
-	 * If we see a result with an index matching one of those in the current
-	 * retry state we can safely forget that state object
-	 */
-	@Override
-	public void receiveResult(DispatchResultEvent j) {
-		forget(j.getOwningProcess(), j.getIndex());
-		getAbove().receiveResult(j);
-	}
-
-	/**
-	 * If we see a completion event with an index matching one of those in the
-	 * current retry state we can safely forget that state object
-	 */
-	@Override
-	public void receiveResultCompletion(DispatchCompletionEvent c) {
-		forget(c.getOwningProcess(), c.getIndex());
-		getAbove().receiveResultCompletion(c);
-	}
-
-	/**
-	 * Remove the specified pending retry job from the cache
-	 * 
-	 * @param owningProcess
-	 *            Owning process identifier as returned by
-	 *            {@link DispatchJobEvent#getOwningProcess()}
-	 * @param index
-	 *            Index of the job as returned by
-	 *            {@link DispatchJobEvent#getIndex()}
-	 */
-	protected void forget(String owningProcess, int[] index) {
-		for (JobState jobState : getJobsCopy(owningProcess))
-			if (identicalIndex(jobState.jobEvent.getIndex(), index)) {
-				removeJob(owningProcess, jobState);
-				return;
-			}
-		// It could be due to pipelining activities like BioMart 
-		logger.debug("Could not forget " + owningProcess + " " + Arrays.toString(index));
-	}
-
-	protected void addJobToStateList(DispatchJobEvent jobEvent) {
-		List<JobState> stateList = null;
-		stateList = getJobsDefault(jobEvent.getOwningProcess());
-		synchronized (stateList) {
-			stateList.add(getStateObject(jobEvent));
-		}
-	}
-
-	/**
-	 * Get a copy of the list of {@link JobState}s for the owning process, or an
-	 * empty list if the owning process is unknown or have been
-	 * {@link #forget(String, int[]) forgotten}.
-	 * <p>
-	 * This list can safely be iterated over without synchronizing. If you need
-	 * to modify the list, either synchronize over the returned list from
-	 * {@link #getJobsDefault(String)} or use
-	 * {@link #removeJob(String, JobState)}.
-	 * 
-	 * @param owningProcess
-	 *            Owning process identifier as returned by
-	 *            {@link DispatchJobEvent#getOwningProcess()}
-	 * @return A copy of the list of known JobState {@link JobState}s for the
-	 *         owning process,
-	 */
-	protected List<JobState> getJobsCopy(String owningProcess) {
-		List<JobState> activeJobs;
-		synchronized (stateMap) {
-			activeJobs = stateMap.get(owningProcess);
-		}
-		if (activeJobs == null) {
-			logger.warn("Could not find any active jobs for " + owningProcess);
-			return Collections.emptyList();
-		}
-		// Take a copy of the list so we don't modify it while iterating over it
-		List<JobState> activeJobsCopy;
-		synchronized (activeJobs) {
-			activeJobsCopy = new ArrayList<>(activeJobs);
-		}
-		return activeJobsCopy;
-	}
-
-	/**
-	 * Get the list of {@link JobState}s for the owning process, creating and
-	 * adding it to the state map if necessary.
-	 * <p>
-	 * Note that all access to the returned list must be synchronized on the
-	 * list to avoid threading issues.
-	 * <p>
-	 * If you are going to iterate over the list, use
-	 * {@link #getJobsCopy(String)} instead.
-	 * 
-	 * @see #getJobsCopy(String)
-	 * @param owningProcess
-	 *            Owning process identifier as returned by
-	 *            {@link DispatchJobEvent#getOwningProcess()}
-	 * 
-	 * @return List of {@link JobState}s for the owning process
-	 */
-	protected List<JobState> getJobsDefault(String owningProcess) {
-		List<JobState> stateList;
-		synchronized (stateMap) {
-			stateList = stateMap.get(owningProcess);
-			if (stateList == null) {
-				stateList = new ArrayList<>();
-				stateMap.put(owningProcess, stateList);
-			}
-		}
-		return stateList;
-	}
-
-	/**
-	 * Generate an appropriate state object from the specified job event. The
-	 * state object is a concrete subclass of JobState.
-	 * 
-	 * @return
-	 */
-	protected abstract JobState getStateObject(DispatchJobEvent jobEvent);
-
-	protected void removeJob(String owningProcess, JobState jobState) {
-		List<JobState> activeJobs;
-		synchronized (stateMap) {
-			activeJobs = stateMap.get(owningProcess);
-		}
-		if (activeJobs == null) {
-			logger.error("Could not find active jobs for " + owningProcess);
-			return;
-		}
-		synchronized (activeJobs) {
-			activeJobs.remove(jobState);
-		}
-	}
-
-	/**
-	 * Abstract superclass of all state models for pending failure handlers.
-	 * This object is responsible for handling failure messages if they occur
-	 * and represents the current state of the failure handling algorithm on a
-	 * per job basis.
-	 * 
-	 * @author Tom Oinn
-	 */
-	protected abstract class JobState {
-		protected DispatchJobEvent jobEvent;
-
-		protected JobState(DispatchJobEvent jobEvent) {
-			this.jobEvent = jobEvent;
-		}
-
-		/**
-		 * Called when the layer below pushes an error up and where the error
-		 * index and owning process matches that of this state object. The
-		 * implementation must deal with the error, either by handling it and
-		 * pushing a new job down the stack or by rejecting it. If this method
-		 * returns false the error has not been dealt with and MUST be pushed up
-		 * the stack by the active dispatch layer. In this case the layer will
-		 * be a subclass of AbstractErrorHandlerLayer and the logic to do this
-		 * is already included in the receive methods for results, errors and
-		 * completion events.
-		 * 
-		 * @return true if the error was handled.
-		 */
-		public abstract boolean handleError();
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/DispatchLayer.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/DispatchLayer.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/DispatchLayer.java
deleted file mode 100644
index ed21907..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/DispatchLayer.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.dispatch;
-
-import net.sf.taverna.t2.workflowmodel.Configurable;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchCompletionEvent;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchErrorEvent;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchJobEvent;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchJobQueueEvent;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.events.DispatchResultEvent;
-
-/**
- * Layers within the dispatch stack define a control flow to handle dispatch of
- * jobs from a queue (generated by the iteration system) to appropriate
- * activities.
- * <p>
- * A dispatch layer can receive a reference to the Queue and a set of
- * Activities, or a single Job and a set of Activities from the layer above it
- * (or from the DispatchStackImpl object itself if this is the top layer). It
- * can receive errors, results and partial or total completion events from the
- * layer immediately below it.
- * <p>
- * To assist in graphical representation of the dispatch configuration each
- * layer declares for each class of message whether it intercepts and alters,
- * intercepts and observes or ignores (forwards) the message onto the next layer
- * (either up or down depending on the message) and whether the layer is capable
- * of instigating the creation of each class of message.
- * 
- * @author Tom Oinn
- */
-public interface DispatchLayer<ConfigurationType> extends
-		Configurable<ConfigurationType> {
-	/**
-	 * Receive a pointer to the job queue along with a set of activities, this
-	 * is received from the layer above in the dispatch stack or from the
-	 * DispatchStackImpl object itself if this is the top layer.
-	 */
-	void receiveJobQueue(DispatchJobQueueEvent queueEvent);
-
-	/**
-	 * Receive a single job and associated set of activities from the layer
-	 * above
-	 */
-	void receiveJob(DispatchJobEvent jobEvent);
-
-	/**
-	 * Receive a single error reference from the layer below
-	 */
-	void receiveError(DispatchErrorEvent errorEvent);
-
-	/**
-	 * Receive a result from the layer below
-	 */
-	void receiveResult(DispatchResultEvent resultEvent);
-
-	/**
-	 * Receive a (possibly partial) completion event from the layer below. This
-	 * is only going to be used when the activities invocation is capable of
-	 * streaming partial data back up through the dispatch stack before the
-	 * activities has completed. Not all dispatch stack layers are compatible
-	 * with this mode of operation, for example retry and recursion do not play
-	 * well here!
-	 */
-	void receiveResultCompletion(DispatchCompletionEvent completionEvent);
-
-	/**
-	 * Called when there will be no more events with the specified process
-	 * identifier, can be used to purge cached state from layers within the
-	 * stack
-	 */
-	void finishedWith(String owningProcess);
-
-	/**
-	 * Set the parent dispatch stack of this layer, this is called when a layer
-	 * is added to the dispatch stack and can be safely ignored by end users of
-	 * this API
-	 */
-	void setDispatchStack(DispatchStack stack);
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/DispatchLayerFactory.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/DispatchLayerFactory.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/DispatchLayerFactory.java
deleted file mode 100644
index 8515bb8..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/DispatchLayerFactory.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2011 The University of Manchester
- *
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- *
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.dispatch;
-
-import java.net.URI;
-import java.util.Set;
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-/**
- * Factory for creating {@link DispatchLayer} instances.
- * 
- * @author David Withers
- */
-public interface DispatchLayerFactory {
-	/**
-	 * Creates a new {@link DispatchLayer} instance.
-	 * 
-	 * @param dispatchLayerType
-	 *            the type of the {@link DispatchLayer}
-	 * @return a new <code>DispatchLayer</code> instance
-	 */
-	DispatchLayer<?> createDispatchLayer(URI dispatchLayerType);
-
-	/**
-	 * Returns the types of the {@link DispatchLayer}s that this factory
-	 * can create.
-	 * 
-	 * @return the types of the {@link DispatchLayer}s that this factory
-	 *         can create
-	 */
-	Set<URI> getDispatchLayerTypes();
-
-	/**
-	 * Returns the JSON Schema for the configuration required by the
-	 * {@link DispatchLayer}.
-	 * 
-	 * @param dispatchLayerType
-	 *            the type of the {@link DispatchLayer}
-	 * @return the JSON Schema for the configuration required by the
-	 *         {@link DispatchLayer}
-	 */
-	JsonNode getDispatchLayerConfigurationSchema(URI dispatchLayerType);
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/DispatchStack.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/DispatchStack.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/DispatchStack.java
deleted file mode 100644
index cb933c6..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/DispatchStack.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.dispatch;
-
-import static net.sf.taverna.t2.annotation.HierarchyRole.CHILD;
-import static net.sf.taverna.t2.annotation.HierarchyRole.PARENT;
-
-import java.util.List;
-
-import net.sf.taverna.t2.annotation.Annotated;
-import net.sf.taverna.t2.annotation.HierarchyTraversal;
-import net.sf.taverna.t2.monitor.MonitorableProperty;
-import net.sf.taverna.t2.workflowmodel.Processor;
-import net.sf.taverna.t2.workflowmodel.WorkflowItem;
-
-/**
- * The dispatch stack is responsible for consuming a queue of jobs from the
- * iteration strategy and dispatching those jobs through a stack based control
- * flow to an appropriate invocation target. Conceptually the queue and
- * description of activities enter the stack at the top, travel down to an
- * invocation layer at the bottom from which results, errors and completion
- * events rise back up to the top layer. Dispatch stack layers are stored as an
- * ordered list with index 0 being the top of the stack.
- * 
- * @author Tom Oinn
- */
-public interface DispatchStack extends Annotated<DispatchStack>, WorkflowItem {
-	/**
-	 * The DispatchStack consists of an ordered list of DispatchLayer instances
-	 * where the DispatchLayer at index zero is at the bottom of the stack and
-	 * is almost always an invocation layer of some kind (in any working
-	 * dispatch stack configuration)
-	 * 
-	 */
-	@HierarchyTraversal(hierarchies = { "workflowStructure" }, role = { CHILD })
-	List<DispatchLayer<?>> getLayers();
-
-	/**
-	 * The dispatch stack is contained within a processor, this can be null if
-	 * the stack is being used out of this context but layers may be relying on
-	 * this link to get information about the processor input ports and their
-	 * annotations for various reasons.
-	 */
-	@HierarchyTraversal(hierarchies = { "workflowStructure" }, role = { PARENT })
-	Processor getProcessor();
-
-	/**
-	 * Return the layer above (lower index!) the specified layer, or a reference
-	 * to the internal top layer dispatch layer if there is no layer above the
-	 * specified one. Remember - input data and activities go down, results,
-	 * errors and completion events bubble back up the dispatch stack.
-	 * <p>
-	 * The top layer within the dispatch stack is always invisible and is held
-	 * within the DispatchStackImpl object itself, being used to route data out
-	 * of the entire stack
-	 * 
-	 * @param layer
-	 * @return
-	 */
-	DispatchLayer<?> layerAbove(DispatchLayer<?> layer);
-
-	/**
-	 * Return the layer below (higher index) the specified layer, or null if
-	 * there is no layer below this one.
-	 * 
-	 * @param layer
-	 * @return
-	 */
-	DispatchLayer<?> layerBelow(DispatchLayer<?> layer);
-
-	/**
-	 * The dispatch stack acts as an aggregator for monitorable properties
-	 * exposed by the dispatch layers. This is distinct from layers which are
-	 * capable of rewriting the process idenfitier of tokens - these require
-	 * their own nodes in the monitor in addition to any contributed properties.
-	 * 
-	 * @param prop
-	 * @param processID
-	 */
-	void receiveMonitorableProperty(MonitorableProperty<?> prop,
-			String processID);
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/NotifiableLayer.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/NotifiableLayer.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/NotifiableLayer.java
deleted file mode 100644
index e78dfda..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/NotifiableLayer.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.dispatch;
-
-import net.sf.taverna.t2.invocation.Completion;
-import net.sf.taverna.t2.workflowmodel.processor.activity.Job;
-
-/**
- * If a layer requires notification of the arrival of new items to the event
- * queues within the dispatcher it should implement this interface.
- * 
- * @author Tom Oinn
- */
-public interface NotifiableLayer {
-	/**
-	 * Called when a new {@link Job} or {@link Completion} is added to a queue
-	 * within the dispatch stack
-	 * 
-	 * @param owningProcess
-	 */
-	void eventAdded(String owningProcess);
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/PropertyContributingDispatchLayer.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/PropertyContributingDispatchLayer.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/PropertyContributingDispatchLayer.java
deleted file mode 100644
index 02f8802..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/PropertyContributingDispatchLayer.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.dispatch;
-
-/**
- * Used by dispatch layers which can contribute property information to their
- * parent processor instance. This is distinct from dispatch layers which modify
- * the process identifier and therefore create their own nodes in the monitor
- * tree, although there's no reason a layer can't perform both functions. For
- * example, the fault tolerance layers create their own state subtrees for each
- * failure recovery but could also contribute aggregate fault information to the
- * parent processor's property set.
- * 
- * @author Tom Oinn
- * 
- * @param <ConfigType>
- *            configuration type for the dispatch layer
- */
-public interface PropertyContributingDispatchLayer<ConfigType> extends
-		DispatchLayer<ConfigType> {
-	/**
-	 * Inject properties for the specified owning process into the parent
-	 * dispatch stack. At some point prior to this call being made the
-	 * setDispatchStack will have been called, implementations of this method
-	 * need to use this DispatchStack reference to push properties in with the
-	 * specified key.
-	 * <p>
-	 * Threading - this thread must not fork, do all the work in this method in
-	 * the thread you're given by the caller. This is because implementations
-	 * may assume that they can collect properties from the dispatch stack
-	 * implementation (which will expose them through a private access method to
-	 * prevent arbitrary access to layer properties) once this call has
-	 * returned.
-	 * <p>
-	 * There is no guarantee that the layer will have seen an event with the
-	 * specified process, and in fact it's unlikely to in the general case as
-	 * any layers above it are free to modify the process identifier of tokens
-	 * as they go. Remember that this method is for aggregating properties into
-	 * the top level (processor) view so you may need to implement the property
-	 * getters such that they check prefixes of identifiers rather than
-	 * equality.
-	 * 
-	 * @param owningProcess
-	 */
-	void injectPropertiesFor(String owningProcess);
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerErrorReaction.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerErrorReaction.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerErrorReaction.java
deleted file mode 100644
index cfa020b..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerErrorReaction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.dispatch.description;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Describes how a dispatch layer reacts to an error message
- * 
- * @author Tom Oinn
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-@Documented
-@ReactionTo(messageType = DispatchMessageType.ERROR)
-public @interface DispatchLayerErrorReaction {
-	public DispatchLayerStateEffect[] stateEffects();
-
-	public DispatchMessageType[] emits();
-
-	public boolean relaysUnmodified();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerJobQueueReaction.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerJobQueueReaction.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerJobQueueReaction.java
deleted file mode 100644
index 19aa9fa..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerJobQueueReaction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.dispatch.description;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Describes how a dispatch layer reacts to a Job Queue message
- * 
- * @author Tom Oinn
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-@Documented
-@ReactionTo(messageType = DispatchMessageType.JOB_QUEUE)
-public @interface DispatchLayerJobQueueReaction {
-
-	public DispatchLayerStateEffect[] stateEffects();
-
-	public DispatchMessageType[] emits();
-
-	public boolean relaysUnmodified();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerJobReaction.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerJobReaction.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerJobReaction.java
deleted file mode 100644
index ec550cc..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerJobReaction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.dispatch.description;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Describes how a dispatch layer reacts to a Job message
- * 
- * @author Tom Oinn
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-@Documented
-@ReactionTo(messageType = DispatchMessageType.JOB)
-public @interface DispatchLayerJobReaction {
-	public DispatchLayerStateEffect[] stateEffects();
-
-	public DispatchMessageType[] emits();
-	
-	public boolean relaysUnmodified();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerResultCompletionReaction.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerResultCompletionReaction.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerResultCompletionReaction.java
deleted file mode 100644
index edb22cf..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerResultCompletionReaction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.dispatch.description;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Describes how a dispatch layer reacts to a result completion message
- * 
- * @author Tom Oinn
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-@Documented
-@ReactionTo(messageType = DispatchMessageType.RESULT_COMPLETION)
-public @interface DispatchLayerResultCompletionReaction {
-	public DispatchLayerStateEffect[] stateEffects();
-
-	public DispatchMessageType[] emits();
-
-	public boolean relaysUnmodified();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerResultReaction.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerResultReaction.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerResultReaction.java
deleted file mode 100644
index a051331..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerResultReaction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.dispatch.description;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Describes how a dispatch layer responds to a result message
- * 
- * @author Tom Oinn
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-@Documented
-@ReactionTo(messageType = DispatchMessageType.RESULT)
-public @interface DispatchLayerResultReaction {
-	public DispatchLayerStateEffect[] stateEffects();
-
-	public DispatchMessageType[] emits();
-
-	public boolean relaysUnmodified();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerStateEffect.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerStateEffect.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerStateEffect.java
deleted file mode 100644
index 5a3b7aa..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/processor/dispatch/description/DispatchLayerStateEffect.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workflowmodel.processor.dispatch.description;
-
-/**
- * Describes the effect of a message on the state of a dispatch layer, used by
- * DispatchLayerReaction. If no message causes any of these actions the layer
- * can be described as state free.
- * 
- * @author Tom Oinn
- */
-public enum DispatchLayerStateEffect {
-	/**
-	 * The message causes a state object within the dispatch layer to be created
-	 * keyed on the process identifier and index
-	 */
-	CREATE_LOCAL_STATE,
-
-	/**
-	 * The message causes the removal of a state object within the dispatch
-	 * layer, the layer to be removed is keyed on process identifier and index
-	 * of the message
-	 */
-	REMOVE_LOCAL_STATE,
-
-	/**
-	 * The message causes the modification of a previously stored state object
-	 * within the dispatch layer, the state object modified is keyed on process
-	 * identifier and index of the message.
-	 */
-	UPDATE_LOCAL_STATE,
-
-	/**
-	 * The message causes a state object within the dispatch layer to be created
-	 * keyed only on the process identifier and not on the index of the message.
-	 */
-	CREATE_PROCESS_STATE,
-
-	/**
-	 * The message causes a state object to be removed from the dispatch layer,
-	 * the state object is identified only by the process identifier
-	 */
-	REMOVE_PROCESS_STATE,
-
-	/**
-	 * The message causes a state object to be modified, the state object is
-	 * identified by process identifier only
-	 */
-	UPDATE_PROCESS_STATE,
-
-	/**
-	 * The message causes global level state to be modified within the dispatch
-	 * layer
-	 */
-	UPDATE_GLOBAL_STATE,
-
-	/**
-	 * The message has no effect on state. This value is used when specifying
-	 * that a message might cause effect or it might not, the interpretation of
-	 * the various reaction annotations is that exactly one of the state effects
-	 * will take place, so if the state side effect array isn't empty you have
-	 * to insert this one to specify that it's possible that no state change
-	 * will occur
-	 */
-	NO_EFFECT;
-}