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/30 15:47:20 UTC

[08/12] incubator-taverna-engine git commit: some provenance refactoring

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/ProvenanceWriter.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/ProvenanceWriter.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/ProvenanceWriter.java
deleted file mode 100644
index 23ad705..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/ProvenanceWriter.java
+++ /dev/null
@@ -1,676 +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.provenance.lineageservice;
-
-import static net.sf.taverna.t2.provenance.connector.AbstractProvenanceConnector.DataflowInvocationTable.DataflowInvocation;
-
-import java.sql.Blob;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.UUID;
-
-import net.sf.taverna.t2.provenance.connector.AbstractProvenanceConnector.ActivityTable;
-import net.sf.taverna.t2.provenance.connector.AbstractProvenanceConnector.DataBindingTable;
-import net.sf.taverna.t2.provenance.connector.AbstractProvenanceConnector.DataflowInvocationTable;
-import net.sf.taverna.t2.provenance.connector.AbstractProvenanceConnector.ProcessorEnactmentTable;
-import net.sf.taverna.t2.provenance.connector.AbstractProvenanceConnector.ServiceInvocationTable;
-import net.sf.taverna.t2.provenance.lineageservice.utils.NestedListNode;
-import net.sf.taverna.t2.provenance.lineageservice.utils.Port;
-import net.sf.taverna.t2.provenance.lineageservice.utils.PortBinding;
-import net.sf.taverna.t2.provenance.lineageservice.utils.ProvenanceProcessor;
-
-import org.apache.log4j.Logger;
-
-import uk.org.taverna.configuration.database.DatabaseManager;
-
-/**
- * Handles all the writing out of provenance items to the database layer. Uses
- * standard SQL so all specific instances of this class can extend this writer
- * to handle all of the db writes
- * 
- * @author Paolo Missier
- * @author Ian Dunlop
- * @author Stuart Owen
- * 
- */
-public class ProvenanceWriter {
-
-	protected static Logger logger = Logger.getLogger(ProvenanceWriter.class);
-	protected int cnt; // counts number of calls to PortBinding
-	protected ProvenanceQuery pq = null;
-	private final DatabaseManager databaseManager;
-
-	public ProvenanceWriter(DatabaseManager databaseManager) {
-		this.databaseManager = databaseManager;
-	}
-
-	public Connection getConnection() throws SQLException {
-		return databaseManager.getConnection();
-	}
-
-	public void closeCurrentModel() {
-
-	}
-
-	/**
-	 * add each Port as a row into the Port DB table <strong>note: no static
-	 * port type available as part of the dataflow...</strong>
-	 * 
-	 * @param ports
-	 * @param wfId
-	 * @throws SQLException
-	 */
-	public void addPorts(List<Port> ports, String wfId) throws SQLException {
-		String sql = "INSERT INTO Port "
-				+ "(portName, processorName, isInputPort, depth, workflowId, portId, processorId)"
-				+ "  VALUES(?,?,?,?,?,?,?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			for (Port v : ports) {
-				ps.setString(1, v.getPortName());
-				ps.setString(2, v.getProcessorName());
-				ps.setBoolean(3, v.isInputPort());
-				int depth = v.getDepth() >= 0 ? v.getDepth() : 0;
-				ps.setInt(4, depth);
-				ps.setString(5, wfId);
-				ps.setString(6, v.getIdentifier());
-				ps.setString(7, v.getProcessorId());
-
-				try {
-					ps.executeUpdate();
-				} catch (Exception e) {
-					logger.warn("Could not insert var " + v.getPortName(), e);
-				}
-			}
-		}
-	}
-
-	@SuppressWarnings("static-access")
-	public void addDataflowInvocation(
-			net.sf.taverna.t2.provenance.lineageservice.utils.DataflowInvocation invocation)
-			throws SQLException {
-		String sql = "INSERT INTO " + DataflowInvocation.DataflowInvocation
-				+ "(" + DataflowInvocation.dataflowInvocationId + ","
-				+ DataflowInvocation.workflowId + ","
-				+ DataflowInvocation.invocationStarted + ","
-				+ DataflowInvocation.invocationEnded + ","
-				+ DataflowInvocation.inputsDataBinding + ","
-				+ DataflowInvocation.outputsDataBinding + ","
-				+ DataflowInvocation.parentProcessorEnactmentId + ","
-				+ DataflowInvocation.workflowRunId + ","
-				+ DataflowInvocation.completed + ") "
-				+ " VALUES(?,?,?,?,?,?,?,?,?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql);) {
-			ps.setString(1, invocation.getDataflowInvocationId());
-			ps.setString(2, invocation.getWorkflowId());
-			ps.setTimestamp(3, invocation.getInvocationStarted());
-			ps.setTimestamp(4, invocation.getInvocationEnded());
-			ps.setString(5, invocation.getInputsDataBindingId());
-			ps.setString(6, invocation.getOutputsDataBindingId());
-			ps.setString(7, invocation.getParentProcessorEnactmentId());
-			ps.setString(8, invocation.getWorkflowRunId());
-			ps.setBoolean(9, invocation.getCompleted());
-
-			ps.executeUpdate();
-		}
-	}
-
-	/**
-	 * inserts one row into the ARC DB table
-	 * 
-	 * @param sourcePort
-	 * @param destinationPort
-	 * @param workflowId
-	 */
-	public void addDataLink(Port sourcePort, Port destinationPort,
-			String workflowId) throws SQLException {
-		String sql = "INSERT INTO Datalink (workflowId, sourceProcessorName, "
-				+ " sourcePortName, destinationProcessorName, destinationPortName,"
-				+ " sourcePortId, destinationPortId) "
-				+ "VALUES(?,?,?,?,?,?,?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			ps.setString(1, workflowId);
-			ps.setString(2, sourcePort.getProcessorName());
-			ps.setString(3, sourcePort.getPortName());
-			ps.setString(4, destinationPort.getProcessorName());
-			ps.setString(5, destinationPort.getPortName());
-			ps.setString(6, sourcePort.getIdentifier());
-			ps.setString(7, destinationPort.getIdentifier());
-
-			ps.executeUpdate();
-		}
-	}
-
-	public void addDataBinding(
-			net.sf.taverna.t2.provenance.lineageservice.utils.DataBinding dataBinding)
-			throws SQLException {
-		String sql = "INSERT INTO " + DataBindingTable.DataBinding + "("
-				+ DataBindingTable.dataBindingId + ","
-				+ DataBindingTable.portId + "," + DataBindingTable.t2Reference
-				+ "," + DataBindingTable.workflowRunId + ") VALUES(?,?,?,?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			ps.setString(1, dataBinding.getDataBindingId());
-			ps.setString(2, dataBinding.getPort().getIdentifier());
-			ps.setString(3, dataBinding.getT2Reference());
-			ps.setString(4, dataBinding.getWorkflowRunId());
-			ps.executeUpdate();
-			if (logger.isDebugEnabled())
-				logger.debug("adding DataBinding:\n " + dataBinding);
-		}
-	}
-
-	public void addWFId(String wfId) throws SQLException {
-		String sql = "INSERT INTO Workflow (workflowId) VALUES (?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			ps.setString(1, wfId);
-			ps.executeUpdate();
-		}
-	}
-
-	public void addWFId(String wfId, String parentWorkflowId,
-			String externalName, Blob dataflow) throws SQLException {
-		String sql = "INSERT INTO Workflow (workflowId, parentWorkflowId, externalName, dataflow) "
-				+ "VALUES (?, ?, ?, ?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			ps.setString(1, wfId);
-			ps.setString(2, parentWorkflowId);
-			ps.setString(3, externalName);
-			ps.setBlob(4, dataflow);
-
-			ps.executeUpdate();
-		}
-	}
-
-	public void addWorkflowRun(String wfId, String workflowRunId)
-			throws SQLException {
-		String sql = "INSERT INTO WorkflowRun (workflowRunId, workflowId) VALUES (?,?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			ps.setString(1, workflowRunId);
-			ps.setString(2, wfId);
-
-			ps.executeUpdate();
-		}
-	}
-
-	/**
-	 * insert new processor into the provenance DB
-	 * 
-	 * @param name
-	 * @throws SQLException
-	 */
-	public ProvenanceProcessor addProcessor(String name, String wfID,
-			boolean isTopLevel) throws SQLException {
-		ProvenanceProcessor provProc = new ProvenanceProcessor();
-		provProc.setIdentifier(UUID.randomUUID().toString());
-		provProc.setProcessorName(name);
-		provProc.setWorkflowId(wfID);
-		provProc.setTopLevelProcessor(isTopLevel);
-		// pType is unknown
-		addProcessor(provProc);
-		return provProc;
-	}
-
-	/**
-	 * add a processor to the static portion of the DB with given name, type and
-	 * workflowId scope
-	 * 
-	 * @param name
-	 * @param type
-	 * @param workflowId
-	 * @throws SQLException
-	 */
-	public void addProcessor(ProvenanceProcessor provProc) throws SQLException {
-		String sql = "INSERT INTO Processor (processorName, firstActivityClass, workflowId, isTopLevel, processorId) "
-				+ "VALUES (?,?,?,?,?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql);) {
-			ps.setString(1, provProc.getProcessorName());
-			ps.setString(2, provProc.getFirstActivityClassName());
-			ps.setString(3, provProc.getWorkflowId());
-			ps.setBoolean(4, provProc.isTopLevelProcessor());
-			ps.setString(5, provProc.getIdentifier());
-
-			ps.executeUpdate();
-		}
-	}
-
-	public void addProcessorEnactment(
-			net.sf.taverna.t2.provenance.lineageservice.utils.ProcessorEnactment enactment)
-			throws SQLException {
-		String sql = "INSERT INTO "
-				+ ProcessorEnactmentTable.ProcessorEnactment + "("
-				+ ProcessorEnactmentTable.processEnactmentId + ","
-				+ ProcessorEnactmentTable.workflowRunId + ","
-				+ ProcessorEnactmentTable.processorId + ","
-				+ ProcessorEnactmentTable.processIdentifier + ","
-				+ ProcessorEnactmentTable.iteration + ","
-				+ ProcessorEnactmentTable.parentProcessorEnactmentId + ","
-				+ ProcessorEnactmentTable.enactmentStarted + ","
-				+ ProcessorEnactmentTable.enactmentEnded + ","
-				+ ProcessorEnactmentTable.initialInputsDataBindingId + ","
-				+ ProcessorEnactmentTable.finalOutputsDataBindingId
-				+ ") VALUES(?,?,?,?,?,?,?,?,?,?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			ps.setString(1, enactment.getProcessEnactmentId());
-			ps.setString(2, enactment.getWorkflowRunId());
-			ps.setString(3, enactment.getProcessorId());
-			ps.setString(4, enactment.getProcessIdentifier());
-			ps.setString(5, enactment.getIteration());
-			ps.setString(6, enactment.getParentProcessorEnactmentId());
-			ps.setTimestamp(7, enactment.getEnactmentStarted());
-			ps.setTimestamp(8, enactment.getEnactmentEnded());
-			ps.setString(9, enactment.getInitialInputsDataBindingId());
-			ps.setString(10, enactment.getFinalOutputsDataBindingId());
-			ps.executeUpdate();
-
-			if (logger.isDebugEnabled())
-				logger.debug("adding ProcessorEnactment binding:\n "
-						+ enactment);
-		}
-	}
-
-	public String addCollection(String processorId, String collId,
-			String parentCollectionId, String iteration, String portName,
-			String dataflowId) throws SQLException {
-		String newParentCollectionId = null;
-		String sql = "INSERT INTO Collection (processorNameRef, workflowRunId, portName, iteration, parentCollIdRef, collId) "
-				+ "VALUES(?, ?, ?, ?, ?, ?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			if (parentCollectionId == null)
-				// this is a top-level list
-				parentCollectionId = "TOP";
-
-			newParentCollectionId = collId;
-
-			ps.setString(1, processorId);
-			ps.setString(2, dataflowId);
-			ps.setString(3, portName);
-			ps.setString(4, iteration);
-			ps.setString(5, parentCollectionId);
-			ps.setString(6, collId);
-
-			ps.executeUpdate();
-		}
-
-		return newParentCollectionId;
-	}
-
-	public void addData(String dataRef, String wfInstanceId, Object data)
-			throws SQLException {
-		String sql = "INSERT INTO Data (dataReference,wfInstanceID,data) VALUES (?,?,?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql);) {
-			ps.setString(1, dataRef);
-			ps.setString(2, wfInstanceId);
-			ps.setString(3, (String) data);
-
-			ps.executeUpdate();
-
-			cnt++;
-
-			logger.debug("addData executed on data value from char: "
-					+ data);
-		} catch (SQLException e) {
-			// the same ID will come in several times -- duplications are
-			// expected, don't panic
-		}
-	}
-
-	/**
-	 * OBSOLETE
-	 * <p/>
-	 * adds (dataRef, data) pairs to the Data table (only for string data)
-	 */
-	public void addData(String dataRef, String wfInstanceId, byte[] data)
-			throws SQLException {
-		String sql = "INSERT INTO Data (dataReference,wfInstanceID,data) VALUES (?,?,?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			ps.setString(1, dataRef);
-			ps.setString(2, wfInstanceId);
-			ps.setBytes(3, data);
-
-			ps.executeUpdate();
-
-			cnt++;
-
-			logger.debug("addData executed on data value from char: " + data);
-
-		} catch (SQLException e) {
-			// the same ID will come in several times -- duplications are
-			// expected, don't panic
-		}
-	}
-
-	public void addPortBinding(PortBinding vb) throws SQLException {
-		logger.debug("START addVarBinding proc " + vb.getProcessorName()
-				+ " port " + vb.getPortName());
-		String sql = "INSERT INTO PortBinding (workflowId, processorNameRef, workflowRunId, portName, valueType, value, ref, collIdRef, iteration,positionInColl) "
-				+ "VALUES(?,?,?,?,?,?,?,?,?,?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			ps.setString(1, vb.getWorkflowId());
-			ps.setString(2, vb.getProcessorName());
-			ps.setString(3, vb.getWorkflowRunId());
-			ps.setString(4, vb.getPortName());
-			ps.setString(5, vb.getValueType());
-			ps.setString(6, vb.getValue());
-			ps.setString(7, vb.getReference());
-			ps.setString(8, vb.getCollIDRef());
-			ps.setString(9, vb.getIteration());
-			ps.setInt(10, vb.getPositionInColl());
-
-			logger.debug("addVarBinding query: \n" + ps.toString());
-			ps.executeUpdate();
-			logger.debug("insert done");
-
-			logger.debug("COMPLETE addVarBinding proc " + vb.getProcessorName()
-					+ " port " + vb.getPortName());
-
-			cnt++; // who uses this?
-		}
-	}
-
-	/**
-	 * persists var v back to DB
-	 * 
-	 * @param v
-	 * @throws SQLException
-	 */
-	public void updatePort(Port v) throws SQLException {
-		String sql = "UPDATE Port SET isInputPort=?, depth=?,"
-				+ "resolvedDepth=?, iterationStrategyOrder=? "
-				+ "WHERE portId=?";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			ps.setInt(1, v.isInputPort() ? 1 : 0);
-			ps.setInt(2, v.getDepth());
-			if (v.isResolvedDepthSet()) {
-				ps.setInt(3, v.getResolvedDepth());
-			} else {
-				ps.setString(3, null);
-			}
-			ps.setInt(4, v.getIterationStrategyOrder());
-			ps.setString(5, v.getIdentifier());
-			ps.execute();
-		}
-	}
-
-	public void updateProcessorEnactment(
-			net.sf.taverna.t2.provenance.lineageservice.utils.ProcessorEnactment enactment) {
-		String sql = "UPDATE " + ProcessorEnactmentTable.ProcessorEnactment
-				+ " SET " + ProcessorEnactmentTable.finalOutputsDataBindingId
-				+ "=?, " + ProcessorEnactmentTable.enactmentEnded + "=?"
-				+ " WHERE " + ProcessorEnactmentTable.processEnactmentId + "=?";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			ps.setString(1, enactment.getFinalOutputsDataBindingId());
-			ps.setTimestamp(2, enactment.getEnactmentEnded());
-			ps.setString(3, enactment.getProcessEnactmentId());
-
-			ps.executeUpdate();
-		} catch (SQLException e) {
-			logger.warn("****  insert failed for query ", e);
-		}
-	}
-
-	public void updatePortBinding(PortBinding vb) {
-		String sql = "UPDATE PortBinding SET valueType = ?, value = ?, ref = ?, collIdRef = ?, positionInColl = ? "
-				+ "WHERE portName = ? AND workflowRunId = ? AND processorNameRef = ? AND iteration = ?"				;
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			// Update values
-			ps.setString(1, vb.getValueType());
-			ps.setString(2, vb.getValue());
-			ps.setString(3, vb.getReference());
-			ps.setString(4, vb.getCollIDRef());
-			ps.setInt(5, vb.getPositionInColl());
-			// Where clauses
-			ps.setString(6, vb.getPortName());
-			ps.setString(7, vb.getWorkflowRunId());
-			ps.setString(8, vb.getProcessorName());
-			ps.setString(9, vb.getIteration());
-
-			ps.executeUpdate();
-
-			cnt++;
-
-		} catch (SQLException e) {
-			logger.warn("****  insert failed for query ", e);
-		}
-	}
-
-	public void replaceCollectionRecord(NestedListNode nln, String prevPName,
-			String prevPortName) {
-		String sql = "DELETE FROM Collection WHERE collId = ? AND workflowRunId = ?"
-				+ " AND portName = ? AND processorNameRef = ? AND iteration = ?";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			ps.setString(1, nln.getCollectionT2Reference());
-			ps.setString(2, nln.getWorkflowRunId());
-			ps.setString(3, prevPortName);
-			ps.setString(4, prevPName);
-			ps.setString(5, nln.getIteration());
-
-			ps.executeUpdate();
-		} catch (SQLException e) {
-			logger.warn("Error replacing collection record", e);
-		}
-
-		try {
-			addCollection(prevPName, nln.getCollectionT2Reference(),
-					nln.getParentCollIdRef(), nln.getIteration(), prevPortName,
-					nln.getWorkflowRunId());
-		} catch (SQLException e) {
-			logger.warn("Collection insert failed", e);
-		}
-	}
-
-	/**
-	 * deletes DB contents for the static structures -- called prior to each run
-	 * 
-	 * @throws SQLException
-	 */
-	public void clearDBStatic() throws SQLException {
-		try (Connection connection = getConnection();
-				Statement stmt = connection.createStatement()) {
-			stmt.executeUpdate("DELETE FROM Workflow");
-			stmt.executeUpdate("DELETE FROM Processor");
-			stmt.executeUpdate("DELETE FROM Datalink");
-			stmt.executeUpdate("DELETE FROM Port");
-			stmt.executeUpdate("DELETE FROM " + ActivityTable.Activity);
-			logger.info("DB cleared STATIC");
-		} catch (SQLException e) {
-			logger.warn("Could not clear static database", e);
-		}
-	}
-
-	/**
-	 * deletes DB contents for the static structures -- called prior to each run
-	 * 
-	 * @throws SQLException
-	 */
-	public void clearDBStatic(String wfID) throws SQLException {
-		try (Connection connection = getConnection()) {
-			try (PreparedStatement ps = connection
-					.prepareStatement("DELETE FROM Workflow WHERE workflowId = ?")) {
-				ps.setString(1, wfID);
-				ps.executeUpdate();
-			}
-			try (PreparedStatement ps = connection
-					.prepareStatement("DELETE FROM Processor WHERE workflowId = ?")) {
-				ps.setString(1, wfID);
-				ps.executeUpdate();
-			}
-			try (PreparedStatement ps = connection
-					.prepareStatement("DELETE FROM Datalink WHERE workflowId = ?")) {
-				ps.setString(1, wfID);
-				ps.executeUpdate();
-			}
-			try (PreparedStatement ps = connection
-					.prepareStatement("DELETE FROM Port WHERE workflowId = ?")) {
-				ps.setString(1, wfID);
-				ps.executeUpdate();
-			}
-			try (PreparedStatement ps = connection
-					.prepareStatement("DELETE FROM " + ActivityTable.Activity
-							+ " WHERE " + ActivityTable.workflowId + "=?")) {
-				ps.setString(1, wfID);
-				ps.executeUpdate();
-			}
-		}
-		logger.info("DB cleared STATICfor wfID " + wfID);
-	}
-
-	public Set<String> clearDBDynamic() throws SQLException {
-		return clearDBDynamic(null);
-	}
-
-	private void delete(Connection connection, Object table, String runID) throws SQLException {
-		if (runID != null) {
-			try (PreparedStatement ps = connection
-					.prepareStatement("DELETE FROM " + table
-							+ " WHERE workflowRunId = ?")) {
-				ps.setString(1, runID);
-				ps.executeUpdate();
-			}
-		} else
-			try (PreparedStatement ps = connection
-					.prepareStatement("DELETE FROM " + table)) {
-				ps.executeUpdate();
-			}
-	}
-	/**
-	 * deletes DB contents for all runs -- for testing purposes
-	 * 
-	 * @throws SQLException
-	 */
-	public Set<String> clearDBDynamic(String runID) throws SQLException {
-		Set<String> refsToRemove = collectValueReferences(runID);
-		// collect all relevant refs from PortBinding and Collection
-
-		try (Connection connection = getConnection()) {
-			delete(connection, "WorkflowRun", runID);
-			delete(connection, "PortBinding", runID);
-			delete(connection, "Collection", runID);
-			delete(connection, DataflowInvocationTable.DataflowInvocation, runID);
-			delete(connection, ServiceInvocationTable.ServiceInvocation, runID);
-			delete(connection, ProcessorEnactmentTable.ProcessorEnactment, runID);
-			delete(connection, DataBindingTable.DataBinding, runID);
-		}
-		logger.info("DB cleared DYNAMIC");
-		return refsToRemove;
-	}
-
-	private Set<String> collectValueReferences(String runID)
-			throws SQLException {
-		Set<String> refs = new HashSet<>();
-		try (Connection connection = getConnection()) {
-			String sql = "SELECT value FROM PortBinding";
-			if (runID != null)
-				sql += " WHERE workflowRunId = ?";
-			try (PreparedStatement ps = connection.prepareStatement(sql)) {
-				if (runID != null)
-					ps.setString(1, runID);
-				ResultSet rs = ps.executeQuery();
-				while (rs.next())
-					refs.add(rs.getString("value"));
-			}
-
-			sql = "SELECT collId FROM Collection";
-			if (runID != null)
-				sql += " WHERE workflowRunId = ?";
-			try (PreparedStatement ps = connection.prepareStatement(sql)) {
-				if (runID != null)
-					ps.setString(1, runID);
-				ResultSet rs = ps.executeQuery();
-				while (rs.next())
-					refs.add(rs.getString("collId"));
-			}
-		} catch (SQLException e) {
-			logger.error("Problem collecting value references for: " + runID
-					+ " : " + e);
-		}
-		return refs;
-	}
-
-	public void clearDD() {
-		try (Connection connection = getConnection();
-				Statement stmt = connection.createStatement()) {
-			stmt.executeUpdate("DELETE FROM DD");
-		} catch (SQLException e) {
-			logger.warn("Error execting delete query for provenance records", e);
-		}
-	}
-
-	/**
-	 * used to support the implementation of
-	 * 
-	 * @param pname
-	 * @param vFrom
-	 * @param valFrom
-	 * @param vTo
-	 * @param valTo
-	 * @param iteration
-	 * @param workflowRunId
-	 */
-	public void writeDDRecord(String pFrom, String vFrom, String valFrom,
-			String pTo, String vTo, String valTo, String iteration,
-			String workflowRunId) {
-		String sql = "INSERT INTO DD (PFrom,VFrom,valFrom,PTo,VTo,valTo,iteration,workflowRun) VALUES "
-				+ "(?,?,?,?,?,?,?)";
-		try (Connection connection = getConnection();
-				PreparedStatement ps = connection.prepareStatement(sql)) {
-			ps.setString(1, pFrom);
-			ps.setString(2, vFrom);
-			ps.setString(3, valFrom);
-			ps.setString(4, pTo);
-			ps.setString(5, vTo);
-			ps.setString(6, iteration);
-			ps.setString(7, workflowRunId);
-			ps.executeUpdate();
-		} catch (SQLException e) {
-			logger.warn("Error inserting record into DD", e);
-		}
-	}
-
-	public void setQuery(ProvenanceQuery query) {
-		this.pq = query;
-	}
-
-	public ProvenanceQuery getQuery() {
-		return this.pq;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/URIGenerator.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/URIGenerator.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/URIGenerator.java
deleted file mode 100644
index 94a0b8a..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/URIGenerator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package net.sf.taverna.t2.provenance.lineageservice;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-
-public class URIGenerator {
-
-	public String makeT2ReferenceURI(String collId) {
-		// collId is of the form t2:list//<UUID>
-		// map to a proper URI
-		
-		String[] tokens = collId.split("//");
-		String type = tokens[0].split(":")[1];
-		String namespace = tokens[1].split("/")[0].split("\\?")[0];
-		String dataId = tokens[1].split("\\?")[1];
-		return "http://ns.taverna.org.uk/2011/data/" + namespace + "/" + type + "/" + dataId;
-	}
-
-	public String makeWFInstanceURI(String workflowRunId) {
-		return "http://ns.taverna.org.uk/2011/run/" + workflowRunId + "/";
-	}
-
-	public String makeWorkflowURI(String wfId) {
-		return "http://ns.taverna.org.uk/2010/workflow/" + wfId + "/";
-	}
-
-	public String makePortURI(String wfId, String pName, String vName,
-			boolean inputPort) {		
-		return makeProcessorURI(pName, wfId) + (inputPort ? "in/" : "out/")
-				+ escape(vName);
-	}
-
-	public String escape(String part) {
-		try {
-			return new URI(null, null, part.replace("/", "%47"), null)
-					.getRawPath();
-		} catch (URISyntaxException e) {
-			throw new RuntimeException("Can't escape URI part " + part, e);
-		}
-	}
-	
-	public String makeProcessorURI(String pName, String wfId) {
-		return makeWorkflowURI(wfId) + "processor/" + escape(pName) + "/";
-	}
-
-	public String makeIteration(String workflowRunId, String workflowId,
-			String processorName, String iteration) {
-		String iterationUri = iteration.replace(',', '-').replace('[', ' ')
-				.replace(']', ' ').trim();
-
-		return makeWFInstanceURI(workflowRunId) + "workflow/" + workflowId
-				+ "/processor/" + processorName + "/iteration/" + iterationUri;
-	}
-
-	public URI makeRunUri(String workflowRunId) {
-		return URI.create(makeWFInstanceURI(workflowRunId));
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/WorkflowDataProcessor.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/WorkflowDataProcessor.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/WorkflowDataProcessor.java
deleted file mode 100644
index 25369fd..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/WorkflowDataProcessor.java
+++ /dev/null
@@ -1,453 +0,0 @@
-/**
- * 
- */
-package net.sf.taverna.t2.provenance.lineageservice;
-
-import static net.sf.taverna.t2.provenance.lineageservice.utils.ProvenanceUtils.iterationToString;
-import static net.sf.taverna.t2.provenance.lineageservice.utils.ProvenanceUtils.parentProcess;
-
-import java.sql.SQLException;
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.concurrent.ConcurrentHashMap;
-
-import net.sf.taverna.t2.facade.WorkflowInstanceFacade.State;
-import net.sf.taverna.t2.provenance.item.DataflowRunComplete;
-import net.sf.taverna.t2.provenance.item.ProvenanceItem;
-import net.sf.taverna.t2.provenance.item.WorkflowDataProvenanceItem;
-import net.sf.taverna.t2.provenance.lineageservice.utils.DataBinding;
-import net.sf.taverna.t2.provenance.lineageservice.utils.DataflowInvocation;
-import net.sf.taverna.t2.provenance.lineageservice.utils.Port;
-import net.sf.taverna.t2.provenance.lineageservice.utils.PortBinding;
-import net.sf.taverna.t2.provenance.lineageservice.utils.ProcessorEnactment;
-
-import org.apache.log4j.Logger;
-
-/**
- * @author paolo
- * this class manages the outputs from a workflow, as they come along through WorkflowData events
- */
-public class WorkflowDataProcessor {
-	private static Logger logger = Logger.getLogger(WorkflowDataProcessor.class);
-
-	// set of trees (impl as lists), one for each portName
-	// PM portName not enough must use the WFID as context as well, because the same output portName 
-	// may occur in multiple nested workflows 
-	Map<String, List<WorkflowDataNode>> workflowDataTrees = new HashMap<>();  
-
-	protected Map<String, Timestamp> workflowStarted = new ConcurrentHashMap<>(); 
-
-	ProvenanceQuery pq=null;
-	ProvenanceWriter pw = null;
-
-	protected Map<String, ProcessorEnactment> invocationProcessToProcessEnactment = new ConcurrentHashMap<>();
-
-	/**
-	 * adds the input ProvenanceItem event to the tree structure corresponding
-	 * to the portName found in the item. Repeated invocations of this method
-	 * incrementally reconstruct the tree structure for each of the workflow
-	 * outputs
-	 * 
-	 * @param root
-	 */
-	public void addWorkflowDataItem(ProvenanceItem provenanceItem) {
-		WorkflowDataProvenanceItem workflowDataItem = (WorkflowDataProvenanceItem) provenanceItem;
-		
-		WorkflowDataNode wdn = new WorkflowDataNode();
-		wdn.setProcessId(provenanceItem.getProcessId());
-		wdn.setPortName(workflowDataItem.getPortName());
-		wdn.setInputPort(workflowDataItem.isInputPort());
-		wdn.setValue(workflowDataItem.getData().toString());
-		int[] index = workflowDataItem.getIndex();
-		String iterationToString = iterationToString(index);
-		wdn.setIndex(iterationToString);
-		wdn.setWorkflowID(workflowDataItem.getWorkflowId());
-
-		if (wdn.getValue().contains("list"))
-			wdn.setList(true);  // HACK
-		else
-			wdn.setList(false);
-
-		// position this wdn into the tree associated to its portName
-		List<WorkflowDataNode> aTree = workflowDataTrees.get(wdn.getPortName());
-
-		if (aTree == null)  { // first item in the tree
-			aTree = new ArrayList<WorkflowDataNode>();
-			workflowDataTrees.put(wdn.getPortName(), aTree);
-		} else
-			// update parent pointers
-			for (WorkflowDataNode aNode: aTree)
-				if (isParent(wdn.getIndex(), aNode.getIndex())) {
-					aNode.setParent(wdn);
-
-					// set position in collection as the last index in the vector
-					aNode.setRelativePosition(getPosition(aNode));
-				}
-		aTree.add(wdn);
-	}
-
-	/**
-	 * writes records to PortBinding or Collection by traversing the trees<br/>
-	 * expect this to be invoked after workflow completion
-	 * 
-	 * @param workflowId
-	 *            the external name of the dataflow (not the UUID)
-	 * @param workflowRunId
-	 *            the runID
-	 */
-	public void processTrees(DataflowRunComplete completeEvent,
-			String workflowRunId) {
-		String workflowId = completeEvent.getWorkflowId();
-		logger.debug("processing output trees");
-
-		// i:inputPortName -> t2Ref
-		Map<String, String> workflowPortData = new HashMap<>();
-		
-		for (Map.Entry<String, List<WorkflowDataNode>> entry : workflowDataTrees
-				.entrySet()) {
-			String portName = entry.getKey();
-			List<WorkflowDataNode> tree = entry.getValue();
-
-			PortBinding vb = null;
-
-			logger.debug("storing tree for var "+portName+" in workflow with ID "+workflowId+" and instance "+workflowRunId);
-			for (WorkflowDataNode node:tree) {
-				try {
-					if (!node.getWorkflowID().equals(workflowId))
-						continue;
-
-					if (node.getIndex().equals("[]")) {
-						// Store top-level workflow inputs/outputs
-						if (! node.getProcessId().equals(completeEvent.getProcessId()))
-							//logger.warn("Unexpected process ID " + node.getProcessId() + " expected " + completeEvent.getProcessId());
-							continue;
-						String portKey = (node.isInputPort() ? "/i:" : "/o:") + node.getPortName();
-						workflowPortData.put(portKey, node.getValue());
-					}
-					
-					if (node.isList) {
-						logger.debug("creating collection entry for "
-								+ node.value + " with index " + node.index);
-
-						if (node.getParent() != null) {
-							logger.debug(" and parent " + node.parent.index);
-							// write a collection record to DB
-							getPw().addCollection(workflowId, node.getValue(),
-									node.getParent().getValue(),
-									node.getIndex(), portName, workflowRunId);
-						} else
-							getPw().addCollection(workflowId, node.getValue(),
-									null, node.getIndex(), portName,
-									workflowRunId);
-					} else {
-						logger.debug("creating PortBinding for " + node.value
-								+ " with index " + node.index);
-
-						vb = new PortBinding();
-
-						vb.setWorkflowId(workflowId);
-						vb.setWorkflowRunId(workflowRunId);
-
-						vb.setProcessorName(pq.getWorkflow(workflowId)
-								.getExternalName());
-
-						// vb.setValueType(); // TODO not sure what to set this to
-						vb.setPortName(portName);
-						vb.setIteration(node.getIndex());
-						vb.setValue(node.getValue());
-
-						if (node.getParent() != null) {
-							logger.debug(" in collection "
-									+ node.getParent().value + " with index "
-									+ node.getParent().getIndex());
-
-							vb.setCollIDRef(node.getParent().getValue());
-							vb.setPositionInColl(node.getRelativePosition());
-						} else
-							vb.setPositionInColl(1); // default
-						
-						try {
-							getPw().addPortBinding(vb);
-						} catch (SQLException e) {
-							logger.debug("Problem processing trees for workflow: "
-									+ workflowId
-									+ " instance: "
-									+ workflowRunId
-									+ " : updating instead of inserting");
-							getPw().updatePortBinding(vb);
-						}
-					}
-				} catch (SQLException e) {
-					logger.debug(
-							"Database problem processing trees for workflow: "
-									+ workflowId + " instance: "
-									+ workflowRunId + " : " + workflowId, e);
-				}
-			}
-		}
-
-		List<Port> ports = getPq().getPortsForDataflow(workflowId);
-		String processId = completeEvent.getProcessId();
-		
-		DataflowInvocation invocation = new DataflowInvocation();
-		invocation.setDataflowInvocationId(UUID.randomUUID().toString());
-		invocation.setWorkflowId(workflowId);
-		invocation.setWorkflowRunId(workflowRunId);
-		
-		String parentProcessId = parentProcess(processId, 1);
-		if (parentProcessId != null) {
-			ProcessorEnactment procAct = invocationProcessToProcessEnactment
-					.get(parentProcessId);
-			if (procAct != null)
-				invocation.setParentProcessorEnactmentId(procAct
-						.getProcessEnactmentId());
-		}
-
-		invocation.setInvocationStarted(workflowStarted.get(completeEvent
-				.getParentId()));
-		invocation.setInvocationEnded(completeEvent.getInvocationEnded());
-		invocation.setCompleted(completeEvent.getState()
-				.equals(State.completed));
-
-		// Register data
-		String inputsDataBindingId = UUID.randomUUID().toString();
-		String outputsDataBindingId = UUID.randomUUID().toString();
-		for (Port port : ports) {
-			String portKey = (port.isInputPort() ? "/i:" : "/o:")
-					+ port.getPortName();
-			String t2Reference = workflowPortData.get(portKey);
-			if (t2Reference == null) {
-				logger.warn("No workflow port data for " + portKey);
-				continue;
-			}
-			DataBinding dataBinding = new DataBinding();
-			dataBinding
-					.setDataBindingId(port.isInputPort() ? inputsDataBindingId
-							: outputsDataBindingId);
-			dataBinding.setPort(port);
-			dataBinding.setT2Reference(t2Reference);
-			dataBinding.setWorkflowRunId(workflowRunId);
-			try {
-				pw.addDataBinding(dataBinding);
-			} catch (SQLException e) {
-				logger.warn("Could not add databinding for " + portKey, e);
-			}
-		}
-
-		invocation.setInputsDataBindingId(inputsDataBindingId);
-		invocation.setOutputsDataBindingId(outputsDataBindingId);
-		try {
-			pw.addDataflowInvocation(invocation);
-		} catch (SQLException e) {
-			logger.warn("Could not store dataflow invocation for " + processId,
-					e);
-		}
-	}
-
-
-	/**
-	 * @param node
-	 * @return the last digit in the index 
-	 */
-	private int getPosition(WorkflowDataNode node) {
-		String[] vector = node.getIndex()
-				.substring(1, node.getIndex().length() - 1).split(",");
-		//TODO need some logic  here to avoid trying to parse "" as integer, this is my try
-
-		if ((vector[vector.length-1]).equals(""))
-			return 1;
-		return Integer.parseInt(vector[vector.length - 1]) + 1;
-	}
-
-	private boolean isParent(String index1, String index2) {
-		// strip first and last '[' ']'
-		String index11 = index1.substring(1, index1.length() - 1);
-		String index22 = index2.substring(1, index2.length() - 1);
-
-		String[] tokens1 = index11.split(",");
-		String[] tokens2 = index22.split(",");
-
-		// [] cannot be parent of [x1,x2,...] with >= 2 elements
-		if (index11.equals("") && tokens2.length > 1)
-			return false;
-
-		// [] is parent of any [x]
-		if (index11.equals("") && tokens2.length == 1)
-			return true;
-
-		// [x1,x2, ...,xk] cannot be parent of [x1,x2,...xh] when k < h-1 
-		// because [x1,x2,...xh] is more than one level deeper than [x1,x2, ...,xk] 
-		if (tokens1.length != tokens2.length - 1)
-			return false;
-
-		return index22.startsWith(index11);
-	}
-
-	static class WorkflowDataNode {
-		private String portName;
-		private String value;
-		private String index;
-		private String workflowID;
-		private int relativePosition;
-		private boolean isList;
-		private WorkflowDataNode parent;
-		private String processId;
-		private boolean isInputPort;
-
-		public String getProcessId() {
-			return processId;
-		}
-
-		/**
-		 * @return the value
-		 */
-		public String getValue() {
-			return value;
-		}
-
-		public void setProcessId(String processId) {
-			this.processId = processId;
-
-		}
-
-		/**
-		 * @param value
-		 *            the value to set
-		 */
-		public void setValue(String value) {
-			this.value = value;
-		}
-
-		/**
-		 * @return the index
-		 */
-		public String getIndex() {
-			return index;
-		}
-
-		/**
-		 * @param index
-		 *            the index to set
-		 */
-		public void setIndex(String index) {
-			this.index = index;
-		}
-
-		/**
-		 * @return the portName
-		 */
-		public String getPortName() {
-			return portName;
-		}
-
-		/**
-		 * @param portName
-		 *            the portName to set
-		 */
-		public void setPortName(String portName) {
-			this.portName = portName;
-		}
-
-		/**
-		 * @return the isList
-		 */
-		public boolean isList() {
-			return isList;
-		}
-
-		/**
-		 * @param isList
-		 *            the isList to set
-		 */
-		public void setList(boolean isList) {
-			this.isList = isList;
-		}
-
-		/**
-		 * @return the parent
-		 */
-		public WorkflowDataNode getParent() {
-			return parent;
-		}
-
-		/**
-		 * @param parent
-		 *            the parent to set
-		 */
-		public void setParent(WorkflowDataNode parent) {
-			this.parent = parent;
-		}
-
-		/**
-		 * @return the relativePosition
-		 */
-		public int getRelativePosition() {
-			return relativePosition;
-		}
-
-		/**
-		 * @param relativePosition
-		 *            the relativePosition to set
-		 */
-		public void setRelativePosition(int relativePosition) {
-			this.relativePosition = relativePosition;
-		}
-
-		/**
-		 * @return the workflowID
-		 */
-		public String getWorkflowID() {
-			return workflowID;
-		}
-
-		/**
-		 * @param workflowID
-		 *            the workflowID to set
-		 */
-		public void setWorkflowID(String workflowID) {
-			this.workflowID = workflowID;
-		}
-
-		public void setInputPort(boolean isInputPort) {
-			this.isInputPort = isInputPort;
-		}
-
-		public boolean isInputPort() {
-			return isInputPort;
-		}
-	}
-
-	/**
-	 * @return the pq
-	 */
-	public ProvenanceQuery getPq() {
-		return pq;
-	}
-
-	/**
-	 * @param pq
-	 *            the pq to set
-	 */
-	public void setPq(ProvenanceQuery pq) {
-		this.pq = pq;
-	}
-
-	/**
-	 * @return the pw
-	 */
-	public ProvenanceWriter getPw() {
-		return pw;
-	}
-
-	/**
-	 * @param pw
-	 *            the pw to set
-	 */
-	public void setPw(ProvenanceWriter pw) {
-		this.pw = pw;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ActivityType.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ActivityType.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ActivityType.java
deleted file mode 100644
index b5f8644..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ActivityType.java
+++ /dev/null
@@ -1,87 +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.provenance.lineageservice.types;
-
-import net.sf.taverna.t2.provenance.lineageservice.types.ProvenanceEventType;
-
-/**
- * 
- * @author Paolo Missier
- * 
- */
-public class ActivityType implements ProvenanceEventType {
-	private IterationType[] iteration;
-
-	private String id; // attribute
-
-	public ActivityType() {
-	}
-
-	public ActivityType(IterationType[] iteration, String id) {
-		this.iteration = iteration;
-		this.id = id;
-	}
-
-	/**
-	 * Gets the iteration value for this ActivityType.
-	 * 
-	 * @return iteration
-	 */
-	public IterationType[] getIteration() {
-		return iteration;
-	}
-
-	/**
-	 * Sets the iteration value for this ActivityType.
-	 * 
-	 * @param iteration
-	 */
-	public void setIteration(IterationType[] iteration) {
-		this.iteration = iteration;
-	}
-
-	public IterationType getIteration(int i) {
-		return this.iteration[i];
-	}
-
-	public void setIteration(int i, IterationType _value) {
-		this.iteration[i] = _value;
-	}
-
-	/**
-	 * Gets the id value for this ActivityType.
-	 * 
-	 * @return id
-	 */
-	public java.lang.String getId() {
-		return id;
-	}
-
-	/**
-	 * Sets the id value for this ActivityType.
-	 * 
-	 * @param id
-	 */
-	public void setId(java.lang.String id) {
-		this.id = id;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/DataDocumentType.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/DataDocumentType.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/DataDocumentType.java
deleted file mode 100644
index 27fa322..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/DataDocumentType.java
+++ /dev/null
@@ -1,75 +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.provenance.lineageservice.types;
-
-/**
- * 
- * @author Paolo Missier
- * 
- */
-public class DataDocumentType implements ProvenanceEventType {
-	private String reference;
-	private String id; // attribute
-
-	public DataDocumentType() {
-	}
-
-	public DataDocumentType(String reference, String id) {
-		this.reference = reference;
-		this.id = id;
-	}
-
-	/**
-	 * Gets the reference value for this DataDocumentType.
-	 * 
-	 * @return reference
-	 */
-	public String getReference() {
-		return reference;
-	}
-
-	/**
-	 * Sets the reference value for this DataDocumentType.
-	 * 
-	 * @param reference
-	 */
-	public void setReference(String reference) {
-		this.reference = reference;
-	}
-
-	/**
-	 * Gets the id value for this DataDocumentType.
-	 * 
-	 * @return id
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Sets the id value for this DataDocumentType.
-	 * 
-	 * @param id
-	 */
-	public void setId(String id) {
-		this.id = id;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/IterationType.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/IterationType.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/IterationType.java
deleted file mode 100644
index be5389b..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/IterationType.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.provenance.lineageservice.types;
-
-/**
- * 
- * @author Paolo Missier
- * 
- */
-public class IterationType implements ProvenanceEventType {
-	private PortsSequenceType inputdata;
-	private PortsSequenceType outputdata;
-	private String id; // attribute
-
-	public IterationType() {
-	}
-
-	public IterationType(PortsSequenceType inputdata,
-			PortsSequenceType outputdata, String id) {
-		this.inputdata = inputdata;
-		this.outputdata = outputdata;
-		this.id = id;
-	}
-
-	/**
-	 * Gets the inputdata value for this IterationType.
-	 * 
-	 * @return inputdata
-	 */
-	public PortsSequenceType getInputdata() {
-		return inputdata;
-	}
-
-	/**
-	 * Sets the inputdata value for this IterationType.
-	 * 
-	 * @param inputdata
-	 */
-	public void setInputdata(PortsSequenceType inputdata) {
-		this.inputdata = inputdata;
-	}
-
-	/**
-	 * Gets the outputdata value for this IterationType.
-	 * 
-	 * @return outputdata
-	 */
-	public PortsSequenceType getOutputdata() {
-		return outputdata;
-	}
-
-	/**
-	 * Sets the outputdata value for this IterationType.
-	 * 
-	 * @param outputdata
-	 */
-	public void setOutputdata(PortsSequenceType outputdata) {
-		this.outputdata = outputdata;
-	}
-
-	/**
-	 * Gets the id value for this IterationType.
-	 * 
-	 * @return id
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Sets the id value for this IterationType.
-	 * 
-	 * @param id
-	 */
-	public void setId(String id) {
-		this.id = id;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/LiteralType.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/LiteralType.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/LiteralType.java
deleted file mode 100644
index 2b87758..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/LiteralType.java
+++ /dev/null
@@ -1,55 +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.provenance.lineageservice.types;
-
-/**
- * 
- * @author Paolo Missier
- * 
- */
-public class LiteralType implements ProvenanceEventType {
-	private String id; // attribute
-
-	public LiteralType() {
-	}
-
-	public LiteralType(String id) {
-		this.id = id;
-	}
-
-	/**
-	 * Gets the id value for this LiteralType.
-	 * 
-	 * @return id
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Sets the id value for this LiteralType.
-	 * 
-	 * @param id
-	 */
-	public void setId(String id) {
-		this.id = id;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/PortType.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/PortType.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/PortType.java
deleted file mode 100644
index 6978ac9..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/PortType.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.provenance.lineageservice.types;
-
-/**
- * 
- * @author Paolo Missier
- * 
- */
-public class PortType implements ProvenanceEventType {
-	private DataDocumentType dataDocument;
-	private LiteralType literal;
-	private String name; // attribute
-
-	public PortType() {
-	}
-
-	public PortType(DataDocumentType dataDocument, LiteralType literal,
-			String name) {
-		this.dataDocument = dataDocument;
-		this.literal = literal;
-		this.name = name;
-	}
-
-	/**
-	 * Gets the dataDocument value for this PortType.
-	 * 
-	 * @return dataDocument
-	 */
-	public DataDocumentType getDataDocument() {
-		return dataDocument;
-	}
-
-	/**
-	 * Sets the dataDocument value for this PortType.
-	 * 
-	 * @param dataDocument
-	 */
-	public void setDataDocument(DataDocumentType dataDocument) {
-		this.dataDocument = dataDocument;
-	}
-
-	/**
-	 * Gets the literal value for this PortType.
-	 * 
-	 * @return literal
-	 */
-	public LiteralType getLiteral() {
-		return literal;
-	}
-
-	/**
-	 * Sets the literal value for this PortType.
-	 * 
-	 * @param literal
-	 */
-	public void setLiteral(LiteralType literal) {
-		this.literal = literal;
-	}
-
-	/**
-	 * Gets the name value for this PortType.
-	 * 
-	 * @return name
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Sets the name value for this PortType.
-	 * 
-	 * @param name
-	 */
-	public void setName(String name) {
-		this.name = name;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/PortsSequenceType.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/PortsSequenceType.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/PortsSequenceType.java
deleted file mode 100644
index 5eddde8..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/PortsSequenceType.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.provenance.lineageservice.types;
-
-/**
- * 
- * @author Paolo Missier
- * 
- */
-public class PortsSequenceType implements ProvenanceEventType {
-	private PortType[] port;
-
-	public PortsSequenceType() {
-	}
-
-	public PortsSequenceType(PortType[] port) {
-		this.port = port;
-	}
-
-	/**
-	 * Gets the port value for this PortsSequenceType.
-	 * 
-	 * @return port
-	 */
-	public PortType[] getPort() {
-		return port;
-	}
-
-	/**
-	 * Sets the port value for this PortsSequenceType.
-	 * 
-	 * @param port
-	 */
-	public void setPort(PortType[] port) {
-		this.port = port;
-	}
-
-	public PortType getPort(int i) {
-		return this.port[i];
-	}
-
-	public void setPort(int i, PortType _value) {
-		this.port[i] = _value;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ProcessType.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ProcessType.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ProcessType.java
deleted file mode 100644
index 163bc93..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ProcessType.java
+++ /dev/null
@@ -1,105 +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.provenance.lineageservice.types;
-
-/**
- * 
- * @author Paolo Missier
- * 
- */
-public class ProcessType implements ProvenanceEventType {
-	private ProcessorType[] processor;
-	private String dataflowID; // attribute
-	private String facadeID; // attribute
-
-	public ProcessType() {
-	}
-
-	public ProcessType(ProcessorType[] processor, String dataflowID,
-			String facadeID) {
-		this.processor = processor;
-		this.dataflowID = dataflowID;
-		this.facadeID = facadeID;
-	}
-
-	/**
-	 * Gets the processor value for this ProcessType.
-	 * 
-	 * @return processor
-	 */
-	public ProcessorType[] getProcessor() {
-		return processor;
-	}
-
-	/**
-	 * Sets the processor value for this ProcessType.
-	 * 
-	 * @param processor
-	 */
-	public void setProcessor(ProcessorType[] processor) {
-		this.processor = processor;
-	}
-
-	public ProcessorType getProcessor(int i) {
-		return this.processor[i];
-	}
-
-	public void setProcessor(int i, ProcessorType _value) {
-		this.processor[i] = _value;
-	}
-
-	/**
-	 * Gets the dataflowID value for this ProcessType.
-	 * 
-	 * @return dataflowID
-	 */
-	public String getDataflowID() {
-		return dataflowID;
-	}
-
-	/**
-	 * Sets the dataflowID value for this ProcessType.
-	 * 
-	 * @param dataflowID
-	 */
-	public void setDataflowID(String dataflowID) {
-		this.dataflowID = dataflowID;
-	}
-
-	/**
-	 * Gets the facadeID value for this ProcessType.
-	 * 
-	 * @return facadeID
-	 */
-	public String getFacadeID() {
-		return facadeID;
-	}
-
-	/**
-	 * Sets the facadeID value for this ProcessType.
-	 * 
-	 * @param facadeID
-	 */
-	public void setFacadeID(String facadeID) {
-		this.facadeID = facadeID;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ProcessorType.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ProcessorType.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ProcessorType.java
deleted file mode 100644
index 53285df..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ProcessorType.java
+++ /dev/null
@@ -1,83 +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.provenance.lineageservice.types;
-
-/**
- * 
- * @author Paolo Missier
- * 
- */
-public class ProcessorType implements ProvenanceEventType {
-	private ActivityType[] activity;
-	private String id; // attribute
-
-	public ProcessorType() {
-	}
-
-	public ProcessorType(ActivityType[] activity, String id) {
-		this.activity = activity;
-		this.id = id;
-	}
-
-	/**
-	 * Gets the activity value for this ProcessorType.
-	 * 
-	 * @return activity
-	 */
-	public ActivityType[] getActivity() {
-		return activity;
-	}
-
-	/**
-	 * Sets the activity value for this ProcessorType.
-	 * 
-	 * @param activity
-	 */
-	public void setActivity(ActivityType[] activity) {
-		this.activity = activity;
-	}
-
-	public ActivityType getActivity(int i) {
-		return this.activity[i];
-	}
-
-	public void setActivity(int i, ActivityType _value) {
-		this.activity[i] = _value;
-	}
-
-	/**
-	 * Gets the id value for this ProcessorType.
-	 * 
-	 * @return id
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Sets the id value for this ProcessorType.
-	 * 
-	 * @param id
-	 */
-	public void setId(String id) {
-		this.id = id;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ProvenanceEventType.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ProvenanceEventType.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ProvenanceEventType.java
deleted file mode 100644
index 6ebe680..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/types/ProvenanceEventType.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.provenance.lineageservice.types;
-
-/**
- * Used by an implementation of Provenance to identify the item type
- * 
- * @author Paolo Missier
- */
-public interface ProvenanceEventType {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/Activity.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/Activity.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/Activity.java
deleted file mode 100644
index 819fce8..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/Activity.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package net.sf.taverna.t2.provenance.lineageservice.utils;
-
-public class Activity {
-	private String activityId;
-
-	@Override
-	public int hashCode() {
-		return 31 + ((activityId == null) ? 0 : activityId.hashCode());
-	}
-
-	@Override
-	public String toString() {
-		StringBuilder builder = new StringBuilder();
-		builder.append("Activity [activityDefinition=");
-		builder.append(activityDefinition);
-		builder.append("]");
-		return builder.toString();
-	}
-
-	@Override
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (getClass() != obj.getClass())
-			return false;
-		Activity other = (Activity) obj;
-		if (activityId == null) {
-			if (other.activityId != null)
-				return false;
-		} else if (!activityId.equals(other.activityId))
-			return false;
-		return true;
-	}
-
-	private String activityDefinition;
-	private Workflow workflow;
-
-	public String getActivityId() {
-		return activityId;
-	}
-
-	public void setActivityId(String activityId) {
-		this.activityId = activityId;
-	}
-
-	public String getActivityDefinition() {
-		return activityDefinition;
-	}
-
-	public void setActivityDefinition(String activityDefinition) {
-		this.activityDefinition = activityDefinition;
-	}
-
-	public Workflow getWorkflow() {
-		return workflow;
-	}
-
-	public void setWorkflow(Workflow workflow) {
-		this.workflow = workflow;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/Collection.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/Collection.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/Collection.java
deleted file mode 100644
index 56340db..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/Collection.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package net.sf.taverna.t2.provenance.lineageservice.utils;
-
-public class Collection {
-	private String identifier;
-	private String parentIdentifier;
-	private String workflowRunIdentifier;
-	private String processorName;
-	private String portName;
-	private String iteration;
-	private String collId;
-
-	public String getIdentifier() {
-		return identifier;
-	}
-
-	public void setIdentifier(String identifier) {
-		this.identifier = identifier;
-	}
-
-	public String getParentIdentifier() {
-		return parentIdentifier;
-	}
-
-	public void setParentIdentifier(String parentIdentifier) {
-		this.parentIdentifier = parentIdentifier;
-	}
-
-	public String getWorkflowRunIdentifier() {
-		return workflowRunIdentifier;
-	}
-
-	public void setWorkflowRunIdentifier(String workflowRunIdentifier) {
-		this.workflowRunIdentifier = workflowRunIdentifier;
-	}
-
-	public String getProcessorName() {
-		return processorName;
-	}
-
-	public void setProcessorName(String processorName) {
-		this.processorName = processorName;
-	}
-
-	public String getPortName() {
-		return portName;
-	}
-
-	public void setPortName(String portName) {
-		this.portName = portName;
-	}
-
-	public String getIteration() {
-		return iteration;
-	}
-
-	public void setIteration(String iteration) {
-		this.iteration = iteration;
-	}
-
-	public void setCollId(String collId) {
-		this.collId = collId;
-	}
-
-	public String getCollId() {
-		return collId;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DDRecord.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DDRecord.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DDRecord.java
deleted file mode 100644
index ec762c0..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DDRecord.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/**
- * 
- */
-package net.sf.taverna.t2.provenance.lineageservice.utils;
-
-/**
- * a simple bean to hold a database record from the DD table
- * 
- * @author paolo
- * 
- */
-public class DDRecord {
-
-	private String PFrom;
-	private String PTo;
-	private String vTo;
-	private String valTo;
-	private String vFrom;
-	private String valFrom;
-	private String iteration;
-	public boolean isInput;
-
-	@Override
-	public String toString() {
-		return new String("proc: " + PFrom + " vFrom: " + vFrom + " valFrom: "
-				+ valFrom + "PTo: " + PTo + " vTo: " + vTo + " valTo: " + valTo);
-	}
-
-	/**
-	 * @return the vTo
-	 */
-	public String getVTo() {
-		return vTo;
-	}
-
-	/**
-	 * @param to
-	 *            the vTo to set
-	 */
-	public void setVTo(String to) {
-		vTo = to;
-	}
-
-	/**
-	 * @return the valTo
-	 */
-	public String getValTo() {
-		return valTo;
-	}
-
-	/**
-	 * @param valTo
-	 *            the valTo to set
-	 */
-	public void setValTo(String valTo) {
-		this.valTo = valTo;
-	}
-
-	/**
-	 * @return the vFrom
-	 */
-	public String getVFrom() {
-		return vFrom;
-	}
-
-	/**
-	 * @param from
-	 *            the vFrom to set
-	 */
-	public void setVFrom(String from) {
-		vFrom = from;
-	}
-
-	/**
-	 * @return the valFrom
-	 */
-	public String getValFrom() {
-		return valFrom;
-	}
-
-	/**
-	 * @param valFrom
-	 *            the valFrom to set
-	 */
-	public void setValFrom(String valFrom) {
-		this.valFrom = valFrom;
-	}
-
-	/**
-	 * @return the isInput
-	 */
-	public boolean isInput() {
-		return isInput;
-	}
-
-	/**
-	 * @param isInput
-	 *            the isInput to set
-	 */
-	public void setInput(boolean isInput) {
-		this.isInput = isInput;
-	}
-
-	/**
-	 * @return the pFrom
-	 */
-	public String getPFrom() {
-		return PFrom;
-	}
-
-	/**
-	 * @param from
-	 *            the pFrom to set
-	 */
-	public void setPFrom(String from) {
-		PFrom = from;
-	}
-
-	/**
-	 * @return the pTo
-	 */
-	public String getPTo() {
-		return PTo;
-	}
-
-	/**
-	 * @param to
-	 *            the pTo to set
-	 */
-	public void setPTo(String to) {
-		PTo = to;
-	}
-
-	/**
-	 * @return the iteration
-	 */
-	public String getIteration() {
-		return iteration;
-	}
-
-	/**
-	 * @param iteration
-	 *            the iteration to set
-	 */
-	public void setIteration(String iteration) {
-		this.iteration = iteration;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataBinding.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataBinding.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataBinding.java
deleted file mode 100644
index 3b4f123..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataBinding.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package net.sf.taverna.t2.provenance.lineageservice.utils;
-
-public class DataBinding {
-	private String dataBindingId;
-	private Port port;
-	private String t2Reference;
-	private String workflowRunId;
-
-	public String getDataBindingId() {
-		return dataBindingId;
-	}
-
-	public void setDataBindingId(String dataBindingId) {
-		this.dataBindingId = dataBindingId;
-	}
-
-	public Port getPort() {
-		return port;
-	}
-
-	public void setPort(Port port) {
-		this.port = port;
-	}
-
-	@Override
-	public int hashCode() {
-		int result = 31 + ((dataBindingId == null) ? 0 : dataBindingId
-				.hashCode());
-		return 31 * result + ((port == null) ? 0 : port.hashCode());
-	}
-
-	@Override
-	public String toString() {
-		StringBuilder builder = new StringBuilder();
-		builder.append("DataBinding [dataBindingId=");
-		builder.append(dataBindingId);
-		builder.append(", port=");
-		builder.append(port);
-		builder.append(", t2Reference=");
-		builder.append(t2Reference);
-		builder.append("]");
-		return builder.toString();
-	}
-
-	@Override
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (getClass() != obj.getClass())
-			return false;
-		DataBinding other = (DataBinding) obj;
-		if (dataBindingId == null) {
-			if (other.dataBindingId != null)
-				return false;
-		} else if (!dataBindingId.equals(other.dataBindingId))
-			return false;
-		if (port == null) {
-			if (other.port != null)
-				return false;
-		} else if (!port.equals(other.port))
-			return false;
-		return true;
-	}
-
-	public String getT2Reference() {
-		return t2Reference;
-	}
-
-	public void setT2Reference(String t2Reference) {
-		this.t2Reference = t2Reference;
-	}
-
-	public String getWorkflowRunId() {
-		return workflowRunId;
-	}
-
-	public void setWorkflowRunId(String workflowRunId) {
-		this.workflowRunId = workflowRunId;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataLink.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataLink.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataLink.java
deleted file mode 100644
index db2e42a..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataLink.java
+++ /dev/null
@@ -1,127 +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.provenance.lineageservice.utils;
-
-/**
- * @author paolo
- * 
- */
-
-public class DataLink {
-	private String workflowId;
-	private String sourcePortId;
-	private String sourceProcessorName;
-	private String sourcePortName;
-	private String destinationPortId;
-	private String destinationProcessorName;
-	private String destinationPortName;
-
-	/**
-	 * @return the workflowId
-	 */
-	public String getWorkflowId() {
-		return workflowId;
-	}
-
-	/**
-	 * @param workflowId
-	 *            the workflowId to set
-	 */
-	public void setWorkflowId(String workflowRunId) {
-		this.workflowId = workflowRunId;
-	}
-
-	public String getSourcePortId() {
-		return sourcePortId;
-	}
-
-	public void setSourcePortId(String sourcePortId) {
-		this.sourcePortId = sourcePortId;
-	}
-
-	/**
-	 * @return the sourceProcessorName
-	 */
-	public String getSourceProcessorName() {
-		return sourceProcessorName;
-	}
-
-	/**
-	 * @param sourceProcessorName
-	 *            the sourceProcessorName to set
-	 */
-	public void setSourceProcessorName(String sourceProcessorName) {
-		this.sourceProcessorName = sourceProcessorName;
-	}
-
-	/**
-	 * @return the sourcePortName
-	 */
-	public String getSourcePortName() {
-		return sourcePortName;
-	}
-
-	/**
-	 * @param sourcePortName
-	 *            the sourcePortName to set
-	 */
-	public void setSourcePortName(String sourcePortName) {
-		this.sourcePortName = sourcePortName;
-	}
-
-	public String getDestinationPortId() {
-		return destinationPortId;
-	}
-
-	public void setDestinationPortId(String destinationPortId) {
-		this.destinationPortId = destinationPortId;
-	}
-
-	/**
-	 * @return the sourceprocessorNameRef
-	 */
-	public String getDestinationProcessorName() {
-		return destinationProcessorName;
-	}
-
-	/**
-	 * @param sourceprocessorNameRef
-	 *            the sourceprocessorNameRef to set
-	 */
-	public void setDestinationProcessorName(String destinationProcessorName) {
-		this.destinationProcessorName = destinationProcessorName;
-	}
-
-	/**
-	 * @return the destinationPortName
-	 */
-	public String getDestinationPortName() {
-		return destinationPortName;
-	}
-
-	/**
-	 * @param destinationPortName
-	 *            the destinationPortName to set
-	 */
-	public void setDestinationPortName(String destinationPortName) {
-		this.destinationPortName = destinationPortName;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataValueExtractor.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataValueExtractor.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataValueExtractor.java
deleted file mode 100644
index 8480197..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataValueExtractor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * 
- */
-package net.sf.taverna.t2.provenance.lineageservice.utils;
-
-/**
- * @author paolo
- * 
- */
-public interface DataValueExtractor {
-
-	/**
-	 * extracts a printable string from a more complex object. This is not the
-	 * same as toString() as it is applied to an object, rather than being a
-	 * method on the object itself
-	 * 
-	 * @param complexContent
-	 *            should really be a byte array FIXME
-	 * @return
-	 */
-	public String extractString(Object complexContent);
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataflowInvocation.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataflowInvocation.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataflowInvocation.java
deleted file mode 100644
index f838f79..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/DataflowInvocation.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package net.sf.taverna.t2.provenance.lineageservice.utils;
-
-import java.sql.Timestamp;
-
-public class DataflowInvocation {
-	private String dataflowInvocationId;
-	private String workflowId;
-	private String workflowRunId;
-	private String parentProcessorEnactmentId;
-	private String inputsDataBindingId;
-	private String outputsDataBindingId;
-	private Timestamp invocationEnded;
-	private Timestamp invocationStarted;
-	private boolean completed;
-
-	@Override
-	public int hashCode() {
-		return 31 + ((dataflowInvocationId == null) ? 0 : dataflowInvocationId
-				.hashCode());
-	}
-
-	@Override
-	public String toString() {
-		return "DataflowInvocation [dataflowInvocationId="
-				+ dataflowInvocationId + ", parentProcessorEnactmentId="
-				+ parentProcessorEnactmentId + ", workflowRunId="
-				+ workflowRunId + "]";
-	}
-
-	@Override
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (getClass() != obj.getClass())
-			return false;
-		DataflowInvocation other = (DataflowInvocation) obj;
-		if (dataflowInvocationId == null) {
-			if (other.dataflowInvocationId != null)
-				return false;
-		} else if (!dataflowInvocationId.equals(other.dataflowInvocationId))
-			return false;
-		return true;
-	}
-
-	public String getDataflowInvocationId() {
-		return dataflowInvocationId;
-	}
-
-	public void setDataflowInvocationId(String dataflowInvocationId) {
-		this.dataflowInvocationId = dataflowInvocationId;
-	}
-
-	public String getWorkflowId() {
-		return workflowId;
-	}
-
-	public void setWorkflowId(String workflowId) {
-		this.workflowId = workflowId;
-	}
-
-	public String getWorkflowRunId() {
-		return workflowRunId;
-	}
-
-	public void setWorkflowRunId(String workflowRunId) {
-		this.workflowRunId = workflowRunId;
-	}
-
-	public String getParentProcessorEnactmentId() {
-		return parentProcessorEnactmentId;
-	}
-
-	public void setParentProcessorEnactmentId(String parentProcessorEnactmentId) {
-		this.parentProcessorEnactmentId = parentProcessorEnactmentId;
-	}
-
-	public String getInputsDataBindingId() {
-		return inputsDataBindingId;
-	}
-
-	public void setInputsDataBindingId(String inputsDataBindingId) {
-		this.inputsDataBindingId = inputsDataBindingId;
-	}
-
-	public String getOutputsDataBindingId() {
-		return outputsDataBindingId;
-	}
-
-	public void setOutputsDataBindingId(String outputsDataBindingId) {
-		this.outputsDataBindingId = outputsDataBindingId;
-	}
-
-	public Timestamp getInvocationEnded() {
-		return invocationEnded;
-	}
-
-	public void setInvocationEnded(Timestamp invocationEnded) {
-		this.invocationEnded = invocationEnded;
-	}
-
-	public Timestamp getInvocationStarted() {
-		return invocationStarted;
-	}
-
-	public void setInvocationStarted(Timestamp invocationStarted) {
-		this.invocationStarted = invocationStarted;
-	}
-
-	public void setCompleted(boolean completed) {
-		this.completed = completed;
-	}
-
-	public boolean getCompleted() {
-		return completed;
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/550b5992/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/NestedListNode.java
----------------------------------------------------------------------
diff --git a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/NestedListNode.java b/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/NestedListNode.java
deleted file mode 100644
index c17a11d..0000000
--- a/taverna-provenanceconnector/src/main/java/net/sf/taverna/t2/provenance/lineageservice/utils/NestedListNode.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * 
- */
-package net.sf.taverna.t2.provenance.lineageservice.utils;
-
-/**
- * @author paolo
- * 
- */
-public class NestedListNode {
-	private String collectionT2Reference;
-	private String parentCollectionT2Reference;
-	private String workflowRunId;
-	private String processorName;
-	private String portName;
-	private String iteration;
-
-	/**
-	 * @return the collectionT2Reference
-	 */
-	public String getCollectionT2Reference() {
-		return collectionT2Reference;
-	}
-
-	/**
-	 * @param collectionT2Reference
-	 *            the collectionT2Reference to set
-	 */
-	public void setCollectionT2Reference(String collectionT2Reference) {
-		this.collectionT2Reference = collectionT2Reference;
-	}
-
-	/**
-	 * @return the parentCollIdRef
-	 */
-	public String getParentCollIdRef() {
-		return parentCollectionT2Reference;
-	}
-
-	/**
-	 * @param parentCollIdRef
-	 *            the parentCollIdRef to set
-	 */
-	public void setParentCollIdRef(String parentCollIdRef) {
-		this.parentCollectionT2Reference = parentCollIdRef;
-	}
-
-	/**
-	 * @return the workflowRunId
-	 */
-	public String getWorkflowRunId() {
-		return workflowRunId;
-	}
-
-	/**
-	 * @param workflowRunId
-	 *            the workflowRunId to set
-	 */
-	public void setWorkflowRunId(String workflowRunId) {
-		this.workflowRunId = workflowRunId;
-	}
-
-	/**
-	 * @return the processorNameRef
-	 */
-	public String getProcessorName() {
-		return processorName;
-	}
-
-	/**
-	 * @param nameRef
-	 *            the processorNameRef to set
-	 */
-	public void setProcessorName(String nameRef) {
-		processorName = nameRef;
-	}
-
-	/**
-	 * @return the portName
-	 */
-	public String getPortName() {
-		return portName;
-	}
-
-	/**
-	 * @param portName
-	 *            the portName to set
-	 */
-	public void setPortName(String portName) {
-		this.portName = portName;
-	}
-
-	/**
-	 * @return the iteration
-	 */
-	public String getIteration() {
-		return iteration;
-	}
-
-	/**
-	 * @param iteration
-	 *            the iteration to set
-	 */
-	public void setIteration(String iteration) {
-		this.iteration = iteration;
-	}
-}