http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/toolbar/GraphDeleteToolbarSection.java
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/toolbar/GraphDeleteToolbarSection.java
 
b/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/toolbar/GraphDeleteToolbarSection.java
deleted file mode 100644
index 794cf1f..0000000
--- 
a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/toolbar/GraphDeleteToolbarSection.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- 
******************************************************************************/
-package net.sf.taverna.t2.workbench.views.graph.toolbar;
-
-import static net.sf.taverna.t2.ui.menu.DefaultToolBar.DEFAULT_TOOL_BAR;
-
-import java.net.URI;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuSection;
-
-/**
- * @author Alex Nenadic
- */
-public class GraphDeleteToolbarSection extends AbstractMenuSection {
-       public static final URI GRAPH_DELETE_TOOLBAR_SECTION = URI
-                       
.create("http://taverna.sf.net/2008/t2workbench/menu#graphDeleteToolbarSection";);
-
-       public GraphDeleteToolbarSection() {
-               super(DEFAULT_TOOL_BAR, 80, GRAPH_DELETE_TOOLBAR_SECTION);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/toolbar/GraphEditToolbarSection.java
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/toolbar/GraphEditToolbarSection.java
 
b/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/toolbar/GraphEditToolbarSection.java
deleted file mode 100644
index a61259a..0000000
--- 
a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/toolbar/GraphEditToolbarSection.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester   
- * 
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- * 
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *    
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *    
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- 
******************************************************************************/
-package net.sf.taverna.t2.workbench.views.graph.toolbar;
-
-import static net.sf.taverna.t2.ui.menu.DefaultToolBar.DEFAULT_TOOL_BAR;
-
-import java.net.URI;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuSection;
-
-/**
- * @author Alex Nenadic
- */
-public class GraphEditToolbarSection extends AbstractMenuSection {
-       public static final URI GRAPH_EDIT_TOOLBAR_SECTION = URI
-                       
.create("http://taverna.sf.net/2008/t2workbench/menu#graphEditToolbarSection";);
-
-       public GraphEditToolbarSection() {
-               super(DEFAULT_TOOL_BAR, 30, GRAPH_EDIT_TOOLBAR_SECTION);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/toolbar/RenameWFInputOutputProcessorToolbarAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/toolbar/RenameWFInputOutputProcessorToolbarAction.java
 
b/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/toolbar/RenameWFInputOutputProcessorToolbarAction.java
deleted file mode 100644
index 1794e8f..0000000
--- 
a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/toolbar/RenameWFInputOutputProcessorToolbarAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- *
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- 
******************************************************************************/
-package net.sf.taverna.t2.workbench.views.graph.toolbar;
-
-import static 
net.sf.taverna.t2.workbench.views.graph.toolbar.GraphEditToolbarSection.GRAPH_EDIT_TOOLBAR_SECTION;
-
-import java.net.URI;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuAction;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import 
net.sf.taverna.t2.workbench.views.graph.actions.RenameWFInputOutputProcessorAction;
-
-/**
- * @author Alex Nenadic
- */
-public class RenameWFInputOutputProcessorToolbarAction extends
-               AbstractMenuAction {
-       private static final URI RENAME_WF_INPUT_OUTPUT_PROCESSOR_URI = URI
-                       
.create("http://taverna.sf.net/2008/t2workbench/menu#graphToolbarRenameWFInputOutputProcessor";);
-
-       private EditManager editManager;
-       private SelectionManager selectionManager;
-
-       public RenameWFInputOutputProcessorToolbarAction() {
-               super(GRAPH_EDIT_TOOLBAR_SECTION, 30,
-                               RENAME_WF_INPUT_OUTPUT_PROCESSOR_URI);
-       }
-
-       @Override
-       protected Action createAction() {
-               return new RenameWFInputOutputProcessorAction(editManager,
-                               selectionManager);
-       }
-
-       public void setEditManager(EditManager editManager) {
-               this.editManager = editManager;
-       }
-
-       public void setSelectionManager(SelectionManager selectionManager) {
-               this.selectionManager = selectionManager;
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
 
b/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
deleted file mode 100644
index 226078d..0000000
--- 
a/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
+++ /dev/null
@@ -1,29 +0,0 @@
-net.sf.taverna.t2.workbench.views.graph.toolbar.GraphEditToolbarSection
-net.sf.taverna.t2.workbench.views.graph.toolbar.GraphDeleteToolbarSection
-net.sf.taverna.t2.workbench.views.graph.toolbar.GraphSaveToolbarSection
-net.sf.taverna.t2.workbench.views.graph.toolbar.AddWFInputToolbarAction
-net.sf.taverna.t2.workbench.views.graph.toolbar.AddWFOutputToolbarAction
-net.sf.taverna.t2.workbench.views.graph.toolbar.RenameWFInputOutputProcessorToolbarAction
-net.sf.taverna.t2.workbench.views.graph.toolbar.DeleteGraphComponentToolbarAction
-net.sf.taverna.t2.workbench.views.graph.toolbar.SaveGraphImageToolbarAction
-
-net.sf.taverna.t2.workbench.views.graph.menu.DiagramMenu
-net.sf.taverna.t2.workbench.views.graph.menu.DiagramSaveMenuSection
-net.sf.taverna.t2.workbench.views.graph.menu.DiagramZoomMenuSection
-
-net.sf.taverna.t2.workbench.views.graph.menu.GraphMenuSection
-net.sf.taverna.t2.workbench.views.graph.menu.GraphCopyMenuSection
-net.sf.taverna.t2.workbench.views.graph.menu.GraphEditMenuSection
-net.sf.taverna.t2.workbench.views.graph.menu.GraphDeleteMenuSection
-net.sf.taverna.t2.workbench.views.graph.menu.GraphDetailsMenuSection
-
-net.sf.taverna.t2.workbench.views.graph.menu.InsertMenu
-
-net.sf.taverna.t2.workbench.views.graph.menu.AddWFInputMenuAction
-net.sf.taverna.t2.workbench.views.graph.menu.AddWFOutputMenuAction
-net.sf.taverna.t2.workbench.views.graph.menu.RenameWFInputOutputProcessorMenuAction
-net.sf.taverna.t2.workbench.views.graph.menu.DeleteGraphComponentMenuAction
-net.sf.taverna.t2.workbench.views.graph.menu.SaveGraphImageSubMenu
-net.sf.taverna.t2.workbench.views.graph.menu.ZoomInMenuAction
-net.sf.taverna.t2.workbench.views.graph.menu.ZoomOutMenuAction
-net.sf.taverna.t2.workbench.views.graph.menu.ResetDiagramMenuAction
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.configuration.ConfigurationUIFactory
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.configuration.ConfigurationUIFactory
 
b/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.configuration.ConfigurationUIFactory
deleted file mode 100644
index 70830ec..0000000
--- 
a/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.configuration.ConfigurationUIFactory
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.workbench.views.graph.config.GraphViewConfigurationUIFactory

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.zaria.UIComponentFactorySPI
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.zaria.UIComponentFactorySPI
 
b/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.zaria.UIComponentFactorySPI
deleted file mode 100644
index 8086a8d..0000000
--- 
a/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.zaria.UIComponentFactorySPI
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.workbench.views.graph.GraphViewComponentFactory
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.zaria.UIComponentSPI
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.zaria.UIComponentSPI
 
b/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.zaria.UIComponentSPI
deleted file mode 100644
index 563c21d..0000000
--- 
a/taverna-workbench-graph-view/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.zaria.UIComponentSPI
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.workbench.views.graph.GraphViewComponent

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/resources/META-INF/spring/graph-view-context-osgi.xml
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-graph-view/src/main/resources/META-INF/spring/graph-view-context-osgi.xml
 
b/taverna-workbench-graph-view/src/main/resources/META-INF/spring/graph-view-context-osgi.xml
deleted file mode 100644
index c7adec0..0000000
--- 
a/taverna-workbench-graph-view/src/main/resources/META-INF/spring/graph-view-context-osgi.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-       xmlns:beans="http://www.springframework.org/schema/beans";
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-                      
http://www.springframework.org/schema/beans/spring-beans.xsd
-                      http://www.springframework.org/schema/osgi
-                      
http://www.springframework.org/schema/osgi/spring-osgi.xsd";>
-
-       <service ref="GraphViewConfigurationUIFactory" 
interface="uk.org.taverna.configuration.ConfigurationUIFactory" />
-
-       <service ref="GraphViewComponentFactory" 
interface="net.sf.taverna.t2.workbench.ui.zaria.UIComponentFactorySPI" />
-
-       <service ref="GraphEditToolbarSection" auto-export="interfaces" />
-       <service ref="GraphDeleteToolbarSection" auto-export="interfaces" />
-       <service ref="AddWFInputToolbarAction" auto-export="interfaces" />
-       <service ref="AddWFOutputToolbarAction" auto-export="interfaces" />
-       <service ref="RenameWFInputOutputProcessorToolbarAction" 
auto-export="interfaces" />
-       <service ref="DeleteGraphComponentToolbarAction" 
auto-export="interfaces" />
-       <service ref="DiagramMenu" auto-export="interfaces" />
-       <service ref="DiagramSaveMenuSection" auto-export="interfaces" />
-       <service ref="DiagramZoomMenuSection" auto-export="interfaces" />
-       <service ref="GraphMenuSection" auto-export="interfaces" />
-       <service ref="GraphCopyMenuSection" auto-export="interfaces" />
-       <service ref="GraphEditMenuSection" auto-export="interfaces" />
-       <service ref="GraphDeleteMenuSection" auto-export="interfaces" />
-       <service ref="GraphDetailsMenuSection" auto-export="interfaces" />
-       <service ref="InsertMenu" auto-export="interfaces" />
-       <service ref="AddWFInputMenuAction" auto-export="interfaces" />
-       <service ref="AddWFOutputMenuAction" auto-export="interfaces" />
-       <service ref="RenameWFInputOutputProcessorMenuAction" 
auto-export="interfaces" />
-       <service ref="DeleteGraphComponentMenuAction" auto-export="interfaces" 
/>
-       <!-- <service ref="SaveGraphImageSubMenu" auto-export="interfaces" /> 
-->
-       <service ref="ZoomInMenuAction" auto-export="interfaces" />
-       <service ref="ZoomOutMenuAction" auto-export="interfaces" />
-       <service ref="ResetDiagramMenuAction" auto-export="interfaces" />
-
-       <reference id="editManager" 
interface="net.sf.taverna.t2.workbench.edits.EditManager" />
-       <reference id="fileManager" 
interface="net.sf.taverna.t2.workbench.file.FileManager" />
-       <reference id="menuManager" 
interface="net.sf.taverna.t2.ui.menu.MenuManager" />
-       <reference id="selectionManager" 
interface="net.sf.taverna.t2.workbench.selection.SelectionManager" />
-       <reference id="colourManager" 
interface="net.sf.taverna.t2.workbench.configuration.colour.ColourManager" />
-       <reference id="workbenchConfiguration" 
interface="net.sf.taverna.t2.workbench.configuration.workbench.WorkbenchConfiguration"
 />
-       <reference id="configurationManager" 
interface="uk.org.taverna.configuration.ConfigurationManager" />
-       <reference id="serviceRegistry" 
interface="uk.org.taverna.commons.services.ServiceRegistry" />
-
-</beans:beans>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/resources/META-INF/spring/graph-view-context.xml
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-graph-view/src/main/resources/META-INF/spring/graph-view-context.xml
 
b/taverna-workbench-graph-view/src/main/resources/META-INF/spring/graph-view-context.xml
deleted file mode 100644
index 9968805..0000000
--- 
a/taverna-workbench-graph-view/src/main/resources/META-INF/spring/graph-view-context.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans";
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-                      
http://www.springframework.org/schema/beans/spring-beans.xsd";>
-
-       <bean id="graphViewConfiguration"
-               
class="net.sf.taverna.t2.workbench.views.graph.config.GraphViewConfiguration">
-               <constructor-arg name="configurationManager" 
ref="configurationManager" />
-       </bean>
-
-       <bean id="GraphViewConfigurationUIFactory"
-               
class="net.sf.taverna.t2.workbench.views.graph.config.GraphViewConfigurationUIFactory">
-               <property name="graphViewConfiguration">
-                       <ref local="graphViewConfiguration" />
-               </property>
-       </bean>
-
-       <bean id="GraphViewComponentFactory" 
class="net.sf.taverna.t2.workbench.views.graph.GraphViewComponentFactory">
-               <property name="colourManager" ref="colourManager" />
-               <property name="editManager" ref="editManager" />
-               <property name="menuManager" ref="menuManager" />
-               <property name="graphViewConfiguration">
-                       <ref local="graphViewConfiguration" />
-               </property>
-               <property name="workbenchConfiguration" 
ref="workbenchConfiguration" />
-               <property name="selectionManager" ref="selectionManager" />
-               <property name="fileManager" ref="fileManager" />
-               <property name="serviceRegistry" ref="serviceRegistry" />
-       </bean>
-
-       <bean id="GraphEditToolbarSection"
-               
class="net.sf.taverna.t2.workbench.views.graph.toolbar.GraphEditToolbarSection" 
/>
-       <bean id="GraphDeleteToolbarSection"
-               
class="net.sf.taverna.t2.workbench.views.graph.toolbar.GraphDeleteToolbarSection"
 />
-       <bean id="AddWFInputToolbarAction"
-               
class="net.sf.taverna.t2.workbench.views.graph.toolbar.AddWFInputToolbarAction">
-               <property name="editManager" ref="editManager" />
-               <property name="selectionManager" ref="selectionManager" />
-       </bean>
-       <bean id="AddWFOutputToolbarAction"
-               
class="net.sf.taverna.t2.workbench.views.graph.toolbar.AddWFOutputToolbarAction">
-               <property name="editManager" ref="editManager" />
-               <property name="selectionManager" ref="selectionManager" />
-       </bean>
-       <bean id="RenameWFInputOutputProcessorToolbarAction"
-               
class="net.sf.taverna.t2.workbench.views.graph.toolbar.RenameWFInputOutputProcessorToolbarAction">
-               <property name="editManager" ref="editManager" />
-               <property name="selectionManager" ref="selectionManager" />
-       </bean>
-       <bean id="DeleteGraphComponentToolbarAction"
-               
class="net.sf.taverna.t2.workbench.views.graph.toolbar.DeleteGraphComponentToolbarAction">
-               <property name="editManager" ref="editManager" />
-               <property name="selectionManager" ref="selectionManager" />
-       </bean>
-       <bean id="DiagramMenu"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.DiagramMenu" />
-       <bean id="DiagramSaveMenuSection"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.DiagramSaveMenuSection" />
-       <bean id="DiagramZoomMenuSection"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.DiagramZoomMenuSection" />
-       <bean id="GraphMenuSection"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.GraphMenuSection" />
-       <bean id="GraphCopyMenuSection"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.GraphCopyMenuSection" />
-       <bean id="GraphEditMenuSection"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.GraphEditMenuSection" />
-       <bean id="GraphDeleteMenuSection"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.GraphDeleteMenuSection" />
-       <bean id="GraphDetailsMenuSection"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.GraphDetailsMenuSection" />
-       <bean id="InsertMenu" 
class="net.sf.taverna.t2.workbench.views.graph.menu.InsertMenu" />
-       <bean id="AddWFInputMenuAction"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.AddWFInputMenuAction">
-               <property name="editManager" ref="editManager" />
-               <property name="selectionManager" ref="selectionManager" />
-       </bean>
-       <bean id="AddWFOutputMenuAction"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.AddWFOutputMenuAction">
-               <property name="editManager" ref="editManager" />
-               <property name="selectionManager" ref="selectionManager" />
-       </bean>
-       <bean id="RenameWFInputOutputProcessorMenuAction"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.RenameWFInputOutputProcessorMenuAction">
-               <property name="editManager" ref="editManager" />
-               <property name="selectionManager" ref="selectionManager" />
-       </bean>
-       <bean id="DeleteGraphComponentMenuAction"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.DeleteGraphComponentMenuAction">
-               <property name="editManager" ref="editManager" />
-               <property name="selectionManager" ref="selectionManager" />
-       </bean>
-       <!-- <bean id="SaveGraphImageSubMenu"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.SaveGraphImageSubMenu">
-               <property name="fileManager" ref="fileManager" />
-               <property name="workbenchConfiguration" 
ref="workbenchConfiguration" />
-               <property name="selectionManager" ref="selectionManager" />
-               <property name="graphViewComponent" ref="GraphViewComponent" />
-       </bean> -->
-       <bean id="ZoomInMenuAction"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.ZoomInMenuAction" />
-       <bean id="ZoomOutMenuAction"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.ZoomOutMenuAction" />
-       <bean id="ResetDiagramMenuAction"
-               
class="net.sf.taverna.t2.workbench.views.graph.menu.ResetDiagramMenuAction" />
-
-</beans>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/test/resources/nested_iteration.t2flow
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-graph-view/src/test/resources/nested_iteration.t2flow 
b/taverna-workbench-graph-view/src/test/resources/nested_iteration.t2flow
deleted file mode 100644
index 9b50c7f..0000000
--- a/taverna-workbench-graph-view/src/test/resources/nested_iteration.t2flow
+++ /dev/null
@@ -1,111 +0,0 @@
-<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow";><dataflow 
id="23f84bb1-4a04-47fa-8150-7063310db697" 
role="top"><name>nested_iteration</name><inputPorts 
/><outputPorts><port><name>concat</name></port><port><name>list</name></port><port><name>constant</name></port></outputPorts><processors><processor><name>constant</name><inputPorts
 
/><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
 
/><activities><activity><raven><group>net.sf.taverna.t2</group><artifact>stringconstant-activity</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap
 /><outputMap><map from="value" to="value" /></outputMap><configBean 
encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean
 xmlns="">
-  <value>constant</value>
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
 
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
 xmlns="">
-  <maxJobs>1</maxJobs>
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
 
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryCo
 nfig xmlns="">
-  <backoffFactor>1.0</backoffFactor>
-  <initialDelay>0</initialDelay>
-  <maxDelay>0</maxDelay>
-  <maxRetries>0</maxRetries>
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross
 
/></strategy></iteration></iterationStrategyStack></processor><processor><name>generate_list</name><inputPorts><port><name>prefix</name><depth>0</depth></port></inputPorts><outputPorts><port><name>list</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations
 
/><activities><activity><raven><group>net.sf.taverna.t2</group><artifact>beanshell-activity</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map
 from="prefix" to="prefi
 x" /></inputMap><outputMap><map from="list" to="list" 
/></outputMap><configBean 
encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean
 xmlns="">
-  <script>list = new ArrayList();
-for (int i = 0; i &lt; 20; i++) {
- list.add(prefix + i);
-}</script>
-  <dependencies />
-  <inputs>
-    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
-      <handledReferenceSchemes />
-      <translatedElementType>java.lang.String</translatedElementType>
-      <allowsLiteralValues>true</allowsLiteralValues>
-      <name>prefix</name>
-      <depth>0</depth>
-      <mimeTypes>
-        <string>'text/plain'</string>
-      </mimeTypes>
-    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
-  </inputs>
-  <outputs>
-    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
-      <granularDepth>1</granularDepth>
-      <name>list</name>
-      <depth>1</depth>
-      <mimeTypes>
-        <string>l('text/plain')</string>
-      </mimeTypes>
-    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
-  </outputs>
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
 
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
 xmlns="">
-  <maxJobs>1</maxJobs>
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
 
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryCo
 nfig xmlns="">
-  <backoffFactor>1.0</backoffFactor>
-  <initialDelay>0</initialDelay>
-  <maxDelay>0</maxDelay>
-  <maxRetries>0</maxRetries>
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><port
 name="prefix" depth="0" 
/></strategy></iteration></iterationStrategyStack></processor><processor><name>merge</name><inputPorts><port><name>in1</name><depth>0</depth></port><port><name>in2</name><depth>0</depth></port></inputPorts><outputPorts><port><name>out</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
 
/><activities><activity><raven><group>net.sf.taverna.t2</group><artifact>dataflow-activity</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowA
 ctivity</class><inputMap><map from="in2" to="in2" /><map from="in1" to="in1" 
/></inputMap><outputMap><map from="out" to="out" /></outputMap><configBean 
encoding="dataflow"><dataflow ref="79ad4092-abcb-42bf-ac98-d66dfac67dff" 
/></configBean></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
 
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
 xmlns="">
-  <maxJobs>1</maxJobs>
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
 
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryCo
 nfig xmlns="">
-  <backoffFactor>1.0</backoffFactor>
-  <initialDelay>0</initialDelay>
-  <maxDelay>0</maxDelay>
-  <maxRetries>0</maxRetries>
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port
 name="in1" depth="0" /><port name="in2" depth="0" 
/></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>generate_list_prefix_defaultValue</name><inputPorts
 
/><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
 
/><activities><activity><raven><group>net.sf.taverna.t2</group><artifact>stringconstant-activity</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</cla
 ss><inputMap /><outputMap><map from="value" to="value" 
/></outputMap><configBean 
encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean
 xmlns="">
-  <value>prefix</value>
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
 
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
 xmlns="">
-  <maxJobs>1</maxJobs>
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
 
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryCo
 nfig xmlns="">
-  <backoffFactor>1.0</backoffFactor>
-  <initialDelay>0</initialDelay>
-  <maxDelay>0</maxDelay>
-  <maxRetries>0</maxRetries>
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross
 
/></strategy></iteration></iterationStrategyStack></processor></processors><conditions><condition
 control="generate_list" target="constant" 
/></conditions><datalinks><datalink><sink 
type="processor"><processor>generate_list</processor><port>prefix</port></sink><source
 
type="processor"><processor>generate_list_prefix_defaultValue</processor><port>value</port></source></datalink><datalink><sink
 type="processor"><processor>merge</processor><port>in1</port></sink><source 
type="processor"><processor>constant</processor><port>value</port></
 source></datalink><datalink><sink 
type="merge"><processor>merge</processor><port>in2</port></sink><source 
type="processor"><processor>generate_list</processor><port>list</port></source></datalink><datalink><sink
 type="merge"><processor>merge</processor><port>in2</port></sink><source 
type="processor"><processor>generate_list</processor><port>list</port></source></datalink><datalink><sink
 type="dataflow"><port>concat</port></sink><source 
type="processor"><processor>merge</processor><port>out</port></source></datalink><datalink><sink
 type="dataflow"><port>list</port></sink><source 
type="processor"><processor>generate_list</processor><port>list</port></source></datalink><datalink><sink
 type="dataflow"><port>constant</port></sink><source 
type="processor"><processor>constant</processor><port>value</port></source></datalink></datalinks></dataflow><dataflow
 id="79ad4092-abcb-42bf-ac98-d66dfac67dff" role="nested"><name>Untitled 
workflow #24</name><inputPorts><port><name>in1</name><depth>0</d
 
epth><granularDepth>0</granularDepth></port><port><name>in2</name><depth>0</depth><granularDepth>0</granularDepth></port></inputPorts><outputPorts><port><name>out</name></port></outputPorts><processors><processor><name>Nested_Workflow</name><inputPorts><port><name>in2</name><depth>0</depth></port><port><name>in1</name><depth>0</depth></port></inputPorts><outputPorts><port><name>out</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
 
/><activities><activity><raven><group>net.sf.taverna.t2</group><artifact>dataflow-activity</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map
 from="in2" to="in2" /><map from="in1" to="in1" /></inputMap><outputMap><map 
from="out" to="out" /></outputMap><configBean encoding="dataflow"><dataflow 
ref="ebd93027-c046-4a04-befa-c5715e8ba3da" 
/></configBean></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2</gro
 
up><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
 
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
 xmlns="">
-  <maxJobs>1</maxJobs>
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
 
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryCo
 nfig xmlns="">
-  <backoffFactor>1.0</backoffFactor>
-  <initialDelay>0</initialDelay>
-  <maxDelay>0</maxDelay>
-  <maxRetries>0</maxRetries>
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port
 name="in1" depth="0" /><port name="in2" depth="0" 
/></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions
 /><datalinks><datalink><sink 
type="processor"><processor>Nested_Workflow</processor><port>in2</port></sink><source
 type="dataflow"><port>in2</port></source></datalink><datalink><sink 
type="processor"><processor>Nested_Workflow</processor><port>in1</port></sink><source
 type="dataflow"><port>in1</port></source></datalink><datalink><sink 
type="dataflow"><port>out</port></sink><source type=
 
"processor"><processor>Nested_Workflow</processor><port>out</port></source></datalink></datalinks></dataflow><dataflow
 id="ebd93027-c046-4a04-befa-c5715e8ba3da" role="nested"><name>Untitled 
workflow 
#36</name><inputPorts><port><name>in1</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>in2</name><depth>0</depth><granularDepth>0</granularDepth></port></inputPorts><outputPorts><port><name>out</name></port></outputPorts><processors><processor><name>concat</name><inputPorts><port><name>in1</name><depth>0</depth></port><port><name>in2</name><depth>0</depth></port></inputPorts><outputPorts><port><name>out</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations
 
/><activities><activity><raven><group>net.sf.taverna.t2</group><artifact>beanshell-activity</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map
 from="in2" to="in2" /><map from="in1" to="in1" /></i
 nputMap><outputMap><map from="out" to="out" /></outputMap><configBean 
encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean
 xmlns="">
-  <script>Thread.sleep(200);
-out = in1 + in2;</script>
-  <dependencies />
-  <inputs>
-    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
-      <handledReferenceSchemes />
-      <translatedElementType>java.lang.String</translatedElementType>
-      <allowsLiteralValues>true</allowsLiteralValues>
-      <name>in1</name>
-      <depth>0</depth>
-      <mimeTypes>
-        <string>'text/plain'</string>
-      </mimeTypes>
-    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
-    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
-      <handledReferenceSchemes />
-      <translatedElementType>java.lang.String</translatedElementType>
-      <allowsLiteralValues>true</allowsLiteralValues>
-      <name>in2</name>
-      <depth>0</depth>
-      <mimeTypes>
-        <string>'text/plain'</string>
-      </mimeTypes>
-    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
-  </inputs>
-  <outputs>
-    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
-      <granularDepth>0</granularDepth>
-      <name>out</name>
-      <depth>0</depth>
-      <mimeTypes>
-        <string>'text/plain'</string>
-      </mimeTypes>
-    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
-  </outputs>
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean
 
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
 xmlns="">
-  <maxJobs>1</maxJobs>
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean
 
encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryCo
 nfig xmlns="">
-  <backoffFactor>1.0</backoffFactor>
-  <initialDelay>0</initialDelay>
-  <maxDelay>0</maxDelay>
-  <maxRetries>0</maxRetries>
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2</group><artifact>workflowmodel-impl</artifact><version>0.3-SNAPSHOT</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean
 encoding="xstream"><null xmlns="" 
/></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port
 name="in1" depth="0" /><port name="in2" depth="0" 
/></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions
 /><datalinks><datalink><sink 
type="processor"><processor>concat</processor><port>in1</port></sink><source 
type="dataflow"><port>in1</port></source></datalink><datalink><sink 
type="processor"><processor>concat</processor><port>in2</port></sink><source 
type="dataflow"><port>in2</port></source></datalink><datalink><sink 
type="dataflow"><port>out</port></sink><source type="processor"><proce
 
ssor>concat</processor><port>out</port></source></datalink></datalinks></dataflow></workflow>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/test/resources/nested_iteration.xml
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-graph-view/src/test/resources/nested_iteration.xml 
b/taverna-workbench-graph-view/src/test/resources/nested_iteration.xml
deleted file mode 100644
index 3a547bb..0000000
--- a/taverna-workbench-graph-view/src/test/resources/nested_iteration.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<s:scufl xmlns:s="http://org.embl.ebi.escience/xscufl/0.1alpha"; version="0.2" 
log="0">
-  <s:workflowdescription 
lsid="urn:lsid:net.sf.taverna:wfDefinition:c7016fc0-c2f4-4171-b6f1-430f408f4822"
 author="" title="nested_iteration" />
-  <s:processor name="generate_list">
-    <s:defaults>
-      <s:default name="prefix">prefix</s:default>
-    </s:defaults>
-    <s:beanshell>
-      <s:scriptvalue>list = new ArrayList();
-for (int i = 0; i &lt; 20; i++) {
- list.add(prefix + i);
-}</s:scriptvalue>
-      <s:beanshellinputlist>
-        <s:beanshellinput 
s:syntactictype="'text/plain'">prefix</s:beanshellinput>
-      </s:beanshellinputlist>
-      <s:beanshelloutputlist>
-        <s:beanshelloutput 
s:syntactictype="l('text/plain')">list</s:beanshelloutput>
-      </s:beanshelloutputlist>
-      <s:dependencies s:classloader="iteration" />
-    </s:beanshell>
-  </s:processor>
-  <s:processor name="constant" boring="true">
-    <s:stringconstant>constant</s:stringconstant>
-  </s:processor>
-  <s:processor name="merge">
-    <s:workflow>
-      <s:scufl version="0.2" log="0">
-        <s:workflowdescription 
lsid="urn:lsid:net.sf.taverna:wfDefinition:3368fb8d-ecc7-4fcd-b511-6ace84b13c81"
 author="" title="Untitled workflow #24" />
-        <s:processor name="Nested_Workflow">
-          <s:workflow>
-            <s:scufl version="0.2" log="0">
-              <s:workflowdescription 
lsid="urn:lsid:net.sf.taverna:wfDefinition:75b99c76-7a76-4d3c-8d39-8c48df3355ad"
 author="" title="Untitled workflow #36" />
-              <s:processor name="concat">
-                <s:beanshell>
-                  <s:scriptvalue>Thread.sleep(200);
-out = in1 + in2;</s:scriptvalue>
-                  <s:beanshellinputlist>
-                    <s:beanshellinput 
s:syntactictype="'text/plain'">in1</s:beanshellinput>
-                    <s:beanshellinput 
s:syntactictype="'text/plain'">in2</s:beanshellinput>
-                  </s:beanshellinputlist>
-                  <s:beanshelloutputlist>
-                    <s:beanshelloutput 
s:syntactictype="'text/plain'">out</s:beanshelloutput>
-                  </s:beanshelloutputlist>
-                  <s:dependencies s:classloader="iteration" />
-                </s:beanshell>
-              </s:processor>
-              <s:link source="in1" sink="concat:in1" />
-              <s:link source="in2" sink="concat:in2" />
-              <s:link source="concat:out" sink="out" />
-              <s:source name="in1" />
-              <s:source name="in2" />
-              <s:sink name="out" />
-            </s:scufl>
-          </s:workflow>
-        </s:processor>
-        <s:link source="in1" sink="Nested_Workflow:in1" />
-        <s:link source="in2" sink="Nested_Workflow:in2" />
-        <s:link source="Nested_Workflow:out" sink="out" />
-        <s:source name="in1" />
-        <s:source name="in2" />
-        <s:sink name="out" />
-      </s:scufl>
-    </s:workflow>
-    <s:mergemode input="in2" mode="merge" />
-  </s:processor>
-  <s:link source="constant:value" sink="merge:in1" />
-  <s:link source="generate_list:list" sink="merge:in2" />
-  <s:link source="generate_list:list" sink="merge:in2" />
-  <s:link source="constant:value" sink="constant" />
-  <s:link source="generate_list:list" sink="list" />
-  <s:link source="merge:out" sink="concat" />
-  <s:sink name="concat">
-    <s:metadata>
-      <s:mimeTypes>
-        <s:mimeType>'text/plain'</s:mimeType>
-      </s:mimeTypes>
-    </s:metadata>
-  </s:sink>
-  <s:sink name="list">
-    <s:metadata>
-      <s:mimeTypes>
-        <s:mimeType>l('text/plain')</s:mimeType>
-      </s:mimeTypes>
-    </s:metadata>
-  </s:sink>
-  <s:sink name="constant">
-    <s:metadata>
-      <s:mimeTypes>
-        <s:mimeType>'text/plain'</s:mimeType>
-      </s:mimeTypes>
-    </s:metadata>
-  </s:sink>
-  <s:coordination name="constant_BLOCKON_generate_list">
-    <s:condition>
-      <s:state>Completed</s:state>
-      <s:target>generate_list</s:target>
-    </s:condition>
-    <s:action>
-      <s:target>constant</s:target>
-      <s:statechange>
-        <s:from>Scheduled</s:from>
-        <s:to>Running</s:to>
-      </s:statechange>
-    </s:action>
-  </s:coordination>
-  <s:coordination name="merge_BLOCKON_generate_list">
-    <s:condition>
-      <s:state>Completed</s:state>
-      <s:target>generate_list</s:target>
-    </s:condition>
-    <s:action>
-      <s:target>merge</s:target>
-      <s:statechange>
-        <s:from>Scheduled</s:from>
-        <s:to>Running</s:to>
-      </s:statechange>
-    </s:action>
-  </s:coordination>
-</s:scufl>
-

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-helper-api/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-workbench-helper-api/pom.xml 
b/taverna-workbench-helper-api/pom.xml
deleted file mode 100644
index 9f3945f..0000000
--- a/taverna-workbench-helper-api/pom.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>net.sf.taverna.t2</groupId>
-               <artifactId>ui-api</artifactId>
-               <version>2.0-SNAPSHOT</version>
-       </parent>
-       <groupId>net.sf.taverna.t2.ui-api</groupId>
-       <artifactId>helper-api</artifactId>
-       <packaging>bundle</packaging>
-       <name>Help System</name>
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.felix</groupId>
-                               <artifactId>maven-bundle-plugin</artifactId>
-                               <configuration>
-                                       <instructions>
-                                               
<Embed-Dependency>javahelp</Embed-Dependency>
-                                               
<Import-Package>org.jdesktop.jdic.browser;resolution:=optional,*</Import-Package>
-                                       </instructions>
-                               </configuration>
-                       </plugin>
-               </plugins>
-       </build>
-       <dependencies>
-               <dependency>
-                       <groupId>net.sf.taverna.t2.ui-api</groupId>
-                       <artifactId>workbench-api</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-
-               <dependency>
-                       <groupId>javax.help</groupId>
-                       <artifactId>javahelp</artifactId>
-                       <scope>provided</scope>
-               </dependency>
-               <!-- Required by javahelp -->
-               <dependency>
-                       <groupId>javax.servlet</groupId>
-                       <artifactId>com.springsource.javax.servlet</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>javax.servlet</groupId>
-                       
<artifactId>com.springsource.javax.servlet.jsp</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>javax.el</groupId>
-                       <artifactId>com.springsource.javax.el</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.log4j</groupId>
-                       
<artifactId>com.springsource.org.apache.log4j</artifactId>
-               </dependency>
-       </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/HelpCollator.java
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/HelpCollator.java
 
b/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/HelpCollator.java
deleted file mode 100644
index 8b19b69..0000000
--- 
a/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/HelpCollator.java
+++ /dev/null
@@ -1,307 +0,0 @@
-package net.sf.taverna.t2.workbench.helper;
-
-import java.awt.Component;
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.help.BadIDException;
-import javax.help.HelpSet;
-import javax.help.HelpSetException;
-import javax.help.Map.ID;
-import javax.help.TryMap;
-import javax.swing.JTree;
-import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.TreePath;
-
-import org.apache.log4j.Logger;
-
-/**
- * This class loads the {@link HelpSet} and also deals with the registration of
- * ids and the decoding from a {@link Component} to the corresponding id. These
- * two sets of functionality should possibly be separated.
- * 
- * @author alanrw
- */
-// TODO Convert to a bean
-public final class HelpCollator {
-       private static Logger logger = Logger.getLogger(HelpCollator.class);
-       /**
-        * The HelpSet that is being used.
-        */
-       private static HelpSet hs = null;
-       /**
-        * The mapping from components to ids. This is used because of problems 
with
-        * CSH throwing exceptions because it tried to use ids that were not in 
the
-        * map.
-        */
-       private static Map<Component, String> idMap;
-       /**
-        * Indicates whether the HelpCollator has been initialized.
-        */
-       private static boolean initialized = false;
-       /**
-        * A Pattern for normalizing the ids.
-        */
-       private static Pattern nonAlphanumeric;
-       /**
-        * The emptyHelp is set if the HelpCollator was unable to read the
-        */
-       private static boolean emptyHelp = true;
-       private static int TIMEOUT = 5000;
-
-       private static String externalHelpSetURL = 
"http://www.mygrid.org.uk/taverna/helpset/";
-                       + version() + "/helpset.hs";
-
-       // private static Profile profile = 
ProfileFactory.getInstance().getProfile();
-       private static String version() {
-               return "NO-VERSION";//profile.getVersion();
-               // TODO find a better way to find the version
-       }
-
-       /**
-        * Attempt to read the up-to-date HelpSet from the web
-        */
-       private static void readExternalHelpSet() {
-               try {
-                       URL url = new URL(externalHelpSetURL);
-                       checkConnection(url);
-                       hs = new HelpSet(null, url);
-                       if (hs.getLocalMap() == null) {
-                           hs = null;
-                               logger.error("Helpset from " + 
externalHelpSetURL
-                                               + " local map was null");
-                       } else
-                               logger.info("Read external help set from " + 
externalHelpSetURL);
-               } catch (MissingResourceException e) {
-                   logger.error("No external HelpSet URL specified", e);
-               } catch (MalformedURLException e) {
-                   logger.error("External HelpSet URL is malformed", e);
-               } catch (HelpSetException e) {
-                   logger.error("External HelpSet could not be read", e);
-               } catch (IOException e) {
-                       logger.error("IOException reading External HelpSet", e);
-               }
-       }
-
-       private static void checkConnection(URL url) throws IOException {
-               if (!url.getProtocol().startsWith("http"))
-                       return;
-               HttpURLConnection connection = (HttpURLConnection) 
url.openConnection();
-               connection.setReadTimeout(TIMEOUT);
-               connection.setConnectTimeout(TIMEOUT);
-               connection.setRequestMethod("HEAD");
-               connection.getInputStream().close();
-               connection.disconnect();
-       }
-
-       /**
-        * This methods creates a HelpSet based upon, in priority, the external
-        * HelpSet, then a newly created empty HelpSet.
-        */
-       private static void initialize() {
-               if (initialized)
-                       return;
-               readExternalHelpSet();
-               if (hs == null) {
-                       hs = new HelpSet();
-                       hs.setLocalMap(new TryMap());
-               } else {
-                       logger.trace("EmptyHelp set to false");
-                       emptyHelp = false;
-               }
-               idMap = new HashMap<>();
-               nonAlphanumeric = Pattern.compile("[^a-z0-9\\.]");
-               initialized = true;
-       }
-
-       /**
-        * Indicates if an empty HelpSet is being used
-        *
-        * @return
-        */
-       public static boolean isEmptyHelp() {
-               return emptyHelp;
-       }
-
-       public static URL getURLFromID(String id) throws BadIDException,
-                       MalformedURLException {
-               initialize();
-               logger.trace("Looking for id: " + id);
-               ID theId = ID.create(id, hs);
-               if (theId == null)
-                       return null;
-               return hs.getCombinedMap().getURLFromID(theId);
-       }
-
-       /**
-        * Register a component under the specified id. The method checks that 
the
-        * id is known to the HelpSet's map.
-        * 
-        * @param component
-        * @param id
-        */
-       public static void registerComponent(Component component, String id) {
-               logger.trace("Attempting to register " + id);
-               initialize();
-               String normalizedId = normalizeString(id.toLowerCase());
-               if (idMap.containsKey(component)) {
-                       logger.info("Registered " + normalizedId);
-                       return;
-               }
-
-               /*
-                * If Workbench is started up while there is no network 
connection -
-                * hs.getLocalMap() is null for some reason
-                */
-               if (hs != null && hs.getLocalMap() != null
-                               && hs.getLocalMap().isValidID(normalizedId, 
hs)) {
-                       idMap.put(component, normalizedId);
-                       logger.info("Registered " + normalizedId);
-               } else
-                       logger.warn("Refused to register component as " + 
normalizedId
-                                       + " not in map");
-       }
-
-       /**
-        * Register a component. Since no id is specified, the HelpCollator 
takes
-        * the canonical name of the component's class. This is useful when an
-        * explicit hierarchy-based approach has been taken.
-        *
-        * @param component
-        */
-       public static void registerComponent(Component component) {
-               String canonicalName = component.getClass().getCanonicalName();
-               if (canonicalName != null)
-                       registerComponent(component, canonicalName);
-       }
-
-       /**
-        * Register a component based upon its parent's class and a suffix
-        * indicating the component's purpose in the parent.
-        *
-        * @param component
-        * @param parent
-        * @param suffix
-        */
-       public static void registerComponent(Component component, Object parent,
-                       String suffix) {
-               String canonicalName = parent.getClass().getCanonicalName();
-               if (canonicalName != null)
-                       registerComponent(component, canonicalName + "-" + 
suffix);
-       }
-
-       /**
-        * Try to find an id for the Component. This code should be re-written 
when
-        * we have more experience in how to couple the UI and HelpSets.
-        *
-        * @param c
-        * @return
-        */
-       static String getHelpID(Component c) {
-               initialize();
-               boolean found = false;
-               String result = null;
-               if (c instanceof JTree) {
-                       String idInTree = getHelpIDInTree((JTree) c);
-                       if (idInTree != null) {
-                               found = true;
-                               result = idInTree;
-                       }
-               }
-               Component working = c;
-               if (c != null)
-                       logger.trace("Starting at a " + working.getClass());
-               while (!found && (working != null)) {
-                       if (idMap.containsKey(working)) {
-                               result = idMap.get(working);
-                               found = true;
-                               logger.trace("Found component id " + result);
-                       } else {
-                               String className = 
working.getClass().getCanonicalName();
-                               if (hs.getLocalMap().isValidID(className, hs)) {
-                                       result = className;
-                                       found = true;
-                                       logger.trace("Found class name " + 
result);
-                               }
-                       }
-                       if (!found) {
-                               working = working.getParent();
-                               if (working != null)
-                                       logger.trace("Moved up to a " + 
working.getClass());
-                       }
-               }
-               return result;
-       }
-
-       /**
-        * Change the input String into an id that contains only alphanumeric
-        * characters or hyphens.
-        *
-        * @param input
-        * @return
-        */
-       private static String normalizeString(String input) {
-               Matcher m = nonAlphanumeric.matcher(input);
-               return m.replaceAll("-");
-       }
-
-       /**
-        * If help is sought on part of a JTree, then this method attempts to 
find a
-        * node of the tree that can be mapped to an id. The possibilities are 
ad
-        * hoc and should be re-examined when more experience is gained.
-        * 
-        * @param c
-        * @return
-        */
-       private static String getHelpIDInTree(JTree c) {
-               initialize();
-
-               TreePath tp = c.getSelectionPath();
-               if (tp == null)
-                       return null;
-
-               Object o = tp.getLastPathComponent();
-               if (o == null)
-                       return null;
-
-               if (o instanceof DefaultMutableTreeNode) {
-                       DefaultMutableTreeNode dmtn = (DefaultMutableTreeNode) 
o;
-                       if (dmtn.getUserObject() != null)
-                               o = dmtn.getUserObject();
-               }
-
-               String className = o.getClass().getCanonicalName();
-
-               logger.trace("Tree node as a string is " + o);
-
-               String possibility = 
normalizeString(o.toString().toLowerCase());
-
-               logger.trace("Normalized is " + possibility);
-               logger.trace("Tree node class name is " + className);
-
-               possibility = className + "-" + possibility;
-
-               logger.trace("Possibility is " + possibility);
-
-               String result;
-               if (hs.getLocalMap().isValidID(possibility, hs)) {
-                       result = possibility;
-                       logger.trace("Accepted tree node " + result);
-               } else if (hs.getLocalMap().isValidID(className, hs)) {
-                       result = className;
-                       logger.trace("Found tree node class name " + result);
-               } else {
-                       result = null;
-               }
-
-               logger.debug("Tree node is a " + o.getClass());
-               return result;
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/HelpEnabledDialog.java
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/HelpEnabledDialog.java
 
b/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/HelpEnabledDialog.java
deleted file mode 100644
index ec17171..0000000
--- 
a/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/HelpEnabledDialog.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.workbench.helper;
-
-import static net.sf.taverna.t2.workbench.MainWindow.getMainWindow;
-import static 
net.sf.taverna.t2.workbench.helper.HelpCollator.registerComponent;
-import static net.sf.taverna.t2.workbench.helper.Helper.setKeyCatcher;
-
-import java.awt.Dialog;
-import java.awt.Frame;
-import java.awt.HeadlessException;
-
-import javax.swing.JDialog;
-
-/**
- * This class extends JDialog to register the dialog and also attach a key
- * catcher so that F1 is interpreted as help
- *
- * @author alanrw
- */
-public class HelpEnabledDialog extends JDialog {
-       private static final long serialVersionUID = -5068807887477419800L;
-
-       /**
-        * Create a HelpEnabledDialog, register it (if possible) with the
-        * HelpCollator and attach a keycatcher.
-        *
-        * @param owner
-        * @param title
-        * @param modal
-        * @param id
-        * @throws HeadlessException
-        */
-       public HelpEnabledDialog(Frame owner, String title, boolean modal, 
String id)
-                       throws HeadlessException {
-               super(owner == null ? getMainWindow() : owner, title, modal);
-
-               if (id != null)
-                       registerComponent(this, id);
-               else if (owner != null)
-                       registerComponent(this, 
owner.getClass().getCanonicalName()
-                                       + "-dialog");
-               else if (title != null && !title.isEmpty())
-                       registerComponent(this, title);
-               setKeyCatcher(this);
-       }
-
-       /**
-        * Create a HelpEnabledDialog, register it (if possible) with the
-        * HelpCollator and attach a keycatcher.
-        *
-        * @param owner
-        * @param title
-        * @param modal
-        * @param id
-        * @throws HeadlessException
-        */
-       public HelpEnabledDialog(Dialog owner, String title, boolean modal,
-                       String id) throws HeadlessException {
-               super(owner, title, modal);
-               if (id != null)
-                       registerComponent(this, id);
-               else if (owner != null)
-                       registerComponent(this, 
owner.getClass().getCanonicalName()
-                                       + "-dialog");
-               setKeyCatcher(this);
-       }
-
-       /**
-        * Create a HelpEnabledDialog, register it (if possible) with the
-        * HelpCollator and attach a keycatcher.
-        *
-        * @param owner
-        * @param title
-        * @param modal
-        * @throws HeadlessException
-        */
-       public HelpEnabledDialog(Frame parent, String title, boolean modal) {
-               this(parent, title, modal, null);
-       }
-
-       /**
-        * Create a HelpEnabledDialog, register it (if possible) with the
-        * HelpCollator and attach a keycatcher.
-        *
-        * @param owner
-        * @param title
-        * @param modal
-        * @throws HeadlessException
-        */
-       public HelpEnabledDialog(Dialog parent, String title, boolean modal) {
-               this(parent, title, modal, null);
-       }
-
-       @Override
-       public void setVisible(boolean b) {
-               setLocationRelativeTo(getParent());
-               super.setVisible(b);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/Helper.java
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/Helper.java
 
b/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/Helper.java
deleted file mode 100644
index 21b0f75..0000000
--- 
a/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/Helper.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/**
- *
- */
-package net.sf.taverna.t2.workbench.helper;
-
-import static java.awt.Desktop.getDesktop;
-import static java.awt.MouseInfo.getPointerInfo;
-import static javax.swing.JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT;
-import static javax.swing.KeyStroke.getKeyStroke;
-import static net.sf.taverna.t2.workbench.helper.HelpCollator.getHelpID;
-import static net.sf.taverna.t2.workbench.helper.HelpCollator.getURLFromID;
-
-import java.awt.AWTEvent;
-import java.awt.Component;
-import java.awt.Container;
-import java.awt.Point;
-import java.awt.event.ActionEvent;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-
-import javax.help.BadIDException;
-import javax.swing.AbstractAction;
-import javax.swing.ActionMap;
-import javax.swing.InputMap;
-import javax.swing.JComponent;
-import javax.swing.JRootPane;
-import javax.swing.RootPaneContainer;
-
-import org.apache.log4j.Logger;
-
-/**
- * This class creates the dialogs for the presentation of the HelpSet held by
- * the HelpCollator.
- *
- * @author alanrw
- */
-public final class Helper {
-       private static Helper instance;
-       private static Logger logger = Logger.getLogger(Helper.class);
-
-       /**
-        * Create a Helper and initialize the static variables.
-        */
-       private Helper() {
-       }
-
-       /**
-        * Get the singleton instance of Helper. In theory there could be more 
than
-        * one.
-        *
-        * @return
-        */
-       private static Helper getInstance() {
-               if (instance == null)
-                       instance = new Helper();
-               return instance;
-       }
-
-       /**
-        * Show in the current dialog the entry (if any) corresponding to the
-        * specified id.
-        *
-        * @param id
-        */
-       private static void showID(String id) {
-               getInstance();
-               try {
-                       URL result = getURLFromID(id);
-                       if (result == null)
-                               result = getURLFromID("home");
-                       getDesktop().browse(result.toURI());
-               } catch (BadIDException | IOException | URISyntaxException e) {
-                       logger.error(e);
-               }
-       }
-
-       /**
-        * Show the most suitable help for the specified component.
-        *
-        * @param c
-        */
-       public static void showHelp(Component c) {
-               showID(getHelpID(c));
-       }
-
-       /**
-        * Display the default home page help.
-        *
-        * @param e
-        */
-       public static void displayDefaultHelp(AWTEvent e) {
-               showID("home");
-       }
-
-       public static void displayFieldLevelHelp(ActionEvent e) {
-               //
-       }
-
-       private static final String HELP_KEY = "F1";
-
-       /**
-        * Associated the specified action with key presses in the specified
-        * component.
-        * 
-        * @param component
-        * @param theAction
-        */
-       public static void setKeyCatcher(final JComponent component,
-                       final AbstractAction theAction) {
-               InputMap oldInputMap = component
-                               
.getInputMap(WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
-               InputMap newInputMap = new InputMap();
-               newInputMap.setParent(oldInputMap);
-               newInputMap.put(getKeyStroke(HELP_KEY), "doSomething");
-               component.setInputMap(WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, 
newInputMap);
-               ActionMap oldActionMap = component.getActionMap();
-               ActionMap newActionMap = new ActionMap();
-               newActionMap.setParent(oldActionMap);
-               newActionMap.put("doSomething", theAction);
-               component.setActionMap(newActionMap);
-       }
-
-       /**
-        * Set up a key-press catcher for the specified component such that 
when F1
-        * is pressed it should help for the component where the cursor is.
-        *
-        * @param rootpanecontainer
-        */
-       public static void setKeyCatcher(final RootPaneContainer 
rootpanecontainer) {
-               @SuppressWarnings("serial")
-               AbstractAction theAction = new AbstractAction() {
-                       @Override
-                       public void actionPerformed(ActionEvent evt) {
-                               Component component = (Component) 
rootpanecontainer;
-                               Container container = (Container) 
rootpanecontainer;
-                               logger.info("frame action F1 pressed with 
source "
-                                               + 
evt.getSource().getClass().getName());
-                               Point mousePosition = 
getPointerInfo().getLocation();
-                               Point framePosition = component.getLocation();
-                               Point relativePosition = (Point) 
mousePosition.clone();
-                               relativePosition.translate(-framePosition.x, 
-framePosition.y);
-                               Component c = 
container.findComponentAt(relativePosition);
-                               if (c != null)
-                                       logger.info("F1 pressed in a " + 
c.getClass().getName());
-                               showHelpWithinContainer(rootpanecontainer, c);
-                       }
-               };
-
-               JRootPane pane = rootpanecontainer.getRootPane();
-               setKeyCatcher(pane, theAction);
-       }
-
-       /**
-        * Show the help most associated with the specific component within the 
container.
-        *
-        * @param root
-        * @param c
-        */
-       static void showHelpWithinContainer(RootPaneContainer root, Component 
c) {
-               getInstance();
-               showHelp(c);
-       }
-
-       /**
-        * Register a component with the {@link HelpCollator} under the 
specified
-        * id.
-        * 
-        * @param component
-        * @param id
-        */
-       public static void registerComponent(Component component, final String 
id) {
-               HelpCollator.registerComponent(component, id);
-       }
-
-       /**
-        * Register a component with the {@link HelpCollator}.
-        *
-        * @param component
-        * @param parent
-        * @param suffix
-        */
-       public static void registerComponent(Component component, Object parent,
-                       String suffix) {
-               HelpCollator.registerComponent(component, parent, suffix);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/NonBlockedHelpEnabledDialog.java
----------------------------------------------------------------------
diff --git 
a/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/NonBlockedHelpEnabledDialog.java
 
b/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/NonBlockedHelpEnabledDialog.java
deleted file mode 100644
index 67e6bc5..0000000
--- 
a/taverna-workbench-helper-api/src/main/java/net/sf/taverna/t2/workbench/helper/NonBlockedHelpEnabledDialog.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * 
- */
-package net.sf.taverna.t2.workbench.helper;
-
-import static java.awt.Dialog.ModalExclusionType.APPLICATION_EXCLUDE;
-
-import java.awt.Dialog;
-import java.awt.Frame;
-import java.awt.HeadlessException;
-
-/**
- * @author alanrw
- */
-public class NonBlockedHelpEnabledDialog extends HelpEnabledDialog {
-       private static final long serialVersionUID = -2455471377333940417L;
-
-       public NonBlockedHelpEnabledDialog(Dialog owner, String title,
-                       boolean modal, String id) throws HeadlessException {
-               super(owner, title, modal, id);
-               this.setModalExclusionType(APPLICATION_EXCLUDE);
-       }
-
-       public NonBlockedHelpEnabledDialog(Frame owner, String title,
-                       boolean modal, String id) throws HeadlessException {
-               super(owner, title, modal, id);
-               this.setModalExclusionType(APPLICATION_EXCLUDE);
-       }
-
-       public NonBlockedHelpEnabledDialog(Frame parent, String title, boolean 
modal) {
-               super(parent, title, modal, null);
-               this.setModalExclusionType(APPLICATION_EXCLUDE);
-       }
-
-       public NonBlockedHelpEnabledDialog(Dialog parent, String title,
-                       boolean modal) {
-               super(parent, title, modal, null);
-               this.setModalExclusionType(APPLICATION_EXCLUDE);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-helper/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-workbench-helper/pom.xml b/taverna-workbench-helper/pom.xml
deleted file mode 100644
index 70c0621..0000000
--- a/taverna-workbench-helper/pom.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>net.sf.taverna.t2</groupId>
-               <artifactId>ui-impl</artifactId>
-               <version>2.0-SNAPSHOT</version>
-       </parent>
-       <groupId>net.sf.taverna.t2.ui-impl</groupId>
-       <artifactId>helper</artifactId>
-       <name>Help System (legacy dependency)</name>
-       <dependencies>
-               <dependency>
-            <groupId>net.sf.taverna.t2.ui-api</groupId>
-            <artifactId>helper-api</artifactId>
-            <version>${t2.ui.api.version}</version>
-               </dependency>
-       </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-httpproxy-config/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-workbench-httpproxy-config/pom.xml 
b/taverna-workbench-httpproxy-config/pom.xml
deleted file mode 100644
index f1a8328..0000000
--- a/taverna-workbench-httpproxy-config/pom.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>net.sf.taverna.t2</groupId>
-               <artifactId>ui-impl</artifactId>
-               <version>2.0-SNAPSHOT</version>
-       </parent>
-       <groupId>net.sf.taverna.t2.ui-impl</groupId>
-       <artifactId>httpproxy-config</artifactId>
-       <packaging>bundle</packaging>
-       <name>HTTP Proxy configuration</name>
-       <dependencies>
-               <dependency>
-                       <groupId>net.sf.taverna.t2.lang</groupId>
-                       <artifactId>ui</artifactId>
-                       <version>${t2.lang.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>uk.org.taverna.configuration</groupId>
-                       <artifactId>taverna-configuration-api</artifactId>
-                       <version>${taverna.configuration.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>net.sf.taverna.t2.ui-api</groupId>
-                       <artifactId>helper-api</artifactId>
-                       <version>${t2.ui.api.version}</version>
-               </dependency>
-       </dependencies>
-</project>

Reply via email to