http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/common/ProfileList.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/common/ProfileList.java 
b/server-webapp/src/main/java/org/taverna/server/master/common/ProfileList.java
deleted file mode 100644
index 69c3622..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/common/ProfileList.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2012 The University of Manchester
- * 
- * See the file "LICENSE.txt" for license terms.
- */
-package org.taverna.server.master.common;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
-
-/**
- * Description of the profiles that can apply to a workflow.
- * 
- * @author Donal K. Fellows
- */
-@XmlRootElement(name = "profiles")
-@XmlType(name = "ProfileList")
-public class ProfileList {
-       public List<ProfileList.Info> profile = new 
ArrayList<ProfileList.Info>();
-
-       /**
-        * Description of a single workflow profile.
-        * 
-        * @author Donal Fellows
-        */
-       @XmlRootElement(name = "profile")
-       @XmlType(name = "Profile")
-       public static class Info {
-               @XmlValue
-               public String name;
-               /**
-                * Whether this is the main profile.
-                */
-               @XmlAttribute(name = "isMain")
-               public Boolean main;
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/common/Roles.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/common/Roles.java 
b/server-webapp/src/main/java/org/taverna/server/master/common/Roles.java
deleted file mode 100644
index 8079b1c..0000000
--- a/server-webapp/src/main/java/org/taverna/server/master/common/Roles.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (C) 2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.common;
-
-/**
- * The roles defined in this webapp.
- * 
- * @author Donal Fellows
- */
-public interface Roles {
-       /** The role of a normal user. */
-       static final String USER = "ROLE_tavernauser";
-       /**
-        * The role of an administrator. Administrators <i>should</i> have the
-        * normal user role as well.
-        */
-       static final String ADMIN = "ROLE_tavernasuperuser";
-       /**
-        * The role of a workflow accessing itself. Do not give users this role.
-        */
-       static final String SELF = "ROLE_tavernaworkflow";
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/common/RunReference.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/common/RunReference.java
 
b/server-webapp/src/main/java/org/taverna/server/master/common/RunReference.java
deleted file mode 100644
index 3486bf7..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/common/RunReference.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2010 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.common;
-
-import static org.taverna.server.master.common.Namespaces.SERVER;
-import static org.taverna.server.master.common.Namespaces.XLINK;
-import static org.taverna.server.master.common.VersionedElement.VERSION;
-
-import java.net.URI;
-
-import javax.ws.rs.core.UriBuilder;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
-
-/**
- * A reference to a single workflow run, described using JAXB.
- * 
- * @author Donal Fellows
- * @see org.taverna.server.master.interfaces.TavernaRun TavernaRun
- */
-@XmlRootElement
-@XmlType(name = "TavernaRun")
-@XmlSeeAlso( { Workflow.class, DirEntryReference.class })
-public class RunReference {
-       /**
-        * Where to get information about the run. For REST.
-        */
-       @XmlAttribute(name = "href", namespace = XLINK)
-       @XmlSchemaType(name = "anyURI")
-       public URI link;
-       /** What version of server produced this element? */
-       @XmlAttribute(namespace = SERVER)
-       public String serverVersion;
-       /**
-        * The name of the run. For SOAP.
-        */
-       @XmlValue
-       public String name;
-
-       /**
-        * Make a blank run reference.
-        */
-       public RunReference() {
-       }
-
-       /**
-        * Make a reference to the given workflow run.
-        * 
-        * @param name
-        *            The name of the run.
-        * @param ub
-        *            A factory for URIs, or <tt>null</tt> if none is to be 
made.
-        */
-       public RunReference(String name, UriBuilder ub) {
-               this.serverVersion = VERSION;
-               this.name = name;
-               if (ub != null)
-                       this.link = ub.build(name);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/common/Status.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/common/Status.java 
b/server-webapp/src/main/java/org/taverna/server/master/common/Status.java
deleted file mode 100644
index 8e360dc..0000000
--- a/server-webapp/src/main/java/org/taverna/server/master/common/Status.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2010 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.common;
-
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlType;
-
-/**
- * States of a workflow run. They are {@link #Initialized Initialized},
- * {@link #Operating Operating}, {@link #Stopped Stopped}, and {@link #Finished
- * Finished}. Conceptually, there is also a <tt>Destroyed</tt> state, but the
- * workflow run does not exist (and hence can't have its state queried or set)
- * in that case.
- * 
- * @author Donal Fellows
- */
-@XmlEnum
-@XmlType(name = "Status")
-public enum Status {
-       /**
-        * The workflow run has been created, but is not yet running. The run 
will
-        * need to be manually moved to {@link #Operating Operating} when ready.
-        */
-       Initialized,
-       /**
-        * The workflow run is going, reading input, generating output, etc. 
Will
-        * eventually either move automatically to {@link #Finished Finished} 
or can
-        * be moved manually to {@link #Stopped Stopped} (where supported).
-        */
-       Operating,
-       /**
-        * The workflow run is paused, and will need to be moved back to
-        * {@link #Operating Operating} manually.
-        */
-       Stopped,
-       /**
-        * The workflow run has ceased; data files will continue to exist until 
the
-        * run is destroyed (which may be manual or automatic).
-        */
-       Finished
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/common/Trust.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/common/Trust.java 
b/server-webapp/src/main/java/org/taverna/server/master/common/Trust.java
deleted file mode 100644
index 6d77aa7..0000000
--- a/server-webapp/src/main/java/org/taverna/server/master/common/Trust.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2011-2012 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.common;
-
-import static org.taverna.server.master.common.Namespaces.XLINK;
-
-import java.io.Serializable;
-import java.security.cert.Certificate;
-import java.util.Collection;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-/**
- * A description of a trusted identity or identities. This description is
- * characterised by a file visible to the workflow run that contains one or 
more
- * certificates.
- * 
- * @author Donal Fellows
- */
-@XmlType(name = "TrustDescriptor")
-@XmlRootElement(name = "trustedIdentity")
-@SuppressWarnings("serial")
-public final class Trust implements Serializable {
-       /** The location of this descriptor in the REST world. */
-       @XmlAttribute(namespace = XLINK)
-       public String href;
-       /**
-        * The location of this descriptor in the SOAP world. Must match 
corrected
-        * with the {@link #href} field.
-        */
-       @XmlTransient
-       public String id;
-       /**
-        * The file containing the certificate(s). This is resolved with 
respect to
-        * the workflow run working directory.
-        */
-       @XmlElement
-       public String certificateFile;
-       /**
-        * The type of certificate file. Defaults to <tt>X.509</tt> if 
unspecified.
-        */
-       @XmlElement
-       public String fileType;
-       /**
-        * The encoded serialized keystore containing the certificate(s).
-        */
-       @XmlElement
-       public byte[] certificateBytes;
-       /**
-        * The names of the server(s) identified by this trust.
-        */
-       @XmlElement
-       public List<String> serverName;
-       /**
-        * The collection of certificates loaded from the specified file. This 
is
-        * always <tt>null</tt> before validation.
-        */
-       public transient Collection<? extends Certificate> loadedCertificates;
-
-       @Override
-       public int hashCode() {
-               return id.hashCode();
-       }
-
-       @Override
-       public boolean equals(Object o) {
-               if (o == null || !(o instanceof Trust))
-                       return false;
-               return id.equals(((Trust) o).id);
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/common/Uri.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/common/Uri.java 
b/server-webapp/src/main/java/org/taverna/server/master/common/Uri.java
deleted file mode 100644
index d6d057c..0000000
--- a/server-webapp/src/main/java/org/taverna/server/master/common/Uri.java
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
- * Copyright (C) 2010-2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.common;
-
-import static javax.ws.rs.core.UriBuilder.fromUri;
-import static org.apache.commons.logging.LogFactory.getLog;
-import static org.taverna.server.master.common.Namespaces.XLINK;
-
-import java.lang.reflect.Method;
-import java.net.URI;
-import java.util.Map;
-
-import javax.annotation.PreDestroy;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriBuilderException;
-import javax.ws.rs.core.UriInfo;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.commons.logging.Log;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.web.PortMapper;
-
-import javax.annotation.Nonnull;
-
-/**
- * A class that makes it simpler to work with an element with a {@link URI} in
- * an <tt>href</tt> attribute. Done with JAXB.
- * 
- * @author Donal Fellows
- */
-@XmlType(name = "Location")
-public class Uri {
-       static Log log = getLog("Taverna.Server.UriRewriter");
-       private static final String SECURE_SCHEME = "https";
-       /**
-        * This type is characterised by an attribute that is the reference to 
some
-        * other element.
-        */
-       @XmlAttribute(name = "href", namespace = XLINK)
-       @XmlSchemaType(name = "anyURI")
-       public URI ref;
-
-       /** Make a reference that points nowhere. */
-       public Uri() {
-       }
-
-       /**
-        * Make a reference to the given location.
-        * 
-        * @param ref
-        *            Where to point to.
-        */
-       public Uri(@Nonnull URI ref) {
-               this.ref = secure(ref);
-       }
-
-       /**
-        * Make a reference from the factory with the given parameters.
-        * 
-        * @param ub
-        *            The configured factory.
-        * @param strings
-        *            The parameters to the factory.
-        */
-       public Uri(@Nonnull UriBuilder ub, String... strings) {
-               ref = secure(ub).build((Object[]) strings);
-       }
-
-       /**
-        * Make a reference from the factory with the given parameters.
-        * 
-        * @param ui
-        *            The factory factory.
-        * @param path
-        *            The path to configure the factory with.
-        * @param strings
-        *            The parameters to the factory.
-        */
-       public Uri(@Nonnull UriInfo ui, @Nonnull String path, String... 
strings) {
-               this(ui, true, path, strings);
-       }
-
-       /**
-        * Make a reference from the factory with the given parameters.
-        * 
-        * @param ui
-        *            The factory factory.
-        * @param secure
-        *            Whether the URI should be required to use HTTPS.
-        * @param path
-        *            The path to configure the factory with.
-        * @param strings
-        *            The parameters to the factory.
-        */
-       public Uri(@Nonnull UriInfo ui, boolean secure, @Nonnull String path,
-                       String... strings) {
-               UriBuilder ub = ui.getAbsolutePathBuilder();
-               if (secure) {
-                       ub = secure(ub);
-               }
-               ref = ub.path(path).build((Object[]) strings);
-       }
-
-       public static UriBuilder secure(UriBuilder ub) {
-               return Rewriter.getInstance().getSecuredUriBuilder(ub);
-       }
-
-       public static UriBuilder secure(UriInfo ui) {
-               return secure(ui.getAbsolutePathBuilder());
-       }
-
-       public static URI secure(URI uri) {
-               URI newURI = secure(fromUri(uri)).build();
-               if (log.isDebugEnabled())
-                       log.debug("rewrote " + uri + " to " + newURI);
-               return newURI;
-       }
-
-       public static URI secure(URI base, String uri) {
-               URI newURI = secure(fromUri(base.resolve(uri))).build();
-               if (log.isDebugEnabled())
-                       log.debug("rewrote " + uri + " to " + newURI);
-               return newURI;
-       }
-
-       /**
-        * A bean that allows configuration of how to rewrite generated URIs to 
be
-        * secure.
-        * 
-        * @author Donal Fellows
-        */
-       public static class Rewriter {
-               private static Rewriter instance;
-               private PortMapper portMapper;
-               private boolean suppress;
-               private String rewriteRE = "://[^/]+/[^/]+";
-               private String rewriteTarget;
-
-               static Rewriter getInstance() {
-                       if (instance == null)
-                               new Rewriter();
-                       return instance;
-               }
-
-               @Autowired
-               public void setPortMapper(PortMapper portMapper) {
-                       this.portMapper = portMapper;
-               }
-
-               /**
-                * Whether to suppress rewriting of URIs to be secure.
-                * 
-                * @param suppressSecurity
-                *            True if no rewriting should be done.
-                */
-               public void setSuppressSecurity(boolean suppressSecurity) {
-                       suppress = suppressSecurity;
-               }
-
-               public void setRewriteRegexp(String rewriteRegexp) {
-                       this.rewriteRE = rewriteRegexp;
-               }
-
-               /**
-                * What to rewrite the host, port and web-app name to be.
-                * 
-                * @param rewriteTarget
-                *            What to rewrite to, or "<tt>NONE</tt>" for no 
rewrite.
-                */
-               public void setRewriteTarget(String rewriteTarget) {
-                       if (rewriteTarget.isEmpty())
-                               this.rewriteTarget = null;
-                       else if (rewriteTarget.equals("NONE"))
-                               this.rewriteTarget = null;
-                       else if (rewriteTarget.startsWith("${"))
-                               this.rewriteTarget = null;
-                       else
-                               this.rewriteTarget = "://" + rewriteTarget;
-               }
-
-               private Integer lookupHttpsPort(URI uri) {
-                       if (portMapper != null)
-                               return 
portMapper.lookupHttpsPort(uri.getPort());
-                       return null;
-               }
-
-               public Rewriter() {
-                       instance = this;
-               }
-
-               @PreDestroy
-               public void done() {
-                       instance = null;
-                       Uri.log = null;
-               }
-
-               @Nonnull
-               URI rewrite(@Nonnull String url) {
-                       if (rewriteTarget != null)
-                               url = url.replaceFirst(rewriteRE, 
rewriteTarget);
-                       return URI.create(url);
-               }
-
-               @Nonnull
-               public UriBuilder getSecuredUriBuilder(@Nonnull UriBuilder 
uribuilder) {
-                       if (suppress)
-                               return uribuilder.clone();
-                       UriBuilder ub = new RewritingUriBuilder(uribuilder);
-                       Integer secPort = null;
-                       try {
-                               secPort = lookupHttpsPort(ub.build());
-                       } catch (Exception e) {
-                               /*
-                                * Do not log this; we know why it happens and 
don't actually
-                                * care to do anything about it. All it does is 
fill up the log
-                                * with pointless scariness!
-                                */
-
-                               // log.debug("failed to extract current URI 
port", e);
-                       }
-                       if (secPort == null || secPort.intValue() == -1)
-                               return ub.scheme(SECURE_SCHEME);
-                       return ub.scheme(SECURE_SCHEME).port(secPort);
-               }
-
-               /**
-                * {@link UriBuilder} that applies a rewrite rule to the URIs 
produced
-                * by the wrapped builder.
-                * 
-                * @author Donal Fellows
-                */
-               class RewritingUriBuilder extends UriBuilder {
-                       private UriBuilder wrapped;
-
-                       RewritingUriBuilder(UriBuilder builder) {
-                               wrapped = builder.clone();
-                       }
-
-                       private URI rewrite(URI uri) {
-                               return Rewriter.this.rewrite(uri.toString());
-                       }
-
-                       @Override
-                       public UriBuilder clone() {
-                               return new RewritingUriBuilder(wrapped);
-                       }
-
-                       @Override
-                       public URI buildFromMap(Map<String, ?> values)
-                                       throws IllegalArgumentException, 
UriBuilderException {
-                               return rewrite(wrapped.buildFromMap(values));
-                       }
-
-                       @Override
-                       public URI buildFromEncodedMap(Map<String, ? extends 
Object> values)
-                                       throws IllegalArgumentException, 
UriBuilderException {
-                               return 
rewrite(wrapped.buildFromEncodedMap(values));
-                       }
-
-                       @Override
-                       public URI build(Object... values) throws 
IllegalArgumentException,
-                                       UriBuilderException {
-                               return rewrite(wrapped.build(values));
-                       }
-
-                       @Override
-                       public URI build(Object[] values, boolean 
encodeSlashInPath)
-                                       throws IllegalArgumentException, 
UriBuilderException {
-                               return rewrite(wrapped.build(values, 
encodeSlashInPath));
-                       }
-
-                       @Override
-                       public URI buildFromEncoded(Object... values)
-                                       throws IllegalArgumentException, 
UriBuilderException {
-                               return 
rewrite(wrapped.buildFromEncoded(values));
-                       }
-
-                       @Override
-                       public URI buildFromMap(Map<String, ?> values,
-                                       boolean encodeSlashInPath) throws 
IllegalArgumentException,
-                                       UriBuilderException {
-                               return rewrite(wrapped.buildFromEncoded(values,
-                                               encodeSlashInPath));
-                       }
-
-                       @Override
-                       public UriBuilder uri(URI uri) throws 
IllegalArgumentException {
-                               wrapped.uri(uri);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder uri(String uriTemplate)
-                                       throws IllegalArgumentException {
-                               wrapped.uri(uriTemplate);
-                               return this;
-                       }
-
-                       @Override
-                       public String toTemplate() {
-                               return wrapped.toTemplate();
-                       }
-
-                       @Override
-                       public UriBuilder scheme(String scheme)
-                                       throws IllegalArgumentException {
-                               wrapped.scheme(scheme);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder schemeSpecificPart(String ssp)
-                                       throws IllegalArgumentException {
-                               wrapped.schemeSpecificPart(ssp);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder userInfo(String ui) {
-                               wrapped.userInfo(ui);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder host(String host) throws 
IllegalArgumentException {
-                               wrapped.host(host);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder port(int port) throws 
IllegalArgumentException {
-                               wrapped.port(port);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder replacePath(String path) {
-                               wrapped.replacePath(path);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder path(String path) throws 
IllegalArgumentException {
-                               wrapped.path(path);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder path(
-                                       @java.lang.SuppressWarnings("rawtypes") 
Class resource)
-                                       throws IllegalArgumentException {
-                               wrapped.path(resource);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder path(
-                                       @java.lang.SuppressWarnings("rawtypes") 
Class resource,
-                                       String method) throws 
IllegalArgumentException {
-                               wrapped.path(resource, method);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder path(Method method)
-                                       throws IllegalArgumentException {
-                               wrapped.path(method);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder segment(String... segments)
-                                       throws IllegalArgumentException {
-                               wrapped.segment(segments);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder replaceMatrix(String matrix)
-                                       throws IllegalArgumentException {
-                               wrapped.replaceMatrix(matrix);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder matrixParam(String name, Object... 
values)
-                                       throws IllegalArgumentException {
-                               wrapped.matrixParam(name, values);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder replaceMatrixParam(String name, 
Object... values)
-                                       throws IllegalArgumentException {
-                               wrapped.replaceMatrixParam(name, values);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder replaceQuery(String query)
-                                       throws IllegalArgumentException {
-                               wrapped.replaceQuery(query);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder queryParam(String name, Object... 
values)
-                                       throws IllegalArgumentException {
-                               wrapped.queryParam(name, values);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder replaceQueryParam(String name, 
Object... values)
-                                       throws IllegalArgumentException {
-                               wrapped.replaceQueryParam(name, values);
-                               return this;
-                       }
-
-                       @Override
-                       public UriBuilder fragment(String fragment) {
-                               wrapped.fragment(fragment);
-                               return this;
-                       }
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/common/VersionedElement.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/common/VersionedElement.java
 
b/server-webapp/src/main/java/org/taverna/server/master/common/VersionedElement.java
deleted file mode 100644
index 6eddf2d..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/common/VersionedElement.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2010-2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.common;
-
-import static org.apache.commons.logging.LogFactory.getLog;
-import static org.taverna.server.master.common.Namespaces.SERVER;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.commons.logging.Log;
-
-/**
- * The type of an element that declares the version of the server that produced
- * it.
- * 
- * @author Donal Fellows
- */
-@XmlType(name = "VersionedElement", namespace = SERVER)
-public abstract class VersionedElement {
-       /** What version of server produced this element? */
-       @XmlAttribute(namespace = SERVER)
-       public String serverVersion;
-       /** What revision of server produced this element? Derived from SCM 
commit. */
-       @XmlAttribute(namespace = SERVER)
-       public String serverRevision;
-       /** When was the server built? */
-       @XmlAttribute(namespace = SERVER)
-       public String serverBuildTimestamp;
-       public static final String VERSION, REVISION, TIMESTAMP;
-       static {
-               Log log = getLog("Taverna.Server.Webapp");
-               Properties p = new Properties();
-               try {
-                       try (InputStream is = VersionedElement.class
-                                       
.getResourceAsStream("/version.properties")) {
-                               p.load(is);
-                       }
-               } catch (IOException e) {
-                       log.warn("failed to read /version.properties", e);
-               }
-               VERSION = p.getProperty("tavernaserver.version", 
"unknownVersion");
-               REVISION = String.format("%s (tag: %s)",
-                               p.getProperty("tavernaserver.branch", 
"unknownRevision"),
-                               
p.getProperty("tavernaserver.revision.describe", "unknownTag"));
-               TIMESTAMP = p
-                               .getProperty("tavernaserver.timestamp", 
"unknownTimestamp");
-       }
-
-       public VersionedElement() {
-       }
-
-       protected VersionedElement(boolean ignored) {
-               serverVersion = VERSION;
-               serverRevision = REVISION;
-               serverBuildTimestamp = TIMESTAMP;
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/common/Workflow.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/common/Workflow.java 
b/server-webapp/src/main/java/org/taverna/server/master/common/Workflow.java
deleted file mode 100644
index ba6a68c..0000000
--- a/server-webapp/src/main/java/org/taverna/server/master/common/Workflow.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*
- * Copyright (C) 2010-2012 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.common;
-
-import static javax.xml.bind.Marshaller.JAXB_ENCODING;
-import static javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT;
-import static javax.xml.bind.annotation.XmlAccessType.NONE;
-import static org.apache.commons.logging.LogFactory.getLog;
-import static 
org.taverna.server.master.rest.handler.Scufl2DocumentHandler.SCUFL2;
-import static 
org.taverna.server.master.rest.handler.T2FlowDocumentHandler.T2FLOW;
-import static 
org.taverna.server.master.rest.handler.T2FlowDocumentHandler.T2FLOW_NS;
-import static 
org.taverna.server.master.rest.handler.T2FlowDocumentHandler.T2FLOW_ROOTNAME;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.io.OutputStreamWriter;
-import java.io.Reader;
-import java.io.Serializable;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.net.URL;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.taverna.server.master.rest.handler.Scufl2DocumentHandler;
-import org.taverna.server.master.rest.handler.T2FlowDocumentHandler;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.SAXException;
-
-import uk.org.taverna.scufl2.api.common.NamedSet;
-import uk.org.taverna.scufl2.api.container.WorkflowBundle;
-import uk.org.taverna.scufl2.api.io.ReaderException;
-import uk.org.taverna.scufl2.api.io.WorkflowBundleIO;
-import uk.org.taverna.scufl2.api.io.WriterException;
-import uk.org.taverna.scufl2.api.profiles.Profile;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Encapsulation of a T2flow or Scufl2 document.
- * 
- * @author Donal K. Fellows
- */
-@XmlRootElement(name = "workflow")
-@XmlType(name = "Workflow")
-@XmlAccessorType(NONE)
-public class Workflow implements Serializable, Externalizable {
-       /** Literal document, if present. */
-       @XmlAnyElement(lax = true)
-       private Element content;
-       /** SCUFL2 bundle, if present. */
-       @XmlTransient
-       private WorkflowBundle bundle;
-       /** Which came first, the bundle or the t2flow document. */
-       @XmlTransient
-       private boolean isBundleFirst;
-
-       private static Marshaller marshaller;
-       private static Unmarshaller unmarshaller;
-       private final static String ENCODING = "UTF-8";
-       private final static WorkflowBundleIO io;
-       static {
-               try {
-                       JAXBContext context = 
JAXBContext.newInstance(Workflow.class);
-                       marshaller = context.createMarshaller();
-                       unmarshaller = context.createUnmarshaller();
-                       marshaller.setProperty(JAXB_ENCODING, ENCODING);
-                       marshaller.setProperty(JAXB_FORMATTED_OUTPUT, false);
-               } catch (JAXBException e) {
-                       getLog("Taverna.Server.Webapp").fatal(
-                                       "failed to build JAXB context for 
working with "
-                                                       + Workflow.class, e);
-               }
-               io = new WorkflowBundleIO();
-       }
-
-       public enum ContentType {
-               T2FLOW(T2FlowDocumentHandler.T2FLOW), SCUFL2(
-                               Scufl2DocumentHandler.SCUFL2);
-               private String type;
-
-               ContentType(String type) {
-                       this.type = type;
-               }
-
-               public String getContentType() {
-                       return type;
-               }
-       }
-
-       public Workflow() {
-       }
-
-       public Workflow(Element element) {
-               this.content = element;
-               this.isBundleFirst = false;
-       }
-
-       public Workflow(WorkflowBundle bundle) {
-               this.bundle = bundle;
-               this.isBundleFirst = true;
-       }
-
-       public Workflow(URL url) throws ReaderException, IOException {
-               this(io.readBundle(url, null));
-       }
-
-       /**
-        * What content type would this workflow "prefer" to be?
-        */
-       public ContentType getPreferredContentType() {
-               if (isBundleFirst)
-                       return ContentType.SCUFL2;
-               else
-                       return ContentType.T2FLOW;
-       }
-
-       /**
-        * Retrieves the workflow as a SCUFL2 document, converting it if 
necessary.
-        * 
-        * @return The SCUFL2 document.
-        * @throws IOException
-        *             If anything goes wrong.
-        */
-       public WorkflowBundle getScufl2Workflow() throws IOException {
-               try {
-                       if (bundle == null)
-                               bundle = io.readBundle(new 
ByteArrayInputStream(getAsT2Flow()),
-                                               T2FLOW);
-                       return bundle;
-               } catch (IOException e) {
-                       throw e;
-               } catch (Exception e) {
-                       throw new IOException("problem when converting to 
SCUFL2", e);
-               }
-       }
-
-       /**
-        * Get the bytes of the serialized SCUFL2 workflow.
-        * 
-        * @return Array of bytes.
-        * @throws IOException
-        *             If serialization fails.
-        * @throws WriterException
-        *             If conversion fails.
-        */
-       public byte[] getScufl2Bytes() throws IOException, WriterException {
-               ByteArrayOutputStream baos = new ByteArrayOutputStream();
-               io.writeBundle(getScufl2Workflow(), baos, SCUFL2);
-               return baos.toByteArray();
-       }
-
-       /**
-        * Retrieves the workflow as a T2Flow document, converting it if 
necessary.
-        * 
-        * @return The T2Flow document.
-        * @throws IOException
-        *             If anything goes wrong.
-        */
-       public Element getT2flowWorkflow() throws IOException {
-               try {
-                       if (content != null)
-                               return content;
-                       ByteArrayOutputStream baos = new 
ByteArrayOutputStream();
-                       io.writeBundle(bundle, baos, T2FLOW);
-                       Document doc;
-                       try {
-                               DocumentBuilderFactory dbf = 
DocumentBuilderFactory
-                                               .newInstance();
-                               dbf.setNamespaceAware(true);
-                               doc = dbf.newDocumentBuilder().parse(
-                                               new 
ByteArrayInputStream(baos.toByteArray()));
-                       } catch (SAXException e) {
-                               throw new IOException("failed to convert to DOM 
tree", e);
-                       }
-                       Element e = doc.getDocumentElement();
-                       if (e.getNamespaceURI().equals(T2FLOW_NS)
-                                       && 
e.getNodeName().equals(T2FLOW_ROOTNAME))
-                               return content = e;
-                       throw new IOException(
-                                       "unexpected element when converting to 
T2Flow: {"
-                                                       + e.getNamespaceURI() + 
"}" + e.getNodeName());
-               } catch (IOException e) {
-                       throw e;
-               } catch (Exception e) {
-                       throw new IOException("problem when converting to 
SCUFL2", e);
-               }
-       }
-
-       /**
-        * @return The name of the main workflow profile, or <tt>null</tt> if 
there
-        *         is none.
-        */
-       public String getMainProfileName() {
-               try {
-                       return getScufl2Workflow().getMainProfile().getName();
-               } catch (IOException e) {
-                       return null;
-               }
-       }
-
-       /**
-        * @return The set of profiles supported over this workflow.
-        */
-       public NamedSet<Profile> getProfiles() {
-               try {
-                       return getScufl2Workflow().getProfiles();
-               } catch (IOException e) {
-                       return new NamedSet<Profile>();
-               }
-       }
-
-       /**
-        * Convert from marshalled form.
-        * 
-        * @throws JAXBException
-        *             If the conversion fails.
-        */
-       public static Workflow unmarshal(String representation)
-                       throws JAXBException {
-               StringReader sr = new StringReader(representation);
-               return (Workflow) unmarshaller.unmarshal(sr);
-       }
-
-       /**
-        * Convert to marshalled form.
-        */
-       public String marshal() throws JAXBException {
-               StringWriter sw = new StringWriter();
-               marshaller.marshal(this, sw);
-               return sw.toString();
-       }
-
-       @Override
-       public void readExternal(ObjectInput in) throws IOException,
-                       ClassNotFoundException {
-               try {
-                       ByteArrayInputStream bytes = readbytes(in);
-                       if (bytes != null)
-                               try (Reader r = new InputStreamReader(bytes, 
ENCODING)) {
-                                       content = ((Workflow) 
unmarshaller.unmarshal(r)).content;
-                               }
-                       bytes = readbytes(in);
-                       if (bytes != null)
-                               bundle = io.readBundle(bytes, SCUFL2);
-                       isBundleFirst = in.readBoolean();
-                       return;
-               } catch (JAXBException e) {
-                       throw new IOException("failed to unmarshal", e);
-               } catch (ClassCastException e) {
-                       throw new IOException("bizarre result of 
unmarshalling", e);
-               } catch (ReaderException e) {
-                       throw new IOException("failed to unmarshal", e);
-               }
-       }
-
-       private byte[] getAsT2Flow() throws IOException, JAXBException {
-               ByteArrayOutputStream baos = new ByteArrayOutputStream();
-               OutputStreamWriter w = new OutputStreamWriter(baos, ENCODING);
-               marshaller.marshal(this, w);
-               w.close();
-               return baos.toByteArray();
-       }
-
-       private byte[] getAsScufl2() throws IOException, WriterException {
-               ByteArrayOutputStream baos = new ByteArrayOutputStream();
-               io.writeBundle(bundle, baos, SCUFL2);
-               baos.close();
-               return baos.toByteArray();
-       }
-
-       @Override
-       public void writeExternal(ObjectOutput out) throws IOException {
-               try {
-                       writebytes(out, (content != null) ? getAsT2Flow() : 
null);
-               } catch (JAXBException e) {
-                       throw new IOException("failed to marshal t2flow", e);
-               }
-               try {
-                       writebytes(out, (bundle != null) ? getAsScufl2() : 
null);
-               } catch (WriterException e) {
-                       throw new IOException("failed to marshal scufl2", e);
-               }
-               out.writeBoolean(isBundleFirst);
-       }
-
-       private ByteArrayInputStream readbytes(ObjectInput in) throws 
IOException {
-               int len = in.readInt();
-               if (len > 0) {
-                       byte[] bytes = new byte[len];
-                       in.readFully(bytes);
-                       return new ByteArrayInputStream(bytes);
-               }
-               return null;
-       }
-
-       private void writebytes(ObjectOutput out, byte[] data) throws 
IOException {
-               out.writeInt(data == null ? 0 : data.length);
-               if (data != null && data.length > 0)
-                       out.write(data);
-       }
-
-       /**
-        * Make up for the lack of an integrated XPath engine.
-        * 
-        * @param name
-        *            The element names to look up from the root of the 
contained
-        *            document.
-        * @return The looked up element, or <tt>null</tt> if it doesn't exist.
-        */
-       private Element getEl(String... name) {
-               Element el = content;
-               boolean skip = true;
-               for (String n : name) {
-                       if (skip) {
-                               skip = false;
-                               continue;
-                       }
-                       if (el == null)
-                               return null;
-                       NodeList nl = el.getElementsByTagNameNS(T2FLOW_NS, n);
-                       if (nl.getLength() == 0)
-                               return null;
-                       Node node = nl.item(0);
-                       if (node instanceof Element)
-                               el = (Element) node;
-                       else
-                               return null;
-               }
-               return el;
-       }
-
-       /**
-        * @return The content of the embedded
-        *         <tt>&lt;workflow&gt;&lt;dataflow&gt;&lt;name&gt;</tt> 
element.
-        */
-       @XmlTransient
-       public String getName() {
-               return getEl("workflow", "dataflow", "name").getTextContent();
-       }
-
-       /**
-        * @return The embedded <tt>&lt;workflow&gt;</tt> element.
-        */
-       @XmlTransient
-       public Element getWorkflowRoot() {
-               return getEl("workflow");
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/common/package-info.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/common/package-info.java
 
b/server-webapp/src/main/java/org/taverna/server/master/common/package-info.java
deleted file mode 100644
index fd040de..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/common/package-info.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-/**
- * This package contains the common XML elements used throughout Taverna 
Server's various interfaces.
- * @author Donal Fellows
- */
-@XmlSchema(namespace = SERVER, elementFormDefault = QUALIFIED, 
attributeFormDefault = QUALIFIED, xmlns = {
-               @XmlNs(prefix = "xlink", namespaceURI = XLINK),
-               @XmlNs(prefix = "ts", namespaceURI = SERVER),
-               @XmlNs(prefix = "ts-rest", namespaceURI = SERVER_REST),
-               @XmlNs(prefix = "ts-soap", namespaceURI = SERVER_SOAP),
-               @XmlNs(prefix = "feed", namespaceURI = FEED),
-               @XmlNs(prefix = "admin", namespaceURI = ADMIN) })
-package org.taverna.server.master.common;
-
-import static javax.xml.bind.annotation.XmlNsForm.QUALIFIED;
-import static org.taverna.server.master.common.Namespaces.ADMIN;
-import static org.taverna.server.master.common.Namespaces.FEED;
-import static org.taverna.server.master.common.Namespaces.SERVER;
-import static org.taverna.server.master.common.Namespaces.SERVER_REST;
-import static org.taverna.server.master.common.Namespaces.SERVER_SOAP;
-import static org.taverna.server.master.common.Namespaces.XLINK;
-
-import javax.xml.bind.annotation.XmlNs;
-import javax.xml.bind.annotation.XmlSchema;
-

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/common/version/Version.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/common/version/Version.java
 
b/server-webapp/src/main/java/org/taverna/server/master/common/version/Version.java
deleted file mode 100644
index e9c58a9..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/common/version/Version.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2013 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.common.version;
-
-import static org.taverna.server.master.common.version.Constants.PATCH;
-import static org.taverna.server.master.common.version.Constants.VERSION;
-
-/**
- * Common location for describing the version of the server.
- * 
- * @author Donal Fellows
- */
-public interface Version {
-       public static final String JAVA = VERSION + Constants.releaseChar + 
PATCH;
-       public static final String HTML = VERSION + Constants.releaseHEnt + 
PATCH;
-       public static final String XML = VERSION + Constants.releaseXEnt + 
PATCH;
-}
-
-/**
- * The pieces of a version string.
- * 
- * @author Donal Fellows
- */
-interface Constants {
-       static final String MAJOR = "2";
-       static final String MINOR = "5";
-       static final String PATCH = "4";
-
-       static final char alphaChar = '\u03b1';
-       static final char betaChar = '\u03b2';
-       static final char releaseChar = '.';
-       static final String alphaHEnt = "&alpha;";
-       static final String betaHEnt = "&beta;";
-       static final String releaseHEnt = ".";
-       static final String alphaXEnt = "&#x03b1;";
-       static final String betaXEnt = "&#x03b2;";
-       static final String releaseXEnt = ".";
-
-       static final String VERSION = MAJOR + "." + MINOR;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/defaults/Default.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/defaults/Default.java 
b/server-webapp/src/main/java/org/taverna/server/master/defaults/Default.java
deleted file mode 100644
index c2a2bc9..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/defaults/Default.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (C) 2013 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.defaults;
-
-import org.taverna.server.master.common.Status;
-import org.taverna.server.master.localworker.LocalWorkerState;
-
-/**
- * This defines a collection of default values, collecting them from various
- * parts of the server.
- * 
- * @author Donal Fellows
- */
-public interface Default {
-       /** The default value of the <tt>prefix</tt> property. */
-       static final String AUTHORITY_PREFIX = "LOCALUSER_";
-
-       /**
-        * The name of the resource that is the implementation of the subprocess
-        * that this class will fork off.
-        */
-       static final String SERVER_WORKER_IMPLEMENTATION_JAR = 
"util/server.worker.jar";
-
-       /**
-        * The name of the resource that is the implementation of the subprocess
-        * that manages secure forking.
-        */
-       static final String SECURE_FORK_IMPLEMENTATION_JAR = 
"util/secure.fork.jar";
-
-       /**
-        * The name of the resource that is the implementation of the subprocess
-        * that acts as the RMI registry.
-        */
-       static final String REGISTRY_JAR = "util/rmi.daemon.jar";
-
-       /** Initial lifetime of runs, in minutes. */
-       static final int RUN_LIFE_MINUTES = 20;
-
-       /**
-        * Maximum number of runs to exist at once. Note that this includes when
-        * they are just existing for the purposes of file transfer (
-        * {@link Status#Initialized}/{@link Status#Finished} states).
-        */
-       static final int RUN_COUNT_MAX = 5;
-
-       /**
-        * Prefix to use for RMI names.
-        */
-       static final String RMI_PREFIX = "ForkRunFactory.";
-
-       /** Default value for {@link LocalWorkerState#passwordFile}. */
-       static final String PASSWORD_FILE = null;
-
-       /**
-        * The extra arguments to pass to the subprocess.
-        */
-       static final String[] EXTRA_ARGUMENTS = new String[0];
-
-       /**
-        * How long to wait for subprocess startup, in seconds.
-        */
-       static final int SUBPROCESS_START_WAIT = 40;
-
-       /**
-        * Polling interval to use during startup, in milliseconds.
-        */
-       static final int SUBPROCESS_START_POLL_SLEEP = 1000;
-
-       /**
-        * Maximum number of {@link Status#Operating} runs at any time.
-        */
-       static final int RUN_OPERATING_LIMIT = 10;
-
-       /**
-        * What fields of a certificate we look at when understanding who it is
-        * talking about, in the order that we look.
-        */
-       static final String[] CERTIFICATE_FIELD_NAMES = { "CN", "COMMONNAME",
-                       "COMMON NAME", "COMMON_NAME", "OU", 
"ORGANIZATIONALUNITNAME",
-                       "ORGANIZATIONAL UNIT NAME", "O", "ORGANIZATIONNAME",
-                       "ORGANIZATION NAME" };
-
-       /** The type of certificates that are processed if we don't say 
otherwise. */
-       static final String CERTIFICATE_TYPE = "X.509";
-
-       /** Max size of credential file, in kiB. */
-       static final int CREDENTIAL_FILE_SIZE_LIMIT = 20;
-
-       /**
-        * The notification message format to use if none is configured.
-        */
-       public static final String NOTIFY_MESSAGE_FORMAT = "Your job with 
ID={0} has finished with exit code {1,number,integer}.";
-
-       /** The address of the SMS gateway service used. */
-       public static final String SMS_GATEWAY_URL = 
"https://www.intellisoftware.co.uk/smsgateway/sendmsg.aspx";;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/defaults/package-info.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/defaults/package-info.java
 
b/server-webapp/src/main/java/org/taverna/server/master/defaults/package-info.java
deleted file mode 100644
index 239b260..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/defaults/package-info.java
+++ /dev/null
@@ -1,5 +0,0 @@
-/**
- * This package contains information about the various default values 
supported by the server.
- * @author Donal Fellows
- */
-package org.taverna.server.master.defaults;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/BadInputPortNameException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/BadInputPortNameException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/BadInputPortNameException.java
deleted file mode 100644
index 0b6247e..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/BadInputPortNameException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (C) 2010 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-import javax.xml.ws.WebFault;
-
-/**
- * Indicates that the port name was not recognized.
- * 
- * @author Donal Fellows
- */
-@WebFault(name = "BadInputPortNameFault")
-@SuppressWarnings("serial")
-public class BadInputPortNameException extends Exception {
-       public BadInputPortNameException(String msg) {
-               super(msg);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/BadPropertyValueException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/BadPropertyValueException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/BadPropertyValueException.java
deleted file mode 100644
index 303b19b..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/BadPropertyValueException.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2010 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-import javax.xml.ws.WebFault;
-
-/**
- * Indicates a bad property value.
- * 
- * @author Donal Fellows
- */
-@WebFault(name = "BadPropertyValueFault")
-public class BadPropertyValueException extends NoListenerException {
-       private static final long serialVersionUID = -8459491388504556875L;
-
-       public BadPropertyValueException(String msg) {
-               super(msg);
-       }
-
-       public BadPropertyValueException(String msg, Throwable e) {
-               super(msg, e);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/BadStateChangeException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/BadStateChangeException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/BadStateChangeException.java
deleted file mode 100644
index 4b843e2..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/BadStateChangeException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2010 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-import javax.xml.ws.WebFault;
-
-/**
- * Exception that is thrown to indicate that the state change requested for a
- * run is impossible.
- * 
- * @author Donal Fellows
- */
-@WebFault(name = "NoUpdateFault")
-public class BadStateChangeException extends NoUpdateException {
-       private static final long serialVersionUID = -4490826388447601775L;
-
-       public BadStateChangeException() {
-               super("cannot do that state change");
-       }
-
-       public BadStateChangeException(Throwable t) {
-               super("cannot do that state change", t);
-       }
-
-       public BadStateChangeException(String msg, Throwable t) {
-               super(msg, t);
-       }
-
-       public BadStateChangeException(String message) {
-               super(message);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/FilesystemAccessException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/FilesystemAccessException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/FilesystemAccessException.java
deleted file mode 100644
index 0b6cf07..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/FilesystemAccessException.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-import java.rmi.RemoteException;
-
-import javax.xml.ws.WebFault;
-
-/**
- * An exception that happened when the underlying filesystem was accessed.
- * @author Donal Fellows
- */
-@WebFault(name = "FilesystemAccessFault")
-public class FilesystemAccessException extends Exception {
-       private static final long serialVersionUID = 8715937300989820318L;
-
-       public FilesystemAccessException(String msg) {
-               super(msg);
-       }
-
-       public FilesystemAccessException(String string, Throwable cause) {
-               super(string, getRealCause(cause));
-       }
-
-       private static Throwable getRealCause(Throwable t) {
-               if (t instanceof RemoteException) {
-                       RemoteException remote = (RemoteException) t;
-                       if (remote.detail != null)
-                               return remote.detail;
-               }
-               if (t.getCause() != null)
-                       return t.getCause();
-               return t;
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/GeneralFailureException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/GeneralFailureException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/GeneralFailureException.java
deleted file mode 100644
index 11d47c7..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/GeneralFailureException.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-import static org.taverna.server.master.common.Namespaces.SERVER_SOAP;
-
-import javax.xml.ws.WebFault;
-
-/**
- * Some sort of exception that occurred which we can't map any other way. This
- * is generally indicative of a problem server-side.
- * 
- * @author Donal Fellows
- */
-@WebFault(name = "GeneralFailureFault", targetNamespace = SERVER_SOAP)
-@SuppressWarnings("serial")
-public class GeneralFailureException extends RuntimeException {
-       public GeneralFailureException(Throwable cause) {
-               super(cause.getMessage(), cause);
-       }
-
-       public GeneralFailureException(String message, Throwable cause) {
-               super(message, cause);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/InvalidCredentialException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/InvalidCredentialException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/InvalidCredentialException.java
deleted file mode 100644
index 67ba551..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/InvalidCredentialException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-/**
- * An exception that is thrown to indicate that a credential-descriptor or
- * trust-descriptor supplied as part of a credential or trust management
- * operation is invalid.
- * 
- * @author Donal Fellows
- * 
- */
-@SuppressWarnings("serial")
-public class InvalidCredentialException extends Exception {
-       private static final String MSG = "that credential is invalid";
-
-       public InvalidCredentialException() {
-               super(MSG);
-       }
-
-       public InvalidCredentialException(String reason) {
-               super(MSG + ": " + reason);
-       }
-
-       public InvalidCredentialException(String reason, Throwable cause) {
-               this(reason);
-               initCause(cause);
-       }
-
-       public InvalidCredentialException(Throwable cause) {
-               this(cause.getMessage(), cause);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoCreateException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoCreateException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoCreateException.java
deleted file mode 100644
index e2ddf4c..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoCreateException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2010 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-import javax.xml.ws.WebFault;
-
-
-/**
- * Exception that is thrown to indicate that the user is not permitted to
- * create something.
- * 
- * @author Donal Fellows
- */
-@WebFault(name = "NoCreateFault")
-public class NoCreateException extends NoUpdateException {
-       private static final long serialVersionUID = 270413810410167235L;
-
-       public NoCreateException() {
-               super("not permitted to create");
-       }
-
-       public NoCreateException(String string) {
-               super(string);
-       }
-
-       public NoCreateException(String string, Throwable e) {
-               super(string, e);
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoCredentialException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoCredentialException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoCredentialException.java
deleted file mode 100644
index 7077fc4..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoCredentialException.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright (C) 2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-/**
- * Exception that indicates the absence of an expected credential.
- * 
- * @author Donal Fellows
- */
-@SuppressWarnings("serial")
-public class NoCredentialException extends Exception {
-       public NoCredentialException() {
-               super("no such credential");
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoDestroyException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoDestroyException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoDestroyException.java
deleted file mode 100644
index d7b0d29..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoDestroyException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2010 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-import javax.xml.ws.WebFault;
-
-
-/**
- * Exception that is thrown to indicate that the user is not permitted to
- * destroy something.
- * 
- * @author Donal Fellows
- */
-@WebFault(name = "NoDestroyFault")
-public class NoDestroyException extends NoUpdateException {
-       private static final long serialVersionUID = 6207448533265237933L;
-
-       public NoDestroyException() {
-               super("not permitted to destroy");
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoDirectoryEntryException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoDirectoryEntryException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoDirectoryEntryException.java
deleted file mode 100644
index 0d6ca63..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoDirectoryEntryException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2010 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-import javax.xml.ws.WebFault;
-
-/**
- * Indicates that the file or directory name was not recognized.
- * 
- * @author Donal Fellows
- */
-@WebFault(name = "NoDirectoryEntryFault")
-@SuppressWarnings("serial")
-public class NoDirectoryEntryException extends Exception {
-       public NoDirectoryEntryException(String msg) {
-               super(msg);
-       }
-       public NoDirectoryEntryException(String msg,Exception cause) {
-               super(msg, cause);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoListenerException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoListenerException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoListenerException.java
deleted file mode 100644
index f4b8e81..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoListenerException.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2010 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.ws.WebFault;
-
-/**
- * Exception thrown to indicate that no listener by that name exists, or that
- * some other problem with listeners has occurred.
- * 
- * @author Donal Fellows
- */
-@WebFault(name = "NoListenerFault")
-@XmlSeeAlso(BadPropertyValueException.class)
-public class NoListenerException extends Exception {
-       private static final long serialVersionUID = -2550897312787546547L;
-
-       public NoListenerException() {
-               super("no such listener");
-       }
-
-       public NoListenerException(String msg) {
-               super(msg);
-       }
-
-       public NoListenerException(String msg, Throwable t) {
-               super(msg, t);
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoUpdateException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoUpdateException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoUpdateException.java
deleted file mode 100644
index c49d111..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NoUpdateException.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2010 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.ws.WebFault;
-
-/**
- * Exception that is thrown to indicate that the user is not permitted to 
update
- * something.
- * 
- * @author Donal Fellows
- */
-@WebFault(name = "NoUpdateFault")
-@XmlSeeAlso( { NoCreateException.class, NoDestroyException.class, 
BadStateChangeException.class })
-public class NoUpdateException extends Exception {
-       private static final long serialVersionUID = 4230987102653846379L;
-
-       public NoUpdateException() {
-               super("not permitted to update");
-       }
-
-       public NoUpdateException(String msg) {
-               super(msg);
-       }
-
-       public NoUpdateException(String string, Throwable e) {
-               super(string, e);
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/NotOwnerException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NotOwnerException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/NotOwnerException.java
deleted file mode 100644
index 6e1f792..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/NotOwnerException.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-import javax.xml.ws.WebFault;
-
-/**
- * An exception thrown when an operation is attempted which only the owner is
- * permitted to do. Notably, permissions may <i>only</i> be manipulated by the
- * owner.
- * 
- * @author Donal Fellows
- */
-@WebFault(name = "NotOwnerFault")
-@SuppressWarnings("serial")
-public class NotOwnerException extends Exception {
-       public NotOwnerException() {
-               super("not permitted; not the owner");
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/OverloadedException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/OverloadedException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/OverloadedException.java
deleted file mode 100644
index dda371e..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/OverloadedException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2013 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-import javax.xml.ws.WebFault;
-
-/**
- * Exception that is thrown to indicate that the state change requested for a
- * run is currently impossible due to excessive server load.
- * 
- * @author Donal Fellows
- */
-@WebFault(name = "OverloadedFault")
-public class OverloadedException extends BadStateChangeException {
-       private static final long serialVersionUID = 490826388447601776L;
-
-       public OverloadedException() {
-               super("server too busy; try later please");
-       }
-
-       public OverloadedException(Throwable t) {
-               super("server too busy; try later please", t);
-       }
-
-       public OverloadedException(String msg, Throwable t) {
-               super(msg, t);
-       }
-
-       public OverloadedException(String message) {
-               super(message);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/UnknownRunException.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/UnknownRunException.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/UnknownRunException.java
deleted file mode 100644
index 4632d4a..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/UnknownRunException.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2010 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.exceptions;
-
-import javax.xml.ws.WebFault;
-
-/**
- * Exception thrown to indicate that the handle of the run is unknown (or
- * unacceptable to the current user).
- * 
- * @author Donal Fellows
- */
-@WebFault(name = "UnknownRunFault")
-public class UnknownRunException extends Exception {
-       private static final long serialVersionUID = -3028749401786242841L;
-
-       public UnknownRunException() {
-               super("unknown run UUID");
-       }
-
-       public UnknownRunException(Throwable t) {
-               super("implementation problems", t);
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/exceptions/package-info.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/package-info.java
 
b/server-webapp/src/main/java/org/taverna/server/master/exceptions/package-info.java
deleted file mode 100644
index 29ccacd..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/exceptions/package-info.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-/**
- * This package contains the exceptions/faults thrown by Taverna Server.
- * @author Donal Fellows
- */
-@XmlSchema(namespace = SERVER, elementFormDefault = QUALIFIED, 
attributeFormDefault = QUALIFIED, xmlns = {
-               @XmlNs(prefix = "xlink", namespaceURI = XLINK),
-               @XmlNs(prefix = "ts", namespaceURI = SERVER),
-               @XmlNs(prefix = "ts-rest", namespaceURI = SERVER_REST),
-               @XmlNs(prefix = "ts-soap", namespaceURI = SERVER_SOAP),
-               @XmlNs(prefix = "feed", namespaceURI = FEED),
-               @XmlNs(prefix = "admin", namespaceURI = ADMIN) })
-package org.taverna.server.master.exceptions;
-
-import static javax.xml.bind.annotation.XmlNsForm.QUALIFIED;
-import static org.taverna.server.master.common.Namespaces.ADMIN;
-import static org.taverna.server.master.common.Namespaces.FEED;
-import static org.taverna.server.master.common.Namespaces.SERVER;
-import static org.taverna.server.master.common.Namespaces.SERVER_REST;
-import static org.taverna.server.master.common.Namespaces.SERVER_SOAP;
-import static org.taverna.server.master.common.Namespaces.XLINK;
-
-import javax.xml.bind.annotation.XmlNs;
-import javax.xml.bind.annotation.XmlSchema;
-

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/facade/Facade.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/facade/Facade.java 
b/server-webapp/src/main/java/org/taverna/server/master/facade/Facade.java
deleted file mode 100644
index 0015754..0000000
--- a/server-webapp/src/main/java/org/taverna/server/master/facade/Facade.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2010-2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.facade;
-
-import static javax.ws.rs.core.MediaType.TEXT_HTML_TYPE;
-import static javax.ws.rs.core.Response.ok;
-
-import java.io.IOException;
-import java.net.URL;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.springframework.beans.factory.annotation.Required;
-import org.taverna.server.master.utils.Contextualizer;
-
-/**
- * This is a simple class that is used to serve up a file (with a simple
- * substitution applied) as the root of the T2Server webapp.
- * 
- * @author Donal Fellows
- */
-@Path("/")
-public class Facade {
-       private Log log = LogFactory.getLog("Taverna.Server.Utils");
-       private String welcome;
-       private Contextualizer contextualizer;
-
-       /**
-        * Set what resource file to use as the template for the response.
-        * 
-        * @param file
-        *            The file from which to load the data (presumed HTML) to 
serve
-        *            up as the root content.
-        * @throws IOException
-        *             If the file doesn't exist.
-        */
-       public void setFile(String file) throws IOException {
-               URL full = Facade.class.getResource(file);
-               log.info("setting " + full + " as source of root page");
-               this.welcome = IOUtils.toString(full);
-       }
-
-       @Required
-       public void setContextualizer(Contextualizer contextualizer) {
-               this.contextualizer = contextualizer;
-       }
-
-       /**
-        * Serve up some HTML as the root of the service.
-        * 
-        * @param ui
-        *            A reference to how we were accessed by the service.
-        * @return The response, containing the HTML.
-        */
-       @GET
-       @Path("{dummy:.*}")
-       @Produces("text/html")
-       public Response get(@Context UriInfo ui) {
-               return ok(contextualizer.contextualize(ui, welcome), 
TEXT_HTML_TYPE)
-                               .build();
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/facade/package-info.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/facade/package-info.java
 
b/server-webapp/src/main/java/org/taverna/server/master/facade/package-info.java
deleted file mode 100644
index 73c884f..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/facade/package-info.java
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Copyright (C) 2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-/**
- * Simple facade used at the top level of the Taverna Server in order to
- * provide an entry splash page.
- */
-package org.taverna.server.master.facade;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/factories/ConfigurableRunFactory.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/factories/ConfigurableRunFactory.java
 
b/server-webapp/src/main/java/org/taverna/server/master/factories/ConfigurableRunFactory.java
deleted file mode 100644
index 954b6f1..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/factories/ConfigurableRunFactory.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (C) 2012 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.factories;
-
-/**
- * Interface to run factories for the purpose of configuration.
- * 
- * @author Donal Fellows
- */
-public interface ConfigurableRunFactory extends RunFactory {
-       /** Where is the registry? Getter */
-       String getRegistryHost();
-
-       /** Where is the registry? Setter */
-       void setRegistryHost(String host);
-
-       /** Where is the registry? Getter */
-       int getRegistryPort();
-
-       /** Where is the registry? Setter */
-       void setRegistryPort(int port);
-
-       /** How much can be done at once? Getter */
-       int getMaxRuns();
-
-       /** How much can be done at once? Setter */
-       void setMaxRuns(int maxRuns);
-
-       /** How long will things live? Getter */
-       int getDefaultLifetime();
-
-       /** How long will things live? Setter */
-       void setDefaultLifetime(int defaultLifetime);
-
-       /** How often do we probe for info? Getter */
-       int getSleepTime();
-
-       /** How often do we probe for info? Setter */
-       void setSleepTime(int sleepTime);
-
-       /** How long do we allow for actions? Getter */
-       int getWaitSeconds();
-
-       /** How long do we allow for actions? Setter */
-       void setWaitSeconds(int seconds);
-
-       /** How do we start the workflow engine? Getter */
-       String getExecuteWorkflowScript();
-
-       /** How do we start the workflow engine? Setter */
-       void setExecuteWorkflowScript(String executeWorkflowScript);
-
-       /** How do we start the file system access process? Getter */
-       String getServerWorkerJar();
-
-       /** How do we start the file system access process? Setter */
-       void setServerWorkerJar(String serverWorkerJar);
-
-       /**
-        * How do we start the file system access process? Extra arguments to 
pass.
-        * Getter
-        */
-       String[] getExtraArguments();
-
-       /**
-        * How do we start the file system access process? Extra arguments to 
pass.
-        * Setter
-        */
-       void setExtraArguments(String[] firstArguments);
-
-       /** Where is Java? Getter */
-       String getJavaBinary();
-
-       /** Where is Java? Setter */
-       void setJavaBinary(String javaBinary);
-
-       /** Where do we get passwords from? Getter */
-       String getPasswordFile();
-
-       /** Where do we get passwords from? Setter */
-       void setPasswordFile(String newValue);
-
-       /** How do we switch users? Getter */
-       String getServerForkerJar();
-
-       /** How do we switch users? Setter */
-       void setServerForkerJar(String newValue);
-
-       /** How many runs have there been? */
-       int getTotalRuns();
-
-       /** How long did the last subprocess startup take? */
-       int getLastStartupCheckCount();
-
-       /** What are the current runs? */
-       String[] getCurrentRunNames();
-
-       /** What is the RMI ID of the factory process? */
-       String getFactoryProcessName();
-
-       /** What was the last observed exit code? */
-       Integer getLastExitCode();
-
-       /** What factory process to use for a particular user? */
-       String[] getFactoryProcessMapping();
-
-       /** How many runs can be operating at once? Setter */
-       void setOperatingLimit(int operatingLimit);
-
-       /** How many runs can be operating at once? Getter */
-       int getOperatingLimit();
-
-       /**
-        * How many runs are actually operating?
-        * 
-        * @throws Exception
-        *             if anything goes wrong
-        */
-       int getOperatingCount() throws Exception;
-
-       /** How do we start the RMI registry process? Getter */
-       String getRmiRegistryJar();
-
-       /** How do we start the RMI registry process? Setter */
-       void setRmiRegistryJar(String rmiRegistryJar);
-
-       boolean getGenerateProvenance();
-
-       void setGenerateProvenance(boolean generateProvenance);
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/factories/ListenerFactory.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/factories/ListenerFactory.java
 
b/server-webapp/src/main/java/org/taverna/server/master/factories/ListenerFactory.java
deleted file mode 100644
index ecc13cd..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/factories/ListenerFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2010 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.factories;
-
-import java.util.List;
-
-import org.taverna.server.master.exceptions.NoListenerException;
-import org.taverna.server.master.interfaces.Listener;
-import org.taverna.server.master.interfaces.TavernaRun;
-
-/**
- * How to make event listeners of various types that are attached to a workflow
- * instance.
- * 
- * @author Donal Fellows
- */
-public interface ListenerFactory {
-       /**
-        * Make an event listener.
-        * 
-        * @param run
-        *            The workflow instance to attach the event listener to.
-        * @param listenerType
-        *            The type of event listener to create. Must be one of the
-        *            strings returned by {@link #getSupportedListenerTypes()}.
-        * @param configuration
-        *            A configuration document to pass to the listener.
-        * @return The event listener that was created.
-        * @throws NoListenerException
-        *             If the <b>listenerType</b> is unrecognized or the
-        *             <b>configuration</b> is bad in some way.
-        */
-       public Listener makeListener(TavernaRun run, String listenerType,
-                       String configuration) throws NoListenerException;
-
-       /**
-        * What types of listener are supported? Note that we assume that the 
list
-        * of types is the same for all users and all workflow instances.
-        * 
-        * @return A list of supported listener types.
-        */
-       public List<String> getSupportedListenerTypes();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/factories/RunFactory.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/factories/RunFactory.java
 
b/server-webapp/src/main/java/org/taverna/server/master/factories/RunFactory.java
deleted file mode 100644
index eeacad7..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/factories/RunFactory.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2010-2013 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.factories;
-
-import org.taverna.server.master.common.Workflow;
-import org.taverna.server.master.exceptions.NoCreateException;
-import org.taverna.server.master.interfaces.TavernaRun;
-import org.taverna.server.master.utils.UsernamePrincipal;
-
-/**
- * How to construct a Taverna Server Workflow Run.
- * 
- * @author Donal Fellows
- */
-public interface RunFactory {
-       /**
-        * Make a Taverna Server workflow run that is bound to a particular user
-        * (the "creator") and able to run a particular workflow.
-        * 
-        * @param creator
-        *            The user creating the workflow instance.
-        * @param workflow
-        *            The workflow to instantiate
-        * @return An object representing the run.
-        * @throws NoCreateException
-        *             On failure.
-        */
-       TavernaRun create(UsernamePrincipal creator, Workflow workflow)
-                       throws NoCreateException;
-
-       /**
-        * Check whether the factory is permitting runs to actually start 
operating.
-        * 
-        * @return Whether a run should start.
-        */
-       boolean isAllowingRunsToStart();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/factories/package-info.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/factories/package-info.java
 
b/server-webapp/src/main/java/org/taverna/server/master/factories/package-info.java
deleted file mode 100644
index 39b9ac6..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/factories/package-info.java
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Copyright (C) 2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-/**
- * These interfaces define the principal way for the <i>factories</i> of
- * worker classes to be invoked.
- */
-package org.taverna.server.master.factories;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/identity/AuthorityDerivedIDMapper.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/identity/AuthorityDerivedIDMapper.java
 
b/server-webapp/src/main/java/org/taverna/server/master/identity/AuthorityDerivedIDMapper.java
deleted file mode 100644
index 63402ef..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/identity/AuthorityDerivedIDMapper.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.identity;
-
-import static org.taverna.server.master.defaults.Default.AUTHORITY_PREFIX;
-
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.taverna.server.master.interfaces.LocalIdentityMapper;
-import org.taverna.server.master.utils.UsernamePrincipal;
-
-/**
- * Extracts the local user id from the set of Spring Security authorities
- * granted to the current user. This is done by scanning the set of authorities
- * to see if any of them start with the substring listed in the <tt>prefix</tt>
- * property; the username is the rest of the authority string in that case.
- * 
- * @author Donal Fellows
- */
-public class AuthorityDerivedIDMapper implements LocalIdentityMapper {
-       private String prefix = AUTHORITY_PREFIX;
-
-       public String getPrefix() {
-               return prefix;
-       }
-
-       public void setPrefix(String prefix) {
-               this.prefix = prefix;
-       }
-
-       @Override
-       public String getUsernameForPrincipal(UsernamePrincipal user) {
-               Authentication auth = SecurityContextHolder.getContext()
-                               .getAuthentication();
-               if (auth == null || !auth.isAuthenticated())
-                       return null;
-               for (GrantedAuthority authority : auth.getAuthorities()) {
-                       String token = authority.getAuthority();
-                       if (token == null)
-                               continue;
-                       if (token.startsWith(prefix))
-                               return token.substring(prefix.length());
-               }
-               return null;
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/identity/CompositeIDMapper.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/identity/CompositeIDMapper.java
 
b/server-webapp/src/main/java/org/taverna/server/master/identity/CompositeIDMapper.java
deleted file mode 100644
index b5fcd5a..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/identity/CompositeIDMapper.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2010-2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.identity;
-
-import static org.apache.commons.logging.LogFactory.getLog;
-
-import java.util.List;
-import java.util.Map.Entry;
-
-import org.apache.commons.logging.Log;
-import org.springframework.beans.BeansException;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-import org.taverna.server.master.interfaces.LocalIdentityMapper;
-import org.taverna.server.master.utils.UsernamePrincipal;
-
-/**
- * An identity mapper that composes the results from other mappers, using the
- * identity mappers in order until one can provide a non-<tt>null</tt> answer.
- * 
- * @author Donal Fellows.
- */
-public class CompositeIDMapper implements LocalIdentityMapper,
-               ApplicationContextAware {
-       private Log log = getLog("Taverna.Server.IdentityMapper");
-       private List<LocalIdentityMapper> mappers;
-       private ApplicationContext context;
-
-       /**
-        * @param mappers
-        *            The list of mappers to delegate to. Order is significant.
-        */
-       public void setIdentityMappers(List<LocalIdentityMapper> mappers) {
-               this.mappers = mappers;
-       }
-
-       @Override
-       public void setApplicationContext(ApplicationContext applicationContext)
-                       throws BeansException {
-               context = applicationContext;
-       }
-
-       @Override
-       public String getUsernameForPrincipal(UsernamePrincipal user) {
-               if (mappers == null)
-                       return null;
-               for (LocalIdentityMapper m : mappers) {
-                       String u = m.getUsernameForPrincipal(user);
-                       if (u == null)
-                               continue;
-                       for (Entry<String, ? extends LocalIdentityMapper> entry 
: context
-                                       
.getBeansOfType(m.getClass()).entrySet())
-                               if (m == entry.getValue()) {
-                                       log.info("used " + entry.getKey() + " 
LIM to map " + user
-                                                       + " to " + u);
-                                       break;
-                               }
-                       return u;
-               }
-               return null;
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/identity/ConstantIDMapper.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/identity/ConstantIDMapper.java
 
b/server-webapp/src/main/java/org/taverna/server/master/identity/ConstantIDMapper.java
deleted file mode 100644
index e81f926..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/identity/ConstantIDMapper.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2010-2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.identity;
-
-import org.taverna.server.master.interfaces.LocalIdentityMapper;
-import org.taverna.server.master.utils.UsernamePrincipal;
-
-/**
- * A trivial principal to user mapper that always uses the same ID.
- * @author Donal Fellows
- */
-public class ConstantIDMapper implements LocalIdentityMapper {
-       private String id;
-
-       /**
-        * Sets what local user ID all users should be mapped to.
-        * 
-        * @param id
-        *            The local user ID.
-        */
-       public void setConstantId(String id) {
-               this.id = id;
-       }
-
-       @Override
-       public String getUsernameForPrincipal(UsernamePrincipal user) {
-               return id;
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/2c71f9a9/server-webapp/src/main/java/org/taverna/server/master/identity/NameIDMapper.java
----------------------------------------------------------------------
diff --git 
a/server-webapp/src/main/java/org/taverna/server/master/identity/NameIDMapper.java
 
b/server-webapp/src/main/java/org/taverna/server/master/identity/NameIDMapper.java
deleted file mode 100644
index 42a3874..0000000
--- 
a/server-webapp/src/main/java/org/taverna/server/master/identity/NameIDMapper.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2010-2011 The University of Manchester
- * 
- * See the file "LICENSE" for license terms.
- */
-package org.taverna.server.master.identity;
-
-import static java.util.regex.Pattern.compile;
-
-import java.security.Principal;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-import org.taverna.server.master.interfaces.LocalIdentityMapper;
-import org.taverna.server.master.utils.UsernamePrincipal;
-
-/**
- * A trivial identity mapper that just uses the name out of the
- * {@link Principal}, or uses a regular expression to extract it from the 
string
- * representation of the principal.
- * 
- * @author Donal Fellows
- */
-public class NameIDMapper implements LocalIdentityMapper {
-       private Pattern pat;
-
-       /**
-        * @param regexp
-        *            The regular expression to use. The first capturing group
-        *            within the RE will be the result of the extraction.
-        * @throws PatternSyntaxException
-        *             If the pattern is invalid.
-        */
-       public void setRegexp(String regexp) throws PatternSyntaxException {
-               pat = compile(regexp);
-       }
-
-       @Override
-       public String getUsernameForPrincipal(UsernamePrincipal user) {
-               if (pat != null) {
-                       Matcher m = pat.matcher(user.toString());
-                       if (m.find() && m.groupCount() > 0) {
-                               return m.group(1);
-                       }
-                       return null;
-               }
-               return user.getName();
-       }
-}

Reply via email to