http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-reference-api/pom.xml b/taverna-reference-api/pom.xml
deleted file mode 100644
index 1c2664d..0000000
--- a/taverna-reference-api/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.apache.taverna.engine</groupId>
-               <artifactId>taverna-engine</artifactId>
-               <version>3.1.0-incubating-SNAPSHOT</version>
-       </parent>
-       <artifactId>taverna-reference-api</artifactId>
-       <packaging>bundle</packaging>
-       <name>Apache Taverna Reference Manager API</name>
-       <description>
-               Core APIs and extension points for the T2 reference manager.
-               This includes the SPIs for external references, translators and
-               publishers.
-       </description>
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.felix</groupId>
-                               <artifactId>maven-bundle-plugin</artifactId>
-                               <configuration>
-                                       <instructions>
-                                               <Import-Package>
-                                               
org.hibernate.proxy;resolution:=optional,
-                                               
org.springframework.transaction.*;resolution:=optional, *
-                                               </Import-Package>
-                                       </instructions>
-                               </configuration>
-                       </plugin>
-               </plugins>
-       </build>
-       <dependencies>
-               <dependency>
-                       <groupId>org.springframework</groupId>
-                       <artifactId>org.springframework.transaction</artifactId>
-                       <version>${spring.version}</version>
-               </dependency>
-       </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/AbstractExternalReference.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/AbstractExternalReference.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/AbstractExternalReference.java
deleted file mode 100644
index 599d0bb..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/AbstractExternalReference.java
+++ /dev/null
@@ -1,89 +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.reference;
-
-import static net.sf.taverna.t2.reference.ReferencedDataNature.*;
-
-/**
- * A trivial implementation of ExternalReference. This abstract class should be
- * used as the superclass of any ExternalReference implementations as it
- * provides base metadata for the hibernate-based persistence system used by 
the
- * main reference manager implementation. While the interface contract cannot
- * require this your extensions will likely not work properly unless you use
- * this class.
- * 
- * @author Tom Oinn
- */
-public abstract class AbstractExternalReference implements 
ExternalReferenceSPI {
-       // Used internally by Hibernate for this class and subclasses
-       private int primaryKey;
-
-       /**
-        * Used by Hibernate internally to establish a foreign key relationship
-        * between this abstract superclass and tables corresponding to
-        * implementations of the ExternalReference interface. Has no impact on 
any
-        * application level code, this method is only ever used by the 
internals of
-        * the hibernate framework.
-        */
-       public final void setPrimaryKey(int newKey) {
-               this.primaryKey = newKey;
-       }
-
-       /**
-        * Used by Hibernate internally to establish a foreign key relationship
-        * between this abstract superclass and tables corresponding to
-        * implementations of the ExternalReference interface. Has no impact on 
any
-        * application level code, this method is only ever used by the 
internals of
-        * the hibernate framework.
-        */
-       public final int getPrimaryKey() {
-               return this.primaryKey;
-       }
-
-       /**
-        * Default to returning DataReferenceNature.UNKNOWN
-        */
-       @Override
-       public ReferencedDataNature getDataNature() {
-               return UNKNOWN;
-       }
-
-       /**
-        * Default to returning null for charset
-        */
-       @Override
-       public String getCharset() {
-               return null;
-       }
-
-       /**
-        * Default to a value of 0.0f for the resolution cost, but 
implementations
-        * should at least attempt to set this to a more sensible level!
-        */
-       @Override
-       public float getResolutionCost() {
-               return 0.0f;
-       }
-
-       @Override
-       public abstract ExternalReferenceSPI clone()
-                       throws CloneNotSupportedException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ContextualizedT2Reference.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ContextualizedT2Reference.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ContextualizedT2Reference.java
deleted file mode 100644
index a5699b0..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ContextualizedT2Reference.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.reference;
-
-/**
- * Used by the {@link ReferenceService#traverseFrom(T2Reference, int)} when
- * traversing a collection structure. Each contextualized t2reference contains
- * the {@link T2Reference} along with an integer array index representing the
- * position of that reference within the traversal structure. The index
- * [i<sub>0</sub>,i<sub>1</sub>,i<sub>2</sub> ... i<sub>n</sub>] is interpreted
- * such that the reference is located at
- * parent.get(i<sub>0</sub>).get(i<sub>1</sub
- * >).get(i<sub>2</sub>)....get(i<sub>n</sub>). If the index is empty then the
- * T2Reference <em>is</em> the original reference supplied to the
- * {@link ReferenceService#traverseFrom(T2Reference, int) traverseFrom} method.
- * 
- * @author Tom Oinn
- */
-public interface ContextualizedT2Reference {
-       /**
-        * @return the T2Reference to which the associated index applies.
-        */
-       T2Reference getReference();
-
-       /**
-        * @return the index of this T2Reference
-        */
-       int[] getIndex();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/DaoException.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/DaoException.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/DaoException.java
deleted file mode 100644
index 7de38df..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/DaoException.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.reference;
-
-/**
- * Thrown by the Data Access Object interface methods, wrapping any underlying
- * exception.
- * 
- * @author Tom Oinn
- */
-public class DaoException extends RuntimeException {
-       static final long serialVersionUID = 8496141798637577803L;
-
-       public DaoException() {
-               super();
-       }
-
-       public DaoException(String message) {
-               super(message);
-       }
-
-       public DaoException(Throwable cause) {
-               super(cause);
-       }
-
-       public DaoException(String message, Throwable cause) {
-               super(message, cause);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/DereferenceException.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/DereferenceException.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/DereferenceException.java
deleted file mode 100644
index d2f814f..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/DereferenceException.java
+++ /dev/null
@@ -1,48 +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.reference;
-
-/**
- * Thrown when a problem occurs during de-reference of an ExternalReferenceSPI
- * implementation. This include operations which implicitly de-reference the
- * reference such as those infering character set or data natures.
- * 
- * @author Tom Oinn
- */
-public class DereferenceException extends RuntimeException {
-       private static final long serialVersionUID = 8054381613840005541L;
-
-       public DereferenceException() {
-               //
-       }
-
-       public DereferenceException(String message) {
-               super(message);
-       }
-
-       public DereferenceException(Throwable cause) {
-               super(cause);
-       }
-
-       public DereferenceException(String message, Throwable cause) {
-               super(message, cause);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocument.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocument.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocument.java
deleted file mode 100644
index 06a20e3..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocument.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.reference;
-
-import java.util.List;
-import java.util.Set;
-
-/**
- * Contains the definition of an error token within the workflow system.
- * 
- * @author Tom Oinn
- * @author David Withers
- */
-public interface ErrorDocument extends Identified {
-       /**
-        * If the error document is created from a {@link Throwable} it will 
have a
-        * stack trace, in this case the stack trace is represented as a list of
-        * {@link StackTraceElement} beans
-        */
-       List<StackTraceElementBean> getStackTraceStrings();
-
-       /**
-        * If the error document is created from a {@link Throwable}, this 
contains
-        * the message part of the {@link Throwable}.
-        */
-       String getExceptionMessage();
-
-       /**
-        * Error documents can carry an arbitrary string message, this returns 
it.
-        */
-       String getMessage();
-
-       /**
-        * If the error document is created from set of references that contain
-        * error documents, this method returns them.
-        */
-       Set<T2Reference> getErrorReferences();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentDao.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentDao.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentDao.java
deleted file mode 100644
index 72fabf1..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentDao.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- 
******************************************************************************/
-package net.sf.taverna.t2.reference;
-
-import static org.springframework.transaction.annotation.Propagation.REQUIRED;
-import static org.springframework.transaction.annotation.Propagation.SUPPORTS;
-
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * Data access object handling ErrorDocument instances.
- * 
- * @author Tom Oinn
- */
-public interface ErrorDocumentDao {
-       /**
-        * Store a named ErrorDocument to the database.
-        * 
-        * @param errorDoc
-        *            error document to store
-        * @throws DaoException
-        *             if any exception is thrown when connecting to the 
underlying
-        *             store or when storing the error document
-        */
-       @Transactional(propagation = REQUIRED, readOnly = false)
-       void store(ErrorDocument errorDoc) throws DaoException;
-
-       /**
-        * Retrieves a named and populated ErrorDocument
-        * 
-        * @param reference
-        *            id of the error document to retrieve
-        * @return a previously stored ErrorDocument instance
-        * @throws DaoException
-        *             if any exception is thrown when connecting to the 
underlying
-        *             data store or when attempting retrieval of the error 
document
-        */
-       @Transactional(propagation = SUPPORTS, readOnly = true)
-       ErrorDocument get(T2Reference reference) throws DaoException;
-
-       @Transactional(propagation = SUPPORTS, readOnly = false)
-       boolean delete(ErrorDocument errorDoc) throws DaoException;
-
-       @Transactional(propagation = SUPPORTS, readOnly = false)
-       void deleteErrorDocumentsForWFRun(String workflowRunId) throws 
DaoException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentService.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentService.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentService.java
deleted file mode 100644
index 6eee715..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentService.java
+++ /dev/null
@@ -1,152 +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.reference;
-
-import java.util.Set;
-
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * Provides facilities to register list of T2References, register empty lists 
at
- * any given depth and to resolve appropriate T2Reference instances back to
- * these lists. Registration operations assign names and lock the list contents
- * as a result. This service operates strictly on T2References, it neither 
tries
- * to nor is capable of any form of reference resolution, so aspects such as
- * collection traversal are not handled here (these are performed by the top
- * level reference service)
- * 
- * @author Tom Oinn
- */
-@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
-public interface ErrorDocumentService {
-       /**
-        * Register a new error document.
-        * <p>
-        * The created reference will be related with a workflow run id passed
-        * through ReferenceContext so we can track all data referenced by a
-        * specific run.
-        * 
-        * @param message
-        *            a free text message describing the error, if available. If
-        *            there is no message use the empty string here.
-        * @param t
-        *            a Throwable describing the underlying fault causing this 
error
-        *            document to be registered, if any. If there is no 
Throwable
-        *            associated use null.
-        * @param depth
-        *            depth of the error, used when returning an error document
-        *            instead of an identified list.
-        * @return a new ErrorDocument instance, constructed fully and stored 
in the
-        *         underlying storage system
-        */
-       @Transactional(propagation = Propagation.REQUIRED, readOnly = false)
-       ErrorDocument registerError(String message, Throwable t, int depth,
-                       ReferenceContext context) throws 
ErrorDocumentServiceException;
-
-       /**
-        * Equivalent to <code>registerError(message, null, depth, 
context)</code>.
-        */
-       @Transactional(propagation = Propagation.REQUIRED, readOnly = false)
-       ErrorDocument registerError(String message, int depth,
-                       ReferenceContext context) throws 
ErrorDocumentServiceException;
-
-       /**
-        * Equivalent to <code>registerError("", t, depth, context)</code>.
-        */
-       @Transactional(propagation = Propagation.REQUIRED, readOnly = false)
-       ErrorDocument registerError(Throwable t, int depth, ReferenceContext 
context)
-                       throws ErrorDocumentServiceException;
-
-       /**
-        * Register a new error document.
-        * <p>
-        * The created reference will be related with a workflow run id passed
-        * through ReferenceContext so we can track all data referenced by a
-        * specific run.
-        * 
-        * @param message
-        *            a free text message describing the error, if available. If
-        *            there is no message use the empty string here.
-        * @param errors
-        *            a set of references that contain error documents.
-        * @param depth
-        *            depth of the error, used when returning an error document
-        *            instead of an identified list.
-        * @return a new ErrorDocument instance, constructed fully and stored 
in the
-        *         underlying storage system
-        */
-       @Transactional(propagation = Propagation.REQUIRED, readOnly = false)
-       ErrorDocument registerError(String message, Set<T2Reference> errors,
-                       int depth, ReferenceContext context)
-                       throws ErrorDocumentServiceException;
-
-       /**
-        * Retrieve a previously named and registered ErrorDocument from the 
backing
-        * store
-        * 
-        * @param id
-        *            identifier of the error document to retrieve
-        * @return an ErrorDocument
-        * @throws ErrorDocumentServiceException
-        *             if anything goes wrong with the retrieval process or if 
there
-        *             is something wrong with the reference (such as it being 
of
-        *             the wrong reference type).
-        */
-       ErrorDocument getError(T2Reference id) throws 
ErrorDocumentServiceException;
-
-       /**
-        * Functionality the same as {@link #getError(T2Reference) getError} 
but in
-        * asynchronous mode, returning immediately and using the supplied 
callback
-        * to communicate its results.
-        * 
-        * @param id
-        *            a {@link T2Reference} identifying an {@link 
ErrorDocument} to
-        *            retrieve
-        * @param callback
-        *            a {@link ErrorDocumentServiceCallback} used to convey the
-        *            results of the asynchronous call
-        * @throws ErrorDocumentServiceException
-        *             if the reference set service is not correctly configured.
-        *             Exceptions encountered when performing the asynchronous 
call
-        *             are not returned here, for obvious reasons, and are 
instead
-        *             messaged through the callback interface.
-        */
-       void getErrorAsynch(T2Reference id, ErrorDocumentServiceCallback 
callback)
-                       throws ErrorDocumentServiceException;
-
-       /**
-        * Return the T2Reference for the sole child of an error document
-        * identifier.
-        */
-       T2Reference getChild(T2Reference errorId)
-                       throws ErrorDocumentServiceException;
-
-       @Transactional(propagation = Propagation.SUPPORTS, readOnly = false)
-       boolean delete(T2Reference reference) throws ReferenceServiceException;
-
-       /**
-        * Delete all {@link ErrorDocument}S used by the specific workflow run.
-        */
-       @Transactional(propagation = Propagation.SUPPORTS, readOnly = false)
-       void deleteErrorDocumentsForWorkflowRun(String workflowRunId)
-                       throws ReferenceServiceException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentServiceCallback.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentServiceCallback.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentServiceCallback.java
deleted file mode 100644
index 5e55672..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentServiceCallback.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.reference;
-
-/**
- * Callback interface used by asynchronous methods in the
- * {@link ErrorDocumentService} interface
- * 
- * @author Tom Oinn
- */
-public interface ErrorDocumentServiceCallback {
-       /**
-        * Called when the requested {@link ReferenceSet} has been successfully
-        * retrieved.
-        * 
-        * @param errorDoc
-        *            the ErrorDocument requested
-        */
-       void errorRetrieved(ErrorDocument errorDoc);
-
-       /**
-        * Called if the retrieval failed for some reason
-        * 
-        * @param cause
-        *            an ErrorDocumentServiceException explaining the retrieval
-        *            failure
-        */
-       void errorRetrievalFailed(ErrorDocumentServiceException cause);
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentServiceException.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentServiceException.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentServiceException.java
deleted file mode 100644
index 3959c6a..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ErrorDocumentServiceException.java
+++ /dev/null
@@ -1,48 +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.reference;
-
-/**
- * RuntimeException subclass thrown by the error document service layer
- * interfaces. All underlying exceptions are either handled by the service 
layer
- * or wrapped in this exception (or a subclass) and rethrown.
- * 
- * @author Tom Oinn
- */
-public class ErrorDocumentServiceException extends RuntimeException {
-       private static final long serialVersionUID = 5556399589785258956L;
-
-       public ErrorDocumentServiceException() {
-               super();
-       }
-
-       public ErrorDocumentServiceException(String message, Throwable cause) {
-               super(message, cause);
-       }
-
-       public ErrorDocumentServiceException(String message) {
-               super(message);
-       }
-
-       public ErrorDocumentServiceException(Throwable cause) {
-               super(cause);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceBuilderSPI.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceBuilderSPI.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceBuilderSPI.java
deleted file mode 100644
index 2dfb340..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceBuilderSPI.java
+++ /dev/null
@@ -1,90 +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.reference;
-
-import java.io.InputStream;
-
-/**
- * Constructs an ExternalReferenceSPI instance from a byte stream. Used by the
- * {@link ReferenceSetAugmentor} when there isn't a direct reference to
- * reference translation path available for a desired target type, but 
available
- * for external use wherever this functionality is needed.
- * <p>
- * Where an underlying resource is required this is extracted from the supplied
- * ReferenceContext, this implies that all methods in implementations of this
- * interface should be thread safe, allowing multiple concurrent threads
- * cleanly. For SPI purposes implementations should be java beans with default
- * constructors.
- * 
- * @author Tom Oinn
- */
-public interface ExternalReferenceBuilderSPI<TargetType extends 
ExternalReferenceSPI> {
-       /**
-        * Given a stream of bytes, build the appropriate target
-        * ExternalReferenceSPI implementation which would de-reference to the 
value
-        * of that stream and return it.
-        * 
-        * @param byteStream
-        *            the bytestream to read target from.
-        * @param context
-        *            a reference resolution context, needed potentially to
-        *            construct the new ExternalReferenceSchemeSPI, especially 
in
-        *            cases where the context contains security agents giving 
access
-        *            to a remote data staging system *
-        * @throws ExternalReferenceConstructionException
-        *             if an error occurs instantiating the new reference.
-        * @return the newly constructed ExternalReferenceSPI instance.
-        */
-       TargetType createReference(InputStream byteStream, ReferenceContext 
context);
-
-       /**
-        * Expose the type of the ExternalReferenceSPI that this builder can
-        * construct
-        * 
-        * @return the class of ExternalReferenceSPI returned by the create
-        *         reference methods.
-        */
-       Class<TargetType> getReferenceType();
-
-       /**
-        * Because the reference builder may rely on facilities provided to it
-        * through the context this method is available to check whether these
-        * facilities are sufficient.
-        * 
-        * @param context
-        *            the reference context that will be used to construct new
-        *            references
-        * @return whether the context contains necessary resources for the
-        *         reference construction process
-        */
-       boolean isEnabled(ReferenceContext context);
-
-       /**
-        * Return an approximate complexity cost of the reference construction. 
In
-        * general we can't make any guarantees about this because the 
complexity of
-        * the construction depends on more than just the type involved - it can
-        * depend on local configuration, network location relative to the data
-        * stores referenced and in some cases on the data themselves. For now
-        * though we assign an approximation, the default value is 1.0f and 
lower
-        * values represent less costly operations.
-        */
-       float getConstructionCost();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceConstructionException.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceConstructionException.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceConstructionException.java
deleted file mode 100644
index 0892ecc..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceConstructionException.java
+++ /dev/null
@@ -1,50 +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.reference;
-
-/**
- * Thrown when an exception occurs during construction of an
- * ExternalReferenceSPI instance. This includes construction through direct
- * method invocation, through the ExternalReferenceBuilderSPI interface and
- * through the ExternalReferenceTranslatorSPI interface.
- * 
- * @author Tom Oinn
- */
-public class ExternalReferenceConstructionException extends RuntimeException {
-       private static final long serialVersionUID = 8334725795238353354L;
-
-       public ExternalReferenceConstructionException() {
-               super();
-       }
-
-       public ExternalReferenceConstructionException(String message) {
-               super(message);
-       }
-
-       public ExternalReferenceConstructionException(Throwable cause) {
-               super(cause);
-       }
-
-       public ExternalReferenceConstructionException(String message,
-                       Throwable cause) {
-               super(message, cause);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceSPI.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceSPI.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceSPI.java
deleted file mode 100644
index 4d6a047..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceSPI.java
+++ /dev/null
@@ -1,132 +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.reference;
-
-import java.io.InputStream;
-
-/**
- * A reference to a single piece of data. This may or may not be within the
- * enactment infrastructure, it could refer to data held in a file, a URL, a
- * grid storage system or anything of that nature. Ideally the data this
- * reference points to should not change - we'd like to say 'must not change' 
at
- * this point but this isn't always possible, implementations should aim to
- * provide the appearance that data are immutable.
- * <p>
- * When used within the workflow engine implementations of this interface are
- * always contained in a ReferenceSet instance.
- * <p>
- * Implementors of this interface are strongly advised to use the
- * AbstractExternalReference superclass - this provides the necessary primary
- * key information used by hibernate-based implementations of the reference
- * manager. Technically we don't require it as it's possible that other backend
- * stores may exist, but the core store used by T2 is based on hibernate so 
it's
- * a very good idea to follow this! Basically if you don't your code won't work
- * in the current system.
- * <p>
- * This interface is an SPI - while implementations are never constructed based
- * on the SPI registry it is used to discover all implementing classes and
- * automatically register their hibernate mapping files. Implementors should 
add
- * their implementation class name to a
- * META-INF/services/net.sf.taverna.t2.reference.ExternalReferenceSPI file in
- * the implementation artifact. For examples please refer to the
- * t2reference-core-extensions module, this contains implementations of this
- * interface for common basic reference types.
- * <p>
- * Note - if your implementation class has a complex hibernate mapping that 
uses
- * components which are themselves mapped into the database (perfectly legal to
- * do) then you must mark those components as instances of 
HibernateMappedEntity
- * so their corresponding mapping and class definitions are loaded by the
- * Hibernate backed reference set dao. If your implementation class uses inline
- * compound keys or other component types where you reference another class but
- * the other class is not mapped itself in hibernate you must instead make the
- * component class an instance of HibernateComponentClass - a marker interface 
-
- * for the same reason. Both of these are SPIs themselves, and require the
- * appropriate entries to be added to their service metadata files in your
- * extension jar.
- * 
- * @author Tom Oinn
- */
-public interface ExternalReferenceSPI extends Cloneable {
-       /**
-        * Determine, if possible, whether the data this reference refers to is
-        * textual or binary in nature. If this determination is impossible, 
either
-        * because the ExternalReference implementation does not know or 
because the
-        * data is not accessible for some reason then this should return
-        * ReferenceDataNature.UNKNOWN
-        * 
-        * @return the nature of the referenced data
-        */
-       ReferencedDataNature getDataNature();
-
-       /**
-        * For textual data return the character set that should be used to pull
-        * data into a java String object. Callers must deal with a null return
-        * value in the event of either unknown charset or unknown or binary 
data
-        * types.
-        * 
-        * @return string character set, for example 'utf-8', or 
<code>null</code>
-        *         if binary or unknown type.
-        */
-       String getCharset();
-
-       /**
-        * Open and return an InputStream to the data referenced using, if 
required,
-        * any facilities within the supplied context.
-        * 
-        * @param context
-        *            the ReferenceContext object used to obtain e.g. security
-        *            agents or other facilities required when de-referencing 
this
-        *            reference.
-        * @return an InputStream providing access to the referenced data
-        * @throws DereferenceException
-        *             if the reference cannot be de-referenced. This may be 
because
-        *             of problems with the context such as security failures, 
or it
-        *             may be because the reference is inherently not possible 
to
-        *             de-reference (as in the case of a non-serializable API
-        *             consumer reference).
-        */
-       InputStream openStream(ReferenceContext context)
-                       throws DereferenceException;
-
-       /**
-        * Approximate size of the stored data or -1 if we do not know.
-        */
-       Long getApproximateSizeInBytes();
-
-       /**
-        * Resolution cost is an informal guide to how costly the process of
-        * de-referencing this reference would be. It's used when assessing 
which
-        * out of a set of ExternalReferenceSPI implementations to use to get 
the
-        * value of the reference(s), in particular when rendering to POJOs or 
when
-        * translating throught the de-reference / construct from stream route. 
As
-        * this property is highly complex and potentially expensive in itself 
to
-        * evaluate there's no requirement for it to be absolutely correct, it's
-        * just used as a guide that, for example, it is easier to get bytes 
from a
-        * file on the local disk than to get them from a resource held on a 
grid on
-        * the other side of the planet.
-        * 
-        * @return a float representing some notion of resolution cost, lower 
values
-        *         represent cheaper de-reference paths.
-        */
-       float getResolutionCost();
-
-       ExternalReferenceSPI clone() throws CloneNotSupportedException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceTranslatorSPI.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceTranslatorSPI.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceTranslatorSPI.java
deleted file mode 100644
index bc46dce..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceTranslatorSPI.java
+++ /dev/null
@@ -1,96 +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.reference;
-
-/**
- * Constructs an ExternalReference instance from an existing ExternalReference,
- * most usually of a different type. Used by the {@link ReferenceSetAugmentor}.
- * This SPI should not be used for cases where an ExternalReferenceSPI is
- * constructed from a stream of bytes, this is intended for direct reference to
- * reference translation with the assumption that this is more efficient for
- * whatever reason. For cases where the reference is constructed from a byte
- * stream you should implement {@link ExternalReferenceBuilder} instead.
- * <p>
- * For SPI purposes implementations should be java beans with default
- * constructors, any required state such as the location of remote repositories
- * to which data can be staged will be passed in in the ReferenceContext.
- * 
- * @author Tom Oinn
- */
-public interface ExternalReferenceTranslatorSPI<SourceType extends 
ExternalReferenceSPI, TargetType extends ExternalReferenceSPI> {
-       /**
-        * Given an existing ExternalReferenceSPI, build the appropriate target
-        * ExternalReferenceSPI implementation and return it.
-        * 
-        * @param sourceReference
-        *            the reference to be used as source for the translation.
-        * @param context
-        *            a reference resolution context, needed potentially to 
access
-        *            the existing external references or to construct the new 
one,
-        *            especially in cases where the context contains security 
agents
-        *            giving access to a remote data staging system
-        * @throws ExternalReferenceConstructionException
-        *             if an error occurs instantiating the new reference.
-        * @return the newly constructed ExternalReferenceSPI instance.
-        */
-       TargetType createReference(SourceType sourceReference,
-                       ReferenceContext context);
-
-       /**
-        * Return the type of external reference that this translator consumes.
-        * 
-        * @return ExternalReferenceSPI class corresponding to the reference 
type
-        *         used as a source by this translator.
-        */
-       Class<SourceType> getSourceReferenceType();
-
-       /**
-        * Return the type of external reference this translator constructs.
-        * 
-        * @return ExternalReferenceSPI class corresponding to the reference 
type
-        *         emitted by this translator.
-        */
-       Class<TargetType> getTargetReferenceType();
-
-       /**
-        * Because the reference translator may rely on facilities provided to 
it
-        * through the context this method is available to check whether these
-        * facilities are sufficient.
-        * 
-        * @param context
-        *            the reference context that will be used to construct new
-        *            references during the translation process
-        * @return whether the context contains necessary resources for the
-        *         reference construction process
-        */
-       boolean isEnabled(ReferenceContext context);
-
-       /**
-        * Return an approximate complexity cost of the translation. In general 
we
-        * can't make any guarantees about this because the complexity of the
-        * translation depends on more than just the types involved - it can 
depend
-        * on local configuration, network location relative to the data stores
-        * referenced and in some cases on the data themselves. For now though 
we
-        * assign an approximation, the default value is 1.0f and lower values
-        * represent less costly operations.
-        */
-       float getTranslationCost();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceValidationException.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceValidationException.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceValidationException.java
deleted file mode 100644
index c8b540d..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ExternalReferenceValidationException.java
+++ /dev/null
@@ -1,50 +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.reference;
-
-/**
- * Thrown by setter methods and constructors of ExternalReferenceSPI
- * implementations when fed parameters which cause some kind of format or
- * validation error. These might include badly formed URL or file paths or any
- * other property that fails to validate against some reference type specific
- * scheme.
- * 
- * @author Tom Oinn
- */
-public class ExternalReferenceValidationException extends RuntimeException {
-       private static final long serialVersionUID = 3031393671457773057L;
-
-       public ExternalReferenceValidationException() {
-               //
-       }
-
-       public ExternalReferenceValidationException(String message) {
-               super(message);
-       }
-
-       public ExternalReferenceValidationException(Throwable cause) {
-               super(cause);
-       }
-
-       public ExternalReferenceValidationException(String message, Throwable 
cause) {
-               super(message, cause);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/Identified.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/Identified.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/Identified.java
deleted file mode 100644
index 8e9c5fd..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/Identified.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- 
******************************************************************************/
-package net.sf.taverna.t2.reference;
-
-/**
- * Interface for any object that has an associated {@link T2Reference}
- * 
- * @author Tom Oinn
- */
-public interface Identified {
-       /**
-        * Return an appropriately configured instance of T2Reference for this
-        * identified object.
-        * 
-        * @return the id of this object in the form of a T2Reference
-        */
-       T2Reference getId();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/IdentifiedList.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/IdentifiedList.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/IdentifiedList.java
deleted file mode 100644
index 032906f..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/IdentifiedList.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.reference;
-
-import java.util.List;
-
-/**
- * An identified list is a list which is identified by a T2Reference. Lists are
- * immutable once named - if getId() returns a non null value all list methods
- * modifying the underlying list data will throw {@link IllegalStateException}.
- * In the reference management API this list sub-interface is used to represent
- * both collections of identifiers (i.e. 'raw' stored lists) and more fully
- * resolved structures where the types in the list can be reference sets, error
- * documents and other lists of such. The {@link ListDao} interface uses only
- * the 'raw' form consisting of flat lists of identifiers.
- * <p>
- * The IdentifiedList has a unique T2Reference associated with it. If this is
- * null the contents of the list may be modified, otherwise all modification
- * operations throw {@link IllegalStateException}. Lists in T2, once named, are
- * immutable.
- * 
- * @author Tom Oinn
- * 
- * @param <T>
- */
-public interface IdentifiedList<T> extends List<T>, Identified {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListDao.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListDao.java 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListDao.java
deleted file mode 100644
index 7e064be..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListDao.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- 
******************************************************************************/
-package net.sf.taverna.t2.reference;
-
-import static org.springframework.transaction.annotation.Propagation.REQUIRED;
-import static org.springframework.transaction.annotation.Propagation.SUPPORTS;
-
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * Data access object handling NamedLists of T2Reference instances.
- * 
- * @author Tom Oinn
- */
-public interface ListDao {
-       /**
-        * Store a named and populated IdentifiedList of T2Reference to the
-        * database.
-        * 
-        * @param theList
-        *            list to store
-        * @throws DaoException
-        *             if any exception is thrown when connecting to the 
underlying
-        *             store or when storing the list
-        */
-       @Transactional(propagation = REQUIRED, readOnly = false)
-       void store(IdentifiedList<T2Reference> theList) throws DaoException;
-
-       /**
-        * Retrieves a named and populated IdentifiedList of T2Reference from 
the
-        * database by T2Reference
-        * 
-        * @param reference
-        *            id of the list to retrieve
-        * @return a previously stored list of T2References
-        * @throws DaoException
-        *             if any exception is thrown when connecting to the 
underlying
-        *             data store or when attempting retrieval of the list
-        */
-       @Transactional(propagation = SUPPORTS, readOnly = true)
-       IdentifiedList<T2Reference> get(T2Reference reference) throws 
DaoException;
-
-       @Transactional(propagation = SUPPORTS, readOnly = false)
-       boolean delete(IdentifiedList<T2Reference> theList) throws DaoException;
-
-       @Transactional(propagation = SUPPORTS, readOnly = false)
-       void deleteIdentifiedListsForWFRun(String workflowRunId)
-                       throws DaoException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListService.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListService.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListService.java
deleted file mode 100644
index dae18af..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListService.java
+++ /dev/null
@@ -1,144 +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.reference;
-
-import static org.springframework.transaction.annotation.Propagation.REQUIRED;
-import static org.springframework.transaction.annotation.Propagation.SUPPORTS;
-
-import java.util.List;
-
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * Provides facilities to register list of T2References, register empty lists 
at
- * any given depth and to resolve appropriate T2Reference instances back to
- * these lists. Registration operations assign names and lock the list contents
- * as a result. This service operates strictly on T2References, it neither 
tries
- * to nor is capable of any form of reference resolution, so aspects such as
- * collection traversal are not handled here (these are performed by the top
- * level reference service)
- * 
- * @author Tom Oinn
- */
-@Transactional(propagation = SUPPORTS, readOnly = true)
-public interface ListService {
-       /**
-        * Register a new list of T2References. The depth of the list will be
-        * calculated based on the depth of the references within it - if these 
are
-        * not uniform the list won't be created (all children of a list in T2 
must
-        * have the same depth as their siblings). Provided this constraint is
-        * satisfied the list is named and stored in the backing store. The 
returned
-        * list is at this point immutable, operations modifying it either 
directly
-        * or through the ListIterator will fail with an IllegalStateException.
-        * Implementations should copy the input list rather than keeping a
-        * reference to it to preserve this property.
-        * <p>
-        * The created references will be related with a workflow run id passed
-        * through ReferenceContext so we can track all data referenced by a
-        * specific run.
-        * 
-        * @param items
-        *            the T2Reference instances to store as a list.
-        * @return a new IdentifiedList of T2Reference instances allocated with 
a
-        *         T2Reference itself as the unique name and cached by the 
backing
-        *         store.
-        * @throws ListServiceException
-        *             if there is a problem either with the specified list of
-        *             references or with the storage subsystem.
-        */
-       @Transactional(propagation = REQUIRED, readOnly = false)
-       IdentifiedList<T2Reference> registerList(List<T2Reference> items,
-                       ReferenceContext context) throws ListServiceException;
-
-       /**
-        * Register a new empty list with the specified depth. This is needed
-        * because in the case of empty lists we can't calculate the depth from 
the
-        * list items (what with there not being any!), but the depth property 
is
-        * critical for the T2 iteration and collection management system in the
-        * enactor - we need to know that this is an empty list that
-        * <em>would have</em> contained lists, for example.
-        * <p>
-        * The created references will be related with a workflow run id passed
-        * through ReferenceContext so we can track all data referenced by a
-        * specific run.
-        * 
-        * @param depth
-        *            the depth of the empty list, must be >=1
-        * @return a new empty IdentifiedList allocated with a T2Reference 
itself as
-        *         the unique name and cached by the backing store.
-        * @throws ListServiceException
-        *             if there is a problem with the storage subsystem or if 
called
-        *             with an invalid depth argument
-        */
-       @Transactional(propagation = REQUIRED, readOnly = false)
-       IdentifiedList<T2Reference> registerEmptyList(int depth,
-                       ReferenceContext context) throws ListServiceException;
-
-       /**
-        * Retrieve a previously named and registered list of T2Reference 
instances
-        * identified by the specified T2Reference (which must be of type
-        * T2ReferenceType.IdentifiedList)
-        * 
-        * @param id
-        *            identifier of the list of reference to retrieve
-        * @return an IdentifiedList of T2References. Note that because this 
list is
-        *         named it is effectively immutable, if you want to modify the 
list
-        *         you have to create and register a new list, you cannot 
modify the
-        *         returned value of this directly. This is why there is no 
update
-        *         method in the service or dao for reference lists.
-        * @throws ListServiceException
-        *             if anything goes wrong with the retrieval process or if 
there
-        *             is something wrong with the reference (such as it being 
of
-        *             the wrong reference type).
-        */
-       IdentifiedList<T2Reference> getList(T2Reference id)
-                       throws ListServiceException;
-
-       /**
-        * Functionality the same as {@link #getList(T2Reference) getList} but 
in
-        * asynchronous mode, returning immediately and using the supplied 
callback
-        * to communicate its results.
-        * 
-        * @param id
-        *            a {@link T2Reference} identifying an {@link 
IdentifiedList} to
-        *            retrieve
-        * @param callback
-        *            a {@link ListServiceCallback} used to convey the results 
of
-        *            the asynchronous call
-        * @throws ListServiceException
-        *             if the reference set service is not correctly configured.
-        *             Exceptions encountered when performing the asynchronous 
call
-        *             are not returned here, for obvious reasons, and are 
instead
-        *             messaged through the callback interface.
-        */
-       void getListAsynch(T2Reference id, ListServiceCallback callback)
-                       throws ListServiceException;
-
-       @Transactional(propagation = SUPPORTS, readOnly = false)
-       boolean delete(T2Reference reference) throws ReferenceServiceException;
-
-       /**
-        * Delete all {@link IdentifiedList}S used by the specific workflow run.
-        */
-       @Transactional(propagation = SUPPORTS, readOnly = false)
-       void deleteIdentifiedListsForWorkflowRun(String workflowRunId)
-                       throws ReferenceServiceException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListServiceCallback.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListServiceCallback.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListServiceCallback.java
deleted file mode 100644
index 754caf6..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListServiceCallback.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.reference;
-
-/**
- * Callback interface used by asynchronous methods in the
- * {@link ListService} interface
- * 
- * @author Tom Oinn
- */
-public interface ListServiceCallback {
-       /**
-        * Called when the requested {@link ReferenceSet} has been successfully
-        * retrieved.
-        * 
-        * @param references
-        *            the ReferenceSet requested
-        */
-       void listRetrieved(IdentifiedList<T2Reference> references);
-
-       /**
-        * Called if the retrieval failed for some reason
-        * 
-        * @param cause
-        *            a ListServiceException explaining the retrieval
-        *            failure
-        */
-       void listRetrievalFailed(ListServiceException cause);
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListServiceException.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListServiceException.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListServiceException.java
deleted file mode 100644
index 01cdd82..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ListServiceException.java
+++ /dev/null
@@ -1,48 +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.reference;
-
-/**
- * Thrown by methods in the ListService interface if anything goes wrong with
- * list registration or retrieval. Any underlying exceptions that can't be
- * handled in the service layer are wrapped in this and re-thrown.
- * 
- * @author Tom Oinn
- */
-public class ListServiceException extends RuntimeException {
-       private static final long serialVersionUID = 5049346991071587866L;
-
-       public ListServiceException() {
-               super();
-       }
-
-       public ListServiceException(String message) {
-               super(message);
-       }
-
-       public ListServiceException(Throwable cause) {
-               super(cause);
-       }
-
-       public ListServiceException(String message, Throwable cause) {
-               super(message, cause);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/3ecb1291/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ReferenceContext.java
----------------------------------------------------------------------
diff --git 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ReferenceContext.java
 
b/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ReferenceContext.java
deleted file mode 100644
index 0ce2de3..0000000
--- 
a/taverna-reference-api/src/main/java/net/sf/taverna/t2/reference/ReferenceContext.java
+++ /dev/null
@@ -1,66 +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.reference;
-
-import java.util.List;
-
-/**
- * Many operations over the reference manager require access to an appropriate
- * context. The context contains hooks out to platform level facilities such as
- * the security agent framework (when used in conjunction with the enactor).
- * <p>
- * This interface is also used to pass in resources required by the external
- * reference translation and construction SPIs. An example might be a 
translator
- * from File to URL could work by copying the source file to a web share of 
some
- * kind, but obviously this can't happen unless properties such as the location
- * of the web share folder are known. These properties tend to be properties of
- * the installation rather than of the code, referring as they do to resources
- * on the machine hosting the reference manager (and elsewhere).
- * <p>
- * Where entities in the context represent properties of the platform rather
- * than the 'session' they are likely to be configured in a central location
- * such as a Spring context definition, this interface is neutral to those
- * concerns.
- * 
- * @author Tom Oinn
- */
-public interface ReferenceContext {
-       /**
-        * Return a list of all entities in the resolution context which match 
the
-        * supplied entity type argument.
-        * 
-        * @param <T>
-        *            The generic type of the returned entity list. In general 
the
-        *            compiler is smart enough that you don't need to specify 
this,
-        *            it can pick it up from the entityType parameter.
-        * @param entityType
-        *            Class of entity to return. Use Object.class to return all
-        *            entities within the reference context
-        * @return a list of entities from the reference context which can be 
cast
-        *         to the specified type.
-        */
-       <T extends Object> List<T> getEntities(Class<T> entityType);
-
-       /**
-        * Add an entity to the context.
-        */
-       void addEntity(Object entity);
-}

Reply via email to