You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by re...@apache.org on 2015/03/27 17:22:29 UTC

[16/23] incubator-taverna-workbench-common-activities git commit:

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/servicedescriptions/LocalworkerServiceProvider.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/servicedescriptions/LocalworkerServiceProvider.java b/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/servicedescriptions/LocalworkerServiceProvider.java
deleted file mode 100644
index ddcc4d6..0000000
--- a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/servicedescriptions/LocalworkerServiceProvider.java
+++ /dev/null
@@ -1,302 +0,0 @@
-package net.sf.taverna.t2.activities.localworker.servicedescriptions;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.swing.Icon;
-
-import net.sf.taverna.t2.servicedescriptions.ServiceDescription;
-import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider;
-import org.apache.taverna.workflowmodel.processor.activity.Activity;
-
-import org.apache.log4j.Logger;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class LocalworkerServiceProvider implements ServiceDescriptionProvider {
-
-	private static final String LOCALWORKER_NAMES = "/localworker_names";
-
-	private static final String LOCALWORKER_SERVICE = "Local service";
-
-	private static Logger logger = Logger.getLogger(Logger.class);
-
-	private static final URI providerId = URI
-			.create("http://taverna.sf.net/2010/service-provider/localworker");
-
-	/** Used to deserialize the Activities stored on disk */
-	private ObjectMapper objectMapper = new ObjectMapper();
-
-	private static Map<String, String> localWorkerToScript = new HashMap<String, String>();
-
-	static {
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.ByteArrayToString",
-				"Byte Array To String");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.DecodeBase64",
-				"Decode Base 64 to byte Array");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.EchoList", "Echo List");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.EmitLotsOfStrings",
-				"Create Lots Of Strings");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.EncodeBase64",
-				"Encode Byte Array to Base 64");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.ExtractImageLinks",
-				"Get image URLs from HTTP document");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.FilterStringList",
-				"Filter List of Strings by regex");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.FlattenList",
-				"Flatten List");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.PadNumber",
-				"Pad numeral with leading 0s");
-		localWorkerToScript.put(
-				"org.embl.ebi.escience.scuflworkers.java.RegularExpressionStringList",
-				"Filter list of strings extracting match to a regex");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.SendEmail",
-				"Send an Email");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.SliceList",
-				"Extract Elements from a List");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.SplitByRegex",
-				"Split string into string list by regular expression");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.StringConcat",
-				"Concatenate two strings");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.StringListMerge",
-				"Merge String List to a String");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.StringSetDifference",
-				"String List Difference");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.StringSetIntersection",
-				"String List Intersection");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.StringSetUnion",
-				"String List Union");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.StringStripDuplicates",
-				"Remove String Duplicates");
-		localWorkerToScript.put(
-				"org.embl.ebi.escience.scuflworkers.java.TestAlwaysFailingProcessor",
-				"Always Fails");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.TestSometimesFails",
-				"Sometimes Fails");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.WebImageFetcher",
-				"Get Image From URL");
-		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.WebPageFetcher",
-				"Get Web Page from URL");
-
-		// xml:XPathText
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.xml.XPathTextWorker",
-				"XPath From Text");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.xml.XSLTWorker",
-				"Transform XML");
-		localWorkerToScript.put(
-				"net.sourceforge.taverna.scuflworkers.xml.XSLTWorkerWithParameters",
-				"Transform XML with parameters");
-
-		// biojava
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.biojava.GenBankParserWorker",
-				"Read Gen Bank File");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.biojava.ReverseCompWorker",
-				"Reverse Complement DNA");
-		localWorkerToScript.put(
-				"net.sourceforge.taverna.scuflworkers.biojava.SwissProtParserWorker",
-				"Read Swiss Prot File");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.biojava.TranscribeWorker",
-				"Transcribe DNA");
-
-		// io
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.TextFileReader",
-				"Read Text File");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.TextFileWriter",
-				"Write Text File");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.LocalCommand",
-				"Execute Command Line App");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.FileListByExtTask",
-				"List Files by Extension");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.FileListByRegexTask",
-				"List Files By Regex");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.DataRangeTask",
-				"Select Data Range From File");
-		localWorkerToScript.put(
-				"net.sourceforge.taverna.scuflworkers.io.ConcatenateFileListWorker",
-				"Concatenate Files");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.EnvVariableWorker",
-				"Get Environment Variables as XML");
-
-		// ui
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ui.AskWorker", "Ask");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ui.SelectWorker", "Select");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ui.ChooseWorker", "Choose");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ui.TellWorker", "Tell");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ui.WarnWorker", "Warn");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ui.SelectFileWorker",
-				"Select File");
-		// ncbi
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ncbi.NucleotideFastaWorker",
-				"Get Nucleotide FASTA");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ncbi.NucleotideGBSeqWorker",
-				"Get Nucleotide GBSeq XML");
-		localWorkerToScript.put(
-				"net.sourceforge.taverna.scuflworkers.ncbi.NucleotideINSDSeqXMLWorker",
-				"Get Nucleotide INSDSeq XML");
-		localWorkerToScript.put(
-				"net.sourceforge.taverna.scuflworkers.ncbi.NucleotideTinySeqXMLWorker",
-				"Get Nucleotide TinySeq XML");
-
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ncbi.ProteinFastaWorker",
-				"Get Protein FASTA");
-		localWorkerToScript.put(
-				"net.sourceforge.taverna.scuflworkers.ncbi.ProteinINSDSeqXMLWorker",
-				"Get Protein INSDSeq XML");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ncbi.ProteinGBSeqWorker",
-				"Get Protein GBSeq XML");
-		localWorkerToScript.put(
-				"net.sourceforge.taverna.scuflworkers.ncbi.ProteinTinySeqXMLWorker",
-				"Get Protein TinySeq XML");
-
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ncbi.PubMedESearchWorker",
-				"Search PubMed XML");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ncbi.PubMedEFetchWorker",
-				"Get PubMed XML By PMID");
-
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.jdbc.SQLQueryWorker",
-				"Execute SQL Query");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.jdbc.SQLUpdateWorker",
-				"Execute SQL Update");
-
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.net.BrowseUrl",
-				"Open web browser at a URL");
-		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.net.ExtractHeader",
-				"Extract HTTP Header");
-	}
-
-	public String getName() {
-		return LOCALWORKER_SERVICE;
-	}
-
-	/**
-	 * Use the {@link net.sf.taverna.t2.activities.localworker.translator.LocalworkerTranslator} to
-	 * get a {@link Map} of all the local workers. Use the keys in this map
-	 * to load all the serialized activities from disk by using
-	 * <code> getClass().getResourceAsStream("/" + className) </code> to get
-	 * them and then the {@link ActivityXMLDeserializer} to get the actual {@link Activity}. Create
-	 * the {@link LocalworkerActivityItem} by
-	 * populating them with the correct ports and depths. Sets the category to
-	 * match the T1 version so that a query by category will split the local
-	 * workers in to the correct place.
-	 */
-	public void findServiceDescriptionsAsync(FindServiceDescriptionsCallBack callBack) {
-
-		List<ServiceDescription> items = new ArrayList<ServiceDescription>();
-
-		InputStream inputStream = getClass().getResourceAsStream(LOCALWORKER_NAMES);
-		if (inputStream == null) {
-			logger.error("Could not find resource " + LOCALWORKER_NAMES);
-			return;
-		}
-		BufferedReader inputReader = new BufferedReader(new InputStreamReader(inputStream));
-		String line = "";
-		String category = null;
-		try {
-			while ((line = inputReader.readLine()) != null) {
-				if (line.startsWith("category")) {
-					String[] split = line.split(":");
-					category = split[1];
-				} else {
-					LocalworkerServiceDescription createItem;
-					try {
-						createItem = createItem(line);
-					} catch (ItemCreationException e) {
-						logger.warn("Could not create item for: " + line, e);
-						continue;
-					}
-					createItem.setCategory(category);
-					createItem.setProvider("myGrid");
-					items.add(createItem);
-				}
-			}
-		} catch (IOException e1) {
-			logger.warn("Could not read local worker definitions from " + LOCALWORKER_NAMES);
-		}
-		callBack.partialResults(items);
-		callBack.finished();
-
-	}
-
-    @Override
-    public ServiceDescriptionProvider newInstance() {
-        return new LocalworkerServiceProvider();
-    }
-
-	@SuppressWarnings("serial")
-	public class ItemCreationException extends Exception {
-
-		public ItemCreationException() {
-			super();
-		}
-
-		public ItemCreationException(String message, Throwable cause) {
-			super(message, cause);
-		}
-
-		public ItemCreationException(String message) {
-			super(message);
-		}
-
-		public ItemCreationException(Throwable cause) {
-			super(cause);
-		}
-
-	}
-
-	/**
-	 * Loads the deserialised local worker from disk and creates a {@link LocalworkerActivityItem}
-	 * with the correct ports and script from it
-	 *
-	 * @param line
-	 * @return a LocalWorker with the appropriate Input/Output ports and script
-	 * @throws ItemCreationException
-	 */
-	private LocalworkerServiceDescription createItem(String line) throws ItemCreationException {
-		// get the file from disk
-		String resource = "/" + line + ".json";
-		InputStream resourceAsStream = getClass().getResourceAsStream(resource);
-		if (resourceAsStream == null) {
-			throw new ItemCreationException("Could not find resource " + resource);
-		}
-
-		JsonNode json;
-		try {
-			json = objectMapper.readTree(resourceAsStream);
-		} catch (IOException e) {
-			throw new ItemCreationException("Could not read resource " + resource, e);
-		}
-
-		LocalworkerServiceDescription item = new LocalworkerServiceDescription();
-		item.setJson(json);
-		item.setLocalworkerName(line);
-		item.setOperation(localWorkerToScript.get(line));
-		return item;
-
-	}
-
-	public Icon getIcon() {
-		return LocalworkerActivityIcon.getLocalworkerIcon();
-	}
-
-	@Override
-	public String toString() {
-		return "Local workers provider";
-	}
-
-	public static String getServiceNameFromClassname(String classname) {
-		return (localWorkerToScript.get(classname));
-	}
-
-	public String getId() {
-		return providerId.toString();
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/views/LocalworkerActivityConfigView.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/views/LocalworkerActivityConfigView.java b/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/views/LocalworkerActivityConfigView.java
deleted file mode 100644
index 41c7d25..0000000
--- a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/views/LocalworkerActivityConfigView.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- *
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.activities.localworker.views;
-
-import net.sf.taverna.t2.activities.beanshell.views.BeanshellConfigurationPanel;
-import uk.org.taverna.configuration.app.ApplicationConfiguration;
-import org.apache.taverna.scufl2.api.activity.Activity;
-
-@SuppressWarnings("serial")
-public class LocalworkerActivityConfigView extends BeanshellConfigurationPanel {
-
-	public LocalworkerActivityConfigView(Activity activity, ApplicationConfiguration applicationConfiguration) {
-		super(activity, applicationConfiguration);
-	}
-
-	public boolean isConfigurationChanged() {
-		boolean configurationChanged = super.isConfigurationChanged();
-		if (configurationChanged) {
-			getJson().put("isAltered", true);
-		}
-		return configurationChanged;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/views/LocalworkerActivityContextualView.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/views/LocalworkerActivityContextualView.java b/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/views/LocalworkerActivityContextualView.java
deleted file mode 100644
index 461696d..0000000
--- a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/views/LocalworkerActivityContextualView.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- *
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.activities.localworker.views;
-
-import java.awt.Frame;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.activities.localworker.actions.LocalworkerActivityConfigurationAction;
-import net.sf.taverna.t2.activities.localworker.servicedescriptions.LocalworkerServiceProvider;
-import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry;
-import net.sf.taverna.t2.workbench.activityicons.ActivityIconManager;
-import net.sf.taverna.t2.workbench.configuration.colour.ColourManager;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.ui.actions.activity.HTMLBasedActivityContextualView;
-import uk.org.taverna.configuration.app.ApplicationConfiguration;
-import org.apache.taverna.scufl2.api.activity.Activity;
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-import org.apache.taverna.scufl2.api.port.InputActivityPort;
-import org.apache.taverna.scufl2.api.port.OutputActivityPort;
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-@SuppressWarnings("serial")
-public class LocalworkerActivityContextualView extends HTMLBasedActivityContextualView {
-
-	private final EditManager editManager;
-	private final FileManager fileManager;
-	private final ActivityIconManager activityIconManager;
-	private final ServiceDescriptionRegistry serviceDescriptionRegistry;
-
-	private final ApplicationConfiguration applicationConfiguration;
-
-	public LocalworkerActivityContextualView(Activity activity, EditManager editManager,
-			FileManager fileManager, ColourManager colourManager,
-			ActivityIconManager activityIconManager,
-			ServiceDescriptionRegistry serviceDescriptionRegistry,
-			ApplicationConfiguration applicationConfiguration) {
-		super(activity, colourManager);
-		this.editManager = editManager;
-		this.fileManager = fileManager;
-		this.activityIconManager = activityIconManager;
-		this.serviceDescriptionRegistry = serviceDescriptionRegistry;
-		this.applicationConfiguration = applicationConfiguration;
-	}
-
-	@Override
-	protected String getRawTableRowsHtml() {
-		StringBuilder html = new StringBuilder();
-		html.append("<tr><th>Input Port Name</th><th>Depth</th></tr>");
-		for (InputActivityPort inputActivityPort : getActivity().getInputPorts()) {
-			html.append("<tr><td>" + inputActivityPort.getName() + "</td><td>");
-			html.append(inputActivityPort.getDepth() + "</td></tr>");
-		}
-		html.append("<tr><th>Output Port Name</th><th>Depth</th></tr>");
-		for (OutputActivityPort outputActivityPort : getActivity().getOutputPorts()) {
-			html.append("<tr><td>" + outputActivityPort.getName() + "</td><td>");
-			html.append(outputActivityPort.getDepth() + "</td></tr>");
-		}
-		return html.toString();
-	}
-
-	@Override
-	public String getViewTitle() {
-		String result = "";
-		Configuration configuration = getConfigBean();
-		JsonNode json = configuration.getJson();
-		String workerName = LocalworkerServiceProvider.getServiceNameFromClassname(json.get(
-				"localworkerName").textValue());
-		if (json.get("isAltered").booleanValue()) {
-			result = "Altered local worker service";
-			if ((workerName != null) && !workerName.equals("")) {
-				result += " - originally " + workerName;
-			}
-		} else {
-			result = "Local worker service";
-			if ((workerName != null) && !workerName.equals("")) {
-				result += " - " + workerName;
-			}
-		}
-		return result;
-	}
-
-	@Override
-	public Action getConfigureAction(Frame owner) {
-		return new LocalworkerActivityConfigurationAction(getActivity(), owner, editManager,
-				fileManager, activityIconManager, serviceDescriptionRegistry,
-				applicationConfiguration);
-	}
-
-	@Override
-	public int getPreferredPosition() {
-		return 100;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/views/LocalworkerActivityViewFactory.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/views/LocalworkerActivityViewFactory.java b/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/views/LocalworkerActivityViewFactory.java
deleted file mode 100644
index 3723215..0000000
--- a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/views/LocalworkerActivityViewFactory.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- *
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.activities.localworker.views;
-
-import java.util.Arrays;
-import java.util.List;
-
-import net.sf.taverna.t2.activities.localworker.servicedescriptions.LocalworkerServiceDescription;
-import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry;
-import net.sf.taverna.t2.workbench.activityicons.ActivityIconManager;
-import net.sf.taverna.t2.workbench.configuration.colour.ColourManager;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.ui.views.contextualviews.ContextualView;
-import net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory;
-import uk.org.taverna.configuration.app.ApplicationConfiguration;
-import org.apache.taverna.scufl2.api.activity.Activity;
-
-public class LocalworkerActivityViewFactory implements ContextualViewFactory<Activity> {
-
-	private EditManager editManager;
-	private FileManager fileManager;
-	private ActivityIconManager activityIconManager;
-	private ColourManager colourManager;
-	private ServiceDescriptionRegistry serviceDescriptionRegistry;
-	private ApplicationConfiguration applicationConfiguration;
-
-	public boolean canHandle(Object object) {
-		return object instanceof Activity
-				&& ((Activity) object).getType()
-						.equals(LocalworkerServiceDescription.ACTIVITY_TYPE);
-	}
-
-	public List<ContextualView> getViews(Activity activity) {
-		return Arrays.asList(new ContextualView[] { new LocalworkerActivityContextualView(activity,
-				editManager, fileManager, colourManager, activityIconManager,
-				serviceDescriptionRegistry, applicationConfiguration) });
-	}
-
-	public void setEditManager(EditManager editManager) {
-		this.editManager = editManager;
-	}
-
-	public void setFileManager(FileManager fileManager) {
-		this.fileManager = fileManager;
-	}
-
-	public void setActivityIconManager(ActivityIconManager activityIconManager) {
-		this.activityIconManager = activityIconManager;
-	}
-
-	public void setColourManager(ColourManager colourManager) {
-		this.colourManager = colourManager;
-	}
-
-	public void setServiceDescriptionRegistry(ServiceDescriptionRegistry serviceDescriptionRegistry) {
-		this.serviceDescriptionRegistry = serviceDescriptionRegistry;
-	}
-
-	public void setApplicationConfiguration(ApplicationConfiguration applicationConfiguration) {
-		this.applicationConfiguration = applicationConfiguration;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/actions/LocalworkerActivityConfigurationAction.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/actions/LocalworkerActivityConfigurationAction.java b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/actions/LocalworkerActivityConfigurationAction.java
new file mode 100644
index 0000000..d141ace
--- /dev/null
+++ b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/actions/LocalworkerActivityConfigurationAction.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (C) 2007 The University of Manchester
+ *
+ *  Modifications to the initial code base are copyright of their
+ *  respective authors, or their employers as appropriate.
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public License
+ *  as published by the Free Software Foundation; either version 2.1 of
+ *  the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful, but
+ *  WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ ******************************************************************************/
+package org.apache.taverna.activities.localworker.actions;
+
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+
+import javax.swing.Action;
+import javax.swing.JOptionPane;
+
+import org.apache.taverna.activities.localworker.views.LocalworkerActivityConfigView;
+import org.apache.taverna.servicedescriptions.ServiceDescriptionRegistry;
+import org.apache.taverna.workbench.activityicons.ActivityIconManager;
+import org.apache.taverna.workbench.edits.EditManager;
+import org.apache.taverna.workbench.file.FileManager;
+import org.apache.taverna.workbench.ui.actions.activity.ActivityConfigurationAction;
+import org.apache.taverna.workbench.ui.views.contextualviews.activity.ActivityConfigurationDialog;
+import uk.org.taverna.configuration.app.ApplicationConfiguration;
+import org.apache.taverna.scufl2.api.activity.Activity;
+import org.apache.taverna.scufl2.api.common.Scufl2Tools;
+import org.apache.taverna.scufl2.api.configurations.Configuration;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+/**
+ * The {@link LocalworkerActivity}s have pre-defined scripts, ports etc in a serialised form on
+ * disk. So if the user wants to change them they have to do so at own risk.
+ *
+ * @author Ian Dunlop
+ */
+@SuppressWarnings("serial")
+public class LocalworkerActivityConfigurationAction extends ActivityConfigurationAction {
+
+	public static final String EDIT_LOCALWORKER_SCRIPT = "Edit beanshell script";
+
+	private final EditManager editManager;
+
+	private final FileManager fileManager;
+
+	private final ApplicationConfiguration applicationConfiguration;
+
+	private Scufl2Tools scufl2Tools = new Scufl2Tools();
+
+	public LocalworkerActivityConfigurationAction(Activity activity, Frame owner,
+			EditManager editManager, FileManager fileManager,
+			ActivityIconManager activityIconManager,
+			ServiceDescriptionRegistry serviceDescriptionRegistry,
+			ApplicationConfiguration applicationConfiguration) {
+		super(activity, activityIconManager, serviceDescriptionRegistry);
+		this.editManager = editManager;
+		this.fileManager = fileManager;
+		this.applicationConfiguration = applicationConfiguration;
+		putValue(Action.NAME, EDIT_LOCALWORKER_SCRIPT);
+	}
+
+	/**
+	 * If the localworker has not been changed it pops up a {@link JOptionPane} warning the user
+	 * that they change things at their own risk. Otherwise just show the config view
+	 */
+	public void actionPerformed(ActionEvent e) {
+		Object[] options = { "Continue", "Cancel" };
+		Configuration configuration = scufl2Tools.configurationFor(activity, activity.getParent());
+		JsonNode json = configuration.getJson();
+		if (!json.get("isAltered").booleanValue()) {
+			int n = JOptionPane
+					.showOptionDialog(
+							null,
+							"Changing the properties of a Local Worker may affect its behaviour. Do you want to continue?",
+							"WARNING", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE,
+							null, // do not use a
+							// custom Icon
+							options, options[0]);
+
+			if (n == 0) {
+				// continue was clicked so prepare for config
+				openDialog();
+			} else {
+				// do nothing
+			}
+		} else {
+			openDialog();
+		}
+	}
+
+	private void openDialog() {
+		ActivityConfigurationDialog currentDialog = ActivityConfigurationAction
+				.getDialog(getActivity());
+		if (currentDialog != null) {
+			currentDialog.toFront();
+			return;
+		}
+		final LocalworkerActivityConfigView localworkerConfigView = new LocalworkerActivityConfigView(
+				getActivity(), applicationConfiguration);
+		final ActivityConfigurationDialog dialog = new ActivityConfigurationDialog(getActivity(),
+				localworkerConfigView, editManager);
+		ActivityConfigurationAction.setDialog(getActivity(), dialog, fileManager);
+
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/menu/ConfigureLocalworkerMenuAction.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/menu/ConfigureLocalworkerMenuAction.java b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/menu/ConfigureLocalworkerMenuAction.java
new file mode 100644
index 0000000..f344dd6
--- /dev/null
+++ b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/menu/ConfigureLocalworkerMenuAction.java
@@ -0,0 +1,62 @@
+package org.apache.taverna.activities.localworker.menu;
+
+import javax.swing.Action;
+
+import uk.org.taverna.configuration.app.ApplicationConfiguration;
+
+import org.apache.taverna.activities.beanshell.actions.BeanshellActivityConfigurationAction;
+import org.apache.taverna.activities.localworker.actions.LocalworkerActivityConfigurationAction;
+import org.apache.taverna.activities.localworker.servicedescriptions.LocalworkerServiceDescription;
+import org.apache.taverna.servicedescriptions.ServiceDescriptionRegistry;
+import org.apache.taverna.ui.menu.ContextualMenuComponent;
+import org.apache.taverna.ui.menu.MenuComponent;
+import org.apache.taverna.workbench.activityicons.ActivityIconManager;
+import org.apache.taverna.workbench.activitytools.AbstractConfigureActivityMenuAction;
+import org.apache.taverna.workbench.edits.EditManager;
+import org.apache.taverna.workbench.file.FileManager;
+
+public class ConfigureLocalworkerMenuAction extends AbstractConfigureActivityMenuAction implements
+		MenuComponent, ContextualMenuComponent {
+
+	private EditManager editManager;
+	private FileManager fileManager;
+	private ActivityIconManager activityIconManager;
+	private ServiceDescriptionRegistry serviceDescriptionRegistry;
+	private ApplicationConfiguration applicationConfiguration;
+
+	public ConfigureLocalworkerMenuAction() {
+		super(LocalworkerServiceDescription.ACTIVITY_TYPE);
+	}
+
+	@Override
+	protected Action createAction() {
+		Action result = null;
+		result = new LocalworkerActivityConfigurationAction(findActivity(), getParentFrame(),
+				editManager, fileManager, activityIconManager, serviceDescriptionRegistry,
+				applicationConfiguration);
+		result.putValue(Action.NAME, BeanshellActivityConfigurationAction.EDIT_BEANSHELL_SCRIPT);
+		addMenuDots(result);
+		return result;
+	}
+
+	public void setEditManager(EditManager editManager) {
+		this.editManager = editManager;
+	}
+
+	public void setFileManager(FileManager fileManager) {
+		this.fileManager = fileManager;
+	}
+
+	public void setActivityIconManager(ActivityIconManager activityIconManager) {
+		this.activityIconManager = activityIconManager;
+	}
+
+	public void setServiceDescriptionRegistry(ServiceDescriptionRegistry serviceDescriptionRegistry) {
+		this.serviceDescriptionRegistry = serviceDescriptionRegistry;
+	}
+
+	public void setApplicationConfiguration(ApplicationConfiguration applicationConfiguration) {
+		this.applicationConfiguration = applicationConfiguration;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/servicedescriptions/LocalworkerActivityIcon.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/servicedescriptions/LocalworkerActivityIcon.java b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/servicedescriptions/LocalworkerActivityIcon.java
new file mode 100644
index 0000000..f207aab
--- /dev/null
+++ b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/servicedescriptions/LocalworkerActivityIcon.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (C) 2007 The University of Manchester
+ *
+ *  Modifications to the initial code base are copyright of their
+ *  respective authors, or their employers as appropriate.
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public License
+ *  as published by the Free Software Foundation; either version 2.1 of
+ *  the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful, but
+ *  WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ ******************************************************************************/
+package org.apache.taverna.activities.localworker.servicedescriptions;
+
+import java.net.URI;
+
+import javax.swing.Icon;
+import javax.swing.ImageIcon;
+
+import org.apache.taverna.workbench.activityicons.ActivityIconSPI;
+
+/**
+ *
+ * @author Alex Nenadic
+ * @author David Withers
+ */
+public class LocalworkerActivityIcon implements ActivityIconSPI {
+
+	private static Icon icon;
+
+	public int canProvideIconScore(URI activityType) {
+		if (LocalworkerServiceDescription.ACTIVITY_TYPE.equals(activityType))
+			return DEFAULT_ICON + 1;
+		else
+			return NO_ICON;
+	}
+
+	public Icon getIcon(URI activityType) {
+		return getLocalworkerIcon();
+	}
+
+	public static Icon getLocalworkerIcon() {
+		if (icon == null) {
+			icon = new ImageIcon(LocalworkerActivityIcon.class
+					.getResource("/localworker.png"));
+		}
+		return icon;
+	}
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/servicedescriptions/LocalworkerServiceDescription.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/servicedescriptions/LocalworkerServiceDescription.java b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/servicedescriptions/LocalworkerServiceDescription.java
new file mode 100644
index 0000000..73812d2
--- /dev/null
+++ b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/servicedescriptions/LocalworkerServiceDescription.java
@@ -0,0 +1,105 @@
+package org.apache.taverna.activities.localworker.servicedescriptions;
+
+import java.net.URI;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.swing.Icon;
+
+import org.apache.taverna.servicedescriptions.ServiceDescription;
+import org.apache.taverna.scufl2.api.configurations.Configuration;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+public class LocalworkerServiceDescription extends ServiceDescription {
+
+	public static final URI ACTIVITY_TYPE = URI.create("http://ns.taverna.org.uk/2010/activity/localworker");
+
+	private static final String LOCALWORKER = ServiceDescription.LOCAL_SERVICES;
+
+	private JsonNode json;
+	private String operation;
+	private String category;
+	private String provider;
+	private String localworkerName;
+
+	public JsonNode getJson() {
+		return json;
+	}
+
+	public void setJson(JsonNode json) {
+		this.json = json;
+	}
+
+	public String getOperation() {
+		return operation;
+	}
+
+	public void setOperation(String operation) {
+		this.operation = operation;
+	}
+
+	public String getCategory() {
+		return category;
+	}
+
+	public void setCategory(String category) {
+		this.category = category;
+	}
+
+	public String getProvider() {
+		return provider;
+	}
+
+	public void setProvider(String provider) {
+		this.provider = provider;
+	}
+
+	public String getLocalworkerName() {
+		return localworkerName;
+	}
+
+	public void setLocalworkerName(String localworkerName) {
+		this.localworkerName = localworkerName;
+	}
+
+	public String getType() {
+		return "Localworker";
+	}
+
+	@Override
+	public URI getActivityType() {
+		return ACTIVITY_TYPE;
+	}
+
+	@Override
+	public Configuration getActivityConfiguration() {
+		Configuration configuration = new Configuration();
+		configuration.setType(ACTIVITY_TYPE.resolve("#Config"));
+		configuration.setJson(getJson());
+		return configuration;
+	}
+
+	@Override
+	public Icon getIcon() {
+		return LocalworkerActivityIcon.getLocalworkerIcon();
+	}
+
+	@Override
+	public String getName() {
+		return operation;
+	}
+
+	@Override
+	public List<? extends Comparable<?>> getPath() {
+		List<String> result =
+		Arrays.asList (LOCALWORKER, category);
+		return result;
+	}
+
+	@Override
+	protected List<Object> getIdentifyingData() {
+		return Arrays.<Object>asList(getJson());
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/servicedescriptions/LocalworkerServiceProvider.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/servicedescriptions/LocalworkerServiceProvider.java b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/servicedescriptions/LocalworkerServiceProvider.java
new file mode 100644
index 0000000..86444e9
--- /dev/null
+++ b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/servicedescriptions/LocalworkerServiceProvider.java
@@ -0,0 +1,302 @@
+package org.apache.taverna.activities.localworker.servicedescriptions;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.swing.Icon;
+
+import org.apache.taverna.servicedescriptions.ServiceDescription;
+import org.apache.taverna.servicedescriptions.ServiceDescriptionProvider;
+import org.apache.taverna.workflowmodel.processor.activity.Activity;
+
+import org.apache.log4j.Logger;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+public class LocalworkerServiceProvider implements ServiceDescriptionProvider {
+
+	private static final String LOCALWORKER_NAMES = "/localworker_names";
+
+	private static final String LOCALWORKER_SERVICE = "Local service";
+
+	private static Logger logger = Logger.getLogger(Logger.class);
+
+	private static final URI providerId = URI
+			.create("http://taverna.sf.net/2010/service-provider/localworker");
+
+	/** Used to deserialize the Activities stored on disk */
+	private ObjectMapper objectMapper = new ObjectMapper();
+
+	private static Map<String, String> localWorkerToScript = new HashMap<String, String>();
+
+	static {
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.ByteArrayToString",
+				"Byte Array To String");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.DecodeBase64",
+				"Decode Base 64 to byte Array");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.EchoList", "Echo List");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.EmitLotsOfStrings",
+				"Create Lots Of Strings");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.EncodeBase64",
+				"Encode Byte Array to Base 64");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.ExtractImageLinks",
+				"Get image URLs from HTTP document");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.FilterStringList",
+				"Filter List of Strings by regex");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.FlattenList",
+				"Flatten List");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.PadNumber",
+				"Pad numeral with leading 0s");
+		localWorkerToScript.put(
+				"org.embl.ebi.escience.scuflworkers.java.RegularExpressionStringList",
+				"Filter list of strings extracting match to a regex");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.SendEmail",
+				"Send an Email");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.SliceList",
+				"Extract Elements from a List");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.SplitByRegex",
+				"Split string into string list by regular expression");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.StringConcat",
+				"Concatenate two strings");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.StringListMerge",
+				"Merge String List to a String");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.StringSetDifference",
+				"String List Difference");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.StringSetIntersection",
+				"String List Intersection");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.StringSetUnion",
+				"String List Union");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.StringStripDuplicates",
+				"Remove String Duplicates");
+		localWorkerToScript.put(
+				"org.embl.ebi.escience.scuflworkers.java.TestAlwaysFailingProcessor",
+				"Always Fails");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.TestSometimesFails",
+				"Sometimes Fails");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.WebImageFetcher",
+				"Get Image From URL");
+		localWorkerToScript.put("org.embl.ebi.escience.scuflworkers.java.WebPageFetcher",
+				"Get Web Page from URL");
+
+		// xml:XPathText
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.xml.XPathTextWorker",
+				"XPath From Text");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.xml.XSLTWorker",
+				"Transform XML");
+		localWorkerToScript.put(
+				"net.sourceforge.taverna.scuflworkers.xml.XSLTWorkerWithParameters",
+				"Transform XML with parameters");
+
+		// biojava
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.biojava.GenBankParserWorker",
+				"Read Gen Bank File");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.biojava.ReverseCompWorker",
+				"Reverse Complement DNA");
+		localWorkerToScript.put(
+				"net.sourceforge.taverna.scuflworkers.biojava.SwissProtParserWorker",
+				"Read Swiss Prot File");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.biojava.TranscribeWorker",
+				"Transcribe DNA");
+
+		// io
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.TextFileReader",
+				"Read Text File");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.TextFileWriter",
+				"Write Text File");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.LocalCommand",
+				"Execute Command Line App");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.FileListByExtTask",
+				"List Files by Extension");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.FileListByRegexTask",
+				"List Files By Regex");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.DataRangeTask",
+				"Select Data Range From File");
+		localWorkerToScript.put(
+				"net.sourceforge.taverna.scuflworkers.io.ConcatenateFileListWorker",
+				"Concatenate Files");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.io.EnvVariableWorker",
+				"Get Environment Variables as XML");
+
+		// ui
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ui.AskWorker", "Ask");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ui.SelectWorker", "Select");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ui.ChooseWorker", "Choose");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ui.TellWorker", "Tell");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ui.WarnWorker", "Warn");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ui.SelectFileWorker",
+				"Select File");
+		// ncbi
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ncbi.NucleotideFastaWorker",
+				"Get Nucleotide FASTA");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ncbi.NucleotideGBSeqWorker",
+				"Get Nucleotide GBSeq XML");
+		localWorkerToScript.put(
+				"net.sourceforge.taverna.scuflworkers.ncbi.NucleotideINSDSeqXMLWorker",
+				"Get Nucleotide INSDSeq XML");
+		localWorkerToScript.put(
+				"net.sourceforge.taverna.scuflworkers.ncbi.NucleotideTinySeqXMLWorker",
+				"Get Nucleotide TinySeq XML");
+
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ncbi.ProteinFastaWorker",
+				"Get Protein FASTA");
+		localWorkerToScript.put(
+				"net.sourceforge.taverna.scuflworkers.ncbi.ProteinINSDSeqXMLWorker",
+				"Get Protein INSDSeq XML");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ncbi.ProteinGBSeqWorker",
+				"Get Protein GBSeq XML");
+		localWorkerToScript.put(
+				"net.sourceforge.taverna.scuflworkers.ncbi.ProteinTinySeqXMLWorker",
+				"Get Protein TinySeq XML");
+
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ncbi.PubMedESearchWorker",
+				"Search PubMed XML");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.ncbi.PubMedEFetchWorker",
+				"Get PubMed XML By PMID");
+
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.jdbc.SQLQueryWorker",
+				"Execute SQL Query");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.jdbc.SQLUpdateWorker",
+				"Execute SQL Update");
+
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.net.BrowseUrl",
+				"Open web browser at a URL");
+		localWorkerToScript.put("net.sourceforge.taverna.scuflworkers.net.ExtractHeader",
+				"Extract HTTP Header");
+	}
+
+	public String getName() {
+		return LOCALWORKER_SERVICE;
+	}
+
+	/**
+	 * Use the {@link net.sf.taverna.t2.activities.localworker.translator.LocalworkerTranslator} to
+	 * get a {@link Map} of all the local workers. Use the keys in this map
+	 * to load all the serialized activities from disk by using
+	 * <code> getClass().getResourceAsStream("/" + className) </code> to get
+	 * them and then the {@link ActivityXMLDeserializer} to get the actual {@link Activity}. Create
+	 * the {@link LocalworkerActivityItem} by
+	 * populating them with the correct ports and depths. Sets the category to
+	 * match the T1 version so that a query by category will split the local
+	 * workers in to the correct place.
+	 */
+	public void findServiceDescriptionsAsync(FindServiceDescriptionsCallBack callBack) {
+
+		List<ServiceDescription> items = new ArrayList<ServiceDescription>();
+
+		InputStream inputStream = getClass().getResourceAsStream(LOCALWORKER_NAMES);
+		if (inputStream == null) {
+			logger.error("Could not find resource " + LOCALWORKER_NAMES);
+			return;
+		}
+		BufferedReader inputReader = new BufferedReader(new InputStreamReader(inputStream));
+		String line = "";
+		String category = null;
+		try {
+			while ((line = inputReader.readLine()) != null) {
+				if (line.startsWith("category")) {
+					String[] split = line.split(":");
+					category = split[1];
+				} else {
+					LocalworkerServiceDescription createItem;
+					try {
+						createItem = createItem(line);
+					} catch (ItemCreationException e) {
+						logger.warn("Could not create item for: " + line, e);
+						continue;
+					}
+					createItem.setCategory(category);
+					createItem.setProvider("myGrid");
+					items.add(createItem);
+				}
+			}
+		} catch (IOException e1) {
+			logger.warn("Could not read local worker definitions from " + LOCALWORKER_NAMES);
+		}
+		callBack.partialResults(items);
+		callBack.finished();
+
+	}
+
+    @Override
+    public ServiceDescriptionProvider newInstance() {
+        return new LocalworkerServiceProvider();
+    }
+
+	@SuppressWarnings("serial")
+	public class ItemCreationException extends Exception {
+
+		public ItemCreationException() {
+			super();
+		}
+
+		public ItemCreationException(String message, Throwable cause) {
+			super(message, cause);
+		}
+
+		public ItemCreationException(String message) {
+			super(message);
+		}
+
+		public ItemCreationException(Throwable cause) {
+			super(cause);
+		}
+
+	}
+
+	/**
+	 * Loads the deserialised local worker from disk and creates a {@link LocalworkerActivityItem}
+	 * with the correct ports and script from it
+	 *
+	 * @param line
+	 * @return a LocalWorker with the appropriate Input/Output ports and script
+	 * @throws ItemCreationException
+	 */
+	private LocalworkerServiceDescription createItem(String line) throws ItemCreationException {
+		// get the file from disk
+		String resource = "/" + line + ".json";
+		InputStream resourceAsStream = getClass().getResourceAsStream(resource);
+		if (resourceAsStream == null) {
+			throw new ItemCreationException("Could not find resource " + resource);
+		}
+
+		JsonNode json;
+		try {
+			json = objectMapper.readTree(resourceAsStream);
+		} catch (IOException e) {
+			throw new ItemCreationException("Could not read resource " + resource, e);
+		}
+
+		LocalworkerServiceDescription item = new LocalworkerServiceDescription();
+		item.setJson(json);
+		item.setLocalworkerName(line);
+		item.setOperation(localWorkerToScript.get(line));
+		return item;
+
+	}
+
+	public Icon getIcon() {
+		return LocalworkerActivityIcon.getLocalworkerIcon();
+	}
+
+	@Override
+	public String toString() {
+		return "Local workers provider";
+	}
+
+	public static String getServiceNameFromClassname(String classname) {
+		return (localWorkerToScript.get(classname));
+	}
+
+	public String getId() {
+		return providerId.toString();
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/views/LocalworkerActivityConfigView.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/views/LocalworkerActivityConfigView.java b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/views/LocalworkerActivityConfigView.java
new file mode 100644
index 0000000..7030d46
--- /dev/null
+++ b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/views/LocalworkerActivityConfigView.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (C) 2007 The University of Manchester
+ *
+ *  Modifications to the initial code base are copyright of their
+ *  respective authors, or their employers as appropriate.
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public License
+ *  as published by the Free Software Foundation; either version 2.1 of
+ *  the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful, but
+ *  WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ ******************************************************************************/
+package org.apache.taverna.activities.localworker.views;
+
+import org.apache.taverna.activities.beanshell.views.BeanshellConfigurationPanel;
+import uk.org.taverna.configuration.app.ApplicationConfiguration;
+import org.apache.taverna.scufl2.api.activity.Activity;
+
+@SuppressWarnings("serial")
+public class LocalworkerActivityConfigView extends BeanshellConfigurationPanel {
+
+	public LocalworkerActivityConfigView(Activity activity, ApplicationConfiguration applicationConfiguration) {
+		super(activity, applicationConfiguration);
+	}
+
+	public boolean isConfigurationChanged() {
+		boolean configurationChanged = super.isConfigurationChanged();
+		if (configurationChanged) {
+			getJson().put("isAltered", true);
+		}
+		return configurationChanged;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/views/LocalworkerActivityContextualView.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/views/LocalworkerActivityContextualView.java b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/views/LocalworkerActivityContextualView.java
new file mode 100644
index 0000000..2980c36
--- /dev/null
+++ b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/views/LocalworkerActivityContextualView.java
@@ -0,0 +1,115 @@
+/*******************************************************************************
+ * Copyright (C) 2007 The University of Manchester
+ *
+ *  Modifications to the initial code base are copyright of their
+ *  respective authors, or their employers as appropriate.
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public License
+ *  as published by the Free Software Foundation; either version 2.1 of
+ *  the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful, but
+ *  WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ ******************************************************************************/
+package org.apache.taverna.activities.localworker.views;
+
+import java.awt.Frame;
+
+import javax.swing.Action;
+
+import org.apache.taverna.activities.localworker.actions.LocalworkerActivityConfigurationAction;
+import org.apache.taverna.activities.localworker.servicedescriptions.LocalworkerServiceProvider;
+import org.apache.taverna.servicedescriptions.ServiceDescriptionRegistry;
+import org.apache.taverna.workbench.activityicons.ActivityIconManager;
+import org.apache.taverna.workbench.configuration.colour.ColourManager;
+import org.apache.taverna.workbench.edits.EditManager;
+import org.apache.taverna.workbench.file.FileManager;
+import org.apache.taverna.workbench.ui.actions.activity.HTMLBasedActivityContextualView;
+import uk.org.taverna.configuration.app.ApplicationConfiguration;
+import org.apache.taverna.scufl2.api.activity.Activity;
+import org.apache.taverna.scufl2.api.configurations.Configuration;
+import org.apache.taverna.scufl2.api.port.InputActivityPort;
+import org.apache.taverna.scufl2.api.port.OutputActivityPort;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+@SuppressWarnings("serial")
+public class LocalworkerActivityContextualView extends HTMLBasedActivityContextualView {
+
+	private final EditManager editManager;
+	private final FileManager fileManager;
+	private final ActivityIconManager activityIconManager;
+	private final ServiceDescriptionRegistry serviceDescriptionRegistry;
+
+	private final ApplicationConfiguration applicationConfiguration;
+
+	public LocalworkerActivityContextualView(Activity activity, EditManager editManager,
+			FileManager fileManager, ColourManager colourManager,
+			ActivityIconManager activityIconManager,
+			ServiceDescriptionRegistry serviceDescriptionRegistry,
+			ApplicationConfiguration applicationConfiguration) {
+		super(activity, colourManager);
+		this.editManager = editManager;
+		this.fileManager = fileManager;
+		this.activityIconManager = activityIconManager;
+		this.serviceDescriptionRegistry = serviceDescriptionRegistry;
+		this.applicationConfiguration = applicationConfiguration;
+	}
+
+	@Override
+	protected String getRawTableRowsHtml() {
+		StringBuilder html = new StringBuilder();
+		html.append("<tr><th>Input Port Name</th><th>Depth</th></tr>");
+		for (InputActivityPort inputActivityPort : getActivity().getInputPorts()) {
+			html.append("<tr><td>" + inputActivityPort.getName() + "</td><td>");
+			html.append(inputActivityPort.getDepth() + "</td></tr>");
+		}
+		html.append("<tr><th>Output Port Name</th><th>Depth</th></tr>");
+		for (OutputActivityPort outputActivityPort : getActivity().getOutputPorts()) {
+			html.append("<tr><td>" + outputActivityPort.getName() + "</td><td>");
+			html.append(outputActivityPort.getDepth() + "</td></tr>");
+		}
+		return html.toString();
+	}
+
+	@Override
+	public String getViewTitle() {
+		String result = "";
+		Configuration configuration = getConfigBean();
+		JsonNode json = configuration.getJson();
+		String workerName = LocalworkerServiceProvider.getServiceNameFromClassname(json.get(
+				"localworkerName").textValue());
+		if (json.get("isAltered").booleanValue()) {
+			result = "Altered local worker service";
+			if ((workerName != null) && !workerName.equals("")) {
+				result += " - originally " + workerName;
+			}
+		} else {
+			result = "Local worker service";
+			if ((workerName != null) && !workerName.equals("")) {
+				result += " - " + workerName;
+			}
+		}
+		return result;
+	}
+
+	@Override
+	public Action getConfigureAction(Frame owner) {
+		return new LocalworkerActivityConfigurationAction(getActivity(), owner, editManager,
+				fileManager, activityIconManager, serviceDescriptionRegistry,
+				applicationConfiguration);
+	}
+
+	@Override
+	public int getPreferredPosition() {
+		return 100;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/views/LocalworkerActivityViewFactory.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/views/LocalworkerActivityViewFactory.java b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/views/LocalworkerActivityViewFactory.java
new file mode 100644
index 0000000..ec48292
--- /dev/null
+++ b/taverna-localworker-activity-ui/src/main/java/org/apache/taverna/activities/localworker/views/LocalworkerActivityViewFactory.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * Copyright (C) 2007 The University of Manchester
+ *
+ *  Modifications to the initial code base are copyright of their
+ *  respective authors, or their employers as appropriate.
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public License
+ *  as published by the Free Software Foundation; either version 2.1 of
+ *  the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful, but
+ *  WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ ******************************************************************************/
+package org.apache.taverna.activities.localworker.views;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.taverna.activities.localworker.servicedescriptions.LocalworkerServiceDescription;
+import org.apache.taverna.servicedescriptions.ServiceDescriptionRegistry;
+import org.apache.taverna.workbench.activityicons.ActivityIconManager;
+import org.apache.taverna.workbench.configuration.colour.ColourManager;
+import org.apache.taverna.workbench.edits.EditManager;
+import org.apache.taverna.workbench.file.FileManager;
+import org.apache.taverna.workbench.ui.views.contextualviews.ContextualView;
+import org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory;
+import uk.org.taverna.configuration.app.ApplicationConfiguration;
+import org.apache.taverna.scufl2.api.activity.Activity;
+
+public class LocalworkerActivityViewFactory implements ContextualViewFactory<Activity> {
+
+	private EditManager editManager;
+	private FileManager fileManager;
+	private ActivityIconManager activityIconManager;
+	private ColourManager colourManager;
+	private ServiceDescriptionRegistry serviceDescriptionRegistry;
+	private ApplicationConfiguration applicationConfiguration;
+
+	public boolean canHandle(Object object) {
+		return object instanceof Activity
+				&& ((Activity) object).getType()
+						.equals(LocalworkerServiceDescription.ACTIVITY_TYPE);
+	}
+
+	public List<ContextualView> getViews(Activity activity) {
+		return Arrays.asList(new ContextualView[] { new LocalworkerActivityContextualView(activity,
+				editManager, fileManager, colourManager, activityIconManager,
+				serviceDescriptionRegistry, applicationConfiguration) });
+	}
+
+	public void setEditManager(EditManager editManager) {
+		this.editManager = editManager;
+	}
+
+	public void setFileManager(FileManager fileManager) {
+		this.fileManager = fileManager;
+	}
+
+	public void setActivityIconManager(ActivityIconManager activityIconManager) {
+		this.activityIconManager = activityIconManager;
+	}
+
+	public void setColourManager(ColourManager colourManager) {
+		this.colourManager = colourManager;
+	}
+
+	public void setServiceDescriptionRegistry(ServiceDescriptionRegistry serviceDescriptionRegistry) {
+		this.serviceDescriptionRegistry = serviceDescriptionRegistry;
+	}
+
+	public void setApplicationConfiguration(ApplicationConfiguration applicationConfiguration) {
+		this.applicationConfiguration = applicationConfiguration;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider b/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
deleted file mode 100644
index c3c01e0..0000000
--- a/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.activities.localworker.servicedescriptions.LocalworkerServiceProvider

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent b/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
deleted file mode 100644
index 5911ddf..0000000
--- a/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.activities.localworker.menu.ConfigureLocalworkerMenuAction

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI b/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
deleted file mode 100644
index 720a022..0000000
--- a/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.activities.localworker.servicedescriptions.LocalworkerActivityIcon
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory b/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
deleted file mode 100644
index f1d2c0d..0000000
--- a/taverna-localworker-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.activities.localworker.views.LocalworkerActivityViewFactory
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.servicedescriptions.ServiceDescriptionProvider
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.servicedescriptions.ServiceDescriptionProvider b/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.servicedescriptions.ServiceDescriptionProvider
new file mode 100644
index 0000000..7a2e65b
--- /dev/null
+++ b/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.servicedescriptions.ServiceDescriptionProvider
@@ -0,0 +1 @@
+org.apache.taverna.activities.localworker.servicedescriptions.LocalworkerServiceProvider

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent b/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent
new file mode 100644
index 0000000..98f48fe
--- /dev/null
+++ b/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent
@@ -0,0 +1 @@
+org.apache.taverna.activities.localworker.menu.ConfigureLocalworkerMenuAction

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.activityicons.ActivityIconSPI
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.activityicons.ActivityIconSPI b/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.activityicons.ActivityIconSPI
new file mode 100644
index 0000000..990d212
--- /dev/null
+++ b/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.activityicons.ActivityIconSPI
@@ -0,0 +1 @@
+org.apache.taverna.activities.localworker.servicedescriptions.LocalworkerActivityIcon
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory b/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory
new file mode 100644
index 0000000..f1d1fe0
--- /dev/null
+++ b/taverna-localworker-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory
@@ -0,0 +1 @@
+org.apache.taverna.activities.localworker.views.LocalworkerActivityViewFactory
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/resources/META-INF/spring/localworker-activity-ui-context-osgi.xml
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/resources/META-INF/spring/localworker-activity-ui-context-osgi.xml b/taverna-localworker-activity-ui/src/main/resources/META-INF/spring/localworker-activity-ui-context-osgi.xml
index dd4c7a8..a8c3ab7 100644
--- a/taverna-localworker-activity-ui/src/main/resources/META-INF/spring/localworker-activity-ui-context-osgi.xml
+++ b/taverna-localworker-activity-ui/src/main/resources/META-INF/spring/localworker-activity-ui-context-osgi.xml
@@ -6,19 +6,19 @@
                       http://www.springframework.org/schema/osgi
                       http://www.springframework.org/schema/osgi/spring-osgi.xsd">
 
-	<service ref="LocalworkerActivityIcon" interface="net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI" />
+	<service ref="LocalworkerActivityIcon" interface="org.apache.taverna.workbench.activityicons.ActivityIconSPI" />
 
-	<service ref="LocalworkerServiceProvider" interface="net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider" />
+	<service ref="LocalworkerServiceProvider" interface="org.apache.taverna.servicedescriptions.ServiceDescriptionProvider" />
 
 	<service ref="ConfigureLocalworkerMenuAction" auto-export="interfaces" />
 
-	<service ref="LocalworkerActivityViewFactory" interface="net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory" />
+	<service ref="LocalworkerActivityViewFactory" interface="org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory" />
 
-	<reference id="editManager" interface="net.sf.taverna.t2.workbench.edits.EditManager" />
-	<reference id="fileManager" interface="net.sf.taverna.t2.workbench.file.FileManager" />
-	<reference id="activityIconManager" interface="net.sf.taverna.t2.workbench.activityicons.ActivityIconManager" />
-	<reference id="colourManager" interface="net.sf.taverna.t2.workbench.configuration.colour.ColourManager" />
-	<reference id="serviceDescriptionRegistry" interface="net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry" />
+	<reference id="editManager" interface="org.apache.taverna.workbench.edits.EditManager" />
+	<reference id="fileManager" interface="org.apache.taverna.workbench.file.FileManager" />
+	<reference id="activityIconManager" interface="org.apache.taverna.workbench.activityicons.ActivityIconManager" />
+	<reference id="colourManager" interface="org.apache.taverna.workbench.configuration.colour.ColourManager" />
+	<reference id="serviceDescriptionRegistry" interface="org.apache.taverna.servicedescriptions.ServiceDescriptionRegistry" />
 	<reference id="applicationConfiguration" interface="uk.org.taverna.configuration.app.ApplicationConfiguration" />
 
 </beans:beans>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/resources/META-INF/spring/localworker-activity-ui-context.xml
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/resources/META-INF/spring/localworker-activity-ui-context.xml b/taverna-localworker-activity-ui/src/main/resources/META-INF/spring/localworker-activity-ui-context.xml
index edcd6be..4c1bc28 100644
--- a/taverna-localworker-activity-ui/src/main/resources/META-INF/spring/localworker-activity-ui-context.xml
+++ b/taverna-localworker-activity-ui/src/main/resources/META-INF/spring/localworker-activity-ui-context.xml
@@ -3,11 +3,11 @@
 	xsi:schemaLocation="http://www.springframework.org/schema/beans
                       http://www.springframework.org/schema/beans/spring-beans.xsd">
 
-	<bean id="LocalworkerActivityIcon" class="net.sf.taverna.t2.activities.localworker.servicedescriptions.LocalworkerActivityIcon" />
+	<bean id="LocalworkerActivityIcon" class="org.apache.taverna.activities.localworker.servicedescriptions.LocalworkerActivityIcon" />
 
-	<bean id="LocalworkerServiceProvider" class="net.sf.taverna.t2.activities.localworker.servicedescriptions.LocalworkerServiceProvider" />
+	<bean id="LocalworkerServiceProvider" class="org.apache.taverna.activities.localworker.servicedescriptions.LocalworkerServiceProvider" />
 
-	<bean id="ConfigureLocalworkerMenuAction" class="net.sf.taverna.t2.activities.localworker.menu.ConfigureLocalworkerMenuAction">
+	<bean id="ConfigureLocalworkerMenuAction" class="org.apache.taverna.activities.localworker.menu.ConfigureLocalworkerMenuAction">
 			<property name="editManager" ref="editManager" />
 			<property name="fileManager" ref="fileManager" />
 			<property name="activityIconManager" ref="activityIconManager" />
@@ -15,7 +15,7 @@
 			<property name="applicationConfiguration" ref="applicationConfiguration" />
 	</bean>
 
-	<bean id="LocalworkerActivityViewFactory" class="net.sf.taverna.t2.activities.localworker.views.LocalworkerActivityViewFactory">
+	<bean id="LocalworkerActivityViewFactory" class="org.apache.taverna.activities.localworker.views.LocalworkerActivityViewFactory">
 			<property name="editManager" ref="editManager" />
 			<property name="fileManager" ref="fileManager" />
 			<property name="activityIconManager" ref="activityIconManager" />

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.GenBankParserWorker
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.GenBankParserWorker b/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.GenBankParserWorker
index d6c62b2..c491c54 100644
--- a/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.GenBankParserWorker
+++ b/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.GenBankParserWorker
@@ -1,7 +1,7 @@
 <activity xmlns="http://taverna.sf.net/2008/xml/t2flow">
 
 
-<class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap /><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">
+<class>org.apache.taverna.activities.localworker.LocalworkerActivity</class><inputMap /><outputMap /><configBean encoding="xstream"><org.apache.taverna.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">
   <script>import org.biojava.bio.seq.Sequence;
 import org.biojava.bio.seq.SequenceIterator;
 import org.biojava.bio.seq.io.SeqIOTools;
@@ -50,7 +50,7 @@ ps.close();
     <element class="string">uk.org.mygrid.resources:biojava:1.4pre1</element>
   </dependencies>
   <inputs>
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
+    <org.apache.taverna.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
       <handledReferenceSchemes />
       <translatedElementType>java.lang.String</translatedElementType>
       <allowsLiteralValues>true</allowsLiteralValues>
@@ -59,16 +59,16 @@ ps.close();
       <mimeTypes>
         <string>'text/plain'</string>
       </mimeTypes>
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
+    </org.apache.taverna.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
   </inputs>
   <outputs>
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
+    <org.apache.taverna.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
       <granularDepth>0</granularDepth>
       <name>genbankdata</name>
       <depth>0</depth>
       <mimeTypes>
         <string>'text/xml'</string>
       </mimeTypes>
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
+    </org.apache.taverna.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
   </outputs>
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean></activity>
\ No newline at end of file
+</org.apache.taverna.activities.localworker.LocalworkerActivityConfigurationBean></configBean></activity>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.ReverseCompWorker
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.ReverseCompWorker b/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.ReverseCompWorker
index 0044c82..68aba93 100644
--- a/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.ReverseCompWorker
+++ b/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.ReverseCompWorker
@@ -1,4 +1,4 @@
-<activity xmlns="http://taverna.sf.net/2008/xml/t2flow"><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap /><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">
+<activity xmlns="http://taverna.sf.net/2008/xml/t2flow"><class>org.apache.taverna.activities.localworker.LocalworkerActivity</class><inputMap /><outputMap /><configBean encoding="xstream"><org.apache.taverna.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">
   <script>import org.biojava.bio.seq.DNATools;
 import org.biojava.bio.symbol.SymbolList;
 
@@ -19,7 +19,7 @@ revSeq = symL.seqString();
     <element class="string">uk.org.mygrid.resources:biojava:1.4pre1</element>
   </dependencies>
   <inputs>
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
+    <org.apache.taverna.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
       <handledReferenceSchemes />
       <translatedElementType>java.lang.String</translatedElementType>
       <allowsLiteralValues>true</allowsLiteralValues>
@@ -28,16 +28,16 @@ revSeq = symL.seqString();
       <mimeTypes>
         <string>'text/plain'</string>
       </mimeTypes>
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
+    </org.apache.taverna.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
   </inputs>
   <outputs>
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
+    <org.apache.taverna.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
       <granularDepth>0</granularDepth>
       <name>revSeq</name>
       <depth>0</depth>
       <mimeTypes>
         <string>'text/plain'</string>
       </mimeTypes>
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
+    </org.apache.taverna.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
   </outputs>
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean></activity>
\ No newline at end of file
+</org.apache.taverna.activities.localworker.LocalworkerActivityConfigurationBean></configBean></activity>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.SwissProtParserWorker
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.SwissProtParserWorker b/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.SwissProtParserWorker
index 7f64778..60a7e25 100644
--- a/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.SwissProtParserWorker
+++ b/taverna-localworker-activity-ui/src/main/resources/net.sourceforge.taverna.scuflworkers.biojava.SwissProtParserWorker
@@ -1,4 +1,4 @@
-<activity xmlns="http://taverna.sf.net/2008/xml/t2flow"><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap /><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">
+<activity xmlns="http://taverna.sf.net/2008/xml/t2flow"><class>org.apache.taverna.activities.localworker.LocalworkerActivity</class><inputMap /><outputMap /><configBean encoding="xstream"><org.apache.taverna.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">
   <script>import org.biojava.bio.seq.Sequence;
 import org.biojava.bio.seq.SequenceIterator;
 import org.biojava.bio.seq.io.SeqIOTools;
@@ -48,7 +48,7 @@ ps.close();
     <element class="string">uk.org.mygrid.resources:biojava:1.4pre1</element>
   </dependencies>
   <inputs>
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
+    <org.apache.taverna.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
       <handledReferenceSchemes />
       <translatedElementType>java.lang.String</translatedElementType>
       <allowsLiteralValues>true</allowsLiteralValues>
@@ -57,16 +57,16 @@ ps.close();
       <mimeTypes>
         <string>'text/plain</string>
       </mimeTypes>
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
+    </org.apache.taverna.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
   </inputs>
   <outputs>
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
+    <org.apache.taverna.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
       <granularDepth>0</granularDepth>
       <name>results</name>
       <depth>0</depth>
       <mimeTypes>
         <string>'text/plain'</string>
       </mimeTypes>
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
+    </org.apache.taverna.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
   </outputs>
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean></activity>
\ No newline at end of file
+</org.apache.taverna.activities.localworker.LocalworkerActivityConfigurationBean></configBean></activity>
\ No newline at end of file