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;
-}