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:06 UTC

[22/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/DataflowValidationReport.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/DataflowValidationReport.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/DataflowValidationReport.java
deleted file mode 100644
index 16d4dde..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/DataflowValidationReport.java
+++ /dev/null
@@ -1,99 +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;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Contains a validation report from a dataflow validation check. Processors are
- * classified as failed, unsatisfied or valid depending on whether they directly
- * fail type validation, cannot be checked due to unsatisfied incoming links or
- * pass respectively.
- * 
- * @author Tom Oinn
- */
-public interface DataflowValidationReport {
-	/**
-	 * Overall validity - if the workflow is valid it can be run, otherwise
-	 * there are problems somewhere and a facade can't be created from it.
-	 * 
-	 * @return whether the workflow is valid (true) or not (false)
-	 */
-	boolean isValid();
-
-	/**
-	 * Whether the workflow is incomplete, i.e. contains no processors and no
-	 * connected output ports. For example, it is empty or contains only input
-	 * ports. Even though one can technically run such a workflow it should be
-	 * prohibited as it does not make any sense. If a workflow is incomplete
-	 * {@link DataflowValidationReport#isValid()} should return
-	 * <code>false</code>.
-	 * 
-	 * @return whether the workflow is incomplete or not
-	 */
-	boolean isWorkflowIncomplete();
-
-	/**
-	 * The workflow will be marked as invalid if there are entities with
-	 * unlinked input ports or where there are cycles causing the type checking
-	 * algorithm to give up. In these cases offending processors or any
-	 * ancestors that are affected as a knock on effect will be returned in this
-	 * list.
-	 * 
-	 * @return list of TokenProcessingEntity instances within the Dataflow for
-	 *         which it is impossible to determine validity due to missing
-	 *         inputs or cyclic dependencies
-	 */
-	List<? extends TokenProcessingEntity> getUnsatisfiedEntities();
-
-	/**
-	 * The workflow will be marked as invalid if any entity fails to type check.
-	 * 
-	 * @return list of TokenProcessingEntity instances within the Dataflow which
-	 *         caused explicit type check failures
-	 */
-	List<? extends TokenProcessingEntity> getFailedEntities();
-
-	/**
-	 * The workflow will be marked as invalid if any of the dataflow output
-	 * ports can't be typed based on incoming links. This happens if the port
-	 * isn't linked (a common enough issue for new users in previous releases of
-	 * Taverna) or if the internal port is linked but the entity it links to
-	 * isn't validated.
-	 * 
-	 * @return a list of DataflowOutputPort implementations which are not typed
-	 *         correctly. These will have output depth of -1 indicating an
-	 *         unknown depth, they may or may not have a granular depth set but
-	 *         if the overall depth is -1 this isn't important as the thing
-	 *         won't run anyway.
-	 */
-	List<? extends DataflowOutputPort> getUnresolvedOutputs();
-
-	/**
-	 * An entity will be marked invalid if it depends on a nested dataflow which
-	 * itself is invalid. If this is the case the entity will be be present both
-	 * in {@link #getFailedEntities()} and can be used as a key with this method
-	 * to get the DataflowValidationReport explaining how the nested dataflow
-	 * failed.
-	 */
-	Map<TokenProcessingEntity, DataflowValidationReport> getInvalidDataflows();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Datalink.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Datalink.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Datalink.java
deleted file mode 100644
index cb3806f..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Datalink.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;
-
-import net.sf.taverna.t2.annotation.Annotated;
-
-/**
- * A single point to point data link from an instance of
- * EventForwardingOutputPort to an instance of EventHandlingInputPort
- * 
- * @author Tom Oinn
- */
-public interface Datalink extends Annotated<Datalink>, WorkflowItem {
-	/**
-	 * Get the sink for events flowing through this link
-	 * 
-	 * @return input port receiving events
-	 */
-	EventHandlingInputPort getSink();
-
-	/**
-	 * Get the source for events flowing through this link
-	 * 
-	 * @return output port generating events
-	 */
-	EventForwardingOutputPort getSource();
-
-	/**
-	 * Each datalink has a resolved depth, this being the constant sum of index
-	 * array length + item depth for all tokens exchanged along this link. Where
-	 * no iteration or data streaming is occuring this will evaluate to the
-	 * output port depth the link is from (as is always the case with the
-	 * internal output ports in dataflow inputs)
-	 * 
-	 * @return
-	 */
-	int getResolvedDepth();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Edit.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Edit.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Edit.java
deleted file mode 100644
index 3c0f595..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Edit.java
+++ /dev/null
@@ -1,65 +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;
-
-/**
- * The workflow object model exposed by this API is read only. Properties of the
- * model can only be changed through implementations of this interface, this
- * ensures a consistant approach to grouped edits (transactions) and undo / redo
- * support within the UI. It also potentially allows for capture of editing
- * provenance where a workflow is repurposed or created from an aggregate of
- * several others.
- * 
- * @author Tom Oinn
- */
-public interface Edit<TargetType> {
-	/**
-	 * Perform the edit
-	 * 
-	 * @throws EditException
-	 *             if the edit fails. If an edit throws EditException it should
-	 *             try to ensure the subject is unaltered. Where this is
-	 *             impossible consider breaking edits down into a compound edit.
-	 */
-	TargetType doEdit() throws EditException;
-
-	/**
-	 * Undo the edit, reverting the subject to the state it was in prior to the
-	 * edit
-	 */
-	@Deprecated
-	void undo();
-
-	/**
-	 * Return the object to which this edit applies
-	 * 
-	 * @return
-	 */
-	Object getSubject();
-
-	/**
-	 * Has the edit been applied yet?
-	 * 
-	 * @return true if and only if the edit has been successfully applied to the
-	 *         subject
-	 */
-	boolean isApplied();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/EditException.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/EditException.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/EditException.java
deleted file mode 100644
index 4b49a77..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/EditException.java
+++ /dev/null
@@ -1,43 +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;
-
-/**
- * Superclass of all exceptions thrown when altering the workflow model through
- * the edit manager.
- * 
- * @author Tom Oinn
- */
-public class EditException extends Exception {
-	public EditException(String string) {
-		super(string);
-	}
-
-	public EditException(String string, Throwable cause) {
-		super(string, cause);
-	}
-	
-	public EditException(Throwable t) {
-		super(t);
-	}
-
-	private static final long serialVersionUID = 1L;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Edits.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Edits.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Edits.java
deleted file mode 100644
index 742b0fe..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Edits.java
+++ /dev/null
@@ -1,832 +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;
-
-import java.util.List;
-
-import net.sf.taverna.t2.annotation.Annotated;
-import net.sf.taverna.t2.annotation.AnnotationAssertion;
-import net.sf.taverna.t2.annotation.AnnotationBeanSPI;
-import net.sf.taverna.t2.annotation.AnnotationChain;
-import net.sf.taverna.t2.annotation.AnnotationRole;
-import net.sf.taverna.t2.annotation.AnnotationSourceSPI;
-import net.sf.taverna.t2.annotation.CurationEvent;
-import net.sf.taverna.t2.annotation.CurationEventBeanSPI;
-import net.sf.taverna.t2.annotation.Person;
-import net.sf.taverna.t2.facade.WorkflowInstanceFacade;
-import net.sf.taverna.t2.invocation.InvocationContext;
-import net.sf.taverna.t2.reference.ExternalReferenceSPI;
-import net.sf.taverna.t2.workflowmodel.processor.activity.Activity;
-import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityInputPort;
-import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityOutputPort;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.DispatchLayer;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.DispatchStack;
-import net.sf.taverna.t2.workflowmodel.processor.iteration.IterationStrategy;
-import net.sf.taverna.t2.workflowmodel.processor.iteration.IterationStrategyStack;
-import net.sf.taverna.t2.workflowmodel.processor.iteration.NamedInputPortNode;
-
-/**
- * Defines the set of all available edit actions over a workflow model. This is
- * the only point at which you can modify any of the entities in the workflow
- * object model, the rest of this API is purely read only.
- * <p>
- * In theory this would be some kind of static interface but Java doesn't have
- * this as a concept so the pattern here will be to discover an appropriate
- * implementation of this interface from whatever version of the implementation
- * package you want to use, instantiate it then use the methods defined here to
- * construct and manipulate the workflow model.
- * 
- * @author Tom Oinn
- * @author Stuart Owen
- * @author David Withers
- * @author Stian Soiland-Reyes
- * 
- */
-public interface Edits {
-
-	/**
-	 * Build a new Dataflow workflow
-	 * 
-	 * @return
-	 */
-	public Dataflow createDataflow();
-
-	/**
-	 * Builds a new DataflowInputPort.
-	 * 
-	 * @param name
-	 * @param depth
-	 * @param granularDepth
-	 * @param dataflow
-	 * @return a new DataflowInputPort
-	 */
-	public DataflowInputPort createDataflowInputPort(String name, int depth,
-			int granularDepth, Dataflow dataflow);
-
-	/**
-	 * Builds a new DataflowOutputPort.
-	 * 
-	 * @param name
-	 * @param dataflow
-	 * @return a new DataflowOutputPort
-	 */
-	public DataflowOutputPort createDataflowOutputPort(String name,
-			Dataflow dataflow);
-
-	/**
-	 * Builds a new Datalink with the given source and sink ports
-	 * 
-	 * @param source
-	 *            the source port
-	 * @param sink
-	 *            the sink port
-	 * @return a new Datalink instance
-	 */
-	public Datalink createDatalink(EventForwardingOutputPort source,
-			EventHandlingInputPort sink);
-
-	/**
-	 * @param dataflow
-	 * @return an instance of Merge
-	 * 
-	 * @see Merge
-	 */
-	public Merge createMerge(Dataflow dataflow);
-
-	/**
-	 * Builds a new MergeOutputPort.
-	 * 
-	 * @param merge
-	 *            the merge that the port eill be added to
-	 * @param name
-	 *            the name of the port
-	 * @param depth
-	 *            the depth of the port
-	 * @return a new MergeOutputPort
-	 */
-	public MergeInputPort createMergeInputPort(Merge merge, String name,
-			int depth);
-
-	/**
-	 * Builds a new instance of a Processor with the given name. The processor
-	 * is setup with a default dispatch stack.
-	 * 
-	 * @param the
-	 *            local name for the processor.
-	 */
-	public Processor createProcessor(String name);
-
-	/**
-	 * Builds a new instance of a IterationStrategy.
-	 * 
-	 * @return a new IterationStrategy
-	 */
-	public IterationStrategy createIterationStrategy();
-
-	/**
-	 * Build a new WorkflowInstanceFacade using the supplied Dataflow
-	 * 
-	 * @param dataflow
-	 * @param context
-	 * @return an instance of a WorkflowInstanceFacade
-	 * @throws InvalidDataflowException
-	 *             if the workflow was not valid
-	 * 
-	 * @see WorkflowInstanceFacade
-	 */
-	public WorkflowInstanceFacade createWorkflowInstanceFacade(
-			Dataflow dataflow, InvocationContext context, String parentProcess)
-			throws InvalidDataflowException;
-
-	/**
-	 * Add an Activity implementation to the set of activities within a
-	 * Processor
-	 * 
-	 * @param processor
-	 *            Processor to add the activity to
-	 * @param activity
-	 *            Activity to add
-	 */
-	public Edit<Processor> getAddActivityEdit(Processor processor,
-			Activity<?> activity);
-
-	/**
-	 * Returns an edit to add an ActivityInputPort to an Activity.
-	 * 
-	 * @param activity
-	 *            activity to add the port to
-	 * @param activityInputPort
-	 *            the port to add to the activity
-	 * @return an edit to add an ActivityInputPort to an Activity
-	 */
-	public Edit<Activity<?>> getAddActivityInputPortEdit(Activity<?> activity,
-			ActivityInputPort activityInputPort);
-
-	/**
-	 * Returns an edit to add a ProcessorInputPort to ActivityInputPort mapping
-	 * to an Activity.
-	 * 
-	 * @param activity
-	 *            activity to add the port mapping to
-	 * @param processorPortName
-	 *            the name of the processor port
-	 * @param activityPortName
-	 *            the name of the activity port
-	 * @return an edit to add a ProcessorInputPort to ActivityInputPort mapping
-	 *         to an Activity
-	 */
-	public Edit<Activity<?>> getAddActivityInputPortMappingEdit(
-			Activity<?> activity, String processorPortName,
-			String activityPortName);
-
-	/**
-	 * Returns an edit to add an ActivityOutputPort to an Activity.
-	 * 
-	 * @param activity
-	 *            activity to add the port to
-	 * @param activityOutputPort
-	 *            the port to add to the activity
-	 * @return an edit to add an ActivityOutputPort to an Activity
-	 */
-	public Edit<Activity<?>> getAddActivityOutputPortEdit(Activity<?> activity,
-			ActivityOutputPort activityOutputPort);
-
-	/**
-	 * Returns an edit to add a ProcessorOutputPort to OutputPort mapping to an
-	 * Activity.
-	 * 
-	 * @param activity
-	 *            activity to add the port mapping to
-	 * @param processorPortName
-	 *            the name of the processor port
-	 * @param activityPortName
-	 *            the name of the activity port
-	 * @return an edit to add a ProcessorOutputPort to OutputPort mapping to an
-	 *         Activity
-	 */
-	public Edit<Activity<?>> getAddActivityOutputPortMappingEdit(
-			Activity<?> activity, String processorPortName,
-			String activityPortName);
-
-	/**
-	 * Builds a new AnnotationChain.
-	 * 
-	 * @return a new AnnotationChain
-	 */
-	public AnnotationChain createAnnotationChain();
-
-	/**
-	 * Add an {@link AnnotationAssertion} to an {@link AnnotationChain}
-	 * 
-	 * @param annotationChain
-	 * @param annotationAssertion
-	 * @return an {@link Edit}able object with undo feature
-	 */
-	public Edit<AnnotationChain> getAddAnnotationAssertionEdit(
-			AnnotationChain annotationChain,
-			AnnotationAssertion<?> annotationAssertion);
-
-	/**
-	 * Add an {@link AnnotationBeanSPI} to an {@link AnnotationAssertion}
-	 * 
-	 * @param annotationAssertion
-	 * @param annotationBean
-	 * @return the edit which has do/undo functionality
-	 */
-	public <T extends AnnotationBeanSPI> Edit<AnnotationAssertion<T>> getAddAnnotationBean(
-			AnnotationAssertion<T> annotationAssertion,
-			AnnotationBeanSPI annotationBean);
-
-	/**
-	 * Returnes an edit that creates an AnnotationAssertion, adds the
-	 * AnnotationAssertion to an AnnotationChain and adds the AnnotationChain to
-	 * the Annotated.
-	 * 
-	 * @param annotated
-	 *            the Annotated to add an AnnotationChain to
-	 * @param annotation
-	 *            the annotation to add to the chain
-	 * @return an edit that creates and adds an AnnotationChain to an Annotated
-	 */
-	public Edit<?> getAddAnnotationChainEdit(Annotated<?> annotated,
-			AnnotationBeanSPI annotation);
-
-	public <T extends AnnotationBeanSPI> Edit<AnnotationAssertion<T>> getAddAnnotationRole(
-			AnnotationAssertion<T> annotationAssertion,
-			AnnotationRole annotationRole);
-
-	public <T extends AnnotationBeanSPI> Edit<AnnotationAssertion<T>> getAddAnnotationSource(
-			AnnotationAssertion<T> annotationAssertion,
-			AnnotationSourceSPI annotationSource);
-
-	public <T extends AnnotationBeanSPI> Edit<AnnotationAssertion<T>> getAddCreator(
-			AnnotationAssertion<T> annotationAssertion, Person person);
-
-	public <T extends AnnotationBeanSPI, S extends CurationEventBeanSPI> Edit<AnnotationAssertion<T>> getAddCurationEvent(
-			AnnotationAssertion<T> annotationAssertion,
-			CurationEvent<S> curationEvent);
-
-	/**
-	 * Returns an edit to add a DataflowInputPort to a Dataflow.
-	 * 
-	 * @param dataflow
-	 *            dataflow to add the port to
-	 * @param dataflowInputPort
-	 *            the port to add to the dataflow
-	 * @return an edit to add a DataflowInputPort to a Dataflow
-	 */
-	public Edit<Dataflow> getAddDataflowInputPortEdit(Dataflow dataflow,
-			DataflowInputPort dataflowInputPort);
-
-	/**
-	 * Returns an edit to add a DataflowOutputPort to a Dataflow.
-	 * 
-	 * @param dataflow
-	 *            dataflow to add the port to
-	 * @param dataflowOutputPort
-	 *            the port to add to the dataflow
-	 * @return an edit to add a DataflowOutputPort to a Dataflow
-	 */
-	public Edit<Dataflow> getAddDataflowOutputPortEdit(Dataflow dataflow,
-			DataflowOutputPort dataflowOutputPort);
-
-	/**
-	 * Returns an edit to change the depth of a DataflowInputPort.
-	 * 
-	 * @param dataflowInputPort
-	 *            the port to change the depth of
-	 * @param depth
-	 *            the new depth
-	 * @return an edit to change the depth of a Dataflow
-	 */
-	public Edit<DataflowInputPort> getChangeDataflowInputPortDepthEdit(
-			DataflowInputPort dataflowInputPort, int depth);
-
-	/**
-	 * Returns an edit to change the granular depth of a DataflowInputPort.
-	 * 
-	 * @param dataflowInputPort
-	 *            the port to change the granular depth of
-	 * @param granularDepth
-	 *            the new granular depth
-	 * @return an edit to change the granular depth of a Dataflow
-	 */
-	public Edit<DataflowInputPort> getChangeDataflowInputPortGranularDepthEdit(
-			DataflowInputPort dataflowInputPort, int granularDepth);
-
-	/**
-	 * Add a new layer to the specified dispatch stack
-	 * 
-	 * @param stack
-	 *            Stack to add to
-	 * @param layer
-	 *            New dispatch layer to add
-	 * @param position
-	 *            Where to add the new layer? 0 is at the top of the stack.
-	 */
-	public Edit<DispatchStack> getAddDispatchLayerEdit(DispatchStack stack,
-			DispatchLayer<?> layer, int position);
-
-	public Edit<Dataflow> getAddMergeEdit(Dataflow dataflow, Merge processor);
-
-	/**
-	 * Returns an edit to add a MergeInputPort to a Merge.
-	 * 
-	 * @param merge
-	 *            merge to add the port to
-	 * @param mergeInputPort
-	 *            the port to add to the merge
-	 * @return an edit to add a MergeInputPort to a Merge
-	 */
-	public Edit<Merge> getAddMergeInputPortEdit(Merge merge,
-			MergeInputPort mergeInputPort);
-
-	/**
-	 * Returns an edit to reorder the list of MergeInputPortS in a Merge.
-	 * 
-	 * @param merge
-	 *            merge to reorder the list of input ports to
-	 * @param reorderedMergeInputPortList
-	 *            a list of reordered input ports
-	 * @return an edit to reorder the list of MergeInputPortS to a Merge
-	 */
-	public Edit<Merge> getReorderMergeInputPortsEdit(Merge merge,
-			List<MergeInputPort> reorderedMergeInputPortList);
-
-	/**
-	 * Provides an edit object responsible for adding a Processor to a Dataflow
-	 * 
-	 * @param dataflow
-	 *            the dataflow to add this processor to
-	 * @param processor
-	 *            the processor to be added to the dataflow
-	 */
-	public Edit<Dataflow> getAddProcessorEdit(Dataflow dataflow,
-			Processor processor);
-
-	/**
-	 * Provides an Edit to add an input port a processor, creating matching
-	 * ports in the iteration strategy or strategies as a side effect.
-	 * 
-	 * @param processor
-	 *            processor to add the port to
-	 * 
-	 * @param port
-	 *            the input port to be added
-	 */
-	public Edit<Processor> getAddProcessorInputPortEdit(Processor processor,
-			ProcessorInputPort port);
-
-	/**
-	 * Provides an Edit to add a new output port on a processor
-	 * 
-	 * @param processor
-	 *            processor to add the new output port to
-	 * 
-	 * @param port
-	 *            the port to be added
-	 */
-	public Edit<Processor> getAddProcessorOutputPortEdit(Processor processor,
-			ProcessorOutputPort port);
-
-	/**
-	 * Returns an Edit that is responsible for configuring an Activity with a
-	 * given configuration bean.
-	 * 
-	 * @see #getConfigureEdit(Configurable, Object)
-	 * @param activity
-	 * @param configurationBean
-	 * @return
-	 */
-	public <ConfigurationBean> Edit<Activity<?>> getConfigureActivityEdit(
-			Activity<ConfigurationBean> activity,
-			ConfigurationBean configurationBean);
-
-	/**
-	 * Return an Edit that can configure a {@link Configurable} (such as an
-	 * {@link Activity} or {@link DispatchLayer} with a given configuration
-	 * bean.
-	 * 
-	 * @param <ConfigurationType>
-	 * @param configurable
-	 * @param configBean
-	 * @return
-	 */
-	public <ConfigurationType> Edit<? extends Configurable<ConfigurationType>> getConfigureEdit(
-			Configurable<ConfigurationType> configurable,
-			ConfigurationType configBean);
-
-	/**
-	 * Connect a datalink to its source and sink.
-	 * 
-	 * @param datalink
-	 *            the datalink to connect
-	 * @return a datalink edit
-	 */
-	public Edit<Datalink> getConnectDatalinkEdit(Datalink datalink);
-
-	/**
-	 * Creates and returns an instance of an Edit<Merge> that is responsible for
-	 * generating the links to an from the Merge instance to link together the
-	 * source and sink port via the merge instance.
-	 * 
-	 * @return a new instance of Edit<Merge> constructed from the provided
-	 *         parameters.
-	 * 
-	 * @param merge
-	 *            a Merge instance
-	 * @param sourcePort
-	 *            the source port from which a link is to be created.
-	 * @param sinkPort
-	 *            the sink port to which the link is to be created.
-	 * 
-	 * @see Merge
-	 */
-	public Edit<Merge> getConnectMergedDatalinkEdit(Merge merge,
-			EventForwardingOutputPort sourcePort,
-			EventHandlingInputPort sinkPort);
-
-	/**
-	 * Connect the output port of the specified processor to a target input
-	 * port. To connect multiple inputs use this method multiple times with
-	 * different targetPort arguments.
-	 * 
-	 * @param processor
-	 *            Processor to link from
-	 * @param outputPortName
-	 *            Name of the output port within the specified processor to link
-	 *            from
-	 * @param targetPort
-	 *            Input port (specifically an EventHandlingInputPort) to forward
-	 *            data events to.
-	 */
-	public Edit<Processor> getConnectProcessorOutputEdit(Processor processor,
-			String outputPortName, EventHandlingInputPort targetPort);
-
-	/**
-	 * Create a condition governing execution of the target processor. The
-	 * target will not consume jobs from any inputs until all control processors
-	 * linked through this edit have completed.
-	 * 
-	 * @param control
-	 *            Processor controlling execution - this must complete before
-	 *            the target can start.
-	 * @param target
-	 *            Processor controlled by this condition.
-	 */
-	public Edit<OrderedPair<Processor>> getCreateConditionEdit(
-			Processor control, Processor target);
-
-	/**
-	 * Add an input port to a dataflow.
-	 * 
-	 * @param dataflow
-	 *            dataflow to add the port to
-	 * @param portName
-	 *            name of the port, unique in the dataflow
-	 * @param portDepth
-	 *            the conceptual depth of collections consumed by this input
-	 *            port
-	 * @param granularDepth
-	 *            granular depth to copy to the internal output port
-	 */
-	public Edit<Dataflow> getCreateDataflowInputPortEdit(Dataflow dataflow,
-			String portName, int portDepth, int granularDepth);
-
-	/**
-	 * Add an output port to a dataflow.
-	 * 
-	 * @param dataflow
-	 *            dataflow to add the port to
-	 * @param portName
-	 *            name of the port, unique in the dataflow
-	 */
-	public Edit<Dataflow> getCreateDataflowOutputPortEdit(Dataflow dataflow,
-			String portName);
-
-	/**
-	 * Provides an edit that setup the default dispatch stack on a raw
-	 * processor.
-	 * 
-	 * @param processor
-	 * @return
-	 */
-	public Edit<Processor> getDefaultDispatchStackEdit(Processor processor);
-
-	/**
-	 * Remove a dispatch layer from its dispatch stack
-	 * 
-	 * @param stack
-	 *            The stack from which to remove the layer
-	 * @param layer
-	 *            The layer to remove
-	 */
-	public Edit<DispatchStack> getDeleteDispatchLayerEdit(DispatchStack stack,
-			DispatchLayer<?> layer);
-
-	/**
-	 * Disconnect a datalink from its source and sink.
-	 * 
-	 * @param datalink
-	 *            the datalink to disconnect
-	 * @return a datalink edit
-	 */
-	public Edit<Datalink> getDisconnectDatalinkEdit(Datalink datalink);
-
-	/**
-	 * Provides an edit that will configure the processors ports to map to those
-	 * of its internal Activity. If there is more than 1 activity then only
-	 * first activity is used. If there are zero then an EditException will be
-	 * thrown when using the Edit.
-	 * 
-	 * @param processor
-	 * @return
-	 */
-	public Edit<Processor> getMapProcessorPortsForActivityEdit(
-			Processor processor);
-
-	/**
-	 * Returns an edit to remove an Activity from a Processor
-	 */
-	public Edit<Processor> getRemoveActivityEdit(Processor processor,
-			Activity<?> activity);
-
-	/**
-	 * Returns an edit to remove an ActivityInputPort from an Activity.
-	 * 
-	 * @param activity
-	 *            activity to remove the port from
-	 * @param activityInputPort
-	 *            the port to remove from the activity
-	 * @return an edit to remove an ActivityInputPort from an Activity
-	 */
-	public Edit<Activity<?>> getRemoveActivityInputPortEdit(
-			Activity<?> activity, ActivityInputPort activityInputPort);
-
-	/**
-	 * Returns an edit to remove a ProcessorInputPort to ActivityInputPort
-	 * mapping from an Activity.
-	 * 
-	 * @param activity
-	 *            activity to remove the port mapping from
-	 * @param processorPortName
-	 *            the name of the processor port to remove from the mapping
-	 * @return an edit to remove a ProcessorInputPort to ActivityInputPort
-	 *         mapping from an Activity
-	 */
-	public Edit<Activity<?>> getRemoveActivityInputPortMappingEdit(
-			Activity<?> activity, String processorPortName);
-
-	/**
-	 * Returns an edit to remove an OutputPort from an Activity.
-	 * 
-	 * @param activity
-	 *            activity to remove the port from
-	 * @param activityOutputPort
-	 *            the port to remove from the activity
-	 * @return an edit to remove an OutputPort from an Activity
-	 */
-	public Edit<Activity<?>> getRemoveActivityOutputPortEdit(
-			Activity<?> activity, ActivityOutputPort activityOutputPort);
-
-	/**
-	 * Returns an edit to remove a ProcessorOutputPort to OutputPort mapping
-	 * from an Activity.
-	 * 
-	 * @param activity
-	 *            activity to remove the port mapping from
-	 * @param processorPortName
-	 *            the name of the processor port to remove from the mapping
-	 * @return an edit to remove a ProcessorOutputPort to OutputPort mapping
-	 *         from an Activity
-	 */
-	public Edit<Activity<?>> getRemoveActivityOutputPortMappingEdit(
-			Activity<?> activity, String processorPortName);
-
-	/**
-	 * Remove a condition previously applied to the specified pair of Processor
-	 * instances
-	 * 
-	 * @param control
-	 *            Processor controlling execution - this must complete before
-	 *            the target can start.
-	 * @param target
-	 *            Processor controlled by this condition.
-	 * @return
-	 */
-	public Edit<OrderedPair<Processor>> getRemoveConditionEdit(
-			Processor control, Processor target);
-
-	/**
-	 * Returns an edit to remove a DataflowInputPort from a Dataflow.
-	 * 
-	 * @param dataflow
-	 *            the Dataflow to remove this DataflowInputPort from
-	 * @param dataflowInputPort
-	 *            the DataflowInputPort to be removed from the Dataflow
-	 */
-	public Edit<Dataflow> getRemoveDataflowInputPortEdit(Dataflow dataflow,
-			DataflowInputPort dataflowInputPort);
-
-	/**
-	 * Returns an edit to remove a DataflowOutputPort from a Dataflow.
-	 * 
-	 * @param dataflow
-	 *            the Dataflow to remove this DataflowOutputPort from
-	 * @param dataflowOutputPort
-	 *            the DataflowOutputPort to be removed from the Dataflow
-	 */
-	public Edit<Dataflow> getRemoveDataflowOutputPortEdit(Dataflow dataflow,
-			DataflowOutputPort dataflowOutputPort);
-
-	/**
-	 * Returns an edit to remove a Processor from a Dataflow.
-	 * 
-	 * @param dataflow
-	 *            the dataflow to remove the processor from
-	 * @param processor
-	 *            the processor to be removed from the dataflow
-	 */
-	public Edit<Dataflow> getRemoveProcessorEdit(Dataflow dataflow,
-			Processor processor);
-
-	/**
-	 * Removes a Processor input port.
-	 * 
-	 * @param processor
-	 * @param port
-	 * @return
-	 */
-	public Edit<Processor> getRemoveProcessorInputPortEdit(Processor processor,
-			ProcessorInputPort port);
-
-	/**
-	 * @param processor
-	 * @param port
-	 * @return
-	 */
-	public Edit<Processor> getRemoveProcessorOutputPortEdit(
-			Processor processor, ProcessorOutputPort port);
-
-	/**
-	 * Removes a merge from the dataflow.
-	 * 
-	 * @param dataflow
-	 * @param processor
-	 * @return
-	 */
-	public Edit<Dataflow> getRemoveMergeEdit(Dataflow dataflow, Merge merge);
-
-	/**
-	 * Rename a dataflow input port
-	 * 
-	 * @param dataflowInputPort
-	 *            the dataflow input port to rename
-	 * @param newName
-	 *            the new name, must be unique within the workflow enclosing the
-	 *            dataflow input port instance
-	 */
-	public Edit<DataflowInputPort> getRenameDataflowInputPortEdit(
-			DataflowInputPort dataflowInputPort, String newName);
-
-	/**
-	 * Rename a dataflow output port
-	 * 
-	 * @param dataflowOutputPort
-	 *            the dataflow output port to rename
-	 * @param newName
-	 *            the new name, must be unique within the workflow enclosing the
-	 *            dataflow output port instance
-	 */
-	public Edit<DataflowOutputPort> getRenameDataflowOutputPortEdit(
-			DataflowOutputPort dataflowOutputPort, String newName);
-
-	/**
-	 * Rename a processor
-	 * 
-	 * @param processor
-	 *            the processor to rename
-	 * @param newName
-	 *            the new name, must be unique within the workflow enclosing the
-	 *            processor instance
-	 */
-	public Edit<Processor> getRenameProcessorEdit(Processor processor,
-			String newName);
-
-	/**
-	 * Rename a merge
-	 * 
-	 * @param merge
-	 *            the merge to rename
-	 * @param newName
-	 *            the new name, must be unique within the workflow enclosing the
-	 *            merge instance
-	 */
-	public Edit<Merge> getRenameMergeEdit(Merge merge, String newName);
-
-	/**
-	 * Provide an edit that will configure a processors's iteration strategy
-	 * stack to the one provided.
-	 * 
-	 * @param processor
-	 *            Processor which iteration stack is to be set
-	 * @param iterationStrategyStack
-	 *            The new iteration strategy stack
-	 * @return An Edit that will set the iteration strategy stack of a processor
-	 */
-	public Edit<Processor> getSetIterationStrategyStackEdit(
-			Processor processor, IterationStrategyStack iterationStrategyStack);
-
-	public Edit<IterationStrategyStack> getClearIterationStrategyStackEdit(
-			IterationStrategyStack iterationStrategyStack);
-
-	public Edit<IterationStrategyStack> getAddIterationStrategyEdit(
-			IterationStrategyStack iterationStrategyStack,
-			IterationStrategy iterationStrategy);
-
-	public Edit<IterationStrategy> getAddIterationStrategyInputNodeEdit(
-			IterationStrategy iterationStrategy,
-			NamedInputPortNode namedInputPortNode);
-
-	public Edit<Dataflow> getUpdateDataflowInternalIdentifierEdit(
-			Dataflow dataflow, String newId);
-
-	public Edit<Dataflow> getUpdateDataflowNameEdit(Dataflow dataflow,
-			String newName);
-
-	/**
-	 * Builds an instance of an {@link InputPort} for an Activity.
-	 * 
-	 * @param portName
-	 * @param portDepth
-	 * @param allowsLiteralValues
-	 *            whether the input port can cope with literal values
-	 * @param handledReferenceSchemes
-	 *            a list of the reference scheme types that can be legitimately
-	 *            pushed into this input port
-	 * @param translatedElementClass
-	 *            the class desired as result (or elements of collections of
-	 *            results) when interpreted by the data facade
-	 * @return an instance of InputPort
-	 */
-	ActivityInputPort createActivityInputPort(
-			String portName,
-			int portDepth,
-			boolean allowsLiteralValues,
-			List<Class<? extends ExternalReferenceSPI>> handledReferenceSchemes,
-			Class<?> translatedElementClass);
-
-	/**
-	 * Builds an instance of an {@link ActivityOutputPort} for an Activity.
-	 * 
-	 * @param portName
-	 * @param portDepth
-	 * @param portGranularDepth
-	 * @return an instance of ActivityOutputPort
-	 */
-	ActivityOutputPort createActivityOutputPort(String portName, int portDepth,
-			int portGranularDepth);
-
-	/**
-	 * Creates a new ProcessorInputPort
-	 * 
-	 * @param processor
-	 *            the processor to with the port will be added
-	 * @param name
-	 * @param depth
-	 * @return
-	 */
-	ProcessorInputPort createProcessorInputPort(Processor processor,
-			String name, int depth);
-
-	/**
-	 * Creates a new ProcessorOutputPort
-	 * 
-	 * @param processor
-	 * @param name
-	 * @param depth
-	 * @param granularDepth
-	 * @return
-	 */
-	ProcessorOutputPort createProcessorOutputPort(Processor processor,
-			String name, int depth, int 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/EventForwardingOutputPort.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/EventForwardingOutputPort.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/EventForwardingOutputPort.java
deleted file mode 100644
index cf483c1..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/EventForwardingOutputPort.java
+++ /dev/null
@@ -1,46 +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;
-
-import java.util.Set;
-
-/**
- * An extension of OutputPort defining a set of target EventReceivingInputPorts
- * to which internally generated events will be relayed. This is the interface
- * used by output ports on a workflow entity with internal logic generating or
- * relaying events.
- * 
- * @author Tom Oinn
- */
-public interface EventForwardingOutputPort extends OutputPort {
-	/**
-	 * The set of EventHandlingInputPort objects which act as targets for events
-	 * produced from this OutputPort
-	 * 
-	
-	public Set<EventHandlingInputPort> getTargets();
-*/ //FIXME What is happening here???
-
-	/**
-	 * The set of datalinks for which this output port is the source of events
-	 */
-	Set<? extends Datalink> getOutgoingLinks();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/EventHandlingInputPort.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/EventHandlingInputPort.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/EventHandlingInputPort.java
deleted file mode 100644
index 51e31d4..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/EventHandlingInputPort.java
+++ /dev/null
@@ -1,41 +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;
-
-import net.sf.taverna.t2.invocation.WorkflowDataToken;
-
-/**
- * Input port capable of receiving and reacting to workflow events.
- * 
- * @author Tom Oinn
- */
-public interface EventHandlingInputPort extends InputPort {
-	/**
-	 * Receive an arbitrary workflow event.
-	 */
-	void receiveEvent(WorkflowDataToken t);
-
-	/**
-	 * If this port is connected to a Datalink return the link, otherwise return
-	 * null
-	 */
-	Datalink getIncomingLink();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/FailureTransmitter.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/FailureTransmitter.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/FailureTransmitter.java
deleted file mode 100644
index 39e222b..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/FailureTransmitter.java
+++ /dev/null
@@ -1,34 +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;
-
-/**
- * Used to message interested parties when a top level failure occurs within a
- * {@link Dataflow}
- * <p>
- * Not implemented in the current code, this is a placeholder for the failure
- * handling system.
- * 
- * @author Tom Oinn
- */
-public interface FailureTransmitter {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/FilteringInputPort.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/FilteringInputPort.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/FilteringInputPort.java
deleted file mode 100644
index 0c57b17..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/FilteringInputPort.java
+++ /dev/null
@@ -1,52 +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;
-
-/**
- * A filtering input port is one capable of filtering events to only pass
- * through data events at a certain depth. Other events are either ignored (in
- * the case of finer granularity) or converted to completion events (for
- * coarser). Where the filter depth and the port depth are distinct this port
- * type will filter on the filter depth then drill into the data to get down to
- * the port depth. Filter depth must always be equal to or greater than port
- * depth.
- * <p>
- * This is used as the interface for Processor input ports.
- * <p>
- * A condition to use this type is that the stream of events for a given process
- * ID must terminate with a top level (i.e. zero length index array) token. This
- * can be accomplished by use of the crystalizer (as found on the output of a
- * Processor instance) or some other mechanism but is required. Similarly it is
- * assumed that all intermediate collections are emited in the correct sequence,
- * if this is not the case the filtering may not function correctly.
- * 
- * @author Tom Oinn
- */
-public interface FilteringInputPort extends EventHandlingInputPort {
-	/**
-	 * Set the depth at which to filter events. Events at a lower depth than
-	 * this are ignored completely, those at exactly this depth are passed
-	 * through intact and those above are converted to completion events.
-	 * 
-	 * @param filterDepth
-	 */
-	int getFilterDepth();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/InputPort.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/InputPort.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/InputPort.java
deleted file mode 100644
index 6ecd056..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/InputPort.java
+++ /dev/null
@@ -1,30 +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;
-
-/**
- * Marker interface denoting that the instance is an input port.
- * 
- * @author Tom Oinn
- */
-public interface InputPort extends Port {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/InvalidDataflowException.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/InvalidDataflowException.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/InvalidDataflowException.java
deleted file mode 100644
index 50258d4..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/InvalidDataflowException.java
+++ /dev/null
@@ -1,63 +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;
-
-/**
- * Thrown if attempting to use a workflow that is not
- * {@link Dataflow#checkValidity() valid}.
- * <p>
- * The {@link DataflowValidationReport} can be retrieved using
- * {@link #getDataflowValidationReport()} and will provide details on how the
- * dataflow is invalid. The {@link #getDataflow()} will provide the invalid
- * dataflow.
- * 
- * @author Stian Soiland-Reyes
- */
-public class InvalidDataflowException extends Exception {
-	private static final long serialVersionUID = -8470683930687738369L;
-	private final DataflowValidationReport report;
-	private final Dataflow dataflow;
-
-	public InvalidDataflowException(Dataflow dataflow,
-			DataflowValidationReport report) {
-		this.report = report;
-		this.dataflow = dataflow;
-	}
-
-	/**
-	 * Get the {@link DataflowValidationReport validation report} for the
-	 * failing dataflow.
-	 * 
-	 * @return Dataflow validation report
-	 */
-	public DataflowValidationReport getDataflowValidationReport() {
-		return report;
-	}
-
-	/**
-	 * Get the {@link Dataflow} that is not valid.
-	 * 
-	 * @return Invalid Dataflow
-	 */
-	public Dataflow getDataflow() {
-		return 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/Merge.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Merge.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Merge.java
deleted file mode 100644
index 706e69b..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Merge.java
+++ /dev/null
@@ -1,63 +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;
-
-import java.util.List;
-
-/**
- * Allows multiple outputs to be routed to a single input within the dataflow.
- * The merge operation defines a total order over its input ports, this order is
- * used to modify the index array of all incoming events by adding the port
- * index as a prefix to that array. At a conceptual level this means that any
- * event coming in is 'binned' by port index creating a collection of whatever
- * the port type was. This also places a constraint that all input ports must
- * have the same cardinality (i.e. depth + length of index array must be equal
- * for all events on all ports). If this constraint is violated the merge
- * operation is free to throw a WorkflowStructureException at runtime although
- * it would be preferable if implementing classes were capable of static type
- * analysis to preclude this from happening.
- * 
- * @author Tom Oinn
- */
-public interface Merge extends TokenProcessingEntity {
-	/**
-	 * The Merge object contains an ordered list of InputPort objects. Data and
-	 * completion events arriving at an input port have the index of that input
-	 * within the list prepended to their index array, effectively placing them
-	 * in a virtual collection the top level of which corresponds to the various
-	 * input ports defined within the Merge node. When final completion events
-	 * from all input ports are received the Merge object registers the top
-	 * level collection with the attached DataManager and emits it and the
-	 * completion event through the single output port.
-	 * 
-	 * @return Ordered list of InputPort objects
-	 */
-	@Override
-	List<? extends MergeInputPort> getInputPorts();
-
-	/**
-	 * The Merge object has a single output port through which modified events
-	 * are emitted as described in the javadoc for getInputPorts
-	 * 
-	 * @return OutputPort for this Merge object
-	 */
-	EventForwardingOutputPort getOutputPort();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/MergeInputPort.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/MergeInputPort.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/MergeInputPort.java
deleted file mode 100644
index 3468301..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/MergeInputPort.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007-2009 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;
-
-import net.sf.taverna.t2.invocation.WorkflowDataToken;
-
-/**
- * Input port on a Merge object
- * 
- * @author Tom Oinn
- * @author Stian Soiland-Reyes
- */
-public interface MergeInputPort extends EventHandlingInputPort, MergePort {
-	/**
-	 * Receive an arbitrary workflow event. The index of this port relative to
-	 * its parent Merge object is prepended to the event index and the event
-	 * forwarded through the Merge output port to any targets.
-	 * <p>
-	 * If this is a workflow data token and the first such received under a
-	 * given owning process ID the implementing method also must also store the
-	 * cardinality, i.e. length of index array + depth of token. Subsequent
-	 * events are matched to this, if they have unequal cardinality the parent
-	 * Merge operation will throw a WorkflowStructureException as the merge
-	 * would result in a collection which violated the constraints defined by
-	 * the Taverna 2 data model.
-	 * 
-	 * @param e
-	 *            arbitrary workflow event, will be forwarded unchanged other
-	 *            than an alteration of the index array by prefixing the index
-	 *            of this input port relative to the parent Merge object
-	 */
-	@Override
-	public void receiveEvent(WorkflowDataToken t);
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/MergeOutputPort.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/MergeOutputPort.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/MergeOutputPort.java
deleted file mode 100644
index c43e869..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/MergeOutputPort.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007-2009 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;
-
-/**
- * An EventForwardingOutputPort that is associated with Merge instances.
- * In particular it provides access to the Merge instance it is associated with.
- * 
- * @see Merge
- * @see MergePort
- * @see EventForwardingOutputPort
- * 
- * @author Stuart Owen
- * @author Stian Soiland-Reyes
- */
-public interface MergeOutputPort extends EventForwardingOutputPort, MergePort {
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/MergePort.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/MergePort.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/MergePort.java
deleted file mode 100644
index 0fb88f3..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/MergePort.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2009 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;
-
-/**
- * An input or output {@link Port} for a {@link Merge}.
- * 
- * @see MergeInputPort
- * @see MergeOutputPort
- * @author Stian Soiland-Reyes
- */
-public interface MergePort extends Port {
-	/**
-	 * @return the Merge instance the port is associated with. 
-	 */
-	Merge getMerge();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/NamedWorkflowEntity.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/NamedWorkflowEntity.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/NamedWorkflowEntity.java
deleted file mode 100644
index 854685d..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/NamedWorkflowEntity.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;
-
-/**
- * Entities existing directly within a workflow such as Processors, Merge
- * operators and other potential future extensions exist within a naming scheme.
- * The local name of an entity is unique relative to the enclosing workflow.
- * Global names are not defined outside of the context of a given instance of a
- * workflow as the same workflow may be re-used in multiple other workflows,
- * there is therefore no single parent defined for some entities and the
- * approach of traversing the hierarchy to build a fully qualified name cannot
- * be applied. A given instance can be treated this way but this depends on
- * dataflow rather than inherent workflow structure.
- * <p>
- * All named workflow entities support the sticky note annotation type
- * 
- * @author Tom Oinn
- */
-public interface NamedWorkflowEntity extends WorkflowItem {
-	/**
-	 * Every workflow level entity has a name which is unique within the
-	 * workflow in which it exists. This only applies to the immediate parent
-	 * workflow, names may be duplicated in child workflows etc.
-	 */
-	String getLocalName();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/NamingException.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/NamingException.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/NamingException.java
deleted file mode 100644
index 2ce2f33..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/NamingException.java
+++ /dev/null
@@ -1,47 +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;
-
-/**
- * Potentially thrown when an edit fails due to naming of entities created or
- * modified by the edit. This could be because there are duplicate names in e.g.
- * processor input ports or invalid characters in the name itself
- * 
- * @author Tom Oinn
- * 
- */
-public class NamingException extends EditException {
-
-	private static final long serialVersionUID = -6945542133180017313L;
-
-	public NamingException(String message) {
-		super(message);
-	}
-
-	public NamingException(Throwable cause) {
-		super(cause);
-	}
-
-	public NamingException(String message, Throwable cause) {
-		super(message, cause);
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/OrderedPair.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/OrderedPair.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/OrderedPair.java
deleted file mode 100644
index fa8cc6a..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/OrderedPair.java
+++ /dev/null
@@ -1,85 +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;
-
-/**
- * A simple generic class to hold a pair of same type objects. Used by various
- * Edit implementations that operate on pairs of Processors amongst other
- * things.
- * 
- * @author Tom Oinn
- * 
- * @param <T>
- *            Type of the pair of contained objects
- */
-public class OrderedPair<T> {
-	private T a, b;
-
-	/**
-	 * Build a new ordered pair with the specified objects.
-	 * 
-	 * @throws RuntimeException
-	 *             if either a or b are null
-	 * @param a
-	 * @param b
-	 */
-	public OrderedPair(T a, T b) {
-		if (a == null || b == null)
-			throw new RuntimeException(
-					"Cannot construct ordered pair with null arguments");
-		this.a = a;
-		this.b = b;
-	}
-
-	/**
-	 * Return object a
-	 */
-	public T getA() {
-		return this.a;
-	}
-
-	/**
-	 * Return object b
-	 */
-	public T getB() {
-		return this.b;
-	}
-
-	/**
-	 * A pair of objects (a,b) is equal to another pair (c,d) if and only if a,
-	 * b, c and d are all the same type and the condition (a.equals(c) &
-	 * b.equals(d)) is true.
-	 */
-	@Override
-	public boolean equals(Object other) {
-		if (!(other instanceof OrderedPair))
-			return false;
-		OrderedPair<?> op = (OrderedPair<?>) other;
-		return (a.equals(op.getA()) && b.equals(op.getB()));
-	}
-
-	@Override
-	public int hashCode() {
-		int aHash = a.hashCode();
-		int bHash = b.hashCode();
-		return (aHash << 16) | (aHash >> 16) | bHash;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/OutputPort.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/OutputPort.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/OutputPort.java
deleted file mode 100644
index acd5f5c..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/OutputPort.java
+++ /dev/null
@@ -1,46 +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;
-
-/**
- * Port representing the output of an activity, processor or workflow. In
- * addition to the name and port depth defined by the Port interface this
- * includes a granular depth property. The granular depth of an output is the
- * depth of the finest grained entity that can be emitted from that port. For
- * example, if a process conceptually returned a list of strings but was
- * actually capable of streaming strings as they were generated it would set a
- * port depth of 1 and granular depth of zero.
- * 
- * @author Tom Oinn
- */
-public interface OutputPort extends Port {
-	/**
-	 * The granular depth is the depth of the finest grained item that can be
-	 * emitted from this output port. A difference in this and the port depth
-	 * indicates that the entity this port is attached to is capable of
-	 * streaming data resulting from a single process invocation. The port depth
-	 * defines the conceptual depth, so a process returning a stream of single
-	 * items would set port depth to 1 and granular depth to zero.
-	 * 
-	 * @return granular depth of output port
-	 */
-	int getGranularDepth();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Port.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Port.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Port.java
deleted file mode 100644
index b6b53b4..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Port.java
+++ /dev/null
@@ -1,35 +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;
-
-import net.sf.taverna.t2.annotation.Annotated;
-
-/**
- * Named port which receives events from some other entity and handles them
- * appropriately.
- * 
- * @author Tom Oinn
- */
-public interface Port extends Annotated<Port>, WorkflowItem {
-	String getName();
-
-	int getDepth();
-}

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.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Processor.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Processor.java
deleted file mode 100644
index 703e100..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/Processor.java
+++ /dev/null
@@ -1,150 +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;
-
-import static net.sf.taverna.t2.annotation.HierarchyRole.CHILD;
-
-import java.util.List;
-
-import net.sf.taverna.t2.annotation.Annotated;
-import net.sf.taverna.t2.annotation.HierarchyTraversal;
-import net.sf.taverna.t2.invocation.InvocationContext;
-import net.sf.taverna.t2.lang.observer.Observable;
-import net.sf.taverna.t2.workflowmodel.processor.activity.Activity;
-import net.sf.taverna.t2.workflowmodel.processor.dispatch.DispatchStack;
-import net.sf.taverna.t2.workflowmodel.processor.iteration.IterationStrategyStack;
-
-/**
- * A single node within the dataflow digraph, the Processor is the basic
- * functional unit within a Taverna workflow. It should also notify interested
- * observers when it has finished execution (including all iterations of the
- * processor).
- * 
- * @author Tom Oinn
- * @author Alex Nenadic
- */
-@ControlBoundary
-public interface Processor extends TokenProcessingEntity, Annotated<Processor>,
-		Observable<ProcessorFinishedEvent>, WorkflowItem {
-	/**
-	 * The iteration strategy is responsible for combining input data events
-	 * into jobs which are then queued for execution through the dispatch stack
-	 * 
-	 * @return IterationStrategyStack containing one or more IterationStrategy
-	 *         objects. In most cases this will only contain a single
-	 *         IterationStrategy but there are particular scenarios where
-	 *         staging partial iteration strategies together is the only way to
-	 *         get the desired combination of inputs
-	 */
-	@HierarchyTraversal(hierarchies = { "workflowStructure" }, role = { CHILD })
-	IterationStrategyStack getIterationStrategy();
-
-	/**
-	 * Each processor has a list of zero or more input ports. These are uniquely
-	 * named within the list. Any input port may have a default value associated
-	 * with it and may be attached to exactly one upstream output port. Where it
-	 * is necessary to connect a single input port to multiple output ports a
-	 * Merge object is used. Ordering within the list is not meaningful but we
-	 * use List rather than Set to preserve the ordering across serialisation
-	 * operations.
-	 * <p>
-	 * Processor inputs are instances of FilteringInputPort - they must have the
-	 * filter depth set before any data events arrive at the Processor. In
-	 * addition they assume that a full collection will be supplied, i.e. that
-	 * there will be exactly one event at the end of the list of events for a
-	 * given process ID with an index array of length zero.
-	 * 
-	 * @return List of named input ports
-	 */
-	@Override
-	@HierarchyTraversal(hierarchies = { "workflowStructure" }, role = { CHILD })
-	List<? extends ProcessorInputPort> getInputPorts();
-
-	/**
-	 * Each processor has a list of zero or more output ports. Output ports are
-	 * uniquely named within the list and may be connected to arbitrarily many
-	 * downstream input ports or Merge objects. Ordering within the list is not
-	 * meaningful but we use List rather than Set to preserve the ordering
-	 * across serialisation operations.
-	 * 
-	 * @return List of named output ports
-	 */
-	@Override
-	@HierarchyTraversal(hierarchies = { "workflowStructure" }, role = { CHILD })
-	List<? extends ProcessorOutputPort> getOutputPorts();
-
-	/**
-	 * The dispatch stack pulls jobs from the queue generated by the iteration
-	 * system and handles the dispatch of these jobs to appropriate activity
-	 * workers
-	 * 
-	 * @return the DispatchStackImpl for this processor
-	 */
-	@HierarchyTraversal(hierarchies = { "workflowStructure" }, role = { CHILD })
-	DispatchStack getDispatchStack();
-
-	/**
-	 * A processor contains zero or more activities in an ordered list. To be
-	 * any use in a workflow the processor should contain at least one activity
-	 * but it's technically valid to have none! Activities may be abstract or
-	 * concrete where an abstract activity is one with no invocation mechanism,
-	 * in these cases additional logic must be added to the dispatch stack of
-	 * the containing processor to convert these to concrete invokable
-	 * activities during the workflow invocation.
-	 * 
-	 * @return list of Activity instances
-	 */
-	@HierarchyTraversal(hierarchies = { "workflowStructure" }, role = { CHILD })
-	List<? extends Activity<?>> getActivityList();
-
-	/**
-	 * A processor with no inputs cannot be driven by the supply of data tokens
-	 * as it has nowhere to receive such tokens. This method allows a processor
-	 * to fire on an empty input set, in this case the owning process identifier
-	 * must be passed explicitly to the processor. Internally this pushes a
-	 * single empty job event into the dispatch queue, bypassing the iteration
-	 * logic (which is entirely predicated on the existence of input ports).
-	 * Callers must ensure that an appropriate process identifier is specified,
-	 * the behaviour on missing or duplicate process identifiers is not defined.
-	 */
-	void fire(String owningProcess, InvocationContext context);
-
-	/**
-	 * A processor has zero or more preconditions explicitly declared. All such
-	 * preconditions must be satisfied before any jobs are passed into the
-	 * dispatch stack. These preconditions replace and generalise the
-	 * coordination constraints from Taverna 1.
-	 * 
-	 * @return a List of Condition objects defining constraints on this
-	 *         processor's execution
-	 */
-	@HierarchyTraversal(hierarchies = { "workflowStructure" }, role = { CHILD })
-	List<? extends Condition> getPreconditionList();
-
-	/**
-	 * A processor may control zero or more other processors within the same
-	 * level of the workflow through preconditions.
-	 * 
-	 * @return a List of Condition objects for which this is the controlling
-	 *         processor
-	 */
-	List<? extends Condition> getControlledPreconditionList();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/5f1ddb71/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/ProcessorFinishedEvent.java
----------------------------------------------------------------------
diff --git a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/ProcessorFinishedEvent.java b/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/ProcessorFinishedEvent.java
deleted file mode 100644
index 1aa6e9b..0000000
--- a/taverna-workflowmodel-api/src/main/java/net/sf/taverna/t2/workflowmodel/ProcessorFinishedEvent.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package net.sf.taverna.t2.workflowmodel;
-
-/**
- * 
- * An event saying that a processor with a given owning process has finished with execution
- * (that includes the whole dispatch stack - iterations of the processor and all).
- * 
- * @author Alex Nenadic
- */
-public class ProcessorFinishedEvent {
-	private Processor processor;
-	private String owningProcess;
-	
-	public ProcessorFinishedEvent(Processor processor, String owningProcess) {
-		this.setProcessor(processor);
-		this.setOwningProcess(owningProcess);
-	}
-
-	public void setOwningProcess(String owningProcess) {
-		this.owningProcess = owningProcess;
-	}
-
-	public String getOwningProcess() {
-		return owningProcess;
-	}
-
-	public void setProcessor(Processor processor) {
-		this.processor = processor;
-	}
-
-	public Processor getProcessor() {
-		return processor;
-	}
-}