You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2015/02/23 11:05:53 UTC

[68/79] incubator-taverna-language git commit: taverna-scufl2-rdfxml -> taverna-scufl2-wfbundle

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e27d1dbe/taverna-scufl2-rdfxml/src/main/java/org/apache/taverna/scufl2/rdfxml/WorkflowBundleParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-rdfxml/src/main/java/org/apache/taverna/scufl2/rdfxml/WorkflowBundleParser.java b/taverna-scufl2-rdfxml/src/main/java/org/apache/taverna/scufl2/rdfxml/WorkflowBundleParser.java
deleted file mode 100644
index 4e56a1f..0000000
--- a/taverna-scufl2-rdfxml/src/main/java/org/apache/taverna/scufl2/rdfxml/WorkflowBundleParser.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package org.apache.taverna.scufl2.rdfxml;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-
-import static org.apache.taverna.scufl2.rdfxml.RDFXMLReader.APPLICATION_RDF_XML;
-import static org.apache.taverna.scufl2.rdfxml.RDFXMLReader.APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE;
-import static org.apache.taverna.scufl2.rdfxml.RDFXMLWriter.WORKFLOW_BUNDLE_RDF;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.ucfpackage.UCFPackage;
-import org.apache.taverna.scufl2.ucfpackage.UCFPackage.ResourceEntry;
-
-import org.apache.taverna.scufl2.rdfxml.jaxb.WorkflowBundleDocument;
-
-public class WorkflowBundleParser extends AbstractParser {
-
-	private WorkflowParser workflowParser;
-	private ProfileParser profileParser;
-
-	public WorkflowBundleParser() {
-		super();
-		workflowParser = new WorkflowParser(parserState);
-		profileParser = new ProfileParser(parserState);
-	}
-
-	protected String findWorkflowBundlePath() {
-		if (APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE
-				.equals(getParserState().getUcfPackage().getPackageMediaType()))
-			for (ResourceEntry potentialRoot : getParserState().getUcfPackage()
-					.getRootFiles())
-				if (APPLICATION_RDF_XML.equals(potentialRoot.getMediaType()))
-					return potentialRoot.getPath();
-		return WORKFLOW_BUNDLE_RDF;
-	}
-
-	protected WorkflowBundle parseWorkflowBundle(
-			org.apache.taverna.scufl2.rdfxml.jaxb.WorkflowBundle wb, URI base)
-			throws ReaderException, IOException {
-		WorkflowBundle workflowBundle = new WorkflowBundle();
-		getParserState().push(workflowBundle);
-		try {
-			workflowBundle.setResources(getParserState().getUcfPackage());
-			if (wb.getName() != null)
-				workflowBundle.setName(wb.getName());
-			if (wb.getGlobalBaseURI() != null
-					&& wb.getGlobalBaseURI().getResource() != null)
-				workflowBundle.setGlobalBaseURI(base.resolve(wb
-						.getGlobalBaseURI().getResource()));
-			mapBean(base.resolve(wb.getAbout()), workflowBundle);
-			for (org.apache.taverna.scufl2.rdfxml.jaxb.WorkflowBundle.Workflow wfEntry : wb
-					.getWorkflow()) {
-				URI wfUri = base.resolve(wfEntry.getWorkflow().getAbout());
-				String resource = wfEntry.getWorkflow().getSeeAlso()
-						.getResource();
-				URI source = uriTools.relativePath(getParserState()
-						.getLocation(), base.resolve(resource));
-				workflowParser.readWorkflow(wfUri, source);
-			}
-			for (org.apache.taverna.scufl2.rdfxml.jaxb.WorkflowBundle.Profile pfEntry : wb
-					.getProfile()) {
-				URI wfUri = base.resolve(pfEntry.getProfile().getAbout());
-				String resource = pfEntry.getProfile().getSeeAlso()
-						.getResource();
-				URI source = uriTools.relativePath(getParserState()
-						.getLocation(), base.resolve(resource));
-				profileParser.readProfile(wfUri, source);
-			}
-
-			if (wb.getMainWorkflow() != null
-					&& wb.getMainWorkflow().getResource() != null) {
-				URI mainWfUri = base
-						.resolve(wb.getMainWorkflow().getResource());
-				Workflow mainWorkflow = (Workflow) resolveBeanUri(mainWfUri);
-				if (mainWorkflow == null)
-					throw new ReaderException("Unknown main workflow "
-							+ mainWfUri + ", got"
-							+ getParserState().getUriToBean().keySet());
-				workflowBundle.setMainWorkflow(mainWorkflow);
-			}
-			if (wb.getMainProfile() != null
-					&& wb.getMainProfile().getResource() != null) {
-				URI profileUri = base
-						.resolve(wb.getMainProfile().getResource());
-				org.apache.taverna.scufl2.api.profiles.Profile mainWorkflow = (org.apache.taverna.scufl2.api.profiles.Profile) resolveBeanUri(profileUri);
-				workflowBundle.setMainProfile(mainWorkflow);
-			}
-		} finally {
-			getParserState().pop();
-		}
-		return workflowBundle;
-	}
-
-	@SuppressWarnings("unchecked")
-	public WorkflowBundle readWorkflowBundle(UCFPackage ucfPackage,
-			URI suggestedLocation) throws IOException, ReaderException {
-		try {
-			getParserState().setUcfPackage(ucfPackage);
-			getParserState().setLocation(suggestedLocation);
-			if (getParserState().getLocation() == null) {
-				getParserState().setLocation(URI.create(""));
-			} else if (!getParserState().getLocation().getRawPath()
-					.endsWith("/")) {
-				if (getParserState().getLocation().getQuery() != null
-						|| getParserState().getLocation().getFragment() != null)
-					/*
-					 * Ouch.. Perhaps some silly website with ?bundleId=15 ?
-					 * We'll better conserve that somehow. Let's do the jar:
-					 * trick and hope it works. Have to escape evil chars.
-					 */
-					getParserState().setLocation(
-							URI.create("jar:"
-									+ getParserState().getLocation()
-									.toASCIIString()
-									.replace("?", "%63")
-									.replace("#", "#35") + "!/"));
-				else
-					/*
-					 * Simple, pretend we're one level down inside the ZIP file
-					 * as a directory
-					 */
-					getParserState().setLocation(
-							getParserState().getLocation().resolve(
-									getParserState().getLocation().getRawPath()
-											+ "/"));
-			}
-			String workflowBundlePath = findWorkflowBundlePath();
-
-			InputStream bundleStream = getParserState().getUcfPackage()
-					.getResourceAsInputStream(workflowBundlePath);
-
-			JAXBElement<WorkflowBundleDocument> elem;
-			try {
-				elem = (JAXBElement<WorkflowBundleDocument>) unmarshaller
-						.unmarshal(bundleStream);
-			} catch (JAXBException e) {
-				throw new ReaderException(
-						"Can't parse workflow bundle document "
-								+ workflowBundlePath, e);
-			}
-			WorkflowBundleDocument workflowBundleDocument = elem.getValue();
-
-			URI base = getParserState().getLocation().resolve(
-					workflowBundlePath);
-			if (workflowBundleDocument.getBase() != null)
-				base = getParserState().getLocation().resolve(
-						workflowBundleDocument.getBase());
-
-			if (workflowBundleDocument.getAny().size() != 1)
-				throw new ReaderException(
-						"Invalid WorkflowBundleDocument, expected only one <WorkflowBundle>");
-
-			org.apache.taverna.scufl2.rdfxml.jaxb.WorkflowBundle wb = (org.apache.taverna.scufl2.rdfxml.jaxb.WorkflowBundle) workflowBundleDocument
-					.getAny().get(0);
-			WorkflowBundle workflowBundle = parseWorkflowBundle(wb, base);
-
-			scufl2Tools.setParents(workflowBundle);
-			return workflowBundle;
-		} finally {
-			clearParserState();
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e27d1dbe/taverna-scufl2-rdfxml/src/main/java/org/apache/taverna/scufl2/rdfxml/WorkflowParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-rdfxml/src/main/java/org/apache/taverna/scufl2/rdfxml/WorkflowParser.java b/taverna-scufl2-rdfxml/src/main/java/org/apache/taverna/scufl2/rdfxml/WorkflowParser.java
deleted file mode 100644
index 6d84ef7..0000000
--- a/taverna-scufl2-rdfxml/src/main/java/org/apache/taverna/scufl2/rdfxml/WorkflowParser.java
+++ /dev/null
@@ -1,381 +0,0 @@
-package org.apache.taverna.scufl2.rdfxml;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.util.List;
-import java.util.logging.Logger;
-
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-
-import org.apache.taverna.scufl2.api.common.WorkflowBean;
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.core.BlockingControlLink;
-import org.apache.taverna.scufl2.api.core.Processor;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.api.iterationstrategy.IterationStrategyParent;
-import org.apache.taverna.scufl2.api.port.ReceiverPort;
-import org.apache.taverna.scufl2.api.port.SenderPort;
-
-import org.apache.taverna.scufl2.rdfxml.jaxb.Blocking;
-import org.apache.taverna.scufl2.rdfxml.jaxb.CrossProduct;
-import org.apache.taverna.scufl2.rdfxml.jaxb.DataLink;
-import org.apache.taverna.scufl2.rdfxml.jaxb.DispatchStack;
-import org.apache.taverna.scufl2.rdfxml.jaxb.DotProduct;
-import org.apache.taverna.scufl2.rdfxml.jaxb.IterationStrategyStack;
-import org.apache.taverna.scufl2.rdfxml.jaxb.PortNode;
-import org.apache.taverna.scufl2.rdfxml.jaxb.Processor.InputProcessorPort;
-import org.apache.taverna.scufl2.rdfxml.jaxb.Processor.OutputProcessorPort;
-import org.apache.taverna.scufl2.rdfxml.jaxb.ProductOf;
-import org.apache.taverna.scufl2.rdfxml.jaxb.WorkflowDocument;
-
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-
-public class WorkflowParser extends AbstractParser {
-	private static Logger logger = Logger.getLogger(WorkflowParser.class
-			.getCanonicalName());
-	@SuppressWarnings("unused")
-	private static final JsonNodeFactory JSON_NODE_FACTORY = JsonNodeFactory.instance;
-
-	public WorkflowParser() {
-	}
-
-	public WorkflowParser(ThreadLocal<ParserState> parserState) {
-		super(parserState);
-	}
-
-	protected void parseControlLink(Blocking original) {
-		URI blockUri = getParserState().getCurrentBase().resolve(
-				original.getBlock().getResource());
-		URI untilFinishedUri = getParserState().getCurrentBase().resolve(
-				original.getUntilFinished().getResource());
-		WorkflowBean block = resolveBeanUri(blockUri);
-		WorkflowBean untilFinished = resolveBeanUri(untilFinishedUri);
-
-		BlockingControlLink blocking = new BlockingControlLink();
-		blocking.setBlock((org.apache.taverna.scufl2.api.core.Processor) block);
-		blocking.setUntilFinished((org.apache.taverna.scufl2.api.core.Processor) untilFinished);
-
-		blocking.setParent(getParserState().getCurrent(Workflow.class));
-		mapBean(getParserState().getCurrentBase().resolve(original.getAbout()),
-				blocking);
-	}
-
-	protected void parseCrossDotOrPortNodeList(List<Object> nodeList)
-			throws ReaderException {
-		for (Object node : nodeList)
-			if (node instanceof DotProduct)
-				parseDotProduct((DotProduct) node);
-			else if (node instanceof CrossProduct)
-				parseCrossProduct((CrossProduct) node);
-			else if (node instanceof PortNode)
-				parsePortNode((PortNode) node);
-			else
-				throw new ReaderException("Unexpected node " + node);
-	}
-
-	protected void parseCrossProduct(CrossProduct original)
-			throws ReaderException {
-		org.apache.taverna.scufl2.api.iterationstrategy.CrossProduct cross = new org.apache.taverna.scufl2.api.iterationstrategy.CrossProduct();
-		mapBean(getParserState().getCurrentBase().resolve(original.getAbout()),
-				cross);
-		cross.setParent(getParserState().getCurrent(
-				IterationStrategyParent.class));
-		getParserState().push(cross);
-		try {
-			parseProductOf(original.getProductOf());
-		} finally {
-			getParserState().pop();
-		}
-	}
-
-	protected void parseDataLink(DataLink original) {
-		URI fromUri = getParserState().getCurrentBase().resolve(
-				original.getReceiveFrom().getResource());
-		URI toUri = getParserState().getCurrentBase().resolve(
-				original.getSendTo().getResource());
-		WorkflowBean from = resolveBeanUri(fromUri);
-		WorkflowBean to = resolveBeanUri(toUri);
-
-		org.apache.taverna.scufl2.api.core.DataLink link = new org.apache.taverna.scufl2.api.core.DataLink();
-		link.setReceivesFrom((SenderPort) from);
-		link.setSendsTo((ReceiverPort) to);
-		if (original.getMergePosition() != null)
-			link.setMergePosition(original.getMergePosition().getValue());
-		link.setParent(getParserState().getCurrent(Workflow.class));
-		mapBean(getParserState().getCurrentBase().resolve(original.getAbout()),
-				link);
-	}
-
-	protected void parseDispatchStack(DispatchStack original) {
-        logger.fine("Ignoring Dispatch stack: not supported (SCUFL2-130)");
-        return;
-
-//        // FIXME: Legacy code - support parsing old dispatch stack configurations
-//		Processor processor = getParserState().getCurrent(
-//				org.apache.taverna.scufl2.api.core.Processor.class);
-//        ObjectNode config = JSON_NODE_FACTORY.objectNode();
-//        getParserState().getDispatchConfigs().put(processor, config);        
-//		if (original.getDispatchStackLayers() != null) {
-//			for (DispatchStackLayer dispatchStackLayer : original
-//					.getDispatchStackLayers().getDispatchStackLayer()) {
-//				parseDispatchStackLayer(dispatchStackLayer);
-//			}
-//		}
-	}
-
-//	protected void parseDispatchStackLayer(DispatchStackLayer original) {
-//	    Processor processor = getParserState().getCurrent(Processor.class);
-//	    URI type = getParserState().getCurrentBase().resolve(
-//				original.getType().getResource());
-//	    URI config = getParserState().getCurrentBase().resolve(original.getAbout());
-//	    // TODO: SCUFL2-130
-//	    // Add Legacy code for wfbundle 0.3.0 to
-//	    // support parsing old dispatch stack configurations
-//	    // 
-//	    // The difficult bit is that the layers themselves has moved to 
-//	    // to be a Configuration on a Processor - but we are here within
-//	    // parsing of the Workflow. In 0.3.0 each layer is then configured
-//	    // separately. So we need to pass over somehow the current stack 
-//	    // to the ParserState so that it can be picked up in ProfileParser
-//	    // and added to each of the profiles -- or at least where the
-//	    // stack layers have been configured.
-//	    // 
-//	    // Here's an idea on how it can work. Here we should push each layer to a
-//	    // List<Pair<URI,URI>> that we can keep in the ParserState. 
-//	    // Then, within ProfileParser, we can pick them up and
-//      // recreate what the Processor config would look like for
-//      // the default configs - and then delete those dangling configs
-//	}
-
-	protected void parseDotProduct(DotProduct original) throws ReaderException {
-		org.apache.taverna.scufl2.api.iterationstrategy.DotProduct dot = new org.apache.taverna.scufl2.api.iterationstrategy.DotProduct();
-		mapBean(getParserState().getCurrentBase().resolve(original.getAbout()),
-				dot);
-		dot.setParent(getParserState()
-				.getCurrent(IterationStrategyParent.class));
-
-		getParserState().push(dot);
-		try {
-			parseProductOf(original.getProductOf());
-		} finally {
-			getParserState().pop();
-		}
-	}
-
-	protected void parseInputWorkflowPort(
-			org.apache.taverna.scufl2.rdfxml.jaxb.InputWorkflowPort original) {
-		org.apache.taverna.scufl2.api.port.InputWorkflowPort port = new org.apache.taverna.scufl2.api.port.InputWorkflowPort();
-		port.setName(original.getName());
-		if (original.getPortDepth() != null)
-			port.setDepth(original.getPortDepth().getValue());
-		port.setParent(getParserState().getCurrent(Workflow.class));
-		mapBean(getParserState().getCurrentBase().resolve(original.getAbout()),
-				port);
-	}
-
-	protected void parseIterationStrategyStack(IterationStrategyStack original)
-			throws ReaderException {
-		org.apache.taverna.scufl2.api.iterationstrategy.IterationStrategyStack iterationStrategyStack = new org.apache.taverna.scufl2.api.iterationstrategy.IterationStrategyStack();
-		iterationStrategyStack.setParent(getParserState().getCurrent(
-				Processor.class));
-
-		mapBean(getParserState().getCurrentBase().resolve(original.getAbout()),
-				iterationStrategyStack);
-		if (original.getIterationStrategies() != null) {
-			getParserState().push(iterationStrategyStack);
-			try {
-				parseCrossDotOrPortNodeList(original.getIterationStrategies()
-						.getDotProductOrCrossProduct());
-			} finally {
-				getParserState().pop();
-			}
-		}
-	}
-
-	protected void parseOutputWorkflowPort(
-			org.apache.taverna.scufl2.rdfxml.jaxb.OutputWorkflowPort original) {
-		org.apache.taverna.scufl2.api.port.OutputWorkflowPort port = new org.apache.taverna.scufl2.api.port.OutputWorkflowPort();
-		port.setName(original.getName());
-		port.setParent(getParserState().getCurrent(Workflow.class));
-		mapBean(getParserState().getCurrentBase().resolve(original.getAbout()),
-				port);
-	}
-
-	protected void parsePortNode(PortNode original) {
-		org.apache.taverna.scufl2.api.iterationstrategy.PortNode node = new org.apache.taverna.scufl2.api.iterationstrategy.PortNode();
-		node.setParent(getParserState().getCurrent(
-				IterationStrategyParent.class));
-		if (original.getDesiredDepth() != null)
-			node.setDesiredDepth(original.getDesiredDepth().getValue());
-		mapBean(getParserState().getCurrentBase().resolve(original.getAbout()),
-				node);
-		URI inputPortUri = getParserState().getCurrentBase().resolve(
-				original.getIterateOverInputPort().getResource());
-		org.apache.taverna.scufl2.api.port.InputProcessorPort inputPort = (org.apache.taverna.scufl2.api.port.InputProcessorPort) resolveBeanUri(inputPortUri);
-		node.setInputProcessorPort(inputPort);
-	}
-
-	protected void parseProcessor(
-			org.apache.taverna.scufl2.rdfxml.jaxb.Processor processor)
-			throws ReaderException {
-		org.apache.taverna.scufl2.api.core.Processor p = new org.apache.taverna.scufl2.api.core.Processor();
-		getParserState().push(p);
-		try {
-			p.setParent(getParserState().getCurrent(Workflow.class));
-			mapBean(getParserState().getCurrentBase().resolve(
-					processor.getAbout()), p);
-			if (processor.getName() != null)
-				p.setName(processor.getName());
-			for (InputProcessorPort inputProcessorPort : processor
-					.getInputProcessorPort())
-				processorInputProcessorPort(inputProcessorPort
-						.getInputProcessorPort());
-			for (OutputProcessorPort outputProcessorPort : processor
-					.getOutputProcessorPort())
-				processorOutputProcessorPort(outputProcessorPort
-						.getOutputProcessorPort());
-			if (processor.getDispatchStack() != null)
-			    // Legacy wfbundle
-				parseDispatchStack(processor.getDispatchStack()
-						.getDispatchStack());
-			if (processor.getIterationStrategyStack() != null)
-				parseIterationStrategyStack(processor
-						.getIterationStrategyStack()
-						.getIterationStrategyStack());
-		} finally {
-			getParserState().pop();
-		}
-	}
-
-	protected void parseProductOf(ProductOf productOf) throws ReaderException {
-		if (productOf == null)
-			return;
-		parseCrossDotOrPortNodeList(productOf
-				.getCrossProductOrDotProductOrPortNode());
-	}
-
-	protected void parseWorkflow(
-			org.apache.taverna.scufl2.rdfxml.jaxb.Workflow workflow, URI wfUri)
-			throws ReaderException {
-		Workflow wf = new Workflow();
-		wf.setParent(getParserState().getCurrent(WorkflowBundle.class));
-
-		if (workflow.getAbout() != null)
-			mapBean(getParserState().getCurrentBase().resolve(
-					workflow.getAbout()), wf);
-			// TODO: Compare resolved URI with desired wfUri
-		else
-			mapBean(wfUri, wf);
-
-		getParserState().push(wf);
-		try {
-			if (workflow.getName() != null)
-				wf.setName(workflow.getName());
-			if (workflow.getWorkflowIdentifier() != null
-					&& workflow.getWorkflowIdentifier().getResource() != null)
-				wf.setIdentifier(getParserState().getCurrentBase().resolve(
-						workflow.getWorkflowIdentifier().getResource()));
-
-			for (org.apache.taverna.scufl2.rdfxml.jaxb.Workflow.InputWorkflowPort inputWorkflowPort : workflow
-					.getInputWorkflowPort())
-				parseInputWorkflowPort(inputWorkflowPort.getInputWorkflowPort());
-			for (org.apache.taverna.scufl2.rdfxml.jaxb.Workflow.OutputWorkflowPort outputWorkflowPort : workflow
-					.getOutputWorkflowPort())
-				parseOutputWorkflowPort(outputWorkflowPort
-						.getOutputWorkflowPort());
-			for (org.apache.taverna.scufl2.rdfxml.jaxb.Workflow.Processor processor : workflow
-					.getProcessor())
-				parseProcessor(processor.getProcessor());
-			for (org.apache.taverna.scufl2.rdfxml.jaxb.DataLinkEntry dataLinkEntry : workflow
-					.getDatalink())
-				parseDataLink(dataLinkEntry.getDataLink());
-			for (org.apache.taverna.scufl2.rdfxml.jaxb.Control c : workflow
-					.getControl())
-				parseControlLink(c.getBlocking());
-		} finally {
-			getParserState().pop();
-		}
-	}
-
-	protected void processorInputProcessorPort(
-			org.apache.taverna.scufl2.rdfxml.jaxb.InputProcessorPort original) {
-		org.apache.taverna.scufl2.api.port.InputProcessorPort port = new org.apache.taverna.scufl2.api.port.InputProcessorPort();
-		port.setName(original.getName());
-		if (original.getPortDepth() != null)
-			port.setDepth(original.getPortDepth().getValue());
-		port.setParent(getParserState().getCurrent(Processor.class));
-		mapBean(getParserState().getCurrentBase().resolve(original.getAbout()),
-				port);
-	}
-
-	protected void processorOutputProcessorPort(
-			org.apache.taverna.scufl2.rdfxml.jaxb.OutputProcessorPort original) {
-		org.apache.taverna.scufl2.api.port.OutputProcessorPort port = new org.apache.taverna.scufl2.api.port.OutputProcessorPort();
-		port.setName(original.getName());
-		if (original.getPortDepth() != null)
-			port.setDepth(original.getPortDepth().getValue());
-		if (original.getGranularPortDepth() != null)
-			port.setGranularDepth(original.getGranularPortDepth().getValue());
-		port.setParent(getParserState().getCurrent(
-				org.apache.taverna.scufl2.api.core.Processor.class));
-		mapBean(getParserState().getCurrentBase().resolve(original.getAbout()),
-				port);
-	}
-
-	@SuppressWarnings("unchecked")
-	protected void readWorkflow(URI wfUri, URI source) throws ReaderException,
-			IOException {
-		if (source.isAbsolute())
-			throw new ReaderException("Can't read external workflow source "
-					+ source);
-
-		InputStream bundleStream = getParserState().getUcfPackage()
-				.getResourceAsInputStream(source.getRawPath());
-
-		JAXBElement<WorkflowDocument> elem;
-		try {
-			elem = (JAXBElement<WorkflowDocument>) unmarshaller
-					.unmarshal(bundleStream);
-		} catch (JAXBException e) {
-			throw new ReaderException(
-					"Can't parse workflow document " + source, e);
-		}
-
-		URI base = getParserState().getLocation().resolve(source);
-		if (elem.getValue().getBase() != null)
-			base = base.resolve(elem.getValue().getBase());
-
-		if (elem.getValue().getAny().size() != 1)
-			throw new ReaderException("Expects only a <Workflow> element in "
-					+ source);
-		org.apache.taverna.scufl2.rdfxml.jaxb.Workflow workflow = (org.apache.taverna.scufl2.rdfxml.jaxb.Workflow) elem
-				.getValue().getAny().get(0);
-
-		getParserState().setCurrentBase(base);
-		parseWorkflow(workflow, wfUri);
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e27d1dbe/taverna-scufl2-rdfxml/src/main/java/org/apache/taverna/scufl2/rdfxml/impl/NamespacePrefixMapperJAXB_RI.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-rdfxml/src/main/java/org/apache/taverna/scufl2/rdfxml/impl/NamespacePrefixMapperJAXB_RI.java b/taverna-scufl2-rdfxml/src/main/java/org/apache/taverna/scufl2/rdfxml/impl/NamespacePrefixMapperJAXB_RI.java
deleted file mode 100644
index 822419a..0000000
--- a/taverna-scufl2-rdfxml/src/main/java/org/apache/taverna/scufl2/rdfxml/impl/NamespacePrefixMapperJAXB_RI.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.apache.taverna.scufl2.rdfxml.impl;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-
-import com.sun.xml.bind.marshaller.NamespacePrefixMapper;
-
-public class NamespacePrefixMapperJAXB_RI extends NamespacePrefixMapper {
-	@Override
-	public String getPreferredPrefix(String namespaceUri, String suggestion,
-			boolean requirePrefix) {
-		switch (namespaceUri) {
-		case "http://www.w3.org/2001/XMLSchema-instance":
-			return "xsi";
-		case "http://ns.taverna.org.uk/2010/scufl2#":
-			return ""; // default
-		case "http://www.w3.org/1999/02/22-rdf-syntax-ns#":
-			return "rdf";
-		case "http://www.w3.org/2000/01/rdf-schema#":
-			return "rdfs";
-		case "http://purl.org/dc/elements/1.1/":
-			return "dc";
-		case "http://purl.org/dc/terms/":
-			return "dcterms";
-		case "http://www.w3.org/2002/07/owl#":
-			return "owl";
-		default:
-			return suggestion;
-		}
-	}
-
-	@Override
-	public String[] getPreDeclaredNamespaceUris() {
-		return new String[] {};
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e27d1dbe/taverna-scufl2-rdfxml/src/main/resources/META-INF/services/org.apache.taverna.scufl2.api.io.WorkflowBundleReader
----------------------------------------------------------------------
diff --git a/taverna-scufl2-rdfxml/src/main/resources/META-INF/services/org.apache.taverna.scufl2.api.io.WorkflowBundleReader b/taverna-scufl2-rdfxml/src/main/resources/META-INF/services/org.apache.taverna.scufl2.api.io.WorkflowBundleReader
deleted file mode 100644
index 42ee9f0..0000000
--- a/taverna-scufl2-rdfxml/src/main/resources/META-INF/services/org.apache.taverna.scufl2.api.io.WorkflowBundleReader
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.taverna.scufl2.rdfxml.RDFXMLReader

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e27d1dbe/taverna-scufl2-rdfxml/src/main/resources/META-INF/services/org.apache.taverna.scufl2.api.io.WorkflowBundleWriter
----------------------------------------------------------------------
diff --git a/taverna-scufl2-rdfxml/src/main/resources/META-INF/services/org.apache.taverna.scufl2.api.io.WorkflowBundleWriter b/taverna-scufl2-rdfxml/src/main/resources/META-INF/services/org.apache.taverna.scufl2.api.io.WorkflowBundleWriter
deleted file mode 100644
index d3370c3..0000000
--- a/taverna-scufl2-rdfxml/src/main/resources/META-INF/services/org.apache.taverna.scufl2.api.io.WorkflowBundleWriter
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.taverna.scufl2.rdfxml.RDFXMLWriter

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e27d1dbe/taverna-scufl2-rdfxml/src/main/resources/META-INF/spring/scufl2-rdfxml-context-osgi.xml
----------------------------------------------------------------------
diff --git a/taverna-scufl2-rdfxml/src/main/resources/META-INF/spring/scufl2-rdfxml-context-osgi.xml b/taverna-scufl2-rdfxml/src/main/resources/META-INF/spring/scufl2-rdfxml-context-osgi.xml
deleted file mode 100644
index e05618f..0000000
--- a/taverna-scufl2-rdfxml/src/main/resources/META-INF/spring/scufl2-rdfxml-context-osgi.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-
-<beans:beans xmlns="http://www.springframework.org/schema/osgi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:beans="http://www.springframework.org/schema/beans"
-	xsi:schemaLocation="http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd
-		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-	<service ref="rdfXMLReader" interface="org.apache.taverna.scufl2.api.io.WorkflowBundleReader" />
-
-	<service ref="rdfXMLWriter" interface="org.apache.taverna.scufl2.api.io.WorkflowBundleWriter" />
-
-</beans:beans>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e27d1dbe/taverna-scufl2-rdfxml/src/main/resources/META-INF/spring/scufl2-rdfxml-context.xml
----------------------------------------------------------------------
diff --git a/taverna-scufl2-rdfxml/src/main/resources/META-INF/spring/scufl2-rdfxml-context.xml b/taverna-scufl2-rdfxml/src/main/resources/META-INF/spring/scufl2-rdfxml-context.xml
deleted file mode 100644
index 2560aac..0000000
--- a/taverna-scufl2-rdfxml/src/main/resources/META-INF/spring/scufl2-rdfxml-context.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://www.springframework.org/schema/beans 
-        http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-	<bean id="rdfXMLReader" class="org.apache.taverna.scufl2.rdfxml.RDFXMLReader" />
-
-	<bean id="rdfXMLWriter" class="org.apache.taverna.scufl2.rdfxml.RDFXMLWriter" />
-
-</beans>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e27d1dbe/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/DummyParserTest.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/DummyParserTest.java b/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/DummyParserTest.java
deleted file mode 100644
index 8f5d548..0000000
--- a/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/DummyParserTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.apache.taverna.scufl2.rdfxml;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-
-import java.net.URI;
-import java.net.URL;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.taverna.scufl2.rdfxml.jaxb.ObjectFactory;
-import org.apache.taverna.scufl2.rdfxml.jaxb.Profile;
-import org.apache.taverna.scufl2.rdfxml.jaxb.ProfileDocument;
-import org.apache.taverna.scufl2.rdfxml.jaxb.Workflow;
-import org.apache.taverna.scufl2.rdfxml.jaxb.WorkflowBundle;
-import org.apache.taverna.scufl2.rdfxml.jaxb.WorkflowBundleDocument;
-import org.apache.taverna.scufl2.rdfxml.jaxb.WorkflowDocument;
-
-public class DummyParserTest {
-
-	private JAXBContext jaxbContext;
-	private Unmarshaller unmarshaller;
-
-	@SuppressWarnings("unchecked")
-	@Test
-	public void parse() throws Exception {
-		URL resource = getClass().getResource("example/workflowBundle.rdf");
-		URI baseUri = resource.toURI();
-
-		@SuppressWarnings("rawtypes")
-		JAXBElement<WorkflowBundleDocument> workflowBundle = (JAXBElement<WorkflowBundleDocument>) unmarshaller
-				.unmarshal(resource);
-		WorkflowBundleDocument bundleDoc = workflowBundle.getValue();
-		WorkflowBundle wfBundle = (WorkflowBundle) bundleDoc.getAny().get(0);
-
-		//System.out.println(wfBundle.getName());
-		//System.out.println(wfBundle.getMainWorkflow());
-		//System.out.println(wfBundle.getSameBaseAs().getResource());
-		for (WorkflowBundle.Workflow wfLink : wfBundle.getWorkflow()) {
-			String about = wfLink.getWorkflow().getAbout();
-			String seeAlso = wfLink.getWorkflow().getSeeAlso().getResource();
-
-			URI wfResource = baseUri.resolve(seeAlso);
-			JAXBElement<WorkflowDocument> unmarshalled = (JAXBElement<WorkflowDocument>) unmarshaller
-					.unmarshal(wfResource.toURL());
-			WorkflowDocument wfDoc = unmarshalled.getValue();
-			Workflow wf = (Workflow) wfDoc.getAny().get(0);
-			//System.out.println(about + " " + wf.getName());
-		}
-
-		for (WorkflowBundle.Profile profileLink : wfBundle.getProfile()) {
-			String about = profileLink.getProfile().getAbout();
-			String seeAlso = profileLink.getProfile().getSeeAlso()
-					.getResource();
-
-			URI profileResource = baseUri.resolve(seeAlso);
-			JAXBElement unmarshalled = (JAXBElement) unmarshaller
-					.unmarshal(profileResource.toURL());
-			ProfileDocument profileDoc = (ProfileDocument) unmarshalled
-					.getValue();
-			Profile profile = (Profile) profileDoc.getAny().get(0);
-			//System.out.println(about + " " + profile.getName());
-		}
-	}
-
-	@Before
-	public void makeUnmarshaller() throws JAXBException {
-		
-		Class<?>[] packages = { ObjectFactory.class,
-				org.w3._1999._02._22_rdf_syntax_ns_.ObjectFactory.class,
-				org.w3._2000._01.rdf_schema_.ObjectFactory.class };
-		jaxbContext = JAXBContext.newInstance(packages);	
-		unmarshaller = jaxbContext.createUnmarshaller();
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e27d1dbe/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestProfileParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestProfileParser.java b/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestProfileParser.java
deleted file mode 100644
index a4cb052..0000000
--- a/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestProfileParser.java
+++ /dev/null
@@ -1,179 +0,0 @@
-package org.apache.taverna.scufl2.rdfxml;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Stack;
-
-import org.apache.taverna.scufl2.api.ExampleWorkflow;
-import org.apache.taverna.scufl2.api.activity.Activity;
-import org.apache.taverna.scufl2.api.common.WorkflowBean;
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.port.InputActivityPort;
-import org.apache.taverna.scufl2.api.port.InputProcessorPort;
-import org.apache.taverna.scufl2.api.port.OutputActivityPort;
-import org.apache.taverna.scufl2.api.port.OutputProcessorPort;
-import org.apache.taverna.scufl2.api.profiles.ProcessorBinding;
-import org.apache.taverna.scufl2.api.profiles.ProcessorInputPortBinding;
-import org.apache.taverna.scufl2.api.profiles.ProcessorOutputPortBinding;
-import org.apache.taverna.scufl2.api.profiles.Profile;
-import org.apache.taverna.scufl2.rdfxml.ProfileParser;
-import org.junit.Before;
-import org.junit.Test;
-
-
-public class TestProfileParser {
-	private static final String PROFILE_RDF = "example/profile/tavernaWorkbench.rdf";
-
-	protected ProfileParser profileParser = new ProfileParser();
-
-	private URL profileUrl;
-
-	private WorkflowBundle bundle;
-
-	private Profile profile;
-
-	@Test
-	public void activity() throws Exception {
-		assertEquals(1, profile.getActivities().size());
-		Activity helloScript = profile.getActivities().getByName("HelloScript");
-		assertEquals("HelloScript", helloScript.getName());
-		assertEquals(
-"http://ns.taverna.org.uk/2010/activity/beanshell",
-				helloScript.getType().toASCIIString());
-		assertEquals(1, helloScript.getInputPorts().size());
-		InputActivityPort personName = helloScript.getInputPorts().getByName(
-				"personName");
-		assertEquals("personName", personName.getName());
-		assertEquals(0, personName.getDepth().intValue());
-
-		assertEquals(1, helloScript.getOutputPorts().size());
-		OutputActivityPort hello = helloScript.getOutputPorts().getByName(
-				"hello");
-		assertEquals("hello", hello.getName());
-		assertEquals(0, hello.getDepth().intValue());
-		assertEquals(0, hello.getGranularDepth().intValue());
-
-	}
-
-	@Test
-	public void configuration() throws Exception {
-		assertEquals(1, profile.getConfigurations().size());
-		Configuration hello = profile.getConfigurations().getByName("Hello");
-		assertEquals("Hello", hello.getName());
-		assertEquals(profile.getActivities().getByName("HelloScript"),
-				hello.getConfigures());
-		assertEquals(
-"http://ns.taverna.org.uk/2010/activity/beanshell#Config",
-				hello.getType().toASCIIString());
-	}
-
-	public void loadProfileDocument() {
-		profileUrl = getClass().getResource(PROFILE_RDF);
-		assertNotNull("Could not find profile document " + PROFILE_RDF,
-				profileUrl);
-	}
-
-	@Test
-	public void parserStackEmpty() throws Exception {
-		Stack<WorkflowBean> stack = profileParser.getParserState().getStack();
-		assertEquals(1, stack.size());
-		assertEquals(bundle, stack.peek());
-	}
-
-	@Test
-	public void portBindings() throws Exception {
-		ProcessorBinding hello = profile.getProcessorBindings().getByName(
-				"Hello");
-		assertEquals(1, hello.getInputPortBindings().size());
-		assertEquals(1, hello.getOutputPortBindings().size());
-
-		ProcessorInputPortBinding input = hello.getInputPortBindings()
-				.iterator().next();
-		InputActivityPort inputActivityPort = profile.getActivities()
-				.getByName("HelloScript").getInputPorts()
-				.getByName("personName");
-		assertEquals(inputActivityPort, input.getBoundActivityPort());
-
-		InputProcessorPort inputProcessorPort = bundle.getMainWorkflow()
-				.getProcessors().getByName("Hello").getInputPorts()
-				.getByName("name");
-		assertEquals(inputProcessorPort, input.getBoundProcessorPort());
-
-		ProcessorOutputPortBinding output = hello.getOutputPortBindings()
-				.iterator().next();
-		OutputActivityPort outputActivityPort = profile.getActivities()
-				.getByName("HelloScript").getOutputPorts().getByName("hello");
-		assertEquals(outputActivityPort, output.getBoundActivityPort());
-
-		OutputProcessorPort outputProcessorPort = bundle.getMainWorkflow()
-				.getProcessors().getByName("Hello").getOutputPorts()
-				.getByName("greeting");
-		assertEquals(outputProcessorPort, output.getBoundProcessorPort());
-
-	}
-
-	public void prepareParserState() throws URISyntaxException {
-		bundle = new ExampleWorkflow().makeWorkflowBundle();
-		bundle.getProfiles().clear();
-		bundle.setMainProfile(null);
-
-		profileParser.getParserState().setLocation(URI.create("/"));
-		profileParser.getParserState().push(bundle);
-	}
-
-	@Test
-	public void processorBinding() throws Exception {
-		assertEquals(1, profile.getProcessorBindings().size());
-		ProcessorBinding hello = profile.getProcessorBindings().getByName(
-				"Hello");
-		assertEquals(profile.getActivities().getByName("HelloScript"),
-				hello.getBoundActivity());
-		assertEquals(bundle.getMainWorkflow().getProcessors()
-				.getByName("Hello"), hello.getBoundProcessor());
-		assertEquals("Hello", hello.getName());
-		assertEquals(10, hello.getActivityPosition().intValue());
-	}
-
-	@Test
-	public void profileName() throws Exception {
-		assertEquals("tavernaWorkbench", profile.getName());
-	}
-
-	@Before
-	public void readProfile() throws Exception {
-		loadProfileDocument();
-		prepareParserState();
-		profileParser.readProfile(URI.create("/profile/tavernaWorkbench/"),
-				URI.create("profile/tavernaWorkbench.rdf"),
-				profileUrl.openStream());
-		profile = bundle.getProfiles().getByName("tavernaWorkbench");
-		assertNotNull(profile);
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e27d1dbe/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestRDFXMLReader.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestRDFXMLReader.java b/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestRDFXMLReader.java
deleted file mode 100644
index 0ffccb1..0000000
--- a/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestRDFXMLReader.java
+++ /dev/null
@@ -1,235 +0,0 @@
-package org.apache.taverna.scufl2.rdfxml;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-
-import static org.apache.taverna.scufl2.api.io.structure.StructureReader.TEXT_VND_TAVERNA_SCUFL2_STRUCTURE;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.IOException;
-import java.net.URI;
-import java.net.URL;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.commons.io.output.ByteArrayOutputStream;
-import org.apache.taverna.scufl2.api.common.NamedSet;
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.core.Processor;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
-import org.apache.taverna.scufl2.api.iterationstrategy.CrossProduct;
-import org.apache.taverna.scufl2.api.iterationstrategy.IterationStrategyTopNode;
-import org.apache.taverna.scufl2.api.iterationstrategy.PortNode;
-import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
-import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
-import org.apache.taverna.scufl2.api.profiles.Profile;
-import org.apache.taverna.scufl2.rdfxml.RDFXMLSerializer;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-
-
-public class TestRDFXMLReader {
-
-	private static final String EXAMPLE_SCUFL2 = "example.wfbundle";
-	private URL exampleBundle;
-	public static final String APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE = "application/vnd.taverna.scufl2.workflow-bundle";
-	protected WorkflowBundle workflowBundle;
-	protected WorkflowBundleIO bundleIO = new WorkflowBundleIO();
-	org.apache.taverna.scufl2.api.io.TestWorkflowBundleIO testWorkflowBundleIO = new org.apache.taverna.scufl2.api.io.TestWorkflowBundleIO();
-
-	@Test
-	public void bundleName() throws Exception {
-		assertEquals("HelloWorld", workflowBundle.getName());
-	}
-
-	@Before
-	public void exampleBundle() throws ReaderException, IOException {
-		String name = EXAMPLE_SCUFL2;
-		exampleBundle = getClass().getResource(name);
-		assertNotNull("Can't find example workflow bundle " + name,
-				exampleBundle);
-		workflowBundle = bundleIO.readBundle(exampleBundle,
-				APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE);
-	}
-
-	@Test
-	public void iterationStrategy() throws Exception {
-		Processor hello = workflowBundle.getMainWorkflow().getProcessors()
-				.getByName("Hello");
-		assertEquals(1, hello.getIterationStrategyStack().size());
-		IterationStrategyTopNode iterationStrategyTopNode = hello
-				.getIterationStrategyStack().get(0);
-		assertTrue(iterationStrategyTopNode instanceof CrossProduct);
-		CrossProduct cross = (CrossProduct) iterationStrategyTopNode;
-		assertEquals(1, cross.size());
-		PortNode portNode = (PortNode) cross.get(0);
-		assertEquals(hello.getInputPorts().getByName("name"),
-				portNode.getInputProcessorPort());
-		assertEquals(0, portNode.getDesiredDepth().intValue());
-	}
-
-	@Test
-	public void iterationStrategyWait4Me() throws Exception {
-		Processor wait4me = workflowBundle.getMainWorkflow().getProcessors()
-				.getByName("wait4me");
-		assertEquals(0, wait4me.getIterationStrategyStack().size());
-	}
-
-	@Test
-	public void processorInputPorts() throws Exception {
-		Processor hello = workflowBundle.getMainWorkflow().getProcessors()
-				.getByName("Hello");
-		assertEquals(1, hello.getInputPorts().size());
-		assertEquals("name", hello.getInputPorts().getByName("name").getName());
-		assertEquals(0, hello.getInputPorts().getByName("name").getDepth()
-				.intValue());
-	}
-
-	@Test
-	public void processorOutputPorts() throws Exception {
-		Processor hello = workflowBundle.getMainWorkflow().getProcessors()
-				.getByName("Hello");
-		assertEquals(1, hello.getOutputPorts().size());
-		assertEquals("greeting", hello.getOutputPorts().getByName("greeting")
-				.getName());
-		assertEquals(0, hello.getOutputPorts().getByName("greeting").getDepth()
-				.intValue());
-		assertEquals(0, hello.getOutputPorts().getByName("greeting")
-				.getGranularDepth().intValue());
-	}
-
-	@Test
-	public void processorPortsWait4Me() throws Exception {
-		Processor wait4me = workflowBundle.getMainWorkflow().getProcessors()
-				.getByName("wait4me");
-		assertEquals(0, wait4me.getInputPorts().size());
-		assertEquals(0, wait4me.getOutputPorts().size());
-	}
-
-	@Test
-	public void processors() throws Exception {
-		Set<String> expected = new HashSet<String>();
-		expected.add("Hello");
-		expected.add("wait4me");
-		assertEquals(expected, workflowBundle.getMainWorkflow().getProcessors()
-				.getNames());
-	}
-
-	@Test
-	public void profiles() throws Exception {
-		assertEquals(2, workflowBundle.getProfiles().size());
-		Profile tavernaWorkbench = workflowBundle.getProfiles().getByName(
-				"tavernaWorkbench");
-		assertEquals("tavernaWorkbench", tavernaWorkbench.getName());
-		assertEquals(workflowBundle.getMainProfile(), tavernaWorkbench);
-		assertEquals("tavernaServer", workflowBundle.getProfiles().getByName("tavernaServer").getName());
-	}
-
-	@Test
-	public void globalBaseURI() throws Exception {
-		assertEquals("http://ns.taverna.org.uk/2010/workflowBundle/28f7c554-4f35-401f-b34b-516e9a0ef731/", workflowBundle.getGlobalBaseURI().toASCIIString());
-	}
-
-	// TODO: Un-ignore and update this test
-	@Ignore
-	@Test
-	public void testParsedWorkflow() throws Exception {
-		assertEquals("HelloWorld", workflowBundle.getName());
-
-		ByteArrayOutputStream output = new ByteArrayOutputStream();
-		bundleIO.writeBundle(workflowBundle, output,
-				TEXT_VND_TAVERNA_SCUFL2_STRUCTURE);
-		String bundleTxt = new String(output.toByteArray(), "UTF-8");
-
-		assertEquals(testWorkflowBundleIO.getStructureFormatWorkflowBundle(),
-				bundleTxt);
-
-	}
-
-	@Test
-	public void guessMediaType() throws Exception {
-
-		byte[] firstBytes = new byte[1024];
-		getClass().getResourceAsStream(EXAMPLE_SCUFL2).read(firstBytes);		
-		assertEquals(APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE, bundleIO.guessMediaTypeForSignature(firstBytes));
-		// Mess up the mime type string
-		firstBytes[45] = 32;
-		assertEquals(null, bundleIO.guessMediaTypeForSignature(firstBytes));
-	}
-
-	@Test
-	public void readStreamNoMediaType() throws ReaderException, IOException {
-		workflowBundle = bundleIO.readBundle(getClass().getResourceAsStream(EXAMPLE_SCUFL2), null);
-		assertNotNull(workflowBundle);
-	}
-	
-	@Test
-	public void workflowIdentifier() throws Exception {
-		assertEquals(
-				"http://ns.taverna.org.uk/2010/workflow/00626652-55ae-4a9e-80d4-c8e9ac84e2ca/",
-				workflowBundle.getMainWorkflow().getIdentifier()
-						.toASCIIString());
-	}
-
-	@Test
-	public void workflowInputPorts() throws Exception {
-		NamedSet<InputWorkflowPort> inputPorts = workflowBundle
-				.getMainWorkflow().getInputPorts();
-		assertEquals(1, inputPorts.size());
-		assertEquals("yourName", inputPorts.getByName("yourName").getName());
-		assertEquals(0, inputPorts.getByName("yourName").getDepth().intValue());
-	}
-
-	@Test
-	public void workflowOutputPorts() throws Exception {
-		NamedSet<OutputWorkflowPort> outputPorts = workflowBundle
-				.getMainWorkflow().getOutputPorts();
-		assertEquals(1, outputPorts.size());
-		assertEquals("results", outputPorts.getByName("results").getName());
-	}
-
-	@Test
-	public void workflows() throws Exception {
-		assertEquals(1, workflowBundle.getWorkflows().size());
-		Workflow helloWorld = workflowBundle.getWorkflows().getByName(
-				"HelloWorld");
-		assertEquals("HelloWorld", helloWorld.getName());
-		assertEquals(workflowBundle.getMainWorkflow(), helloWorld);
-	}
-	 
-	@Test
-	public void xmlOutput() throws Exception {
-		ByteArrayOutputStream output = new ByteArrayOutputStream();
-		new RDFXMLSerializer(workflowBundle).workflowDoc(output,
-				workflowBundle.getMainWorkflow(),
-				URI.create("workflows/HelloWorld.rdf"));
-		@SuppressWarnings("unused")
-		String bundleTxt = new String(output.toByteArray(), "UTF-8");
-//		System.out.println(bundleTxt);
-
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e27d1dbe/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestRDFXMLSerializer.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestRDFXMLSerializer.java b/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestRDFXMLSerializer.java
deleted file mode 100644
index f44aab8..0000000
--- a/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestRDFXMLSerializer.java
+++ /dev/null
@@ -1,490 +0,0 @@
-package org.apache.taverna.scufl2.rdfxml;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.fail;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URL;
-
-import org.apache.commons.io.output.ByteArrayOutputStream;
-import org.apache.commons.io.output.NullOutputStream;
-import org.apache.taverna.scufl2.api.ExampleWorkflow;
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.rdfxml.RDFXMLSerializer;
-import org.jdom.Attribute;
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.JDOMException;
-import org.jdom.Namespace;
-import org.jdom.input.SAXBuilder;
-import org.jdom.xpath.XPath;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-
-
-public class TestRDFXMLSerializer {
-	protected static final String TAVERNAWORKBENCH_RDF = "profile/tavernaWorkbench.rdf";
-	protected static final String TAVERNASERVER_RDF = "profile/tavernaServer.rdf";
-	protected static final String HELLOWORLD_RDF = "workflow/HelloWorld.rdf";
-	RDFXMLSerializer serializer = new RDFXMLSerializer();
-	ExampleWorkflow exampleWf = new ExampleWorkflow();
-	WorkflowBundle workflowBundle;
-
-	Namespace XSI_NS = Namespace.getNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
-	Namespace RDF_NS = Namespace.getNamespace("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#");
-	Namespace RDSF_NS = Namespace.getNamespace("rdfs", "http://www.w3.org/2000/01/rdf-schema#");
-	Namespace SCUFL2_NS = Namespace.getNamespace("s", "http://ns.taverna.org.uk/2010/scufl2#");
-	Namespace BEANSHELL_NS = Namespace.getNamespace("beanshell",
-			"http://ns.taverna.org.uk/2010/activity/beanshell#");
-
-
-	protected void assertXpathEquals(String expected, Element element,
-			String xpath) throws JDOMException {
-		Object o = xpathSelectElement(element, xpath);
-		if (o == null) {
-			fail("Can't find " + xpath  + " in " + element);
-			return;
-		}
-		String text;
-		if (o instanceof Attribute) {
-			text = ((Attribute)o).getValue();
-		} else {
-			text = ((Element)o).getValue();
-		}
-		assertEquals(expected, text);
-	}
-
-
-	protected void checkProfileDocument(Element root, boolean isWorkbench) throws JDOMException {
-
-		assertEquals("ProfileDocument", root.getAttributeValue("type", XSI_NS));
-		assertXpathEquals(isWorkbench ? "tavernaWorkbench/" : "tavernaServer/", root, "./@xml:base");
-
-		Element profile = (Element) root.getChildren().get(0);
-		Element activity = (Element) root.getChildren().get(1);
-		Element binding = (Element) root.getChildren().get(2);
-		Element configuration = (Element) root.getChildren().get(3);
-
-
-		assertSame(xpathSelectElement(root, "./s:Profile"), profile);
-		assertSame(xpathSelectElement(root, "./s:Activity"), activity);
-		assertSame(xpathSelectElement(root, "./s:ProcessorBinding"), binding);
-		assertSame(xpathSelectElement(root, "./s:Configuration"), configuration);
-
-		assertXpathEquals("", profile, "./@rdf:about");
-		assertXpathEquals(isWorkbench ? "tavernaWorkbench" : "tavernaServer", profile, "./s:name");
-		assertXpathEquals("processorbinding/Hello/", profile, "./s:processorBinding/@rdf:resource");
-		assertXpathEquals("configuration/Hello/", profile, "./s:activateConfiguration/@rdf:resource");
-
-		// activity
-		assertXpathEquals("activity/HelloScript/", activity, "./@rdf:about");
-		assertXpathEquals("HelloScript", activity, "./s:name");
-		assertXpathEquals("http://ns.taverna.org.uk/2010/activity/beanshell",
-				activity, "./rdf:type/@rdf:resource");
-		// activity input
-		assertXpathEquals("activity/HelloScript/in/personName", activity, "./s:inputActivityPort/s:InputActivityPort/@rdf:about");
-		assertXpathEquals("personName", activity, "./s:inputActivityPort/s:InputActivityPort/s:name");
-		assertXpathEquals("0", activity, "./s:inputActivityPort/s:InputActivityPort/s:portDepth");
-		assertXpathEquals("http://www.w3.org/2001/XMLSchema#integer", activity, "./s:inputActivityPort/s:InputActivityPort/s:portDepth/@rdf:datatype");
-		// activity output
-		assertXpathEquals("activity/HelloScript/out/hello", activity, "./s:outputActivityPort/s:OutputActivityPort/@rdf:about");
-		assertXpathEquals("hello", activity, "./s:outputActivityPort/s:OutputActivityPort/s:name");
-		assertXpathEquals("0", activity, "./s:outputActivityPort/s:OutputActivityPort/s:portDepth");
-		assertXpathEquals("http://www.w3.org/2001/XMLSchema#integer", activity, "./s:outputActivityPort/s:OutputActivityPort/s:portDepth/@rdf:datatype");
-		assertXpathEquals("0", activity, "./s:outputActivityPort/s:OutputActivityPort/s:granularPortDepth");
-		assertXpathEquals("http://www.w3.org/2001/XMLSchema#integer", activity, "./s:outputActivityPort/s:OutputActivityPort/s:granularPortDepth/@rdf:datatype");
-
-		// processor binding
-		assertXpathEquals("processorbinding/Hello/", binding, "./@rdf:about");
-		assertXpathEquals("Hello", binding, "./s:name");
-		assertXpathEquals("activity/HelloScript/", binding, "./s:bindActivity/@rdf:resource");
-		assertXpathEquals("../../workflow/HelloWorld/processor/Hello/", binding, "./s:bindProcessor/@rdf:resource");
-		// input port binding
-		assertXpathEquals("processorbinding/Hello/in/name", binding, "./s:inputPortBinding/s:InputPortBinding/@rdf:about");
-		assertXpathEquals("activity/HelloScript/in/personName", binding, "./s:inputPortBinding/s:InputPortBinding/s:bindInputActivityPort/@rdf:resource");
-		assertXpathEquals("../../workflow/HelloWorld/processor/Hello/in/name", binding, "./s:inputPortBinding/s:InputPortBinding/s:bindInputProcessorPort/@rdf:resource");
-		// output port binding
-		assertXpathEquals("processorbinding/Hello/out/greeting", binding, "./s:outputPortBinding/s:OutputPortBinding/@rdf:about");
-		assertXpathEquals("activity/HelloScript/out/hello", binding, "./s:outputPortBinding/s:OutputPortBinding/s:bindOutputActivityPort/@rdf:resource");
-		assertXpathEquals("../../workflow/HelloWorld/processor/Hello/out/greeting", binding, "./s:outputPortBinding/s:OutputPortBinding/s:bindOutputProcessorPort/@rdf:resource");
-
-
-		assertXpathEquals("configuration/Hello/", configuration, "./@rdf:about");
-		assertXpathEquals("configuration/Hello.json", configuration, "./rdfs:seeAlso/@rdf:resource");
-
-		assertXpathEquals(
-				"http://ns.taverna.org.uk/2010/activity/beanshell#Config",
-				configuration, "./rdf:type/@rdf:resource");
-		assertXpathEquals("Hello", configuration, "./s:name");
-		assertXpathEquals("activity/HelloScript/", configuration, "./s:configure/@rdf:resource");
-//		assertXpathEquals("hello = \"Hello, \" + personName;\n" +
-//				(isWorkbench ? "JOptionPane.showMessageDialog(null, hello);" : "System.out.println(\"Server says: \" + hello);"), configuration, "./beanshell:script");
-
-	}
-
-	protected void checkRoot(Element root) {
-		assertEquals(RDF_NS, root.getNamespace());
-		assertEquals("rdf", root.getNamespacePrefix());
-		assertEquals("RDF", root.getName());
-		assertEquals(SCUFL2_NS, root.getNamespace(""));
-		String schemaLocation = root.getAttributeValue("schemaLocation", XSI_NS);
-		schemaLocation = schemaLocation.replaceAll("\\s+", " ");
-		String[] schemaLocations = schemaLocation.split(" ");
-		String[] expectedSchemaLocations = {
-				"http://ns.taverna.org.uk/2010/scufl2#","http://ns.taverna.org.uk/2010/scufl2/scufl2.xsd",
-				"http://www.w3.org/1999/02/22-rdf-syntax-ns#","http://ns.taverna.org.uk/2010/scufl2/rdf.xsd"
-		};
-		assertArrayEquals(expectedSchemaLocations, schemaLocations);
-	}
-
-
-	protected void checkWorkflowBundleDocument(Element root) throws JDOMException {
-		assertEquals("WorkflowBundleDocument", root.getAttributeValue("type", XSI_NS));
-
-		assertXpathEquals("./", root, "./@xml:base");
-
-		Element wbundle = root.getChild("WorkflowBundle", SCUFL2_NS);
-		assertSame(wbundle, root.getChildren().get(0));
-
-
-
-		assertXpathEquals("", wbundle, "./@rdf:about");
-
-		assertXpathEquals("HelloWorld", wbundle, "./s:name");
-		assertXpathEquals("http://ns.taverna.org.uk/2010/workflowBundle/28f7c554-4f35-401f-b34b-516e9a0ef731/",
-				wbundle, "./s:globalBaseURI/@rdf:resource");
-
-		assertXpathEquals("workflow/HelloWorld/",
-				wbundle, "./s:mainWorkflow/@rdf:resource");
-		assertXpathEquals("workflow/HelloWorld/",
-				wbundle, "./s:workflow/s:Workflow/@rdf:about");
-		assertXpathEquals(HELLOWORLD_RDF,
-				wbundle, "./s:workflow/s:Workflow/rdfs:seeAlso/@rdf:resource");
-
-		assertXpathEquals("profile/tavernaWorkbench/",
-				wbundle, "./s:mainProfile/@rdf:resource");
-
-
-
-		assertXpathEquals("profile/tavernaServer/",
-				wbundle, "./s:profile[1]/s:Profile/@rdf:about");
-		assertXpathEquals("profile/tavernaServer.rdf", wbundle, "./s:profile[1]/s:Profile/rdfs:seeAlso/@rdf:resource");
-
-		assertXpathEquals("profile/tavernaWorkbench/",
-				wbundle, "./s:profile[2]/s:Profile/@rdf:about");
-		assertXpathEquals(TAVERNAWORKBENCH_RDF,
-				wbundle, "./s:profile[2]/s:Profile/rdfs:seeAlso/@rdf:resource");
-
-
-
-	}
-
-
-	protected void checkWorkflowDocument(Element root) throws JDOMException {
-		assertEquals("WorkflowDocument", root.getAttributeValue("type", XSI_NS));
-
-
-
-		assertXpathEquals("HelloWorld/", root, "./@xml:base");
-
-
-		Element wf = root.getChild("Workflow", SCUFL2_NS);
-		assertSame(wf, root.getChildren().get(0));
-
-		assertXpathEquals("", wf, "./@rdf:about");
-
-
-		assertXpathEquals("HelloWorld", wf, "./s:name");
-		assertXpathEquals("http://ns.taverna.org.uk/2010/workflow/00626652-55ae-4a9e-80d4-c8e9ac84e2ca/",
-				wf, "./s:workflowIdentifier/@rdf:resource");
-
-		assertXpathEquals("in/yourName",
-				wf, "./s:inputWorkflowPort/s:InputWorkflowPort/@rdf:about");
-		assertXpathEquals("yourName",
-				wf, "./s:inputWorkflowPort/s:InputWorkflowPort/s:name");
-		assertXpathEquals("0",
-				wf, "./s:inputWorkflowPort/s:InputWorkflowPort/s:portDepth");
-		assertXpathEquals("http://www.w3.org/2001/XMLSchema#integer",
-				wf, "./s:inputWorkflowPort/s:InputWorkflowPort/s:portDepth/@rdf:datatype");
-
-
-		assertXpathEquals("out/results",
-				wf, "./s:outputWorkflowPort/s:OutputWorkflowPort/@rdf:about");
-		assertXpathEquals("results",
-				wf, "./s:outputWorkflowPort/s:OutputWorkflowPort/s:name");
-
-
-		assertXpathEquals("processor/Hello/",
-				wf, "./s:processor[1]/s:Processor/@rdf:about");
-		assertXpathEquals("Hello",
-				wf, "./s:processor[1]/s:Processor/s:name");
-
-		assertXpathEquals("processor/Hello/in/name",
-				wf, "./s:processor[1]/s:Processor/s:inputProcessorPort/s:InputProcessorPort/@rdf:about");
-		assertXpathEquals("name",
-				wf, "./s:processor[1]/s:Processor/s:inputProcessorPort/s:InputProcessorPort/s:name");
-		assertXpathEquals("0",
-				wf, "./s:processor[1]/s:Processor/s:inputProcessorPort/s:InputProcessorPort/s:portDepth");
-		assertXpathEquals("http://www.w3.org/2001/XMLSchema#integer",
-				wf, "./s:processor[1]/s:Processor/s:inputProcessorPort/s:InputProcessorPort/s:portDepth/@rdf:datatype");
-
-
-
-		assertXpathEquals("processor/Hello/out/greeting",
-				wf, "./s:processor[1]/s:Processor/s:outputProcessorPort/s:OutputProcessorPort/@rdf:about");
-
-		assertXpathEquals("greeting",
-				wf, "./s:processor[1]/s:Processor/s:outputProcessorPort/s:OutputProcessorPort/s:name");
-		assertXpathEquals("0",
-				wf, "./s:processor[1]/s:Processor/s:outputProcessorPort/s:OutputProcessorPort/s:portDepth");
-		assertXpathEquals("http://www.w3.org/2001/XMLSchema#integer",
-				wf, "./s:processor[1]/s:Processor/s:outputProcessorPort/s:OutputProcessorPort/s:portDepth/@rdf:datatype");
-		assertXpathEquals("0",
-				wf, "./s:processor[1]/s:Processor/s:outputProcessorPort/s:OutputProcessorPort/s:granularPortDepth");
-		assertXpathEquals("http://www.w3.org/2001/XMLSchema#integer",
-				wf, "./s:processor[1]/s:Processor/s:outputProcessorPort/s:OutputProcessorPort/s:granularPortDepth/@rdf:datatype");
-
-		assertXpathEquals("processor/Hello/iterationstrategy/", wf, "./s:processor[1]/s:Processor/s:iterationStrategyStack/s:IterationStrategyStack/@rdf:about");
-		assertXpathEquals("Collection", wf, "./s:processor[1]/s:Processor/s:iterationStrategyStack/s:IterationStrategyStack/s:iterationStrategies/@rdf:parseType");
-		assertXpathEquals("processor/Hello/iterationstrategy/0/", wf, "./s:processor[1]/s:Processor/s:iterationStrategyStack/s:IterationStrategyStack/s:iterationStrategies/s:CrossProduct/@rdf:about");
-		assertXpathEquals("Collection", wf, "./s:processor[1]/s:Processor/s:iterationStrategyStack/s:IterationStrategyStack/s:iterationStrategies/s:CrossProduct/s:productOf/@rdf:parseType");
-		assertXpathEquals("processor/Hello/iterationstrategy/0/0/", wf, "./s:processor[1]/s:Processor/s:iterationStrategyStack/s:IterationStrategyStack/s:iterationStrategies/s:CrossProduct/s:productOf/s:PortNode/@rdf:about");
-		assertXpathEquals("processor/Hello/in/name", wf, "./s:processor[1]/s:Processor/s:iterationStrategyStack/s:IterationStrategyStack/s:iterationStrategies/s:CrossProduct/s:productOf/s:PortNode/s:iterateOverInputPort/@rdf:resource");
-		assertXpathEquals("0", wf, "./s:processor[1]/s:Processor/s:iterationStrategyStack/s:IterationStrategyStack/s:iterationStrategies/s:CrossProduct/s:productOf/s:PortNode/s:desiredDepth");
-		assertXpathEquals("http://www.w3.org/2001/XMLSchema#integer", wf, "./s:processor[1]/s:Processor/s:iterationStrategyStack/s:IterationStrategyStack/s:iterationStrategies/s:CrossProduct/s:productOf/s:PortNode/s:desiredDepth/@rdf:datatype");
-
-
-		assertXpathEquals("processor/wait4me/",
-				wf, "./s:processor[2]/s:Processor/@rdf:about");
-		assertXpathEquals("wait4me",
-				wf, "./s:processor[2]/s:Processor/s:name");
-
-
-		assertXpathEquals("datalink?from=processor/Hello/out/greeting&to=out/results&mergePosition=0",
-				wf, "./s:datalink[1]/s:DataLink/@rdf:about");
-
-		assertXpathEquals("datalink?from=in/yourName&to=processor/Hello/in/name",
-				wf, "./s:datalink[2]/s:DataLink/@rdf:about");
-
-		assertXpathEquals("datalink?from=in/yourName&to=out/results&mergePosition=1",
-				wf, "./s:datalink[3]/s:DataLink/@rdf:about");
-		assertXpathEquals("in/yourName",
-				wf, "./s:datalink[3]/s:DataLink/s:receiveFrom/@rdf:resource");
-		assertXpathEquals("out/results",
-				wf, "./s:datalink[3]/s:DataLink/s:sendTo/@rdf:resource");
-		assertXpathEquals("1",
-				wf, "./s:datalink[3]/s:DataLink/s:mergePosition");
-		assertXpathEquals("http://www.w3.org/2001/XMLSchema#integer",
-				wf, "./s:datalink[3]/s:DataLink/s:mergePosition/@rdf:datatype");
-
-		assertXpathEquals("control?block=processor/Hello/&untilFinished=processor/wait4me/",
-				wf, "./s:control/s:Blocking/@rdf:about");
-
-
-		assertXpathEquals("processor/Hello/",
-				wf, "./s:control/s:Blocking/s:block/@rdf:resource");
-		assertXpathEquals("processor/wait4me/",
-				wf, "./s:control/s:Blocking/s:untilFinished/@rdf:resource");
-
-		assertXpathEquals("datalink?from=processor/Hello/out/greeting&to=out/results&mergePosition=0",
-				wf, "./s:datalink[1]/s:DataLink/@rdf:about");
-		assertXpathEquals("processor/Hello/out/greeting",
-				wf, "./s:datalink[1]/s:DataLink/s:receiveFrom/@rdf:resource");
-		assertXpathEquals("out/results",
-				wf, "./s:datalink[1]/s:DataLink/s:sendTo/@rdf:resource");
-		assertXpathEquals("0",
-				wf, "./s:datalink[1]/s:DataLink/s:mergePosition");
-		assertXpathEquals("http://www.w3.org/2001/XMLSchema#integer",
-				wf, "./s:datalink[1]/s:DataLink/s:mergePosition/@rdf:datatype");
-
-
-
-		assertXpathEquals("datalink?from=in/yourName&to=processor/Hello/in/name",
-				wf, "./s:datalink[2]/s:DataLink/@rdf:about");
-		assertXpathEquals("in/yourName",
-				wf, "./s:datalink[2]/s:DataLink/s:receiveFrom/@rdf:resource");
-		assertXpathEquals("processor/Hello/in/name",
-				wf, "./s:datalink[2]/s:DataLink/s:sendTo/@rdf:resource");
-		assertNull(xpathSelectElement(wf, "./s:datalink[2]/s:DataLink/s:mergePosition"));
-
-
-
-		assertXpathEquals("datalink?from=in/yourName&to=out/results&mergePosition=1",
-				wf, "./s:datalink[3]/s:DataLink/@rdf:about");
-		assertXpathEquals("in/yourName",
-				wf, "./s:datalink[3]/s:DataLink/s:receiveFrom/@rdf:resource");
-		assertXpathEquals("out/results",
-				wf, "./s:datalink[3]/s:DataLink/s:sendTo/@rdf:resource");
-		assertXpathEquals("1",
-				wf, "./s:datalink[3]/s:DataLink/s:mergePosition");
-		assertXpathEquals("http://www.w3.org/2001/XMLSchema#integer",
-				wf, "./s:datalink[3]/s:DataLink/s:mergePosition/@rdf:datatype");
-
-		assertXpathEquals("control?block=processor/Hello/&untilFinished=processor/wait4me/",
-				wf, "./s:control/s:Blocking/@rdf:about");
-
-
-		assertXpathEquals("processor/Hello/",
-				wf, "./s:control/s:Blocking/s:block/@rdf:resource");
-		assertXpathEquals("processor/wait4me/",
-				wf, "./s:control/s:Blocking/s:untilFinished/@rdf:resource");
-
-	}
-
-	// TODO: Update tests
-	@Ignore
-	@Test
-	public void exampleProfileTavernaServer() throws Exception {
-		URL tavernaWorkbenc = getClass().getResource("example/profile/tavernaServer.rdf");
-		SAXBuilder saxBuilder = new SAXBuilder();
-		Document doc = saxBuilder.build(tavernaWorkbenc);
-		Element root = doc.getRootElement();
-
-		checkRoot(root);
-		checkProfileDocument(root, false);
-
-	}
-
-
-	// TODO: Update tests
-	@Ignore
-	@Test
-	public void exampleProfileTavernaWorkbench() throws Exception {
-		URL tavernaWorkbenc = getClass().getResource("example/profile/tavernaWorkbench.rdf");
-		SAXBuilder saxBuilder = new SAXBuilder();
-		Document doc = saxBuilder.build(tavernaWorkbenc);
-		Element root = doc.getRootElement();
-
-		checkRoot(root);
-		checkProfileDocument(root, true);
-
-	}
-
-	@Test
-	public void exampleWorkflow() throws Exception {
-		URL workflowURL = getClass().getResource("example/workflow/HelloWorld.rdf");
-		SAXBuilder saxBuilder = new SAXBuilder();
-		Document doc = saxBuilder.build(workflowURL);
-
-		Element root = doc.getRootElement();
-
-		checkRoot(root);
-		checkWorkflowDocument(root);
-
-	}
-
-
-	@Test
-	public void exampleWorkflowBundle() throws Exception {
-		URL workflowBundleURL = getClass().getResource("example/workflowBundle.rdf");
-
-
-		SAXBuilder saxBuilder = new SAXBuilder();
-		Document doc = saxBuilder.build(workflowBundleURL);
-
-		Element root = doc.getRootElement();
-
-		checkRoot(root);
-		checkWorkflowBundleDocument(root);
-
-	}
-
-
-	@Before
-	public void makeExampleWorkflow() {
-		workflowBundle = new ExampleWorkflow().makeWorkflowBundle();
-		serializer.setWfBundle(workflowBundle);
-	}
-
-
-	protected Document parseXml(ByteArrayOutputStream outStream)
-			throws JDOMException, IOException {
-		SAXBuilder saxBuilder = new SAXBuilder();
-		return saxBuilder.build(new ByteArrayInputStream(outStream.toByteArray()));
-	}
-
-
-	@Test
-	public void profile() throws Exception {
-		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
-		// To test that seeAlso URIs are stored
-		serializer.profileDoc(outStream, workflowBundle.getMainProfile(), URI.create(TAVERNAWORKBENCH_RDF));
-		//System.out.write(outStream.toByteArray());
-		Document doc = parseXml(outStream);
-		Element root = doc.getRootElement();
-
-		checkRoot(root);
-		checkProfileDocument(root, true);
-	}
-
-
-	@Test
-	public void workflow() throws Exception {
-		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
-		// To test that seeAlso URIs are stored
-		serializer.workflowDoc(outStream, workflowBundle.getMainWorkflow(), URI.create(HELLOWORLD_RDF));
-//		System.out.write(outStream.toByteArray());
-		Document doc = parseXml(outStream);
-		Element root = doc.getRootElement();
-
-		checkRoot(root);
-		checkWorkflowDocument(root);
-	}
-
-	@Test
-	public void workflowBundle() throws Exception {
-		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
-		// To test that seeAlso URIs are stored
-		serializer.workflowDoc(new NullOutputStream(), workflowBundle.getMainWorkflow(), URI.create(HELLOWORLD_RDF));
-		serializer.profileDoc(new NullOutputStream(), workflowBundle.getProfiles().getByName("tavernaWorkbench"), URI.create(TAVERNAWORKBENCH_RDF));
-		serializer.profileDoc(new NullOutputStream(), workflowBundle.getProfiles().getByName("tavernaServer"), URI.create(TAVERNASERVER_RDF));
-
-		serializer.workflowBundleDoc(outStream, URI.create("workflowBundle.rdf"));
-		//System.out.write(outStream.toByteArray());
-		Document doc = parseXml(outStream);
-		Element root = doc.getRootElement();
-
-		checkRoot(root);
-		checkWorkflowBundleDocument(root);
-
-	}
-
-
-	protected Object xpathSelectElement(Element element, String xpath) throws JDOMException {
-		XPath x = XPath.newInstance(xpath);
-		x.addNamespace(SCUFL2_NS);
-		x.addNamespace(RDF_NS);
-		x.addNamespace(RDSF_NS);
-		x.addNamespace(BEANSHELL_NS);
-		//x.addNamespace(XML_NS);
-
-		return x.selectSingleNode(element);
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e27d1dbe/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestRDFXMLWriter.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestRDFXMLWriter.java b/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestRDFXMLWriter.java
deleted file mode 100644
index 4ecad1b..0000000
--- a/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestRDFXMLWriter.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package org.apache.taverna.scufl2.rdfxml;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.io.TestWorkflowBundleIO;
-import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
-import org.apache.taverna.scufl2.rdfxml.RDFXMLReader;
-import org.apache.taverna.scufl2.ucfpackage.UCFPackage;
-import org.apache.taverna.scufl2.ucfpackage.UCFPackage.ResourceEntry;
-import org.junit.Before;
-import org.junit.Test;
-
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-public class TestRDFXMLWriter {
-
-	private static final String APPLICATION_RDF_XML = "application/rdf+xml";
-	public static final String APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE = "application/vnd.taverna.scufl2.workflow-bundle";
-	protected WorkflowBundle workflowBundle;
-	protected WorkflowBundleIO bundleIO = new WorkflowBundleIO();
-
-	@Before
-	public void makeExampleWorkflow() {
-		workflowBundle = new TestWorkflowBundleIO().makeWorkflowBundle();
-	}
-	
-	@Test
-    public void awkwardFilenames() throws Exception {
-	    workflowBundle.getProfiles().removeByName("tavernaServer");
-	    String funnyName = "Funny_%2f_characters_50%_of the time";
-        workflowBundle.getMainProfile().setName(funnyName);        
-        workflowBundle.getMainWorkflow().setName(funnyName);
-        File bundleFile = tempFile();
-        bundleIO.writeBundle(workflowBundle, bundleFile,
-                APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE);
-        UCFPackage ucfPackage = new UCFPackage(bundleFile);
-        Map<String, ResourceEntry> profiles = ucfPackage.listResources("profile");
-        assertEquals(2, profiles.size());
-        assertTrue(profiles.keySet().contains("Funny_%252f_characters_50%25_of%20the%20time.rdf"));
-        assertTrue(profiles.keySet().contains("Funny_%252f_characters_50%25_of%20the%20time/"));
-        
-        Map<String, ResourceEntry> workflows = ucfPackage.listResources("workflow");
-        assertEquals(1, workflows.size());
-        assertEquals("Funny_%252f_characters_50%25_of%20the%20time.rdf", workflows.keySet().iterator().next());
-        
-        // and.. can we read it in again correctly?
-        WorkflowBundle readBundle = bundleIO.readBundle(bundleFile, APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE);
-        assertEquals(funnyName, readBundle.getMainProfile().getName());
-        assertEquals(funnyName, readBundle.getMainWorkflow().getName());
-        // did the JSON parse back in?
-        JsonNode oldJson = workflowBundle.getMainProfile().getConfigurations().getByName("Hello").getJson();
-        assertTrue(oldJson.get("script").asText().startsWith("hello"));           
-        JsonNode newJson = readBundle.getMainProfile().getConfigurations().getByName("Hello").getJson();
-        assertTrue(newJson.get("script").asText().startsWith("hello"));        
-        assertEquals(oldJson, newJson);
-    }
-
-	@Test
-	public void writeBundleToFile() throws Exception {
-		File bundleFile = tempFile();
-		bundleIO.writeBundle(workflowBundle, bundleFile,
-				APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE);
-		UCFPackage ucfPackage = new UCFPackage(bundleFile);
-		verifyRootFile(ucfPackage);
-		verifyPackageStructure(ucfPackage);
-		// TODO: Check RDF/XML using xpath
-	}
-
-    private void verifyRootFile(UCFPackage ucfPackage) {
-        List<ResourceEntry> rootFiles = ucfPackage.getRootFiles();
-        assertEquals(1, rootFiles.size());
-		assertEquals("workflowBundle.rdf", rootFiles.get(0).getPath());
-		assertEquals("application/rdf+xml", rootFiles.get(0).getMediaType());
-		assertEquals("0.4.0", rootFiles.get(0).getVersion());
-    }
-
-	
-	@Test
-	public void writeBundleToStream() throws Exception {
-
-		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
-		bundleIO.writeBundle(workflowBundle, outStream,
-				APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE);
-		outStream.close();
-
-		InputStream inStream = new ByteArrayInputStream(outStream.toByteArray());
-		UCFPackage ucfPackage;
-		try {
-			// Avoid UCFPackage from creating a temporary file
-			System.setProperty("org.odftoolkit.odfdom.tmpfile.disable", "true");
-			ucfPackage = new UCFPackage(inStream);
-		} finally {
-			System.clearProperty("org.odftoolkit.odfdom.tmpfile.disable");
-		}
-		verifyPackageStructure(ucfPackage);
-
-	}
-
-	protected void verifyPackageStructure(UCFPackage ucfPackage) {
-		assertEquals(
-				RDFXMLReader.APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE,
-				ucfPackage.getPackageMediaType());
-		assertEquals(APPLICATION_RDF_XML,
-				ucfPackage.getResourceEntry("workflowBundle.rdf")
-						.getMediaType());
-
-		assertEquals(APPLICATION_RDF_XML,
-				ucfPackage.getResourceEntry("workflow/HelloWorld.rdf")
-						.getMediaType());
-
-		assertEquals(APPLICATION_RDF_XML,
-				ucfPackage.getResourceEntry("profile/tavernaServer.rdf")
-						.getMediaType());
-		assertEquals(APPLICATION_RDF_XML,
-				ucfPackage.getResourceEntry("profile/tavernaWorkbench.rdf")
-						.getMediaType());
-	}
-
-	public File tempFile() throws IOException {
-		File bundleFile = File.createTempFile("test", ".scufl2");
-//		bundleFile.deleteOnExit();
-		System.out.println(bundleFile);
-		return bundleFile;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e27d1dbe/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestResourcesInZip.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestResourcesInZip.java b/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestResourcesInZip.java
deleted file mode 100644
index 2ac4bd2..0000000
--- a/taverna-scufl2-rdfxml/src/test/java/org/apache/taverna/scufl2/rdfxml/TestResourcesInZip.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.apache.taverna.scufl2.rdfxml;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-
-import static org.apache.taverna.scufl2.rdfxml.TestRDFXMLWriter.APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE;
-import static org.junit.Assert.assertEquals;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.taverna.scufl2.api.ExampleWorkflow;
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
-import org.apache.taverna.scufl2.ucfpackage.UCFPackage;
-import org.junit.Before;
-import org.junit.Test;
-
-
-@SuppressWarnings("resource")
-public class TestResourcesInZip {
-
-	protected WorkflowBundleIO bundleIO = new WorkflowBundleIO();
-	protected ExampleWorkflow exampleWorkflow = new ExampleWorkflow();
-	protected WorkflowBundle originalBundle;
-
-
-	@Before
-	public void makeBundle() {
-		originalBundle = exampleWorkflow.makeWorkflowBundle();
-	}
-
-	@Test
-	public void singleFile() throws Exception {
-		UCFPackage resources = originalBundle.getResources();
-		assertEquals(APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE, resources.getPackageMediaType());
-		resources.addResource("Hello there", "hello.txt", "text/plain");
-		File bundleFile = tempFile();
-		bundleIO.writeBundle(originalBundle, bundleFile, APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE);		
-		assertEquals(APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE, resources.getPackageMediaType());
-		assertEquals(1, resources.getRootFiles().size());
-		assertEquals("workflowBundle.rdf", resources.getRootFiles().get(0).getPath());
-		
-		ZipFile zipFile = new ZipFile(bundleFile);
-		ZipEntry hello = zipFile.getEntry("hello.txt");
-		assertEquals("hello.txt", hello.getName());
-		assertEquals("Hello there",
-				IOUtils.toString(zipFile.getInputStream(hello), "ASCII"));		
-	}
-	
-	@Test
-	public void differentMediaType() throws Exception {
-		UCFPackage resources = originalBundle.getResources();
-		resources.setPackageMediaType("application/x-something-else");
-		assertEquals("application/x-something-else", resources.getPackageMediaType());
-		
-		resources.addResource("Hello there", "hello.txt", "text/plain");
-		File bundleFile = tempFile();
-		bundleIO.writeBundle(originalBundle, bundleFile, APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE);
-		assertEquals("application/x-something-else", resources.getPackageMediaType());
-		assertEquals(0, resources.getRootFiles().size());
-		// RDFXMLWriter does not touch the rootFile or media type if it's non-null
-		
-		ZipFile zipFile = new ZipFile(bundleFile);
-		ZipEntry hello = zipFile.getEntry("hello.txt");
-		assertEquals("hello.txt", hello.getName());
-		assertEquals("Hello there",
-				IOUtils.toString(zipFile.getInputStream(hello), "ASCII"));		
-	}
-	
-	public File tempFile() throws IOException {
-		File bundleFile = File.createTempFile("test", ".scufl2");
-		bundleFile.deleteOnExit();
-		//System.out.println(bundleFile);
-		return bundleFile;
-	}
-}