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