http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/BiomobyObjectActionHelper.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/BiomobyObjectActionHelper.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/BiomobyObjectActionHelper.java
deleted file mode 100644
index 9ff9d67..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/BiomobyObjectActionHelper.java
+++ /dev/null
@@ -1,787 +0,0 @@
-/*
- * This file is a component of the Taverna project, and is licensed under the
- * GNU LGPL. Copyright Edward Kawas, The BioMoby Project
- */
-package net.sf.taverna.t2.activities.biomoby.actions;
-
-import java.awt.BorderLayout;
-import java.awt.Dimension;
-import java.awt.Frame;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeMap;
-import java.util.TreeSet;
-import java.util.Vector;
-
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JPopupMenu;
-import javax.swing.JProgressBar;
-import javax.swing.JScrollPane;
-import javax.swing.JSeparator;
-import javax.swing.JTree;
-import javax.swing.ToolTipManager;
-import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.MutableTreeNode;
-import javax.swing.tree.TreePath;
-import javax.swing.tree.TreeSelectionModel;
-
-import net.sf.taverna.t2.activities.biomoby.BiomobyObjectActivity;
-import 
net.sf.taverna.t2.activities.biomoby.edits.AddBiomobyConsumingServiceEdit;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workflowmodel.Dataflow;
-import net.sf.taverna.t2.workflowmodel.Edit;
-import net.sf.taverna.t2.workflowmodel.Edits;
-import net.sf.taverna.t2.workflowmodel.OutputPort;
-
-import org.apache.log4j.Logger;
-import org.biomoby.client.CentralImpl;
-import org.biomoby.registry.meta.Registry;
-import org.biomoby.shared.Central;
-import org.biomoby.shared.MobyData;
-import org.biomoby.shared.MobyDataType;
-import org.biomoby.shared.MobyException;
-import org.biomoby.shared.MobyNamespace;
-import org.biomoby.shared.MobyPrimaryDataSet;
-import org.biomoby.shared.MobyPrimaryDataSimple;
-import org.biomoby.shared.MobyService;
-import org.biomoby.shared.data.MobyDataInstance;
-import org.biomoby.shared.data.MobyDataObject;
-import org.biomoby.shared.data.MobyDataObjectSet;
-
-public class BiomobyObjectActionHelper  {
-
-       private static Logger logger = Logger
-       .getLogger(BiomobyObjectActionHelper.class);
-
-       private boolean searchParentTypes = false;
-
-       private OutputPort outputPort = null;
-
-       private MobyNamespace[] namespaces = null;
-
-    private EditManager editManager;
-
-       private final FileManager fileManager;
-
-       public BiomobyObjectActionHelper(boolean searchParentTypes, EditManager 
editManager, FileManager fileManager) {
-               super();
-               this.searchParentTypes = searchParentTypes;
-               this.editManager = editManager;
-               this.fileManager = fileManager;
-       }
-
-       public BiomobyObjectActionHelper(OutputPort outputPort, boolean 
searchParentTypes, EditManager editManager, FileManager fileManager) {
-               super();
-               this.searchParentTypes = searchParentTypes;
-               this.outputPort = outputPort;
-               this.editManager = editManager;
-               this.fileManager = fileManager;
-       }
-
-       public BiomobyObjectActionHelper(EditManager editManager, FileManager 
fileManager) {
-               super();
-               this.editManager = editManager;
-               this.fileManager = fileManager;
-       }
-
-       private class Worker extends Thread {
-               private BiomobyObjectActivity activity;
-
-               private BiomobyObjectActionHelper action;
-
-               private JPanel panel = new JPanel(new BorderLayout());
-
-               private JPanel namespacePanel = new JPanel(new BorderLayout());
-
-               private JProgressBar bar = new JProgressBar();
-
-               private JTree namespaceList = null;
-
-               public Worker(BiomobyObjectActivity activity, 
BiomobyObjectActionHelper object) {
-                       super("Biomoby object action worker");
-                       this.activity = activity;
-                       this.action = object;
-               }
-
-               /*
-                * method to show the progress bar
-                */
-               private void setUpProgressBar(String text) {
-                   bar = new JProgressBar();
-                   bar.setIndeterminate(true);
-                   bar.setValue(0);
-                   bar.setStringPainted(true);
-                   bar.setVisible(true);
-                   bar.setString(text);
-                   if (panel != null){
-                       panel.add(bar, BorderLayout.PAGE_END);
-                       panel.updateUI();
-                   }
-               }
-
-               private void takeDownProgressBar() {
-                   if (panel != null) {
-                       panel.remove(bar);
-                       panel.updateUI();
-                   }
-
-               }
-
-               public JPanel getPanel() {
-                       return this.panel;
-               }
-
-               public void run() {
-                       Central central = activity.getCentral();
-                       // ask if we should restrict query by namespace
-                       // only do this if we dont have an output port
-                       if (action.outputPort == null) {
-                           if (JOptionPane.YES_OPTION ==
-                               JOptionPane.showConfirmDialog(null, "Would you 
like to restrict your search by based upon a namespace?\n" +
-                                               "This can allow you to find 
only those services that operate on a specific kind of data.",
-                                               "Restrict query space", 
JOptionPane.YES_NO_OPTION)) {
-                               // create a JList chooser with a done button 
here
-                               setUpProgressBar("Getting namespaces list");
-                               try {
-                                   namespacePanel = new JPanel(new 
BorderLayout());
-                                   
createNamespaceList(central.getFullNamespaces());
-                                   JButton button = new JButton("Done");
-                                   button.addActionListener(new 
ActionListener(){
-                                       @SuppressWarnings("unchecked")
-                                       public void actionPerformed(
-                                               ActionEvent e) {
-                                           ArrayList<MobyNamespace> chosen = 
new ArrayList<MobyNamespace>();
-                                           TreePath[] paths = 
namespaceList.getSelectionPaths();
-                                           for (TreePath p : paths) {
-                                               if (p.getLastPathComponent() 
instanceof DefaultMutableTreeNode) {
-                                                   DefaultMutableTreeNode node 
= (DefaultMutableTreeNode)p.getLastPathComponent();
-                                                   if (node.isRoot()) {
-                                                       chosen = new 
ArrayList<MobyNamespace>();
-                                                       break;
-                                                   }
-                                                   if (!node.isLeaf()) {
-                                                       // get the children and 
add them to chosen
-                                                       
Enumeration<DefaultMutableTreeNode> children = node.children();
-                                                       while 
(children.hasMoreElements() )
-                                                           chosen.add(new 
MobyNamespace(children.nextElement().toString()));
-                                                   } else {
-                                                       // is a leaf ... add to 
chosen
-                                                       chosen.add(new 
MobyNamespace(node.toString()));
-                                                   }
-                                               }
-                                           }
-                                           // set the namespaces that were 
selected
-                                           setNamespaces(chosen.toArray(new 
MobyNamespace[]{}));
-                                           // get the tree - in a new thread
-                                          Thread t = new Thread(){
-                                           public void run() {
-                                                
namespacePanel.setVisible(false);
-                                                setUpProgressBar("Getting 
BioMOBY details for " + activity.getConfiguration().getServiceName() + " ...");
-                                                getSemanticServiceTree();
-                                           }};
-                                           t.setDaemon(true);
-                                           t.start();
-
-                                       }});
-                                   // add the list and button to the panel
-                                   namespacePanel.add(new 
JScrollPane(namespaceList), BorderLayout.CENTER);
-                                   namespacePanel.add(button, 
BorderLayout.PAGE_END);
-                                   panel.add(namespacePanel, 
BorderLayout.CENTER);
-                                   panel.updateUI();
-                               } catch (MobyException e) {
-                                   logger.error("", e);
-                                   takeDownProgressBar();
-                               }
-                               takeDownProgressBar();
-                               // once done is pressed, insert selected 
namespace into the namespaces array
-                               // show the progress bar
-
-                           } else {
-                               // start our search
-                               setNamespaces(null);
-                               setUpProgressBar("Getting BioMOBY details for " 
+ activity.getConfiguration().getServiceName() + " ...");
-                               getSemanticServiceTree();
-                           }
-                       } else {
-                               // search only for those services that consume 
the correct namespaces
-                               if (this.action != null && 
this.action.getNamespaces() != null) {
-                                       
setNamespaces(this.action.getNamespaces());
-                               } else {
-                                       setNamespaces(null);
-                               }
-                           setUpProgressBar("Getting BioMOBY details for " + 
activity.getConfiguration().getServiceName() + " ...");
-                           // start our search
-                           getSemanticServiceTree();
-                       }
-
-
-               }
-
-               /**
-                * @param central
-                */
-               private void getSemanticServiceTree() {
-                   Central central = activity.getCentral();
-                   MobyDataType object = activity.getMobyObject();
-                   MobyService template = new MobyService("dummy");
-
-                   // strip the lsid portion of the name
-                   String name = object.getName();
-                   if (name.indexOf(":") > 0) {
-                       name = name.substring(name.lastIndexOf(":") + 1);
-                   }
-                   // initialize a data object to pass into the service 
template
-                   Registry mRegistry = new 
Registry(central.getRegistryEndpoint(),central.getRegistryEndpoint(),"http://domain.com/MOBY/Central";);
-                   MobyDataObject data = new MobyDataObject("", mRegistry);
-                   data.setDataType(new MobyDataType(name));
-                   data.setXmlMode(MobyDataInstance.CENTRAL_XML_MODE);
-                   if (action.namespaces != null)
-                       data.setNamespaces(action.namespaces);
-                   // create the nodes for the tree
-                   MutableTreeNode parent = new DefaultMutableTreeNode(name);
-                   MutableTreeNode inputNode = new 
DefaultMutableTreeNode("Feeds into");
-                   MutableTreeNode outputNode = new 
DefaultMutableTreeNode("Produced by");
-
-                   // what services does this object feed into?
-                   template.setInputs(new MobyData[] { data });
-                   template.setCategory("");
-                   MobyService[] services = null;
-                   Set<MobyService> theServices = new TreeSet<MobyService>();
-                   try {
-                       services = central.findService(template, null, true, 
action.searchParentTypes);
-
-                       theServices.addAll(Arrays.asList(services));
-                       MobyDataObjectSet set = new MobyDataObjectSet("");
-                       set.add(data);
-                       template.setInputs(null);
-                       template.setInputs(new MobyData[]{set});
-                       services = central.findService(template, null, true, 
action.searchParentTypes);
-                       theServices.addAll(Arrays.asList(services));
-                   } catch (MobyException e) {
-                       panel.add(new JTree(new String[] { "Error finding 
services",
-                                       "TODO: create a better Error" }), 
BorderLayout.CENTER);
-                       panel.updateUI();
-                       return;
-                   }
-                   createTreeNodes(inputNode, theServices.toArray(new 
MobyService[]{}));
-                   if (inputNode.getChildCount() == 0)
-                       inputNode.insert(new DefaultMutableTreeNode(
-                                       "Object Doesn't Currently Feed Into Any 
Services"), 0);
-
-                   // what services return this object?
-                   template = null;
-                   template = new MobyService("dummy");
-                   template.setCategory("");
-                   template.setOutputs(new MobyData[] { data });
-                   services = null;
-                   theServices = new TreeSet<MobyService>();
-                   try {
-                       services = central.findService(template, null, true, 
action.searchParentTypes);
-                       theServices.addAll(Arrays.asList(services));
-                       MobyDataObjectSet set = new MobyDataObjectSet("");
-                       set.add(data);
-                       template.setOutputs(null);
-                       template.setOutputs(new MobyData[]{set});
-                       services = central.findService(template, null, true, 
action.searchParentTypes);
-                       theServices.addAll(Arrays.asList(services));
-                   } catch (MobyException e) {
-                       panel.add(new JTree(new String[] { "Error finding 
services",
-                                       "TODO: create a better Error" }), 
BorderLayout.CENTER);
-                       panel.updateUI();
-                       return;
-                   }
-                   createTreeNodes(outputNode, theServices.toArray(new 
MobyService[]{}));
-                   if (outputNode.getChildCount() == 0)
-                       outputNode.insert(new DefaultMutableTreeNode(
-                                       "Object Isn't Produced By Any 
Services"), 0);
-                   // what kind of object is this?
-
-                   // set up the nodes
-                   parent.insert(inputNode, 0);
-                   parent.insert(outputNode, 1);
-
-                   // finally return a tree describing the object
-                   final JTree tree = new JTree(parent);
-                   tree.setCellRenderer(new BioMobyObjectTreeCustomRenderer());
-                   ToolTipManager.sharedInstance().registerComponent(tree);
-                   tree.addMouseListener(new MouseListener() {
-                       public void mouseClicked(MouseEvent me) {
-                       }
-
-                       public void mousePressed(MouseEvent me) {
-                               mouseReleased(me);
-                       }
-
-                       public void mouseReleased(MouseEvent me) {
-                               if (me.isPopupTrigger()) // right click, show 
popup menu
-                               {
-                                       TreePath path = 
tree.getPathForLocation(me.getX(), me.getY());
-                                       if (path == null)
-                                               return;
-                                       if (path.getPathCount() == 4) {
-                                               if 
(path.getParentPath().getParentPath().getLastPathComponent()
-                                                               
.toString().equals("Feeds into")) {
-
-                                                       DefaultMutableTreeNode 
node = (DefaultMutableTreeNode) tree
-                                                                       
.getLastSelectedPathComponent();
-                                                       if (node == null)
-                                                               return;
-                                                       final String 
selectedService = node.toString();
-                                                       // ensure that the last 
selected item is a
-                                                       // service!
-                                                       if 
(!selectedService.equals(path.getLastPathComponent().toString()))
-                                                               return;
-                                                       final String 
selectedAuthority = path.getParentPath()
-                                                                       
.getLastPathComponent().toString();
-                                                       final JPopupMenu menu = 
new JPopupMenu();
-                                                       // Create and add a 
menu item for adding to the
-                                                       // item
-                                                       // to the workflow
-                                                       JMenuItem item = new 
JMenuItem("Add service - " + selectedService
-                                                                       + " to 
the workflow?");
-                                                       item
-                                                                       
.setIcon(MobyPanel.getIcon("/Add24.gif"));
-                                                       
item.addActionListener(new ActionListener() {
-                                                               public void 
actionPerformed(ActionEvent ae) {
-
-                                                                       try {
-                                                                               
if (outputPort==null) {
-                                                                               
        outputPort = activity.getOutputPorts().iterator().next();
-                                                                               
}
-                                                                               
        Dataflow currentDataflow = fileManager.getCurrentDataflow();
-                                                                               
        Edit<?> edit = new AddBiomobyConsumingServiceEdit(
-                                                                               
                        currentDataflow, activity,
-                                                                               
                        selectedService,selectedAuthority,outputPort, 
editManager.getEdits());
-                                                                               
        editManager.doDataflowEdit(
-                                                                               
                        currentDataflow, edit);
-
-                                                                               
} catch (Exception e) {
-                                                                               
        logger.error("Could not perform action", e);
-                                                                               
}
-                                                               }
-                                                       });
-                                                       // Create and add a 
menu item for service
-                                                       // details
-                                                       JMenuItem details = new 
JMenuItem("Find out about "
-                                                                       + 
selectedService);
-                                                       details
-                                                                       
.setIcon(MobyPanel.getIcon("/Information24.gif"));
-                                                       
details.addActionListener(new ActionListener() {
-                                                               public void 
actionPerformed(ActionEvent ae) {
-                                                                       // 
Create a frame
-                                                                   Frame frame 
= MobyPanel.CreateFrame("A BioMoby Service Description");
-                                                                   
frame.setSize(getFrameSize());
-                                                                       JPanel 
panel = new MobyPanel(selectedService,"A BioMoby Service Description",
-                                                                               
        createServiceDescription(selectedService,
-                                                                               
                        selectedAuthority, 
activity.getConfiguration().getMobyEndpoint()));
-                                                                       
frame.add(panel);
-                                                                       
frame.pack();
-                                                                       
frame.setVisible(true);
-                                                               }
-
-                                                               
@SuppressWarnings("unchecked")
-                                                               private String 
createServiceDescription(String selectedService,
-                                                                               
String selectedAuthority, String endpoint) {
-                                                                       
StringBuffer sb = new StringBuffer();
-                                                                       String 
newline = System.getProperty("line.separator");
-                                                                       
MobyService service = new MobyService(selectedService);
-                                                                       try {
-                                                                               
Central central = new CentralImpl(endpoint);
-                                                                               
service.setAuthority(selectedAuthority);
-                                                                               
service.setCategory("");
-                                                                               
MobyService[] services = central.findService(service);
-                                                                               
if (services == null || services.length != 1) {
-                                                                               
        return "Couldn't retrieve a description on the BioMoby service '"
-                                                                               
                        + selectedService + "'";
-                                                                               
}
-                                                                               
service = services[0];
-
-                                                                       } catch 
(MobyException e) {
-                                                                               
logger.error("Could not retrieve a description on the BioMoby service "
-                                                                               
                + selectedService, e);
-                                                                               
return "Couldn't retrieve a description on the BioMoby service '"
-                                                                               
                + selectedService + "'";
-                                                                       }
-                                                                       
sb.append("Service Contact: " + newline + "\t"
-                                                                               
        + service.getEmailContact() + newline);
-                                                                       
sb.append("Service Category: " + newline + "\t"
-                                                                               
        + service.getCategory() + newline);
-                                                                       
sb.append("Service Authority: " + newline + "\t"
-                                                                               
        + service.getAuthority() + newline);
-                                                                       
sb.append("Service Type: " + newline + "\t"
-                                                                               
        + service.getType() + newline);
-                                                                       
sb.append("Service Description: " + newline + "\t"
-                                                                               
        + service.getDescription() + newline);
-                                                                       
sb.append("Location of Service: " + newline + "\t"
-                                                                               
        + service.getURL() + newline);
-                                                                       
sb.append("Service Signature RDF Document is located at: "
-                                                                               
        + newline + "\t" + service.getSignatureURL()
-                                                                               
        + newline);
-                                                                       
MobyData[] data = service.getPrimaryInputs();
-                                                                       Vector 
primaryDataSimples = new Vector();
-                                                                       Vector 
primaryDataSets = new Vector();
-                                                                       for 
(int x = 0; x < data.length; x++) {
-                                                                               
if (data[x] instanceof MobyPrimaryDataSimple)
-                                                                               
        primaryDataSimples.add(data[x]);
-                                                                               
else
-                                                                               
        primaryDataSets.add(data[x]);
-                                                                       }
-                                                                       // 
describe inputs simple then
-                                                                       // 
collections
-                                                                       
sb.append("Inputs:" + newline);
-                                                                       if 
(primaryDataSimples.size() == 0) {
-                                                                               
sb.append("\t\tNo Simple input datatypes consumed."
-                                                                               
                + newline);
-                                                                       } else {
-                                                                               
Iterator it = primaryDataSimples.iterator();
-                                                                               
sb
-                                                                               
                .append("\t\tService consumes the following Simple(s):"
-                                                                               
                                + newline);
-                                                                               
while (it.hasNext()) {
-                                                                               
        MobyPrimaryDataSimple simple = (MobyPrimaryDataSimple) it
-                                                                               
                        .next();
-                                                                               
        MobyNamespace[] namespaces = simple.getNamespaces();
-                                                                               
        sb.append("\t\tData type: "
-                                                                               
                        + simple.getDataType().getName() + newline);
-                                                                               
        sb.append("\t\t\tArticle name: " + simple.getName()
-                                                                               
                        + newline);
-                                                                               
        if (namespaces.length == 0) {
-                                                                               
                sb.append("\t\t\tValid Namespaces: ANY"
-                                                                               
                                + newline);
-                                                                               
        } else {
-                                                                               
                sb.append("\t\t\tValid Namespaces: ");
-                                                                               
                for (int x = 0; x < namespaces.length; x++)
-                                                                               
                        sb.append(namespaces[x].getName() + " ");
-                                                                               
                sb.append(newline);
-                                                                               
        }
-                                                                               
}
-                                                                       }
-                                                                       if 
(primaryDataSets.size() == 0) {
-                                                                               
sb.append(newline
-                                                                               
                + "\t\tNo Collection input datatypes consumed."
-                                                                               
                + newline);
-                                                                       } else {
-                                                                               
Iterator it = primaryDataSets.iterator();
-                                                                               
sb
-                                                                               
                .append(newline
-                                                                               
                                + "\t\tService consumes the following 
collection(s) of datatypes:"
-                                                                               
                                + newline);
-                                                                               
while (it.hasNext()) {
-                                                                               
        MobyPrimaryDataSet set = (MobyPrimaryDataSet) it
-                                                                               
                        .next();
-                                                                               
        MobyPrimaryDataSimple simple = null;
-                                                                               
        sb.append("\t\tCollection Name:" + set.getName()
-                                                                               
                        + newline);
-                                                                               
        MobyPrimaryDataSimple[] simples = set.getElements();
-                                                                               
        for (int i = 0; i < simples.length; i++) {
-                                                                               
                simple = simples[i];
-                                                                               
                MobyNamespace[] namespaces = simple
-                                                                               
                                .getNamespaces();
-                                                                               
                // iterate through set and
-                                                                               
                // do
-                                                                               
                // the following
-                                                                               
                sb.append("\t\tData type: "
-                                                                               
                                + simple.getDataType().getName()
-                                                                               
                                + newline);
-                                                                               
                sb.append("\t\t\tArticle name: "
-                                                                               
                                + simple.getName() + newline);
-                                                                               
                if (namespaces.length == 0) {
-                                                                               
                        sb.append("\t\t\tValid Namespaces: ANY"
-                                                                               
                                        + newline);
-                                                                               
                } else {
-                                                                               
                        sb.append("\t\t\tValid Namespaces: ");
-                                                                               
                        for (int x = 0; x < namespaces.length; x++)
-                                                                               
                                sb
-                                                                               
                                                .append(namespaces[x].getName()
-                                                                               
                                                                + " ");
-                                                                               
                        sb.append(newline);
-                                                                               
                }
-                                                                               
        }
-                                                                               
}
-                                                                       }
-                                                                       // 
describe secondary inputs
-                                                                       // 
describe outputs simple then
-                                                                       // 
collections
-                                                                       data = 
service.getPrimaryOutputs();
-                                                                       
primaryDataSimples = new Vector();
-                                                                       
primaryDataSets = new Vector();
-                                                                       for 
(int x = 0; x < data.length; x++) {
-                                                                               
if (data[x] instanceof MobyPrimaryDataSimple)
-                                                                               
        primaryDataSimples.add(data[x]);
-                                                                               
else
-                                                                               
        primaryDataSets.add(data[x]);
-                                                                       }
-                                                                       
sb.append("Outputs:" + newline);
-                                                                       if 
(primaryDataSimples.size() == 0) {
-                                                                               
sb.append("\t\tNo Simple output datatypes produced."
-                                                                               
                + newline);
-                                                                       } else {
-                                                                               
Iterator it = primaryDataSimples.iterator();
-                                                                               
sb
-                                                                               
                .append("\t\tService produces the following Simple(s):"
-                                                                               
                                + newline);
-                                                                               
while (it.hasNext()) {
-                                                                               
        MobyPrimaryDataSimple simple = (MobyPrimaryDataSimple) it
-                                                                               
                        .next();
-                                                                               
        MobyNamespace[] namespaces = simple.getNamespaces();
-                                                                               
        sb.append("\t\tData type: "
-                                                                               
                        + simple.getDataType().getName() + newline);
-                                                                               
        sb.append("\t\t\tArticle name: " + simple.getName()
-                                                                               
                        + newline);
-                                                                               
        if (namespaces.length == 0) {
-                                                                               
                sb.append("\t\t\tValid Namespaces: ANY"
-                                                                               
                                + newline);
-                                                                               
        } else {
-                                                                               
                sb.append("\t\t\tValid Namespaces: ");
-                                                                               
                for (int x = 0; x < namespaces.length; x++)
-                                                                               
                        sb.append(namespaces[x].getName() + " ");
-                                                                               
                sb.append(newline);
-                                                                               
        }
-                                                                               
}
-                                                                       }
-                                                                       if 
(primaryDataSets.size() == 0) {
-                                                                               
sb
-                                                                               
                .append(newline
-                                                                               
                                + "\t\tNo Collection output datatypes produced."
-                                                                               
                                + newline);
-                                                                       } else {
-                                                                               
Iterator it = primaryDataSets.iterator();
-                                                                               
sb
-                                                                               
                .append(newline
-                                                                               
                                + "\t\tService produces the following 
collection(s) of datatypes:"
-                                                                               
                                + newline);
-                                                                               
while (it.hasNext()) {
-                                                                               
        MobyPrimaryDataSet set = (MobyPrimaryDataSet) it
-                                                                               
                        .next();
-                                                                               
        MobyPrimaryDataSimple simple = null;
-                                                                               
        sb.append("\t\tCollection Name:" + set.getName()
-                                                                               
                        + newline);
-                                                                               
        MobyPrimaryDataSimple[] simples = set.getElements();
-                                                                               
        for (int i = 0; i < simples.length; i++) {
-                                                                               
                simple = simples[i];
-                                                                               
                MobyNamespace[] namespaces = simple
-                                                                               
                                .getNamespaces();
-                                                                               
                // iterate through set and
-                                                                               
                // do
-                                                                               
                // the following
-                                                                               
                sb.append("\t\tData type: "
-                                                                               
                                + simple.getDataType().getName()
-                                                                               
                                + newline);
-                                                                               
                sb.append("\t\t\tArticle name: "
-                                                                               
                                + simple.getName() + newline);
-                                                                               
                if (namespaces.length == 0) {
-                                                                               
                        sb.append("\t\t\tValid Namespaces: ANY"
-                                                                               
                                        + newline);
-                                                                               
                } else {
-                                                                               
                        sb.append("\t\t\tValid Namespaces: ");
-                                                                               
                        for (int x = 0; x < namespaces.length; x++)
-                                                                               
                                sb
-                                                                               
                                                .append(namespaces[x].getName()
-                                                                               
                                                                + " ");
-                                                                               
                        sb.append(newline);
-                                                                               
                }
-                                                                               
        }
-                                                                               
}
-                                                                       }
-                                                                       
sb.append((service.isAuthoritative()) ? newline
-                                                                               
        + "The service belongs to this author." + newline
-                                                                               
        : newline
-                                                                               
                        + "The service was wrapped by it's author."
-                                                                               
                        + newline);
-                                                                       return 
sb.toString();
-                                                               }
-                                                       });
-                                                       // add the components 
to the menus
-                                                       menu.add(new 
JLabel("Add to workflow ... ", JLabel.CENTER));
-                                                       menu.add(new 
JSeparator());
-                                                       menu.add(item);
-                                                       menu.add(new 
JSeparator());
-                                                       menu.add(new 
JLabel("Service Details ... ", JLabel.CENTER));
-                                                       menu.add(new 
JSeparator());
-                                                       menu.add(details);
-                                                       // show the window
-                                                       
menu.show(me.getComponent(), me.getX(), me.getY());
-                                               }
-                                       }
-                               }
-                       }
-
-                       public void mouseEntered(MouseEvent me) {
-                       }
-
-                       public void mouseExited(MouseEvent me) {
-                       }
-                   });
-                   
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
-                   panel.add(new JScrollPane(tree), BorderLayout.CENTER);
-                   takeDownProgressBar();
-               }
-
-               private void createNamespaceList(MobyNamespace[] 
fullNamespaces) {
-                   // sort the namespaces alphabetically
-                   DefaultMutableTreeNode root = new 
DefaultMutableTreeNode("ANY");
-                   // assuming that they increment by one ...
-                   TreeMap<String, TreeSet<String>> sorted = new 
TreeMap<String, TreeSet<String>>();
-                   for (MobyNamespace n : fullNamespaces) {
-                       String name = n.getName();
-                       String key = name.toUpperCase().substring(0, 1);
-                       if (sorted.get(key) == null) {
-                           sorted.put(key, new TreeSet<String>());
-                       }
-                       sorted.get(key).add(name);
-                   }
-                   for (String o : sorted.keySet()) {
-                       if (sorted.get(o) == null)
-                           continue;
-                       TreeSet<String> set = sorted.get(o);
-                       String first = set.first().toUpperCase().charAt(0) + "";
-                       DefaultMutableTreeNode node = new 
DefaultMutableTreeNode(first);
-                       for (String s : set) {
-                           node.add(new DefaultMutableTreeNode(s));
-                       }
-                       root.add(node);
-                   }
-                   namespaceList = new JTree(root);
-               }
-       }
-
-       /*
-        * (non-Javadoc)
-        *
-        * @see 
org.embl.ebi.escience.scuflui.processoractions.AbstractProcessorAction#getComponent(org.embl.ebi.escience.scufl.Processor)
-        */
-       public JComponent getComponent(BiomobyObjectActivity activity) {
-
-               // this was done so that for longer requests, something is 
shown visually and the user then wont think that nothing happened.
-               Worker worker = new Worker(activity, this);
-               worker.start();
-               return worker.getPanel();
-       }
-
-       /*
-        * method that processes the services returned by findService and adds 
them
-        * to the TreeNode parentNode, sorted by authority
-        */
-       @SuppressWarnings("unchecked")
-       private void createTreeNodes(MutableTreeNode parentNode, MobyService[] 
services) {
-               HashMap inputHash;
-               inputHash = new HashMap();
-               for (int x = 0; x < services.length; x++) {
-                       DefaultMutableTreeNode authorityNode = null;
-                       if (!inputHash.containsKey(services[x].getAuthority())) 
{
-                               authorityNode = new 
DefaultMutableTreeNode(services[x].getAuthority());
-                       } else {
-                               authorityNode = (DefaultMutableTreeNode) 
inputHash.get(services[x].getAuthority());
-                       }
-                       MobyServiceTreeNode serv = new 
MobyServiceTreeNode(services[x].getName(), services[x]
-                                       .getDescription());
-                       MutableTreeNode temp = new DefaultMutableTreeNode(serv);
-                       DefaultMutableTreeNode objects = new 
DefaultMutableTreeNode("Produces");
-                       // add to this node the MobyObjectTreeNodes that it 
produces!
-                       MobyData[] outputs = services[x].getPrimaryOutputs();
-                       for (int i = 0; i < outputs.length; i++) {
-                               if (outputs[i] instanceof 
MobyPrimaryDataSimple) {
-                                       MobyPrimaryDataSimple simple = 
(MobyPrimaryDataSimple) outputs[i];
-                                       StringBuffer sb = new 
StringBuffer("Namespaces used by this object: ");
-                                       MobyNamespace[] namespaces = 
simple.getNamespaces();
-                                       for (int j = 0; j < namespaces.length; 
j++) {
-                                               
sb.append(namespaces[j].getName() + " ");
-                                       }
-                                       if (namespaces.length == 0)
-                                               sb.append("ANY ");
-                                       MobyObjectTreeNode mobyObjectTreeNode = 
new MobyObjectTreeNode(simple
-                                                       .getDataType().getName()
-                                                       + "('" + 
simple.getName() + "')", sb.toString());
-                                       objects.insert(new 
DefaultMutableTreeNode(mobyObjectTreeNode), objects
-                                                       .getChildCount());
-                               } else {
-                                       // we have a collection
-                                       MobyPrimaryDataSet collection = 
(MobyPrimaryDataSet) outputs[i];
-                                       DefaultMutableTreeNode collectionNode = 
new DefaultMutableTreeNode(
-                                                       "Collection('" + 
collection.getName() + "')");
-                                       objects.insert(collectionNode, 
objects.getChildCount());
-                                       MobyPrimaryDataSimple[] simples = 
collection.getElements();
-                                       for (int j = 0; j < simples.length; 
j++) {
-                                               MobyPrimaryDataSimple simple = 
simples[j];
-                                               StringBuffer sb = new 
StringBuffer("Namespaces used by this object: ");
-                                               MobyNamespace[] namespaces = 
simple.getNamespaces();
-                                               for (int k = 0; k < 
namespaces.length; k++) {
-                                                       
sb.append(namespaces[k].getName() + " ");
-                                               }
-                                               if (namespaces.length == 0)
-                                                       sb.append("ANY ");
-                                               MobyObjectTreeNode 
mobyObjectTreeNode = new MobyObjectTreeNode(simple
-                                                               
.getDataType().getName()
-                                                               + "('" + 
simple.getName() + "')", sb.toString());
-                                               collectionNode.insert(new 
DefaultMutableTreeNode(mobyObjectTreeNode),
-                                                               
collectionNode.getChildCount());
-                                       }
-
-                               }
-                       }
-
-                       temp.insert(objects, temp.getChildCount());
-
-                       authorityNode.insert(temp, 
authorityNode.getChildCount());
-                       inputHash.put(services[x].getAuthority(), 
authorityNode);
-
-               }
-               Set set = inputHash.keySet();
-               SortedSet sortedset = new TreeSet(set);
-               for (Iterator it = sortedset.iterator(); it.hasNext();) {
-                       parentNode.insert((DefaultMutableTreeNode) 
inputHash.get((String) it.next()),
-                                       parentNode.getChildCount());
-               }
-       }
-
-
-       /*
-        * (non-Javadoc)
-        *
-        * @see 
org.embl.ebi.escience.scuflui.processoractions.ProcessorActionSPI#getDescription()
-        */
-       public String getDescription() {
-               return "Moby Object Details";
-       }
-
-       /*
-        *
-        */
-       public ImageIcon getIcon() {
-               return MobyPanel.getIcon("/moby_small.gif");
-       }
-
-       /**
-        * returns the frame size as a dimension for the content pane housing 
this
-        * action
-        */
-       public Dimension getFrameSize() {
-               return new Dimension(450, 450);
-       }
-
-       public void setNamespaces(MobyNamespace[] namespaces) {
-               if (namespaces != null && namespaces.length == 0)
-                       this.namespaces = null;
-               else
-                       this.namespaces = namespaces;
-       }
-       public MobyNamespace[] getNamespaces() {
-               return this.namespaces == null ? new MobyNamespace[]{} : 
this.namespaces;
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/BiomobyScavengerDialog.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/BiomobyScavengerDialog.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/BiomobyScavengerDialog.java
deleted file mode 100644
index 4419bf9..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/BiomobyScavengerDialog.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * This file is a component of the Taverna project, and is licensed  under the
- *  GNU LGPL. Copyright Edward Kawas, The BioMoby Project
- 
******************************************************************************/
-/*
- * This file is a component of the Taverna project,
- * and is licensed under the GNU LGPL.
- * Copyright Edward Kawas, The BioMoby Project
- */
-package net.sf.taverna.t2.activities.biomoby.actions;
-
-import java.awt.GridLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import javax.swing.JComboBox;
-import javax.swing.JPanel;
-import javax.swing.JTextField;
-
-import org.biomoby.registry.meta.Registries;
-import org.biomoby.registry.meta.RegistriesList;
-import org.biomoby.shared.MobyException;
-
-import net.sf.taverna.t2.lang.ui.ShadedLabel;
-
-/**
- * a dialog for helping create scavengers for BioMoby registries that are not
- * the default registry.
- * 
- */
-public class BiomobyScavengerDialog extends JPanel {
-
-       private static final String CUSTOM = "Custom";
-       private static final long serialVersionUID = -57047613557546674L;
-       private JTextField registryEndpoint = new JTextField(
-                       "http://moby.ucalgary.ca/moby/MOBY-Central.pl";);
-       private JTextField registryURI = new JTextField(
-                       "http://moby.ucalgary.ca/MOBY/Central";);
-
-       /**
-        * Default constructor.
-        * 
-        */
-       /**
-        * Default constructor.
-        * 
-        */
-       public BiomobyScavengerDialog() {
-               super();
-               GridLayout layout = new GridLayout(5, 2);
-               setLayout(layout);
-               
-               registryEndpoint.setEnabled(false);
-               registryURI.setEnabled(false);          
-               
-               // a combo box showing known registries
-               final Registries regs = RegistriesList.getInstance();
-               List<String> choices = new 
ArrayList<String>(Arrays.asList(regs.list()));
-               choices.add(CUSTOM);
-               
-               JComboBox regList = new JComboBox(choices.toArray());
-               regList.setToolTipText("A selection will fill text fields 
below");
-               regList.setSelectedItem(Registries.DEFAULT_REGISTRY_SYNONYM);
-               regList.addActionListener(new ActionListener() {
-                       public void actionPerformed(ActionEvent e) {
-                               String contents = (String) ((JComboBox) 
e.getSource())
-                                               .getSelectedItem();
-
-                               if (contents.equals(CUSTOM)) {
-                                       registryEndpoint.setEnabled(true);
-                                       registryURI.setEnabled(true);
-                                       return;
-                               } else {
-                                       registryEndpoint.setEnabled(false);
-                                       registryURI.setEnabled(false);          
                        
-                               }
-                               org.biomoby.registry.meta.Registry theReg = 
null;
-                               try {
-                                       theReg = regs.get(contents);
-                               } catch (MobyException ee) {
-                                       try {
-                                               theReg = regs.get(null);
-                                       } catch (MobyException ee2) {
-
-                                       }
-                               }
-                               if (theReg != null) {
-                                       
registryEndpoint.setText(theReg.getEndpoint());
-                                       
registryURI.setText(theReg.getNamespace());
-
-                               }
-                       }
-               });
-               add(new ShadedLabel("Choose a registry from the list: ",
-                               ShadedLabel.BLUE, true));
-               add(regList);
-               add(new ShadedLabel("Or select '" + CUSTOM + "' to enter your 
own below,", ShadedLabel.BLUE, true));
-               add(new ShadedLabel("", ShadedLabel.BLUE, true));
-               add(new ShadedLabel(
-                               "Location (URL) of your BioMoby central 
registry: ",
-                               ShadedLabel.BLUE, true));
-               registryEndpoint
-                               .setToolTipText("BioMoby Services will be 
retrieved from the endpoint that you specify here!");
-               add(registryEndpoint);
-               add(new ShadedLabel(
-                               "Namespace (URI) of your BioMoby central 
registry: ",
-                               ShadedLabel.BLUE, true));
-               registryURI
-                               .setToolTipText("BioMoby Services will be 
retrieved from the endpoint/URI that you specify here!");
-               add(registryURI);
-               // 
add(Box.createHorizontalGlue());add(Box.createHorizontalGlue());
-               setPreferredSize(this.getPreferredSize());
-               setMinimumSize(this.getPreferredSize());
-               setMaximumSize(this.getPreferredSize());
-
-       }
-
-       /**
-        * 
-        * @return the string representation of the BioMoby Registry endpoint
-        */
-       public String getRegistryEndpoint() {
-               return registryEndpoint.getText();
-       }
-
-       /**
-        * 
-        * @return the string representation of the BioMoby Registry endpoint
-        */
-       public String getRegistryURI() {
-               return registryURI.getText();
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyObjectDetailsAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyObjectDetailsAction.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyObjectDetailsAction.java
deleted file mode 100644
index 803fde3..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyObjectDetailsAction.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA.
- *
- */
-package net.sf.taverna.t2.activities.biomoby.actions;
-
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.Frame;
-import java.awt.event.ActionEvent;
-
-import javax.swing.AbstractAction;
-import javax.swing.JDialog;
-
-import net.sf.taverna.t2.activities.biomoby.BiomobyObjectActivity;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.helper.HelpEnabledDialog;
-
-/**
- * @author Stuart Owen
- *
- */
-@SuppressWarnings("serial")
-public class MobyObjectDetailsAction extends AbstractAction {
-
-       private final BiomobyObjectActivity activity;
-       private final Frame owner;
-       private EditManager editManager;
-
-       private static final String MOBY_OBJECT_DETAILS_ACTION = "Datatype 
registry query";
-       private final FileManager fileManager;
-
-       public MobyObjectDetailsAction(BiomobyObjectActivity activity, Frame 
owner, EditManager editManager, FileManager fileManager) {
-               this.activity = activity;
-               this.owner = owner;
-               this.editManager = editManager;
-               this.fileManager = fileManager;
-               putValue(NAME, MOBY_OBJECT_DETAILS_ACTION);
-
-       }
-
-       /*
-        * (non-Javadoc)
-        *
-        * @see
-        * 
java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-               BiomobyObjectActionHelper helper = new 
BiomobyObjectActionHelper(editManager, fileManager);
-               Dimension size = helper.getFrameSize();
-
-               Component component = helper.getComponent(activity);
-
-               final JDialog dialog = new HelpEnabledDialog(owner, 
helper.getDescription(), false, null);
-               dialog.getContentPane().add(component);
-               dialog.pack();
-       //      dialog.setTitle(helper.getDescription());
-               dialog.setSize(size);
-       //      dialog.setModal(false);
-               dialog.setVisible(true);
-
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyObjectTreeNode.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyObjectTreeNode.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyObjectTreeNode.java
deleted file mode 100644
index f58efc6..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyObjectTreeNode.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * This file is a component of the Taverna project,
- * and is licensed under the GNU LGPL.
- * Copyright Edward Kawas, The BioMoby Project
- */
-package net.sf.taverna.t2.activities.biomoby.actions;
-
-import org.biomoby.shared.MobyNamespace;
-
-public class MobyObjectTreeNode {
-    
-    //  name of the object == node name
-    private String name = "";
-    
-    // description of object == tool tip text
-    private String description = "";
-    
-       private MobyNamespace[] ns = null;
-    /**
-     * 
-     * @param name - the name of the Moby Object
-     * @param description - the description of the Moby Service
-     */
-    public MobyObjectTreeNode(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-    /* 
-     * over-ride the toString method in order to print node values
-     * that make sense.
-     */
-    public String toString() {
-        return name;
-    }
-    
-    public void setNamespaces(MobyNamespace[] namespaces) {
-       if (namespaces != null && namespaces.length == 0)
-               this.ns = null;
-       else
-               this.ns = namespaces;
-    }
-    
-    public MobyNamespace[] getNamespaces() {
-       return this.ns;
-    }
-    
-    public String getDescription() {
-        return this.description;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyPanel.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyPanel.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyPanel.java
deleted file mode 100644
index a2e0a70..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyPanel.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Created on Sep 9, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package net.sf.taverna.t2.activities.biomoby.actions;
-
-import java.awt.BorderLayout;
-import java.awt.Frame;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-
-import javax.swing.ImageIcon;
-
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-
-import net.sf.taverna.t2.lang.ui.DialogTextArea;
-
-/**
- * @author Eddie Kawas
- *
- * 
- */
-public class MobyPanel extends JPanel {
-
-       
-       private static final long serialVersionUID = 1L;
-       private DialogTextArea textArea = null;
-       private String text = "";
-       private String name = "";
-       private JLabel jLabel = new JLabel();
-       
-       /**
-        * This is the default constructor
-        */
-       public MobyPanel(String label, String name, String text) {
-               super(new BorderLayout());
-               jLabel.setText(label);
-               this.text = text;
-               this.name = name;
-               initialize();
-       }
-       
-       public MobyPanel(String label) {
-               super(new BorderLayout());
-               jLabel.setText(label);
-               initialize();
-       }
-       /**
-        * This method initializes this
-        * 
-        * @return void
-        */
-       private void initialize() {
-               this.setSize(450, 450);
-               jLabel.setHorizontalAlignment(JLabel.CENTER);
-               add(jLabel, BorderLayout.NORTH);
-               add(getTextArea(), BorderLayout.CENTER);
-       }
-
-       /**
-        * This method initializes jTextArea    
-        *      
-        * @return DialogTextArea       
-        */    
-       private DialogTextArea getTextArea() {
-               if (textArea == null) {
-                       textArea = new DialogTextArea();
-               }
-               textArea.setLineWrap(true);
-               textArea.setWrapStyleWord(true);
-               textArea.setText(this.text);
-               textArea.setEditable(false);
-               textArea.setEnabled(true);
-               textArea.setAutoscrolls(true);
-               textArea.setCaretPosition(0);
-               return textArea;
-       }
-       
-       public void setText(String text) {
-           this.text = text;
-           if (textArea == null) {
-                       textArea = new DialogTextArea(this.text);
-               }
-           textArea.setText(text);
-       }
-
-    /* (non-Javadoc)
-     * @see org.embl.ebi.escience.scuflui.ScuflUIComponent#getIcon()
-     */
-    public ImageIcon getIcon() {
-       return new ImageIcon(MobyPanel.class.getResource("/moby_small.png"));
-    }
-    
-    /**
-     * 
-     * @param icon a relative path to an icon to get
-     * @return the ImageIcon at icon 
-     */
-    public static ImageIcon getIcon(String icon) {
-       return new ImageIcon(MobyPanel.class.getResource(icon));
-    }
-    
-    public String getName(){
-       if (name==null) return "";
-       else return name;
-    }
-
-       public void onDisplay() {
-               // TODO Auto-generated method stub
-               
-       }
-
-       public void onDispose() {
-               // TODO Auto-generated method stub
-               
-       }
-
-       public static Frame CreateFrame(String title) {
-               // Create a frame
-           Frame frame = new Frame(title);
-           // Add a listener for the close event
-           frame.addWindowListener(new WindowAdapter() {
-               public void windowClosing(WindowEvent evt) {
-                   Frame frame = (Frame)evt.getSource();
-                   // Hide the frame
-                   frame.setVisible(false);
-                   // If the frame is no longer needed, call dispose
-                   frame.dispose();
-               }
-           });
-           return frame;
-       }
-  }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyParserAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyParserAction.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyParserAction.java
deleted file mode 100644
index 865c1f1..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyParserAction.java
+++ /dev/null
@@ -1,70 +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
- * USA.
- *
- */
-package net.sf.taverna.t2.activities.biomoby.actions;
-
-import java.awt.Component;
-import java.awt.Frame;
-import java.awt.event.ActionEvent;
-
-import javax.swing.AbstractAction;
-import javax.swing.JDialog;
-
-import net.sf.taverna.t2.activities.biomoby.BiomobyActivity;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.helper.HelpEnabledDialog;
-
-/**
- * @author Stuart Owen
- *
- */
-@SuppressWarnings("serial")
-public class MobyParserAction extends AbstractAction {
-
-       private final BiomobyActivity activity;
-       private final Frame owner;
-       private EditManager editManager;
-       private final FileManager fileManager;
-
-       public MobyParserAction(BiomobyActivity activity, Frame owner, 
EditManager editManager, FileManager fileManager) {
-               this.activity = activity;
-               this.owner = owner;
-               this.editManager = editManager;
-               this.fileManager = fileManager;
-               putValue(NAME, "Add Biomoby parser");
-
-       }
-       public void actionPerformed(ActionEvent e) {
-               AddParserActionHelper helper = new 
AddParserActionHelper(editManager, fileManager);
-               Component component = helper.getComponent(activity);
-
-               final JDialog dialog = new HelpEnabledDialog(owner, 
helper.getDescription(), false, null);
-               dialog.getContentPane().add(component);
-               dialog.pack();
-//             dialog.setSize(helper.getFrameSize());
-               dialog.setTitle(helper.getDescription());
-//             dialog.setModal(false);
-               dialog.setVisible(true);
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyServiceDetailsAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyServiceDetailsAction.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyServiceDetailsAction.java
deleted file mode 100644
index 5000986..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyServiceDetailsAction.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * This file is a component of the Taverna project, and is licensed  under the
- *  GNU LGPL. Copyright Edward Kawas, The BioMoby Project
- 
******************************************************************************/
-package net.sf.taverna.t2.activities.biomoby.actions;
-
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.Frame;
-import java.awt.event.ActionEvent;
-
-import javax.swing.AbstractAction;
-import javax.swing.JDialog;
-
-import net.sf.taverna.t2.activities.biomoby.BiomobyActivity;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.helper.HelpEnabledDialog;
-
-/**
- * @author Stuart Owen
- *
- */
-@SuppressWarnings("serial")
-public class MobyServiceDetailsAction extends AbstractAction {
-
-       private final BiomobyActivity activity;
-       private final Frame owner;
-       private EditManager editManager;
-
-       private static final String MOBY_SERVICE_DETAILS_ACTION = "Browse 
Biomoby service details";
-       private final FileManager fileManager;
-       public MobyServiceDetailsAction(BiomobyActivity activity, Frame owner, 
EditManager editManager, FileManager fileManager) {
-               this.activity = activity;
-               this.owner = owner;
-               this.editManager = editManager;
-               this.fileManager = fileManager;
-               putValue(NAME, MOBY_SERVICE_DETAILS_ACTION);
-
-       }
-
-       /*
-        * (non-Javadoc)
-        *
-        * @see
-        * 
java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-        */
-       public void actionPerformed(ActionEvent e) {
-
-               BiomobyActionHelper helper = new 
BiomobyActionHelper(editManager, fileManager);
-               Dimension size = helper.getFrameSize();
-
-               Component component = helper.getComponent(activity);
-               final JDialog dialog = new HelpEnabledDialog(owner, 
helper.getDescription(), false, null);
-
-               dialog.getContentPane().add(component);
-               dialog.pack();
-//             dialog.setTitle(helper.getDescription());
-               dialog.setSize(size);
-//             dialog.setModal(false);
-               dialog.setVisible(true);
-
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyServiceTreeNode.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyServiceTreeNode.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyServiceTreeNode.java
deleted file mode 100644
index c957a1f..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/MobyServiceTreeNode.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * This file is a component of the Taverna project,
- * and is licensed under the GNU LGPL.
- * Copyright Edward Kawas, The BioMoby Project
- */
-package net.sf.taverna.t2.activities.biomoby.actions;
-import java.util.ArrayList;
-
-public class MobyServiceTreeNode {
-
-    // name of the service == node name
-    private String name = "";
-    
-    // list of objects that service produces
-    @SuppressWarnings("unused")
-       private ArrayList<MobyObjectTreeNode> mobyObjectTreeNodes = null;
-    
-    // description of object == tool tip text
-    private String description = "";
-    
-
-    /**
-     * 
-     * @param name - the name of the Moby Service
-     * @param description - the description of the Moby Service
-     */
-    public MobyServiceTreeNode(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-    /* 
-     * over-ride the toString method in order to print node values
-     * that make sense.
-     */
-    public String toString() {
-        return name;
-    }
-    
-    public String getDescription() {
-        return this.description;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/PopupThread.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/PopupThread.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/PopupThread.java
deleted file mode 100644
index 0c8b9fc..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/PopupThread.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package net.sf.taverna.t2.activities.biomoby.actions;
-
-import java.awt.Component;
-
-import net.sf.taverna.t2.activities.biomoby.BiomobyObjectActivity;
-
-
-public class PopupThread extends Thread {
-
-       Object object = null;
-
-       BiomobyObjectActivity objectActivity = null;
-
-       BiomobyObjectActionHelper objectAction = null;
-
-       boolean done = false;
-
-       PopupThread(BiomobyObjectActivity bop, BiomobyObjectActionHelper boa) {
-               super("Biomoby popup");
-               this.objectAction = boa;
-               this.objectActivity = bop;
-               setDaemon(true);
-       }
-
-       public void run() {
-               object = objectAction.getComponent(objectActivity);
-               this.done = true;
-       }
-
-       // call after you check if done!
-       public Component getComponent() {
-               return (Component) object;
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/SimpleActionFrame.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/SimpleActionFrame.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/SimpleActionFrame.java
deleted file mode 100644
index a85b50b..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/actions/SimpleActionFrame.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * This file is a component of the Taverna project,
- * and is licensed under the GNU LGPL.
- * Copyright Edward Kawas, The BioMoby Project
- */
-package net.sf.taverna.t2.activities.biomoby.actions;
-
-import java.awt.BorderLayout;
-import java.awt.Component;
-
-import javax.swing.JPanel;
-
-
-/**
- * This class contains some methods that are useful in creating a consistent 
JPanel
- * for displaying information or actions for biomoby services and datatypes.
- * 
- * @author Edward Kawas
- * @author Stuart Owen = initial port from T1 to T2
- * 
- */
-public class SimpleActionFrame extends JPanel {
-
-               private static final long serialVersionUID = 
-6611234116434482238L;
-               
-               
-               private String name = "";
-               public SimpleActionFrame(Component c, String name) {
-                       super(new BorderLayout());
-                       add(c, BorderLayout.CENTER);
-                       
-                       this.name = name;
-               }
-
-               
-
-               public String getName() {
-                       return name;
-               }
-
-               public void onDisplay() {
-                       
-               }
-
-               
-       }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/datatypedescriptions/BiomobyDatatypeDescription.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/datatypedescriptions/BiomobyDatatypeDescription.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/datatypedescriptions/BiomobyDatatypeDescription.java
deleted file mode 100644
index 35df9b8..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/datatypedescriptions/BiomobyDatatypeDescription.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package net.sf.taverna.t2.activities.biomoby.datatypedescriptions;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import javax.swing.Icon;
-
-import net.sf.taverna.t2.activities.biomoby.BiomobyObjectActivity;
-import 
net.sf.taverna.t2.activities.biomoby.BiomobyObjectActivityConfigurationBean;
-import net.sf.taverna.t2.activities.biomoby.query.BiomobyObjectActivityIcon;
-import net.sf.taverna.t2.servicedescriptions.ServiceDescription;
-import net.sf.taverna.t2.workflowmodel.processor.activity.Activity;
-
-public class BiomobyDatatypeDescription extends
-               ServiceDescription<BiomobyObjectActivityConfigurationBean> {
-
-       private String authorityName;
-       private String emailContact;
-       private String datatypeName;
-       private URI lsid;
-       private String parent;
-       private String[] lineage;
-
-       private URI endpoint;
-       private URI namespace;
-
-       @Override
-       public Class<? extends 
Activity<BiomobyObjectActivityConfigurationBean>> getActivityClass() {
-               return BiomobyObjectActivity.class;
-       }
-
-       @Override
-       public BiomobyObjectActivityConfigurationBean 
getActivityConfiguration() {
-               BiomobyObjectActivityConfigurationBean bean = new 
BiomobyObjectActivityConfigurationBean();
-               bean.setAuthorityName(getAuthorityName());
-               bean.setServiceName(getDatatypeName());
-               bean.setMobyEndpoint(getEndpoint().toASCIIString());
-               return bean;
-       }
-
-       public String getAuthorityName() {
-               return authorityName;
-       }
-
-       public void setAuthorityName(String authorityName) {
-               this.authorityName = authorityName;
-       }
-
-       public String getEmailContact() {
-               return emailContact;
-       }
-
-       public void setEmailContact(String emailContact) {
-               this.emailContact = emailContact;
-       }
-
-       public String getDatatypeName() {
-               return datatypeName;
-       }
-
-       public void setDatatypeName(String datatypeName) {
-               this.datatypeName = datatypeName;
-       }
-
-       public URI getLsid() {
-               return lsid;
-       }
-
-       public void setLsid(URI lsid) {
-               this.lsid = lsid;
-       }
-
-       public String getParent() {
-               return parent;
-       }
-
-       public void setParent(String parent) {
-               this.parent = parent;
-       }
-
-       public URI getEndpoint() {
-               return endpoint;
-       }
-
-       public void setEndpoint(URI endpoint) {
-               this.endpoint = endpoint;
-       }
-
-       public URI getNamespace() {
-               return namespace;
-       }
-
-       public void setNamespace(URI namespace) {
-               this.namespace = namespace;
-       }
-
-       public String[] getLineage() {
-               return lineage;
-       }
-
-       public void setLineage(String[] lineage) {
-               this.lineage = lineage;
-       }
-
-       @Override
-       public String getName() {
-               return getDatatypeName();
-       }
-
-       @Override
-       protected List<Object> getIdentifyingData() {
-               return Arrays.<Object> asList(getNamespace(), getEndpoint(), 
getAuthorityName(),
-                               getDatatypeName());
-       }
-
-       @Override
-       public List<String> getPath() {
-               ArrayList<String> list = new ArrayList<String>();
-               list.add("Biomoby @ " + getEndpoint());
-               list.add("MOBY Objects");
-               list.addAll(Arrays.asList(getLineage()));
-               return list;
-       }
-
-       @Override
-       public Icon getIcon() {
-               return new BiomobyObjectActivityIcon().getIcon(new 
BiomobyObjectActivity());
-       }
-
-       @Override
-       public String toString() {
-               return getName();
-       }
-
-       // public Edit getInsertionEdit(Dataflow dataflow, Processor p, 
Activity a) {
-       // if (a instanceof BiomobyObjectActivity) {
-       // return new AddUpstreamObjectEdit(dataflow, p, 
(BiomobyObjectActivity) a);
-       // }
-       // return null;
-       // }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/edits/AddBiomobyCollectionDataTypeEdit.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/edits/AddBiomobyCollectionDataTypeEdit.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/edits/AddBiomobyCollectionDataTypeEdit.java
deleted file mode 100644
index 8e02195..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/edits/AddBiomobyCollectionDataTypeEdit.java
+++ /dev/null
@@ -1,60 +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
- * USA.
- *
- */
-package net.sf.taverna.t2.activities.biomoby.edits;
-
-import net.sf.taverna.t2.activities.biomoby.BiomobyActivity;
-import net.sf.taverna.t2.workflowmodel.Dataflow;
-import net.sf.taverna.t2.workflowmodel.Edits;
-
-/**
- * @author Stuart Owen
- *
- */
-public class AddBiomobyCollectionDataTypeEdit extends
-               AddBiomobyDataTypeEdit {
-
-       private final String theCollectionName;
-
-       /**
-        * @param dataflow
-        * @param activity
-        * @param objectName
-        */
-       public AddBiomobyCollectionDataTypeEdit(Dataflow dataflow,
-                       BiomobyActivity activity, String objectName, String 
theCollectionName, Edits edits) {
-               super(dataflow, activity, objectName, edits);
-               this.theCollectionName = theCollectionName;
-       }
-
-       @Override
-       protected String determineInputPortName(String defaultName,String 
objectName) {
-               return defaultName
-               + "(Collection - '"
-               + (theCollectionName.equals("") ? "MobyCollection"
-                               : theCollectionName)
-               + "')";
-       }
-
-
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/edits/AddBiomobyConsumingServiceEdit.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/edits/AddBiomobyConsumingServiceEdit.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/edits/AddBiomobyConsumingServiceEdit.java
deleted file mode 100644
index e13c208..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/edits/AddBiomobyConsumingServiceEdit.java
+++ /dev/null
@@ -1,236 +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
- * USA.
- *
- */
-package net.sf.taverna.t2.activities.biomoby.edits;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.biomoby.registry.meta.Registry;
-import org.biomoby.shared.MobyDataType;
-
-import net.sf.taverna.t2.activities.biomoby.BiomobyActivity;
-import net.sf.taverna.t2.activities.biomoby.BiomobyActivityConfigurationBean;
-import net.sf.taverna.t2.activities.biomoby.BiomobyObjectActivity;
-import net.sf.taverna.t2.workflowmodel.CompoundEdit;
-import net.sf.taverna.t2.workflowmodel.Dataflow;
-import net.sf.taverna.t2.workflowmodel.Edit;
-import net.sf.taverna.t2.workflowmodel.EditException;
-import net.sf.taverna.t2.workflowmodel.Edits;
-import net.sf.taverna.t2.workflowmodel.EventForwardingOutputPort;
-import net.sf.taverna.t2.workflowmodel.EventHandlingInputPort;
-import net.sf.taverna.t2.workflowmodel.InputPort;
-import net.sf.taverna.t2.workflowmodel.OutputPort;
-import net.sf.taverna.t2.workflowmodel.ProcessorInputPort;
-import net.sf.taverna.t2.workflowmodel.ProcessorOutputPort;
-import net.sf.taverna.t2.workflowmodel.impl.AbstractDataflowEdit;
-import net.sf.taverna.t2.workflowmodel.impl.DataflowImpl;
-import net.sf.taverna.t2.workflowmodel.processor.activity.Activity;
-import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityInputPort;
-import net.sf.taverna.t2.workflowmodel.utils.Tools;
-
-/**
- * @author Stuart Owen
- *
- */
-public class AddBiomobyConsumingServiceEdit extends AbstractDataflowEdit {
-
-       private final BiomobyObjectActivity activity;
-       private final String serviceName;
-       private Edits edits;
-       Edit<?> compoundEdit = null;
-       Edit<?> linkEdit = null;
-       private final String authority;
-       private final OutputPort outputPort;
-
-       /**
-        * @param dataflow
-        */
-       public AddBiomobyConsumingServiceEdit(Dataflow dataflow,
-                       BiomobyObjectActivity activity, String 
serviceName,String authority,OutputPort outputPort, Edits edits) {
-               super(dataflow);
-
-               this.activity = activity;
-               this.serviceName = serviceName;
-               this.authority = authority;
-               this.outputPort = outputPort;
-               this.edits = edits;
-       }
-
-       /*
-        * (non-Javadoc)
-        *
-        * @see
-        * 
net.sf.taverna.t2.workflowmodel.impl.AbstractEdit#doEditAction(java.lang
-        * .Object)
-        */
-       @Override
-       protected void doEditAction(DataflowImpl dataflow) throws EditException 
{
-               String defaultName = serviceName;
-               String name = Tools
-                               .uniqueProcessorName(defaultName, dataflow);
-
-               List<Edit<?>> editList = new ArrayList<Edit<?>>();
-
-               net.sf.taverna.t2.workflowmodel.Processor sinkProcessor = edits
-                               .createProcessor(name);
-
-               BiomobyActivityConfigurationBean bean = new 
BiomobyActivityConfigurationBean();
-               bean.setAuthorityName(authority);
-               bean.setServiceName(serviceName);
-               
bean.setMobyEndpoint(activity.getConfiguration().getMobyEndpoint());
-               BiomobyActivity boActivity = new BiomobyActivity();
-               editList.add(edits.getConfigureActivityEdit(boActivity, bean));
-
-               editList.add(edits.getDefaultDispatchStackEdit(sinkProcessor));
-
-               Edit<?> addActivityToProcessorEdit = edits.getAddActivityEdit(
-                               sinkProcessor, boActivity);
-               editList.add(addActivityToProcessorEdit);
-
-               editList.add(edits.getAddProcessorEdit(dataflow, 
sinkProcessor));
-
-               compoundEdit = new CompoundEdit(editList);
-               compoundEdit.doEdit();
-
-               net.sf.taverna.t2.workflowmodel.Processor sourceProcessor = 
Tools.getProcessorsWithActivityOutputPort(dataflow, 
outputPort).iterator().next();
-
-               List<Edit<?>> linkEditList = new ArrayList<Edit<?>>();
-
-               EventForwardingOutputPort sourcePort = null;
-               //FIXME: there is an assumption here that the processor will 
contain only 1 activity.
-               if (outputPort != null) {
-                       sourcePort = getSourcePort(sourceProcessor, 
sourceProcessor.getActivityList().get(0), outputPort.getName(), linkEditList);
-               }
-               else {
-                       sourcePort = getSourcePort(sourceProcessor, 
sourceProcessor.getActivityList().get(0), 
sourceProcessor.getOutputPorts().get(0).getName(), linkEditList);
-               }
-               // get the input port that isnt called 'input'
-               String inputPortName = "";
-               for (ActivityInputPort aip : 
sinkProcessor.getActivityList().get(0).getInputPorts()) {
-                       if (!aip.getName().equalsIgnoreCase("input")) {
-                               // try to match the datatype to an input port
-                               String dtName = 
activity.getMobyObject().getName();
-                               String sinkDtname = aip.getName();
-                               if (sinkDtname.indexOf("(") > 0)
-                                       sinkDtname = sinkDtname.substring(0, 
sinkDtname.indexOf("("));
-                               // are the datatype names exactly the same?
-                               if (dtName.equals(sinkDtname)) {
-                                       inputPortName = aip.getName();
-                                       break;
-                               }
-                               // check for the name in the datatypes lineage
-                               MobyDataType sinkDt = 
MobyDataType.getDataType(dtName,
-                                               new Registry(
-                                                               
activity.getCentral().getRegistryEndpoint(),
-                                                               
activity.getCentral().getRegistryEndpoint(),
-                                                               
activity.getCentral().getRegistryNamespace())
-                               );
-                               // check the lineage of the sinkdt for dtname
-                               for (MobyDataType lineage : 
sinkDt.getLineage()) {
-                                       if 
(lineage.getName().equals(sinkDtname)) {
-                                               inputPortName = aip.getName();
-                                               break;
-                                       }
-                               }
-                               // are we done?
-                               if (!inputPortName.trim().equals(""))
-                                       break;
-                       }
-               }
-               // if inputPortName is not set, then just pick the first one
-               if (inputPortName.trim().equals("")) {
-                       inputPortName = 
sinkProcessor.getActivityList().get(0).getInputPorts().iterator().next().getName();
-               }
-               EventHandlingInputPort sinkPort = getSinkPort(sinkProcessor, 
boActivity, inputPortName, linkEditList);
-               if (sinkPort==null) {
-                       throw new EditException("No valid input called 
'"+inputPortName+"' found for Biomoby consuming service");
-               }
-               linkEditList.add(Tools
-                               .getCreateAndConnectDatalinkEdit(
-                                               dataflow,
-                                               sourcePort, sinkPort, edits));
-               linkEdit = new CompoundEdit(linkEditList);
-               linkEdit.doEdit();
-       }
-
-       /*
-        * (non-Javadoc)
-        *
-        * @see
-        * net.sf.taverna.t2.workflowmodel.impl.AbstractEdit#undoEditAction(java
-        * .lang.Object)
-        */
-       @Override
-       protected void undoEditAction(DataflowImpl subjectImpl) {
-               if (linkEdit!=null && linkEdit.isApplied())
-                       linkEdit.undo();
-               if (compoundEdit!=null && compoundEdit.isApplied())
-                       compoundEdit.undo();
-       }
-
-       private EventHandlingInputPort getSinkPort(
-                       net.sf.taverna.t2.workflowmodel.Processor processor,
-                       Activity<?> activity, String portName, List<Edit<?>> 
editList) {
-               InputPort activityPort = 
net.sf.taverna.t2.workflowmodel.utils.Tools
-                               .getActivityInputPort(activity, portName);
-               // check if processor port exists
-               EventHandlingInputPort input = 
net.sf.taverna.t2.workflowmodel.utils.Tools
-                               .getProcessorInputPort(processor, activity, 
activityPort);
-               if (input == null) {
-                       // port doesn't exist so create a processor port and 
map it
-                       ProcessorInputPort processorInputPort = edits
-                                       .createProcessorInputPort(processor,
-                                                       activityPort.getName(), 
activityPort.getDepth());
-                       
editList.add(edits.getAddProcessorInputPortEdit(processor,
-                                       processorInputPort));
-                       
editList.add(edits.getAddActivityInputPortMappingEdit(activity,
-                                       activityPort.getName(), 
activityPort.getName()));
-                       input = processorInputPort;
-               }
-               return input;
-       }
-
-       private EventForwardingOutputPort getSourcePort(
-                       net.sf.taverna.t2.workflowmodel.Processor processor,
-                       Activity<?> activity, String portName, List<Edit<?>> 
editList) {
-               OutputPort activityPort = 
net.sf.taverna.t2.workflowmodel.utils.Tools
-                               .getActivityOutputPort(activity, portName);
-               // check if processor port exists
-               EventForwardingOutputPort output = 
net.sf.taverna.t2.workflowmodel.utils.Tools
-                               .getProcessorOutputPort(processor, activity, 
activityPort);
-               if (output == null) {
-                       // port doesn't exist so create a processor port and 
map it
-                       ProcessorOutputPort processorOutputPort = edits
-                                       .createProcessorOutputPort(processor, 
activityPort
-                                                       .getName(), 
activityPort.getDepth(), activityPort
-                                                       .getGranularDepth());
-                       
editList.add(edits.getAddProcessorOutputPortEdit(processor,
-                                       processorOutputPort));
-                       
editList.add(edits.getAddActivityOutputPortMappingEdit(activity,
-                                       activityPort.getName(), 
activityPort.getName()));
-                       output = processorOutputPort;
-               }
-               return output;
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/edits/AddBiomobyDataTypeEdit.java
----------------------------------------------------------------------
diff --git 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/edits/AddBiomobyDataTypeEdit.java
 
b/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/edits/AddBiomobyDataTypeEdit.java
deleted file mode 100644
index e13c264..0000000
--- 
a/taverna-biomoby-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomoby/edits/AddBiomobyDataTypeEdit.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * This file is a component of the Taverna project, and is licensed  under the
- *  GNU LGPL. Copyright Edward Kawas, The BioMoby Project
- 
******************************************************************************/
-package net.sf.taverna.t2.activities.biomoby.edits;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import net.sf.taverna.t2.activities.biomoby.BiomobyActivity;
-import net.sf.taverna.t2.activities.biomoby.BiomobyObjectActivity;
-import 
net.sf.taverna.t2.activities.biomoby.BiomobyObjectActivityConfigurationBean;
-import net.sf.taverna.t2.workflowmodel.CompoundEdit;
-import net.sf.taverna.t2.workflowmodel.Dataflow;
-import net.sf.taverna.t2.workflowmodel.Edit;
-import net.sf.taverna.t2.workflowmodel.EditException;
-import net.sf.taverna.t2.workflowmodel.Edits;
-import net.sf.taverna.t2.workflowmodel.EventForwardingOutputPort;
-import net.sf.taverna.t2.workflowmodel.EventHandlingInputPort;
-import net.sf.taverna.t2.workflowmodel.InputPort;
-import net.sf.taverna.t2.workflowmodel.OutputPort;
-import net.sf.taverna.t2.workflowmodel.ProcessorInputPort;
-import net.sf.taverna.t2.workflowmodel.ProcessorOutputPort;
-import net.sf.taverna.t2.workflowmodel.impl.AbstractDataflowEdit;
-import net.sf.taverna.t2.workflowmodel.impl.DataflowImpl;
-import net.sf.taverna.t2.workflowmodel.processor.activity.Activity;
-import net.sf.taverna.t2.workflowmodel.utils.Tools;
-
-/**
- * @author Stuart Owen
- *
- */
-public class AddBiomobyDataTypeEdit extends AbstractDataflowEdit {
-
-       private final BiomobyActivity activity;
-       private Edits edits;
-       private final String objectName;
-
-       private Edit<?> compoundEdit = null;
-       private Edit<?> linkEdit = null;
-       private Edit<?> upstreamObjectEdit = null;
-
-
-       public AddBiomobyDataTypeEdit(Dataflow dataflow,BiomobyActivity 
activity,String objectName, Edits edits) {
-               super(dataflow);
-               this.activity = activity;
-               this.objectName = objectName;
-               this.edits = edits;
-
-       }
-
-
-
-
-
-       /* (non-Javadoc)
-        * @see 
net.sf.taverna.t2.workflowmodel.impl.AbstractDataflowEdit#doEditAction(net.sf.taverna.t2.workflowmodel.impl.DataflowImpl)
-        */
-       @Override
-       protected void doEditAction(DataflowImpl dataflow) throws EditException 
{
-               List<Edit<?>> editList = new ArrayList<Edit<?>>();
-
-
-               String defaultName = objectName;
-               defaultName = defaultName.split("\\(")[0];
-               String name = Tools.uniqueProcessorName(objectName, dataflow);
-
-               BiomobyObjectActivityConfigurationBean configBean = new 
BiomobyObjectActivityConfigurationBean();
-               configBean.setMobyEndpoint(activity
-                               .getConfiguration()
-                               .getMobyEndpoint());
-               configBean.setAuthorityName("");
-               configBean.setServiceName(defaultName);
-
-
-               net.sf.taverna.t2.workflowmodel.Processor sourceProcessor = 
edits
-                               .createProcessor(name);
-               BiomobyObjectActivity boActivity = new BiomobyObjectActivity();
-               Edit<?> configureActivityEdit = edits
-                               .getConfigureActivityEdit(
-                                               boActivity, configBean);
-               editList.add(configureActivityEdit);
-
-               editList
-                               .add(edits
-                                               
.getDefaultDispatchStackEdit(sourceProcessor));
-
-               Edit<?> addActivityToProcessorEdit = edits
-                               .getAddActivityEdit(
-                                               sourceProcessor,
-                                               boActivity);
-               editList
-                               .add(addActivityToProcessorEdit);
-
-               String inputPortName = 
determineInputPortName(defaultName,objectName);
-
-               editList.add(edits.getAddProcessorEdit(
-                               dataflow,
-                               sourceProcessor));
-
-               compoundEdit = new CompoundEdit(
-                               editList);
-               compoundEdit.doEdit();
-
-               net.sf.taverna.t2.workflowmodel.Processor sinkProcessor = Tools
-                               .getProcessorsWithActivity(
-                                               dataflow,
-                                               activity).iterator()
-                               .next();
-
-               List<Edit<?>> linkEditList = new ArrayList<Edit<?>>();
-               EventHandlingInputPort sinkPort = getSinkPort(
-                               sinkProcessor, activity,
-                               inputPortName, linkEditList);
-               EventForwardingOutputPort sourcePort = getSourcePort(
-                               sourceProcessor, boActivity,
-                               "mobyData", linkEditList);
-
-               linkEditList.add(Tools
-                               .getCreateAndConnectDatalinkEdit(
-                                               dataflow,
-                                               sourcePort, sinkPort, edits));
-               linkEdit = new CompoundEdit(linkEditList);
-               linkEdit.doEdit();
-
-               if (!(defaultName.equalsIgnoreCase("Object")
-                               || defaultName.equalsIgnoreCase("String")
-                || defaultName.equalsIgnoreCase("Integer")
-                || defaultName.equalsIgnoreCase("Float")
-                || defaultName.equalsIgnoreCase("DateTime"))) {
-                       upstreamObjectEdit=new 
AddUpstreamObjectEdit(dataflow,sourceProcessor,boActivity, edits);
-                       upstreamObjectEdit.doEdit();
-
-               }
-       }
-
-       protected String determineInputPortName(String defaultName,String 
objectName) {
-               String inputPortName = objectName
-                               .replaceAll("'", "");
-               if (inputPortName.indexOf("()") > 0)
-                       inputPortName = inputPortName
-                                       .replaceAll("\\(\\)",
-                                                       "\\(_ANON_\\)");
-               return inputPortName;
-       }
-
-       /* (non-Javadoc)
-        * @see 
net.sf.taverna.t2.workflowmodel.impl.AbstractDataflowEdit#undoEditAction(net.sf.taverna.t2.workflowmodel.impl.DataflowImpl)
-        */
-       @Override
-       protected void undoEditAction(DataflowImpl dataflow) {
-               if (linkEdit!=null && linkEdit.isApplied())
-                       linkEdit.undo();
-               if (compoundEdit!=null && compoundEdit.isApplied())
-                       compoundEdit.undo();
-               if (upstreamObjectEdit!=null && upstreamObjectEdit.isApplied()) 
{
-                       upstreamObjectEdit.undo();
-               }
-
-       }
-
-       private EventHandlingInputPort getSinkPort(
-                       net.sf.taverna.t2.workflowmodel.Processor processor,
-                       Activity<?> activity, String portName, List<Edit<?>> 
editList) {
-               InputPort activityPort = 
net.sf.taverna.t2.workflowmodel.utils.Tools
-                               .getActivityInputPort(activity, portName);
-               // check if processor port exists
-               EventHandlingInputPort input = 
net.sf.taverna.t2.workflowmodel.utils.Tools
-                               .getProcessorInputPort(processor, activity, 
activityPort);
-               if (input == null) {
-                       // port doesn't exist so create a processor port and 
map it
-                       ProcessorInputPort processorInputPort = edits
-                                       .createProcessorInputPort(processor,
-                                                       activityPort.getName(), 
activityPort.getDepth());
-                       
editList.add(edits.getAddProcessorInputPortEdit(processor,
-                                       processorInputPort));
-                       
editList.add(edits.getAddActivityInputPortMappingEdit(activity,
-                                       activityPort.getName(), 
activityPort.getName()));
-                       input = processorInputPort;
-               }
-               return input;
-       }
-
-       private EventForwardingOutputPort getSourcePort(
-                       net.sf.taverna.t2.workflowmodel.Processor processor,
-                       Activity<?> activity, String portName, List<Edit<?>> 
editList) {
-               OutputPort activityPort = 
net.sf.taverna.t2.workflowmodel.utils.Tools
-                               .getActivityOutputPort(activity, portName);
-               // check if processor port exists
-               EventForwardingOutputPort output = 
net.sf.taverna.t2.workflowmodel.utils.Tools
-                               .getProcessorOutputPort(processor, activity, 
activityPort);
-               if (output == null) {
-                       // port doesn't exist so create a processor port and 
map it
-                       ProcessorOutputPort processorOutputPort = edits
-                                       .createProcessorOutputPort(processor, 
activityPort
-                                                       .getName(), 
activityPort.getDepth(), activityPort
-                                                       .getGranularDepth());
-                       
editList.add(edits.getAddProcessorOutputPortEdit(processor,
-                                       processorOutputPort));
-                       
editList.add(edits.getAddActivityOutputPortMappingEdit(activity,
-                                       activityPort.getName(), 
activityPort.getName()));
-                       output = processorOutputPort;
-               }
-               return output;
-       }
-
-}

Reply via email to