http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/main/java/org/apache/taverna/workbench/file/importworkflow/menu/ReplaceNestedWorkflowMenuAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/main/java/org/apache/taverna/workbench/file/importworkflow/menu/ReplaceNestedWorkflowMenuAction.java
 
b/taverna-dataflow-activity-ui/src/main/java/org/apache/taverna/workbench/file/importworkflow/menu/ReplaceNestedWorkflowMenuAction.java
new file mode 100644
index 0000000..79fc02f
--- /dev/null
+++ 
b/taverna-dataflow-activity-ui/src/main/java/org/apache/taverna/workbench/file/importworkflow/menu/ReplaceNestedWorkflowMenuAction.java
@@ -0,0 +1,76 @@
+package org.apache.taverna.workbench.file.importworkflow.menu;
+
+import java.net.URI;
+
+import javax.swing.Action;
+
+import org.apache.taverna.servicedescriptions.ServiceDescriptionRegistry;
+import org.apache.taverna.ui.menu.MenuManager;
+import org.apache.taverna.workbench.activityicons.ActivityIconManager;
+import 
org.apache.taverna.workbench.activitytools.AbstractConfigureActivityMenuAction;
+import org.apache.taverna.workbench.configuration.colour.ColourManager;
+import 
org.apache.taverna.workbench.configuration.workbench.WorkbenchConfiguration;
+import org.apache.taverna.workbench.edits.EditManager;
+import org.apache.taverna.workbench.file.FileManager;
+import 
org.apache.taverna.workbench.file.importworkflow.actions.ReplaceNestedWorkflowAction;
+import org.apache.taverna.workbench.selection.SelectionManager;
+
+public class ReplaceNestedWorkflowMenuAction extends 
AbstractConfigureActivityMenuAction {
+
+       private static final URI NESTED_ACTIVITY = 
URI.create("http://ns.taverna.org.uk/2010/activity/nested-workflow";);
+
+       private EditManager editManager;
+       private FileManager fileManager;
+       private MenuManager menuManager;
+       private ActivityIconManager activityIconManager;
+       private ColourManager colourManager;
+       private WorkbenchConfiguration workbenchConfiguration;
+       private ServiceDescriptionRegistry serviceDescriptionRegistry;
+       private SelectionManager selectionManager;
+
+       public ReplaceNestedWorkflowMenuAction() {
+               super(NESTED_ACTIVITY);
+       }
+
+       @Override
+       protected Action createAction() {
+               ReplaceNestedWorkflowAction configAction = new 
ReplaceNestedWorkflowAction(findActivity(),
+                               editManager, fileManager, menuManager, 
activityIconManager, colourManager,
+                               serviceDescriptionRegistry, 
workbenchConfiguration, selectionManager);
+               addMenuDots(configAction);
+               return configAction;
+       }
+
+       public void setEditManager(EditManager editManager) {
+               this.editManager = editManager;
+       }
+
+       public void setFileManager(FileManager fileManager) {
+               this.fileManager = fileManager;
+       }
+
+       public void setMenuManager(MenuManager menuManager) {
+               this.menuManager = menuManager;
+       }
+
+       public void setActivityIconManager(ActivityIconManager 
activityIconManager) {
+               this.activityIconManager = activityIconManager;
+       }
+
+       public void setColourManager(ColourManager colourManager) {
+               this.colourManager = colourManager;
+       }
+
+       public void setServiceDescriptionRegistry(ServiceDescriptionRegistry 
serviceDescriptionRegistry) {
+               this.serviceDescriptionRegistry = serviceDescriptionRegistry;
+       }
+
+       public void setWorkbenchConfiguration(WorkbenchConfiguration 
workbenchConfiguration) {
+               this.workbenchConfiguration = workbenchConfiguration;
+       }
+
+       public void setSelectionManager(SelectionManager selectionManager) {
+               this.selectionManager = selectionManager;
+       }
+
+}

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

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
 
b/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
deleted file mode 100644
index 6e7eec5..0000000
--- 
a/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
+++ /dev/null
@@ -1,9 +0,0 @@
-# Needs to be first AbstractConfigureActivityMenuAction to be
-# picked up as the automatic 'configure' action for template services
-net.sf.taverna.t2.workbench.file.importworkflow.menu.ReplaceNestedWorkflowMenuAction
-
-net.sf.taverna.t2.workbench.file.importworkflow.menu.AddNestedWorkflowMenuAction
-net.sf.taverna.t2.workbench.file.importworkflow.menu.ImportWorkflowMenuAction
-net.sf.taverna.t2.workbench.file.importworkflow.menu.MergeWorkflowMenuAction
-
-net.sf.taverna.t2.activities.dataflow.menu.EditNestedDataflowMenuAction

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

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler
 
b/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler
deleted file mode 100644
index a334e66..0000000
--- 
a/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.activities.dataflow.filemanager.NestedDataflowPersistenceHandler
\ No newline at end of file

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

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.servicedescriptions.ServiceDescriptionProvider
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.servicedescriptions.ServiceDescriptionProvider
 
b/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.servicedescriptions.ServiceDescriptionProvider
new file mode 100644
index 0000000..4fb5e75
--- /dev/null
+++ 
b/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.servicedescriptions.ServiceDescriptionProvider
@@ -0,0 +1 @@
+org.apache.taverna.activities.dataflow.servicedescriptions.DataflowTemplateService

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent
 
b/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent
new file mode 100644
index 0000000..cd9685a
--- /dev/null
+++ 
b/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent
@@ -0,0 +1,9 @@
+# Needs to be first AbstractConfigureActivityMenuAction to be
+# picked up as the automatic 'configure' action for template services
+org.apache.taverna.workbench.file.importworkflow.menu.ReplaceNestedWorkflowMenuAction
+
+org.apache.taverna.workbench.file.importworkflow.menu.AddNestedWorkflowMenuAction
+org.apache.taverna.workbench.file.importworkflow.menu.ImportWorkflowMenuAction
+org.apache.taverna.workbench.file.importworkflow.menu.MergeWorkflowMenuAction
+
+org.apache.taverna.activities.dataflow.menu.EditNestedDataflowMenuAction

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

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.file.DataflowPersistenceHandler
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.file.DataflowPersistenceHandler
 
b/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.file.DataflowPersistenceHandler
new file mode 100644
index 0000000..907b777
--- /dev/null
+++ 
b/taverna-dataflow-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.file.DataflowPersistenceHandler
@@ -0,0 +1 @@
+org.apache.taverna.activities.dataflow.filemanager.NestedDataflowPersistenceHandler
\ No newline at end of file

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

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/main/resources/META-INF/spring/dataflow-activity-ui-context-osgi.xml
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/main/resources/META-INF/spring/dataflow-activity-ui-context-osgi.xml
 
b/taverna-dataflow-activity-ui/src/main/resources/META-INF/spring/dataflow-activity-ui-context-osgi.xml
index e664429..f2d35c1 100644
--- 
a/taverna-dataflow-activity-ui/src/main/resources/META-INF/spring/dataflow-activity-ui-context-osgi.xml
+++ 
b/taverna-dataflow-activity-ui/src/main/resources/META-INF/spring/dataflow-activity-ui-context-osgi.xml
@@ -6,9 +6,9 @@
                       http://www.springframework.org/schema/osgi
                       
http://www.springframework.org/schema/osgi/spring-osgi.xsd";>
 
-       <service ref="DataflowActivityIcon" 
interface="net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI" />
+       <service ref="DataflowActivityIcon" 
interface="org.apache.taverna.workbench.activityicons.ActivityIconSPI" />
 
-       <service ref="DataflowTemplateService" 
interface="net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider" />
+       <service ref="DataflowTemplateService" 
interface="org.apache.taverna.servicedescriptions.ServiceDescriptionProvider" />
 
        <service ref="ReplaceNestedWorkflowMenuAction" auto-export="interfaces" 
/>
        <service ref="AddNestedWorkflowMenuAction" auto-export="interfaces" />
@@ -16,18 +16,18 @@
        <service ref="MergeWorkflowMenuAction" auto-export="interfaces" />
        <service ref="EditNestedDataflowMenuAction" auto-export="interfaces" />
 
-       <!-- <service ref="NestedDataflowPersistenceHandler" 
interface="net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler" /> -->
+       <!-- <service ref="NestedDataflowPersistenceHandler" 
interface="org.apache.taverna.workbench.file.DataflowPersistenceHandler" /> -->
 
-       <service ref="DataflowActivityViewFactory" 
interface="net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory"
 />
+       <service ref="DataflowActivityViewFactory" 
interface="org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory"
 />
 
-       <reference id="editManager" 
interface="net.sf.taverna.t2.workbench.edits.EditManager" />
-       <reference id="fileManager" 
interface="net.sf.taverna.t2.workbench.file.FileManager" />
-       <reference id="menuManager" 
interface="net.sf.taverna.t2.ui.menu.MenuManager" />
-       <reference id="edits" interface="net.sf.taverna.t2.workflowmodel.Edits" 
/>
-       <reference id="activityIconManager" 
interface="net.sf.taverna.t2.workbench.activityicons.ActivityIconManager" />
-       <reference id="colourManager" 
interface="net.sf.taverna.t2.workbench.configuration.colour.ColourManager" />
-       <reference id="serviceDescriptionRegistry" 
interface="net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry" />
-       <reference id="workbenchConfiguration" 
interface="net.sf.taverna.t2.workbench.configuration.workbench.WorkbenchConfiguration"
 />
-       <reference id="selectionManager" 
interface="net.sf.taverna.t2.workbench.selection.SelectionManager" />
+       <reference id="editManager" 
interface="org.apache.taverna.workbench.edits.EditManager" />
+       <reference id="fileManager" 
interface="org.apache.taverna.workbench.file.FileManager" />
+       <reference id="menuManager" 
interface="org.apache.taverna.ui.menu.MenuManager" />
+       <reference id="edits" 
interface="org.apache.taverna.workflowmodel.Edits" />
+       <reference id="activityIconManager" 
interface="org.apache.taverna.workbench.activityicons.ActivityIconManager" />
+       <reference id="colourManager" 
interface="org.apache.taverna.workbench.configuration.colour.ColourManager" />
+       <reference id="serviceDescriptionRegistry" 
interface="org.apache.taverna.servicedescriptions.ServiceDescriptionRegistry" />
+       <reference id="workbenchConfiguration" 
interface="org.apache.taverna.workbench.configuration.workbench.WorkbenchConfiguration"
 />
+       <reference id="selectionManager" 
interface="org.apache.taverna.workbench.selection.SelectionManager" />
 
 </beans:beans>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/main/resources/META-INF/spring/dataflow-activity-ui-context.xml
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/main/resources/META-INF/spring/dataflow-activity-ui-context.xml
 
b/taverna-dataflow-activity-ui/src/main/resources/META-INF/spring/dataflow-activity-ui-context.xml
index f72abd2..faa1a43 100644
--- 
a/taverna-dataflow-activity-ui/src/main/resources/META-INF/spring/dataflow-activity-ui-context.xml
+++ 
b/taverna-dataflow-activity-ui/src/main/resources/META-INF/spring/dataflow-activity-ui-context.xml
@@ -3,11 +3,11 @@
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                       
http://www.springframework.org/schema/beans/spring-beans.xsd";>
 
-       <bean id="DataflowActivityIcon" 
class="net.sf.taverna.t2.activities.dataflow.servicedescriptions.DataflowActivityIcon"
 />
+       <bean id="DataflowActivityIcon" 
class="org.apache.taverna.activities.dataflow.servicedescriptions.DataflowActivityIcon"
 />
 
-       <bean id="DataflowTemplateService" 
class="net.sf.taverna.t2.activities.dataflow.servicedescriptions.DataflowTemplateService"
 />
+       <bean id="DataflowTemplateService" 
class="org.apache.taverna.activities.dataflow.servicedescriptions.DataflowTemplateService"
 />
 
-       <bean id="ReplaceNestedWorkflowMenuAction" 
class="net.sf.taverna.t2.workbench.file.importworkflow.menu.ReplaceNestedWorkflowMenuAction">
+       <bean id="ReplaceNestedWorkflowMenuAction" 
class="org.apache.taverna.workbench.file.importworkflow.menu.ReplaceNestedWorkflowMenuAction">
                        <property name="editManager" ref="editManager" />
                        <property name="fileManager" ref="fileManager" />
                        <property name="menuManager" ref="menuManager" />
@@ -17,7 +17,7 @@
                        <property name="workbenchConfiguration" 
ref="workbenchConfiguration" />
                        <property name="selectionManager" 
ref="selectionManager" />
        </bean>
-       <bean id="AddNestedWorkflowMenuAction" 
class="net.sf.taverna.t2.workbench.file.importworkflow.menu.AddNestedWorkflowMenuAction">
+       <bean id="AddNestedWorkflowMenuAction" 
class="org.apache.taverna.workbench.file.importworkflow.menu.AddNestedWorkflowMenuAction">
                        <property name="editManager" ref="editManager" />
                        <property name="fileManager" ref="fileManager" />
                        <property name="menuManager" ref="menuManager" />
@@ -25,7 +25,7 @@
                        <property name="workbenchConfiguration" 
ref="workbenchConfiguration" />
                        <property name="selectionManager" 
ref="selectionManager" />
        </bean>
-       <bean id="ImportWorkflowMenuAction" 
class="net.sf.taverna.t2.workbench.file.importworkflow.menu.ImportWorkflowMenuAction">
+       <bean id="ImportWorkflowMenuAction" 
class="org.apache.taverna.workbench.file.importworkflow.menu.ImportWorkflowMenuAction">
                        <property name="editManager" ref="editManager" />
                        <property name="fileManager" ref="fileManager" />
                        <property name="menuManager" ref="menuManager" />
@@ -33,7 +33,7 @@
                        <property name="workbenchConfiguration" 
ref="workbenchConfiguration" />
                        <property name="selectionManager" 
ref="selectionManager" />
        </bean>
-       <bean id="MergeWorkflowMenuAction" 
class="net.sf.taverna.t2.workbench.file.importworkflow.menu.MergeWorkflowMenuAction">
+       <bean id="MergeWorkflowMenuAction" 
class="org.apache.taverna.workbench.file.importworkflow.menu.MergeWorkflowMenuAction">
                        <property name="editManager" ref="editManager" />
                        <property name="fileManager" ref="fileManager" />
                        <property name="menuManager" ref="menuManager" />
@@ -41,16 +41,16 @@
                        <property name="workbenchConfiguration" 
ref="workbenchConfiguration" />
                        <property name="selectionManager" 
ref="selectionManager" />
        </bean>
-       <bean id="EditNestedDataflowMenuAction" 
class="net.sf.taverna.t2.activities.dataflow.menu.EditNestedDataflowMenuAction">
+       <bean id="EditNestedDataflowMenuAction" 
class="org.apache.taverna.activities.dataflow.menu.EditNestedDataflowMenuAction">
                        <property name="selectionManager" 
ref="selectionManager" />
        </bean>
 
-       <!-- <bean id="NestedDataflowPersistenceHandler" 
class="net.sf.taverna.t2.activities.dataflow.filemanager.NestedDataflowPersistenceHandler">
+       <!-- <bean id="NestedDataflowPersistenceHandler" 
class="org.apache.taverna.activities.dataflow.filemanager.NestedDataflowPersistenceHandler">
                        <property name="editManager" ref="editManager" />
                        <property name="fileManager" ref="fileManager" />
        </bean> -->
 
-       <bean id="DataflowActivityViewFactory" 
class="net.sf.taverna.t2.activities.dataflow.views.DataflowActivityViewFactory">
+       <bean id="DataflowActivityViewFactory" 
class="org.apache.taverna.activities.dataflow.views.DataflowActivityViewFactory">
                        <property name="editManager" ref="editManager" />
                        <property name="fileManager" ref="fileManager" />
                        <property name="menuManager" ref="menuManager" />

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/AbstractTestHelper.java
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/AbstractTestHelper.java
 
b/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/AbstractTestHelper.java
deleted file mode 100644
index 9c43474..0000000
--- 
a/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/AbstractTestHelper.java
+++ /dev/null
@@ -1,266 +0,0 @@
-package net.sf.taverna.t2.workbench.file.importworkflow;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.InputStream;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.junit.Before;
-
-import org.apache.taverna.scufl2.api.common.Scufl2Tools;
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.core.BlockingControlLink;
-import org.apache.taverna.scufl2.api.core.ControlLink;
-import org.apache.taverna.scufl2.api.core.DataLink;
-import org.apache.taverna.scufl2.api.core.Processor;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
-import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
-import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
-import org.apache.taverna.scufl2.api.port.ProcessorPort;
-import org.apache.taverna.scufl2.api.port.ReceiverPort;
-import org.apache.taverna.scufl2.api.port.SenderPort;
-
-public abstract class AbstractTestHelper {
-
-       private static final String Q_T2FLOW = "/q.t2flow";
-
-       private static final String ABC_T2FLOW = "/abc.t2flow";
-
-       private static final String P_T2FLOW = "/p.t2flow";
-
-       private WorkflowBundleIO workflowBundleIO = new WorkflowBundleIO();
-
-       protected Scufl2Tools scufl2Tools = new Scufl2Tools();
-
-       protected Workflow abc;
-
-       protected Workflow p;
-
-       protected Workflow q;
-
-       protected void assertHasConditionals(Workflow dataflow,
-                       String... expectedConditionalDef) {
-               Set<String> expectedConditionals = new HashSet<String>();
-               for (String expected : expectedConditionalDef) {
-                       expectedConditionals.add(expected);
-               }
-
-               Set<String> foundConditionals = new HashSet<String>();
-
-               for (ControlLink c : dataflow.getControlLinks()) {
-                       if (c instanceof BlockingControlLink) {
-                       BlockingControlLink bcl = (BlockingControlLink) c;
-                       foundConditionals.add(bcl.getUntilFinished().getName() 
+ ";"
-                                       + bcl.getBlock().getName());
-                       }
-               }
-
-               Set<String> extras = new HashSet<String>(foundConditionals);
-               extras.removeAll(expectedConditionals);
-               assertTrue("Unexpected conditional  " + extras, 
extras.isEmpty());
-
-               Set<String> missing = new HashSet<String>(expectedConditionals);
-               missing.removeAll(foundConditionals);
-               assertTrue("Could not find conditional  " + missing, 
missing.isEmpty());
-       }
-
-       protected void assertHasDatalinks(Workflow dataflow,
-                       String... expectedLinkDef) {
-               Set<String> expectedLinks = new HashSet<String>();
-               for (String expected : expectedLinkDef) {
-                       expectedLinks.add(expected);
-               }
-
-               Set<String> foundLinks = new HashSet<String>();
-
-               for (DataLink link : dataflow.getDataLinks()) {
-                       StringBuilder linkRef = new StringBuilder();
-                       SenderPort source = link.getReceivesFrom();
-                       if (source instanceof ProcessorPort) {
-                               linkRef.append(((ProcessorPort) 
source).getParent()
-                                               .getName());
-                               linkRef.append('.');
-                       }
-                       linkRef.append(source.getName());
-
-                       linkRef.append("->");
-
-                       ReceiverPort sink = link.getSendsTo();
-                       if (sink instanceof ProcessorPort) {
-                               linkRef.append(((ProcessorPort) 
sink).getParent()
-                                               .getName());
-                               linkRef.append('.');
-                       }
-                       linkRef.append(sink.getName());
-
-                       String linkStr = linkRef.toString();
-                       foundLinks.add(linkStr);
-               }
-
-               Set<String> extras = new HashSet<String>(foundLinks);
-               extras.removeAll(expectedLinks);
-               assertTrue("Unexpected links  " + extras, extras.isEmpty());
-
-               Set<String> missing = new HashSet<String>(expectedLinks);
-               missing.removeAll(foundLinks);
-               assertTrue("Could not find links  " + missing, 
missing.isEmpty());
-       }
-
-       protected void assertHasInputPorts(Workflow dataflow,
-                       String... expectedInputPorts) {
-               Set<String> expectedNames = new HashSet<String>();
-               for (String expected : expectedInputPorts) {
-                       expectedNames.add(expected);
-               }
-               Set<String> foundNames = new HashSet<String>();
-               for (InputWorkflowPort port : dataflow.getInputPorts()) {
-                       String name = port.getName();
-                       foundNames.add(name);
-               }
-
-               Set<String> extras = new HashSet<String>(foundNames);
-               extras.removeAll(expectedNames);
-               assertTrue("Unexpected input port  " + extras, 
extras.isEmpty());
-
-               Set<String> missing = new HashSet<String>(expectedNames);
-               missing.removeAll(foundNames);
-               assertTrue("Could not find input port  " + missing, 
missing.isEmpty());
-
-       }
-
-       protected void assertHasOutputPorts(Workflow dataflow,
-                       String... expectedOutputPorts) {
-               Set<String> expectedNames = new HashSet<String>();
-               for (String expected : expectedOutputPorts) {
-                       expectedNames.add(expected);
-               }
-               Set<String> foundNames = new HashSet<String>();
-               for (OutputWorkflowPort port : dataflow.getOutputPorts()) {
-                       String name = port.getName();
-                       foundNames.add(name);
-               }
-
-               Set<String> extras = new HashSet<String>(foundNames);
-               extras.removeAll(expectedNames);
-               assertTrue("Unexpected output port  " + extras, 
extras.isEmpty());
-
-               Set<String> missing = new HashSet<String>(expectedNames);
-               missing.removeAll(foundNames);
-               assertTrue("Could not find output port  " + missing, 
missing.isEmpty());
-       }
-
-       protected void assertHasProcessors(Workflow dataflow,
-                       String... expectedProcessors) {
-               Set<String> expectedNames = new HashSet<String>();
-               for (String expected : expectedProcessors) {
-                       expectedNames.add(expected);
-               }
-               Set<String> foundNames = new HashSet<String>();
-
-               for (Processor proc : dataflow.getProcessors()) {
-                       String processorName = proc.getName();
-                       foundNames.add(processorName);
-               }
-
-               Set<String> extras = new HashSet<String>(foundNames);
-               extras.removeAll(expectedNames);
-               assertTrue("Unexpected processor  " + extras, extras.isEmpty());
-
-               Set<String> missing = new HashSet<String>(expectedNames);
-               missing.removeAll(foundNames);
-               assertTrue("Could not find processor  " + missing, 
missing.isEmpty());
-       }
-
-       protected void checkAbc() throws Exception {
-               assertHasProcessors(abc, "A", "B", "C");
-               assertHasInputPorts(abc, "in1", "in2");
-               assertHasOutputPorts(abc, "a", "b", "c");
-               assertHasDatalinks(abc, "in2->B.inputlist", "in1->A.string1",
-                               "in2->A.string2", 
"Merge0:Merge0_output->C.inputlist",
-                               "A.output->a", "B.outputlist->b",
-                               
"B.outputlist->Merge0:outputlistToMerge0_input0",
-                               "A.output->Merge0:outputToMerge0_input0", 
"C.outputlist->c");
-               assertHasConditionals(abc, "A;B");
-       }
-
-       protected void checkP() throws Exception {
-               assertHasProcessors(p, "P");
-               assertHasInputPorts(p, "i");
-               assertHasOutputPorts(p, "o");
-               assertHasDatalinks(p, "i->P.inputlist", "P.outputlist->o");
-               assertHasConditionals(p);
-
-       }
-
-       protected void checkQ() throws Exception {
-               assertHasProcessors(q, "Q");
-               assertHasInputPorts(q, "p");
-               assertHasOutputPorts(q, "p", "q");
-               assertHasDatalinks(q, "p->Q.inputlist", "Q.outputlist->q", 
"p->p");
-               assertHasConditionals(q);
-
-               List<DataLink> datalinksTo = 
scufl2Tools.datalinksTo(findOutputPort(q, "p"));
-               assertEquals(1, datalinksTo.size());
-               SenderPort source = datalinksTo.get(0).getReceivesFrom();
-               assertEquals("out port P not linked to input P", source, 
findInputPort(q, "p"));
-
-       }
-
-       protected Workflow loadAbc() throws Exception {
-               return openWorkflow(getClass().getResourceAsStream(ABC_T2FLOW));
-       }
-
-       protected Workflow loadP() throws Exception {
-               return openWorkflow(getClass().getResourceAsStream(P_T2FLOW));
-       }
-
-       protected Workflow loadQ() throws Exception {
-               return openWorkflow(getClass().getResourceAsStream(Q_T2FLOW));
-       }
-
-       @Before
-       public void loadWorkflows() throws Exception {
-               abc = loadAbc();
-               p = loadP();
-               q = loadQ();
-       }
-
-       protected Workflow openWorkflow(InputStream workflowXMLstream) throws 
Exception {
-               assertNotNull(workflowXMLstream);
-               WorkflowBundle workflowBundle = 
workflowBundleIO.readBundle(workflowXMLstream, 
"application/vnd.taverna.t2flow+xml");
-               return workflowBundle.getMainWorkflow();
-       }
-
-       protected InputWorkflowPort findInputPort(Workflow wf, String name) {
-               for (InputWorkflowPort inp : wf.getInputPorts()) {
-                       if (inp.getName().equals(name)) {
-                               return inp;
-                       }
-               }
-               throw new IllegalArgumentException("Unknown input port: " + 
name);
-       }
-
-       protected OutputWorkflowPort findOutputPort(Workflow wf, String name) {
-               for (OutputWorkflowPort outp : wf.getOutputPorts()) {
-                       if (outp.getName().equals(name)) {
-                               return outp;
-                       }
-               }
-               throw new IllegalArgumentException("Unknown output port: " + 
name);
-       }
-
-       protected Processor findProcessor(Workflow wf, String name) {
-               for (Processor proc : wf.getProcessors()) {
-                       if (proc.getName().equals(name)) {
-                               return proc;
-                       }
-               }
-               throw new IllegalArgumentException("Unknown processor: " + 
name);
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestPortMerge.java
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestPortMerge.java
 
b/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestPortMerge.java
deleted file mode 100644
index d950ae2..0000000
--- 
a/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestPortMerge.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package net.sf.taverna.t2.workbench.file.importworkflow;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-
-import java.util.List;
-
-import org.junit.Ignore;
-import org.junit.Test;
-
-import org.apache.taverna.scufl2.api.core.DataLink;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.port.SenderPort;
-
-@Ignore
-public class TestPortMerge extends AbstractTestHelper {
-
-       @Test
-       public void mergeQintoP() throws Exception {
-               DataflowMerger merger = new DataflowMerger(p);
-               merger.getMergeEdit(q).doEdit();
-               Workflow merged = p;
-               checkQ();
-
-               assertHasProcessors(merged, "P", "Q");
-               assertHasInputPorts(merged, "i", "p");
-               assertHasOutputPorts(merged, "o", "p", "q");
-               assertHasDatalinks(merged, "i->P.inputlist", "P.outputlist->o", 
"p->Q.inputlist",
-                               "Q.outputlist->q", "p->p");
-
-               List<DataLink> datalinksTo = 
scufl2Tools.datalinksTo(findOutputPort(merged, "p"));
-               assertEquals(1, datalinksTo.size());
-               SenderPort source = datalinksTo.get(0).getReceivesFrom();
-               assertSame("out port P not linked to input P", source, 
findInputPort(merged, "p"));
-
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestRename.java
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestRename.java
 
b/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestRename.java
deleted file mode 100644
index 2755645..0000000
--- 
a/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestRename.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package net.sf.taverna.t2.workbench.file.importworkflow;
-
-import org.junit.Ignore;
-import org.junit.Test;
-
-import org.apache.taverna.scufl2.api.core.Workflow;
-
-@Ignore
-public class TestRename extends AbstractTestHelper {
-
-       @Test
-       public void mergePintoP() throws Exception {
-               DataflowMerger merger = new DataflowMerger(p);
-               merger.getMergeEdit(p).doEdit();
-               Workflow merged = p;
-
-               assertHasProcessors(merged, "P", "P_2");
-               assertHasInputPorts(merged, "i", "i_2");
-               assertHasOutputPorts(merged, "o", "o_2");
-               assertHasDatalinks(merged, "i->P.inputlist", "P.outputlist->o",
-                               "i_2->P_2.inputlist", "P_2.outputlist->o_2");
-       }
-
-       @Test
-       public void mergePintoPintoP() throws Exception {
-               // Don't put p in constructor, or we would get exponential 
merging!
-               Workflow merged = new Workflow();
-               DataflowMerger merger = new DataflowMerger(merged);
-               merger.getMergeEdit(p).doEdit();
-               merger.getMergeEdit(p).doEdit();
-               merger.getMergeEdit(p).doEdit();
-
-               assertHasProcessors(merged, "P", "P_2", "P_3");
-               assertHasInputPorts(merged, "i", "i_2", "i_3");
-               assertHasOutputPorts(merged, "o", "o_2", "o_3");
-               assertHasDatalinks(merged, "i->P.inputlist", "P.outputlist->o",
-                               "i_2->P_2.inputlist", "P_2.outputlist->o_2",
-                               "i_3->P_3.inputlist", "P_3.outputlist->o_3");
-       }
-
-       @Test
-       public void mergePintoPWithPrefix() throws Exception {
-               // Don't put p in constructor, or we would get exponential 
merging!
-               Workflow merged = new Workflow();
-               DataflowMerger merger = new DataflowMerger(merged);
-               merger.getMergeEdit(p).doEdit();
-               merger.getMergeEdit(p, "fish_").doEdit();
-               merger.getMergeEdit(p, "soup_").doEdit();
-
-               assertHasProcessors(merged, "P", "fish_P", "soup_P");
-               assertHasInputPorts(merged, "i", "fish_i", "soup_i");
-               assertHasOutputPorts(merged, "o", "fish_o", "soup_o");
-               assertHasDatalinks(merged, "i->P.inputlist", "P.outputlist->o",
-                               "fish_i->fish_P.inputlist", 
"fish_P.outputlist->fish_o",
-                               "soup_i->soup_P.inputlist", 
"soup_P.outputlist->soup_o");
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestSimpleMerge.java
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestSimpleMerge.java
 
b/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestSimpleMerge.java
deleted file mode 100644
index 8199979..0000000
--- 
a/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestSimpleMerge.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package net.sf.taverna.t2.workbench.file.importworkflow;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertSame;
-
-import java.util.List;
-
-import org.junit.Ignore;
-import org.junit.Test;
-
-import org.apache.taverna.scufl2.api.core.DataLink;
-import org.apache.taverna.scufl2.api.core.Processor;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.port.InputProcessorPort;
-import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
-import org.apache.taverna.scufl2.api.port.SenderPort;
-
-@Ignore
-public class TestSimpleMerge extends AbstractTestHelper {
-
-       private void checkMergedAbcP(Workflow merged) {
-               // Check that it has everything from both
-               assertHasProcessors(merged, "A", "B", "C", "P");
-               assertHasInputPorts(merged, "in1", "in2", "i");
-               assertHasOutputPorts(merged, "a", "b", "c", "o");
-               assertHasDatalinks(merged, "in2->B.inputlist", "in1->A.string1",
-                               "in2->A.string2", 
"Merge0:Merge0_output->C.inputlist",
-                               "A.output->a", "B.outputlist->b",
-                               
"B.outputlist->Merge0:outputlistToMerge0_input0",
-                               "A.output->Merge0:outputToMerge0_input0", 
"C.outputlist->c",
-                               "i->P.inputlist", "P.outputlist->o");
-               assertHasConditionals(merged, "A;B");
-       }
-
-       private void checkCopiedFromP(Workflow merged) {
-               Processor newProcP = findProcessor(merged, "P");
-               Processor originalProcP = findProcessor(p, "P");
-               assertNotSame("Did not copy processor P", newProcP, 
originalProcP);
-
-               InputProcessorPort inp = newProcP.getInputPorts().first();
-               InputWorkflowPort newInI = findInputPort(merged, "i");
-               assertEquals(0, newInI.getDepth().intValue());
-
-               InputWorkflowPort originalInI = findInputPort(p, "i");
-               assertNotSame("Did not copy port 'i'", originalInI, newInI);
-
-               List<DataLink> datalinksTo = scufl2Tools.datalinksTo(inp);
-               assertEquals(1, datalinksTo.size());
-               SenderPort source = datalinksTo.get(0).getReceivesFrom();
-
-               assertSame("Not linked to new port", source, newInI);
-               assertNotSame("Still linked to old port", source, originalInI);
-       }
-
-
-       @Test
-       public void mergeAbcAndPIntoNew() throws Exception {
-               Workflow merged = new Workflow();
-               DataflowMerger merger = new DataflowMerger(merged);
-               merger.getMergeEdit(abc).doEdit();
-
-               assertNotSame(abc, merged);
-               merger.getMergeEdit(p).doEdit();
-
-
-               // Assert abc and p were not modified
-               checkAbc();
-               checkP();
-
-               checkMergedAbcP(merged);
-               checkCopiedFromP(merged);
-       }
-
-       @Test
-       public void mergePintoAbc() throws Exception {
-               DataflowMerger merger = new DataflowMerger(abc);
-               Workflow merged = abc;
-
-               merger.getMergeEdit(p).doEdit();
-               checkMergedAbcP(merged);
-               checkCopiedFromP(merged);
-               // Assert P did not change
-               checkP();
-       }
-
-       @Test
-       public void mergeAbcintoP() throws Exception {
-               Workflow merged = p;
-               DataflowMerger merger = new DataflowMerger(merged);
-               merger.getMergeEdit(abc).doEdit();
-
-               checkMergedAbcP(merged);
-               // Assert ABC did not change
-               checkAbc();
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestTestHelper.java
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestTestHelper.java
 
b/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestTestHelper.java
deleted file mode 100644
index 2165a67..0000000
--- 
a/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/TestTestHelper.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package net.sf.taverna.t2.workbench.file.importworkflow;
-
-import org.junit.Ignore;
-import org.junit.Test;
-
-@Ignore
-public class TestTestHelper extends AbstractTestHelper {
-
-       @Test
-       public void checkAbc() throws Exception {
-               super.checkAbc();
-       }
-
-       @Test
-       public void checkP() throws Exception {
-               super.checkP();
-       }
-
-       @Test
-       public void checkQ() throws Exception {
-               super.checkQ();
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/gui/ImportWizardLauncher.java
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/gui/ImportWizardLauncher.java
 
b/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/gui/ImportWizardLauncher.java
deleted file mode 100644
index b45a774..0000000
--- 
a/taverna-dataflow-activity-ui/src/test/java/net/sf/taverna/t2/workbench/file/importworkflow/gui/ImportWizardLauncher.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package net.sf.taverna.t2.workbench.file.importworkflow.gui;
-
-import javax.swing.UIManager;
-
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.edits.impl.EditManagerImpl;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.impl.FileManagerImpl;
-
-
-public class ImportWizardLauncher {
-
-       public static void main(String[] args) throws Exception {
-
-               UIManager.setLookAndFeel(UIManager
-                               .getSystemLookAndFeelClassName());
-
-               EditManager editManager = new EditManagerImpl();
-               FileManager fileManager = new FileManagerImpl(editManager);
-
-               ImportWorkflowWizard s = new ImportWorkflowWizard(null, 
editManager, fileManager, null, null, null, null);
-               s.setVisible(true);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/AbstractTestHelper.java
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/AbstractTestHelper.java
 
b/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/AbstractTestHelper.java
new file mode 100644
index 0000000..2e4dde5
--- /dev/null
+++ 
b/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/AbstractTestHelper.java
@@ -0,0 +1,266 @@
+package org.apache.taverna.workbench.file.importworkflow;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.InputStream;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.junit.Before;
+
+import org.apache.taverna.scufl2.api.common.Scufl2Tools;
+import org.apache.taverna.scufl2.api.container.WorkflowBundle;
+import org.apache.taverna.scufl2.api.core.BlockingControlLink;
+import org.apache.taverna.scufl2.api.core.ControlLink;
+import org.apache.taverna.scufl2.api.core.DataLink;
+import org.apache.taverna.scufl2.api.core.Processor;
+import org.apache.taverna.scufl2.api.core.Workflow;
+import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
+import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
+import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
+import org.apache.taverna.scufl2.api.port.ProcessorPort;
+import org.apache.taverna.scufl2.api.port.ReceiverPort;
+import org.apache.taverna.scufl2.api.port.SenderPort;
+
+public abstract class AbstractTestHelper {
+
+       private static final String Q_T2FLOW = "/q.t2flow";
+
+       private static final String ABC_T2FLOW = "/abc.t2flow";
+
+       private static final String P_T2FLOW = "/p.t2flow";
+
+       private WorkflowBundleIO workflowBundleIO = new WorkflowBundleIO();
+
+       protected Scufl2Tools scufl2Tools = new Scufl2Tools();
+
+       protected Workflow abc;
+
+       protected Workflow p;
+
+       protected Workflow q;
+
+       protected void assertHasConditionals(Workflow dataflow,
+                       String... expectedConditionalDef) {
+               Set<String> expectedConditionals = new HashSet<String>();
+               for (String expected : expectedConditionalDef) {
+                       expectedConditionals.add(expected);
+               }
+
+               Set<String> foundConditionals = new HashSet<String>();
+
+               for (ControlLink c : dataflow.getControlLinks()) {
+                       if (c instanceof BlockingControlLink) {
+                       BlockingControlLink bcl = (BlockingControlLink) c;
+                       foundConditionals.add(bcl.getUntilFinished().getName() 
+ ";"
+                                       + bcl.getBlock().getName());
+                       }
+               }
+
+               Set<String> extras = new HashSet<String>(foundConditionals);
+               extras.removeAll(expectedConditionals);
+               assertTrue("Unexpected conditional  " + extras, 
extras.isEmpty());
+
+               Set<String> missing = new HashSet<String>(expectedConditionals);
+               missing.removeAll(foundConditionals);
+               assertTrue("Could not find conditional  " + missing, 
missing.isEmpty());
+       }
+
+       protected void assertHasDatalinks(Workflow dataflow,
+                       String... expectedLinkDef) {
+               Set<String> expectedLinks = new HashSet<String>();
+               for (String expected : expectedLinkDef) {
+                       expectedLinks.add(expected);
+               }
+
+               Set<String> foundLinks = new HashSet<String>();
+
+               for (DataLink link : dataflow.getDataLinks()) {
+                       StringBuilder linkRef = new StringBuilder();
+                       SenderPort source = link.getReceivesFrom();
+                       if (source instanceof ProcessorPort) {
+                               linkRef.append(((ProcessorPort) 
source).getParent()
+                                               .getName());
+                               linkRef.append('.');
+                       }
+                       linkRef.append(source.getName());
+
+                       linkRef.append("->");
+
+                       ReceiverPort sink = link.getSendsTo();
+                       if (sink instanceof ProcessorPort) {
+                               linkRef.append(((ProcessorPort) 
sink).getParent()
+                                               .getName());
+                               linkRef.append('.');
+                       }
+                       linkRef.append(sink.getName());
+
+                       String linkStr = linkRef.toString();
+                       foundLinks.add(linkStr);
+               }
+
+               Set<String> extras = new HashSet<String>(foundLinks);
+               extras.removeAll(expectedLinks);
+               assertTrue("Unexpected links  " + extras, extras.isEmpty());
+
+               Set<String> missing = new HashSet<String>(expectedLinks);
+               missing.removeAll(foundLinks);
+               assertTrue("Could not find links  " + missing, 
missing.isEmpty());
+       }
+
+       protected void assertHasInputPorts(Workflow dataflow,
+                       String... expectedInputPorts) {
+               Set<String> expectedNames = new HashSet<String>();
+               for (String expected : expectedInputPorts) {
+                       expectedNames.add(expected);
+               }
+               Set<String> foundNames = new HashSet<String>();
+               for (InputWorkflowPort port : dataflow.getInputPorts()) {
+                       String name = port.getName();
+                       foundNames.add(name);
+               }
+
+               Set<String> extras = new HashSet<String>(foundNames);
+               extras.removeAll(expectedNames);
+               assertTrue("Unexpected input port  " + extras, 
extras.isEmpty());
+
+               Set<String> missing = new HashSet<String>(expectedNames);
+               missing.removeAll(foundNames);
+               assertTrue("Could not find input port  " + missing, 
missing.isEmpty());
+
+       }
+
+       protected void assertHasOutputPorts(Workflow dataflow,
+                       String... expectedOutputPorts) {
+               Set<String> expectedNames = new HashSet<String>();
+               for (String expected : expectedOutputPorts) {
+                       expectedNames.add(expected);
+               }
+               Set<String> foundNames = new HashSet<String>();
+               for (OutputWorkflowPort port : dataflow.getOutputPorts()) {
+                       String name = port.getName();
+                       foundNames.add(name);
+               }
+
+               Set<String> extras = new HashSet<String>(foundNames);
+               extras.removeAll(expectedNames);
+               assertTrue("Unexpected output port  " + extras, 
extras.isEmpty());
+
+               Set<String> missing = new HashSet<String>(expectedNames);
+               missing.removeAll(foundNames);
+               assertTrue("Could not find output port  " + missing, 
missing.isEmpty());
+       }
+
+       protected void assertHasProcessors(Workflow dataflow,
+                       String... expectedProcessors) {
+               Set<String> expectedNames = new HashSet<String>();
+               for (String expected : expectedProcessors) {
+                       expectedNames.add(expected);
+               }
+               Set<String> foundNames = new HashSet<String>();
+
+               for (Processor proc : dataflow.getProcessors()) {
+                       String processorName = proc.getName();
+                       foundNames.add(processorName);
+               }
+
+               Set<String> extras = new HashSet<String>(foundNames);
+               extras.removeAll(expectedNames);
+               assertTrue("Unexpected processor  " + extras, extras.isEmpty());
+
+               Set<String> missing = new HashSet<String>(expectedNames);
+               missing.removeAll(foundNames);
+               assertTrue("Could not find processor  " + missing, 
missing.isEmpty());
+       }
+
+       protected void checkAbc() throws Exception {
+               assertHasProcessors(abc, "A", "B", "C");
+               assertHasInputPorts(abc, "in1", "in2");
+               assertHasOutputPorts(abc, "a", "b", "c");
+               assertHasDatalinks(abc, "in2->B.inputlist", "in1->A.string1",
+                               "in2->A.string2", 
"Merge0:Merge0_output->C.inputlist",
+                               "A.output->a", "B.outputlist->b",
+                               
"B.outputlist->Merge0:outputlistToMerge0_input0",
+                               "A.output->Merge0:outputToMerge0_input0", 
"C.outputlist->c");
+               assertHasConditionals(abc, "A;B");
+       }
+
+       protected void checkP() throws Exception {
+               assertHasProcessors(p, "P");
+               assertHasInputPorts(p, "i");
+               assertHasOutputPorts(p, "o");
+               assertHasDatalinks(p, "i->P.inputlist", "P.outputlist->o");
+               assertHasConditionals(p);
+
+       }
+
+       protected void checkQ() throws Exception {
+               assertHasProcessors(q, "Q");
+               assertHasInputPorts(q, "p");
+               assertHasOutputPorts(q, "p", "q");
+               assertHasDatalinks(q, "p->Q.inputlist", "Q.outputlist->q", 
"p->p");
+               assertHasConditionals(q);
+
+               List<DataLink> datalinksTo = 
scufl2Tools.datalinksTo(findOutputPort(q, "p"));
+               assertEquals(1, datalinksTo.size());
+               SenderPort source = datalinksTo.get(0).getReceivesFrom();
+               assertEquals("out port P not linked to input P", source, 
findInputPort(q, "p"));
+
+       }
+
+       protected Workflow loadAbc() throws Exception {
+               return openWorkflow(getClass().getResourceAsStream(ABC_T2FLOW));
+       }
+
+       protected Workflow loadP() throws Exception {
+               return openWorkflow(getClass().getResourceAsStream(P_T2FLOW));
+       }
+
+       protected Workflow loadQ() throws Exception {
+               return openWorkflow(getClass().getResourceAsStream(Q_T2FLOW));
+       }
+
+       @Before
+       public void loadWorkflows() throws Exception {
+               abc = loadAbc();
+               p = loadP();
+               q = loadQ();
+       }
+
+       protected Workflow openWorkflow(InputStream workflowXMLstream) throws 
Exception {
+               assertNotNull(workflowXMLstream);
+               WorkflowBundle workflowBundle = 
workflowBundleIO.readBundle(workflowXMLstream, 
"application/vnd.taverna.t2flow+xml");
+               return workflowBundle.getMainWorkflow();
+       }
+
+       protected InputWorkflowPort findInputPort(Workflow wf, String name) {
+               for (InputWorkflowPort inp : wf.getInputPorts()) {
+                       if (inp.getName().equals(name)) {
+                               return inp;
+                       }
+               }
+               throw new IllegalArgumentException("Unknown input port: " + 
name);
+       }
+
+       protected OutputWorkflowPort findOutputPort(Workflow wf, String name) {
+               for (OutputWorkflowPort outp : wf.getOutputPorts()) {
+                       if (outp.getName().equals(name)) {
+                               return outp;
+                       }
+               }
+               throw new IllegalArgumentException("Unknown output port: " + 
name);
+       }
+
+       protected Processor findProcessor(Workflow wf, String name) {
+               for (Processor proc : wf.getProcessors()) {
+                       if (proc.getName().equals(name)) {
+                               return proc;
+                       }
+               }
+               throw new IllegalArgumentException("Unknown processor: " + 
name);
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestPortMerge.java
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestPortMerge.java
 
b/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestPortMerge.java
new file mode 100644
index 0000000..9ccc3be
--- /dev/null
+++ 
b/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestPortMerge.java
@@ -0,0 +1,39 @@
+package org.apache.taverna.workbench.file.importworkflow;
+
+import org.apache.taverna.workbench.file.importworkflow.DataflowMerger;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+
+import java.util.List;
+
+import org.junit.Ignore;
+import org.junit.Test;
+
+import org.apache.taverna.scufl2.api.core.DataLink;
+import org.apache.taverna.scufl2.api.core.Workflow;
+import org.apache.taverna.scufl2.api.port.SenderPort;
+
+@Ignore
+public class TestPortMerge extends AbstractTestHelper {
+
+       @Test
+       public void mergeQintoP() throws Exception {
+               DataflowMerger merger = new DataflowMerger(p);
+               merger.getMergeEdit(q).doEdit();
+               Workflow merged = p;
+               checkQ();
+
+               assertHasProcessors(merged, "P", "Q");
+               assertHasInputPorts(merged, "i", "p");
+               assertHasOutputPorts(merged, "o", "p", "q");
+               assertHasDatalinks(merged, "i->P.inputlist", "P.outputlist->o", 
"p->Q.inputlist",
+                               "Q.outputlist->q", "p->p");
+
+               List<DataLink> datalinksTo = 
scufl2Tools.datalinksTo(findOutputPort(merged, "p"));
+               assertEquals(1, datalinksTo.size());
+               SenderPort source = datalinksTo.get(0).getReceivesFrom();
+               assertSame("out port P not linked to input P", source, 
findInputPort(merged, "p"));
+
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestRename.java
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestRename.java
 
b/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestRename.java
new file mode 100644
index 0000000..bae4b3b
--- /dev/null
+++ 
b/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestRename.java
@@ -0,0 +1,59 @@
+package org.apache.taverna.workbench.file.importworkflow;
+
+import org.apache.taverna.workbench.file.importworkflow.DataflowMerger;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import org.apache.taverna.scufl2.api.core.Workflow;
+
+@Ignore
+public class TestRename extends AbstractTestHelper {
+
+       @Test
+       public void mergePintoP() throws Exception {
+               DataflowMerger merger = new DataflowMerger(p);
+               merger.getMergeEdit(p).doEdit();
+               Workflow merged = p;
+
+               assertHasProcessors(merged, "P", "P_2");
+               assertHasInputPorts(merged, "i", "i_2");
+               assertHasOutputPorts(merged, "o", "o_2");
+               assertHasDatalinks(merged, "i->P.inputlist", "P.outputlist->o",
+                               "i_2->P_2.inputlist", "P_2.outputlist->o_2");
+       }
+
+       @Test
+       public void mergePintoPintoP() throws Exception {
+               // Don't put p in constructor, or we would get exponential 
merging!
+               Workflow merged = new Workflow();
+               DataflowMerger merger = new DataflowMerger(merged);
+               merger.getMergeEdit(p).doEdit();
+               merger.getMergeEdit(p).doEdit();
+               merger.getMergeEdit(p).doEdit();
+
+               assertHasProcessors(merged, "P", "P_2", "P_3");
+               assertHasInputPorts(merged, "i", "i_2", "i_3");
+               assertHasOutputPorts(merged, "o", "o_2", "o_3");
+               assertHasDatalinks(merged, "i->P.inputlist", "P.outputlist->o",
+                               "i_2->P_2.inputlist", "P_2.outputlist->o_2",
+                               "i_3->P_3.inputlist", "P_3.outputlist->o_3");
+       }
+
+       @Test
+       public void mergePintoPWithPrefix() throws Exception {
+               // Don't put p in constructor, or we would get exponential 
merging!
+               Workflow merged = new Workflow();
+               DataflowMerger merger = new DataflowMerger(merged);
+               merger.getMergeEdit(p).doEdit();
+               merger.getMergeEdit(p, "fish_").doEdit();
+               merger.getMergeEdit(p, "soup_").doEdit();
+
+               assertHasProcessors(merged, "P", "fish_P", "soup_P");
+               assertHasInputPorts(merged, "i", "fish_i", "soup_i");
+               assertHasOutputPorts(merged, "o", "fish_o", "soup_o");
+               assertHasDatalinks(merged, "i->P.inputlist", "P.outputlist->o",
+                               "fish_i->fish_P.inputlist", 
"fish_P.outputlist->fish_o",
+                               "soup_i->soup_P.inputlist", 
"soup_P.outputlist->soup_o");
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestSimpleMerge.java
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestSimpleMerge.java
 
b/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestSimpleMerge.java
new file mode 100644
index 0000000..7dc9f96
--- /dev/null
+++ 
b/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestSimpleMerge.java
@@ -0,0 +1,99 @@
+package org.apache.taverna.workbench.file.importworkflow;
+
+import org.apache.taverna.workbench.file.importworkflow.DataflowMerger;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertSame;
+
+import java.util.List;
+
+import org.junit.Ignore;
+import org.junit.Test;
+
+import org.apache.taverna.scufl2.api.core.DataLink;
+import org.apache.taverna.scufl2.api.core.Processor;
+import org.apache.taverna.scufl2.api.core.Workflow;
+import org.apache.taverna.scufl2.api.port.InputProcessorPort;
+import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
+import org.apache.taverna.scufl2.api.port.SenderPort;
+
+@Ignore
+public class TestSimpleMerge extends AbstractTestHelper {
+
+       private void checkMergedAbcP(Workflow merged) {
+               // Check that it has everything from both
+               assertHasProcessors(merged, "A", "B", "C", "P");
+               assertHasInputPorts(merged, "in1", "in2", "i");
+               assertHasOutputPorts(merged, "a", "b", "c", "o");
+               assertHasDatalinks(merged, "in2->B.inputlist", "in1->A.string1",
+                               "in2->A.string2", 
"Merge0:Merge0_output->C.inputlist",
+                               "A.output->a", "B.outputlist->b",
+                               
"B.outputlist->Merge0:outputlistToMerge0_input0",
+                               "A.output->Merge0:outputToMerge0_input0", 
"C.outputlist->c",
+                               "i->P.inputlist", "P.outputlist->o");
+               assertHasConditionals(merged, "A;B");
+       }
+
+       private void checkCopiedFromP(Workflow merged) {
+               Processor newProcP = findProcessor(merged, "P");
+               Processor originalProcP = findProcessor(p, "P");
+               assertNotSame("Did not copy processor P", newProcP, 
originalProcP);
+
+               InputProcessorPort inp = newProcP.getInputPorts().first();
+               InputWorkflowPort newInI = findInputPort(merged, "i");
+               assertEquals(0, newInI.getDepth().intValue());
+
+               InputWorkflowPort originalInI = findInputPort(p, "i");
+               assertNotSame("Did not copy port 'i'", originalInI, newInI);
+
+               List<DataLink> datalinksTo = scufl2Tools.datalinksTo(inp);
+               assertEquals(1, datalinksTo.size());
+               SenderPort source = datalinksTo.get(0).getReceivesFrom();
+
+               assertSame("Not linked to new port", source, newInI);
+               assertNotSame("Still linked to old port", source, originalInI);
+       }
+
+
+       @Test
+       public void mergeAbcAndPIntoNew() throws Exception {
+               Workflow merged = new Workflow();
+               DataflowMerger merger = new DataflowMerger(merged);
+               merger.getMergeEdit(abc).doEdit();
+
+               assertNotSame(abc, merged);
+               merger.getMergeEdit(p).doEdit();
+
+
+               // Assert abc and p were not modified
+               checkAbc();
+               checkP();
+
+               checkMergedAbcP(merged);
+               checkCopiedFromP(merged);
+       }
+
+       @Test
+       public void mergePintoAbc() throws Exception {
+               DataflowMerger merger = new DataflowMerger(abc);
+               Workflow merged = abc;
+
+               merger.getMergeEdit(p).doEdit();
+               checkMergedAbcP(merged);
+               checkCopiedFromP(merged);
+               // Assert P did not change
+               checkP();
+       }
+
+       @Test
+       public void mergeAbcintoP() throws Exception {
+               Workflow merged = p;
+               DataflowMerger merger = new DataflowMerger(merged);
+               merger.getMergeEdit(abc).doEdit();
+
+               checkMergedAbcP(merged);
+               // Assert ABC did not change
+               checkAbc();
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestTestHelper.java
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestTestHelper.java
 
b/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestTestHelper.java
new file mode 100644
index 0000000..8442f88
--- /dev/null
+++ 
b/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/TestTestHelper.java
@@ -0,0 +1,24 @@
+package org.apache.taverna.workbench.file.importworkflow;
+
+import org.junit.Ignore;
+import org.junit.Test;
+
+@Ignore
+public class TestTestHelper extends AbstractTestHelper {
+
+       @Test
+       public void checkAbc() throws Exception {
+               super.checkAbc();
+       }
+
+       @Test
+       public void checkP() throws Exception {
+               super.checkP();
+       }
+
+       @Test
+       public void checkQ() throws Exception {
+               super.checkQ();
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/gui/ImportWizardLauncher.java
----------------------------------------------------------------------
diff --git 
a/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/gui/ImportWizardLauncher.java
 
b/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/gui/ImportWizardLauncher.java
new file mode 100644
index 0000000..96f67bf
--- /dev/null
+++ 
b/taverna-dataflow-activity-ui/src/test/java/org/apache/taverna/workbench/file/importworkflow/gui/ImportWizardLauncher.java
@@ -0,0 +1,25 @@
+package org.apache.taverna.workbench.file.importworkflow.gui;
+
+import 
org.apache.taverna.workbench.file.importworkflow.gui.ImportWorkflowWizard;
+import javax.swing.UIManager;
+
+import org.apache.taverna.workbench.edits.EditManager;
+import org.apache.taverna.workbench.edits.impl.EditManagerImpl;
+import org.apache.taverna.workbench.file.FileManager;
+import net.sf.taverna.t2.workbench.file.impl.FileManagerImpl;
+
+
+public class ImportWizardLauncher {
+
+       public static void main(String[] args) throws Exception {
+
+               UIManager.setLookAndFeel(UIManager
+                               .getSystemLookAndFeelClassName());
+
+               EditManager editManager = new EditManagerImpl();
+               FileManager fileManager = new FileManagerImpl(editManager);
+
+               ImportWorkflowWizard s = new ImportWorkflowWizard(null, 
editManager, fileManager, null, null, null, null);
+               s.setVisible(true);
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/AddConditionAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/AddConditionAction.java
 
b/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/AddConditionAction.java
deleted file mode 100644
index c26a1d6..0000000
--- 
a/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/AddConditionAction.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- *
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- 
******************************************************************************/
-package net.sf.taverna.t2.workbench.design.actions;
-
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-
-import net.sf.taverna.t2.workbench.activityicons.ActivityIconManager;
-import net.sf.taverna.t2.workbench.edits.EditException;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workflow.edits.AddChildEdit;
-
-import org.apache.log4j.Logger;
-
-import org.apache.taverna.scufl2.api.common.Scufl2Tools;
-import org.apache.taverna.scufl2.api.core.BlockingControlLink;
-import org.apache.taverna.scufl2.api.core.Processor;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.profiles.ProcessorBinding;
-
-/**
- * Action for adding a condition to the dataflow.
- * 
- * @author David Withers
- */
-@SuppressWarnings("serial")
-public class AddConditionAction extends DataflowEditAction {
-       private static final Logger logger = 
Logger.getLogger(AddConditionAction.class);
-       private static final Scufl2Tools scufl2Tools = new Scufl2Tools();
-
-       private Processor control;
-       private Processor target;
-
-       public AddConditionAction(Workflow dataflow, Processor control,
-                       Processor target, Component component, EditManager 
editManager,
-                       SelectionManager selectionManager,
-                       ActivityIconManager activityIconManager) {
-               super(dataflow, component, editManager, selectionManager);
-               this.control = control;
-               this.target = target;
-               ProcessorBinding processorBinding = scufl2Tools
-                               .processorBindingForProcessor(control, 
dataflow.getParent()
-                                               .getMainProfile());
-               putValue(SMALL_ICON,
-                               
activityIconManager.iconForActivity(processorBinding
-                                               .getBoundActivity().getType()));
-               putValue(NAME, control.getName());
-       }
-
-       @Override
-       public void actionPerformed(ActionEvent event) {
-               try {
-                       BlockingControlLink controlLink = new 
BlockingControlLink();
-                       controlLink.setUntilFinished(control);
-                       controlLink.setBlock(target);
-                       editManager.doDataflowEdit(dataflow.getParent(),
-                                       new AddChildEdit<>(dataflow, 
controlLink));
-               } catch (EditException e) {
-                       logger.debug("Create control link between '" + 
control.getName()
-                                       + "' and '" + target.getName() + "' 
failed");
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/AddDataflowInputAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/AddDataflowInputAction.java
 
b/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/AddDataflowInputAction.java
deleted file mode 100644
index 36b6fcc..0000000
--- 
a/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/AddDataflowInputAction.java
+++ /dev/null
@@ -1,96 +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.design.actions;
-
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.event.ActionEvent;
-import java.util.HashSet;
-import java.util.Set;
-
-import net.sf.taverna.t2.lang.ui.ValidatingUserInputDialog;
-import net.sf.taverna.t2.workbench.design.ui.DataflowInputPortPanel;
-import net.sf.taverna.t2.workbench.edits.EditException;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.icons.WorkbenchIcons;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workflow.edits.AddWorkflowInputPortEdit;
-
-import org.apache.log4j.Logger;
-
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
-
-/**
- * Action for adding an input port to the dataflow.
- * 
- * @author David Withers
- */
-@SuppressWarnings("serial")
-public class AddDataflowInputAction extends DataflowEditAction {
-       private static final Logger logger = Logger
-                       .getLogger(AddDataflowInputAction.class);
-
-       public AddDataflowInputAction(Workflow dataflow, Component component,
-                       EditManager editManager, SelectionManager 
selectionManager) {
-               super(dataflow, component, editManager, selectionManager);
-               putValue(SMALL_ICON, WorkbenchIcons.inputIcon);
-               putValue(NAME, "Workflow input port");
-               putValue(SHORT_DESCRIPTION, "Add workflow input port");
-       }
-
-       @Override
-       public void actionPerformed(ActionEvent event) {
-               try {
-                       Set<String> usedInputPorts = new HashSet<>();
-                       for (InputWorkflowPort inputPort : 
dataflow.getInputPorts())
-                               usedInputPorts.add(inputPort.getName());
-
-                       DataflowInputPortPanel inputPanel = new 
DataflowInputPortPanel();
-
-                       ValidatingUserInputDialog vuid = new 
ValidatingUserInputDialog(
-                                       "Add Workflow Input Port", inputPanel);
-                       
vuid.addTextComponentValidation(inputPanel.getPortNameField(),
-                                       "Set the workflow input port name.", 
usedInputPorts,
-                                       "Duplicate workflow input port name.",
-                                       "[\\p{L}\\p{Digit}_.]+",
-                                       "Invalid workflow input port name.");
-                       
vuid.addMessageComponent(inputPanel.getSingleValueButton(),
-                                       "Set the input port type.");
-                       
vuid.addMessageComponent(inputPanel.getListValueButton(),
-                                       "Set the input port list depth.");
-                       vuid.setSize(new Dimension(400, 250));
-
-                       inputPanel.setPortDepth(0);
-
-                       if (vuid.show(component)) {
-                               InputWorkflowPort dataflowInputPort = new 
InputWorkflowPort();
-                               
dataflowInputPort.setName(inputPanel.getPortName());
-                               
dataflowInputPort.setDepth(inputPanel.getPortDepth());
-                               editManager.doDataflowEdit(dataflow.getParent(),
-                                               new 
AddWorkflowInputPortEdit(dataflow,
-                                                               
dataflowInputPort));
-                       }
-               } catch (EditException e) {
-                       logger.warn("Adding a new workflow input port failed");
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/AddDataflowOutputAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/AddDataflowOutputAction.java
 
b/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/AddDataflowOutputAction.java
deleted file mode 100644
index a1783d5..0000000
--- 
a/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/AddDataflowOutputAction.java
+++ /dev/null
@@ -1,90 +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.design.actions;
-
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.event.ActionEvent;
-import java.util.HashSet;
-import java.util.Set;
-
-import net.sf.taverna.t2.lang.ui.ValidatingUserInputDialog;
-import net.sf.taverna.t2.workbench.design.ui.DataflowOutputPortPanel;
-import net.sf.taverna.t2.workbench.edits.EditException;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.icons.WorkbenchIcons;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workflow.edits.AddWorkflowOutputPortEdit;
-
-import org.apache.log4j.Logger;
-
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
-
-/**
- * Action for adding an output port to the dataflow.
- * 
- * @author David Withers
- */
-@SuppressWarnings("serial")
-public class AddDataflowOutputAction extends DataflowEditAction {
-       private static final Logger logger = Logger
-                       .getLogger(AddDataflowOutputAction.class);
-
-       public AddDataflowOutputAction(Workflow dataflow, Component component,
-                       EditManager editManager, SelectionManager 
selectionManager) {
-               super(dataflow, component, editManager, selectionManager);
-               putValue(SMALL_ICON, WorkbenchIcons.outputIcon);
-               putValue(NAME, "Workflow output port");
-               putValue(SHORT_DESCRIPTION, "Add workflow output port");
-       }
-
-       @Override
-       public void actionPerformed(ActionEvent event) {
-               try {
-                       Set<String> usedOutputPorts = new HashSet<>();
-                       for (OutputWorkflowPort outputPort : 
dataflow.getOutputPorts())
-                               usedOutputPorts.add(outputPort.getName());
-
-                       DataflowOutputPortPanel inputPanel = new 
DataflowOutputPortPanel();
-
-                       ValidatingUserInputDialog vuid = new 
ValidatingUserInputDialog(
-                                       "Add Workflow Output Port", inputPanel);
-                       
vuid.addTextComponentValidation(inputPanel.getPortNameField(),
-                                       "Set the workflow output port name.", 
usedOutputPorts,
-                                       "Duplicate workflow output port name.",
-                                       "[\\p{L}\\p{Digit}_.]+",
-                                       "Invalid workflow output port name.");
-                       vuid.setSize(new Dimension(400, 200));
-
-                       if (vuid.show(component)) {
-                               String portName = inputPanel.getPortName();
-                               OutputWorkflowPort dataflowOutputPort = new 
OutputWorkflowPort();
-                               dataflowOutputPort.setName(portName);
-                               editManager.doDataflowEdit(dataflow.getParent(),
-                                               new 
AddWorkflowOutputPortEdit(dataflow,
-                                                               
dataflowOutputPort));
-                       }
-               } catch (EditException e) {
-                       logger.debug("Create workflow output port failed", e);
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/DataflowEditAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/DataflowEditAction.java
 
b/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/DataflowEditAction.java
deleted file mode 100644
index dc6300d..0000000
--- 
a/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/DataflowEditAction.java
+++ /dev/null
@@ -1,57 +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.design.actions;
-
-import java.awt.Component;
-
-import javax.swing.AbstractAction;
-
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.selection.DataflowSelectionModel;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import org.apache.taverna.scufl2.api.common.Scufl2Tools;
-import org.apache.taverna.scufl2.api.core.Workflow;
-
-/**
- * Abstract superclass of dataflow edit actions.
- * 
- * @author David Withers
- */
-public abstract class DataflowEditAction extends AbstractAction {
-       private static final long serialVersionUID = -1155192575675025091L;
-
-       protected final SelectionManager selectionManager;
-       protected EditManager editManager;
-       protected DataflowSelectionModel dataflowSelectionModel;
-       protected Workflow dataflow;
-       protected Component component;
-       protected Scufl2Tools scufl2Tools = new Scufl2Tools();
-
-       public DataflowEditAction(Workflow dataflow, Component component,
-                       EditManager editManager, SelectionManager 
selectionManager) {
-               this.dataflow = dataflow;
-               this.component = component;
-               this.editManager = editManager;
-               this.selectionManager = selectionManager;
-               dataflowSelectionModel = selectionManager
-                               
.getDataflowSelectionModel(dataflow.getParent());
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/EditDataflowInputPortAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/EditDataflowInputPortAction.java
 
b/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/EditDataflowInputPortAction.java
deleted file mode 100644
index 77be3a3..0000000
--- 
a/taverna-design-ui/src/main/java/net/sf/taverna/t2/workbench/design/actions/EditDataflowInputPortAction.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- *
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- 
******************************************************************************/
-package net.sf.taverna.t2.workbench.design.actions;
-
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.event.ActionEvent;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import net.sf.taverna.t2.lang.ui.ValidatingUserInputDialog;
-import net.sf.taverna.t2.workbench.design.ui.DataflowInputPortPanel;
-import net.sf.taverna.t2.workbench.edits.CompoundEdit;
-import net.sf.taverna.t2.workbench.edits.Edit;
-import net.sf.taverna.t2.workbench.edits.EditException;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.icons.WorkbenchIcons;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workflow.edits.ChangeDepthEdit;
-import net.sf.taverna.t2.workflow.edits.RenameEdit;
-
-import org.apache.log4j.Logger;
-
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
-
-/**
- * Action for editing a dataflow input port.
- * 
- * @author David Withers
- */
-@SuppressWarnings("serial")
-public class EditDataflowInputPortAction extends DataflowEditAction {
-       private static Logger logger = Logger
-                       .getLogger(EditDataflowInputPortAction.class);
-
-       private InputWorkflowPort port;
-
-       public EditDataflowInputPortAction(Workflow dataflow,
-                       InputWorkflowPort port, Component component,
-                       EditManager editManager, SelectionManager 
selectionManager) {
-               super(dataflow, component, editManager, selectionManager);
-               this.port = port;
-               putValue(SMALL_ICON, WorkbenchIcons.renameIcon);
-               putValue(NAME, "Edit workflow input port...");
-       }
-
-       @Override
-       public void actionPerformed(ActionEvent e) {
-               Set<String> usedInputPorts = new HashSet<>();
-               for (InputWorkflowPort usedInputPort : dataflow.getInputPorts())
-                       if (!usedInputPort.getName().equals(port.getName()))
-                               usedInputPorts.add(usedInputPort.getName());
-
-               DataflowInputPortPanel inputPanel = new 
DataflowInputPortPanel();
-
-               ValidatingUserInputDialog vuid = new ValidatingUserInputDialog(
-                               "Edit Workflow Input Port", inputPanel);
-               vuid.addTextComponentValidation(inputPanel.getPortNameField(),
-                               "Set the workflow input port name.", 
usedInputPorts,
-                               "Duplicate workflow input port name.", 
"[\\p{L}\\p{Digit}_.]+",
-                               "Invalid workflow input port name.");
-               vuid.addMessageComponent(inputPanel.getSingleValueButton(),
-                               "Set the input port type.");
-               vuid.addMessageComponent(inputPanel.getListValueButton(),
-                               "Set the input port list depth.");
-               vuid.setSize(new Dimension(400, 250));
-
-               inputPanel.setPortName(port.getName());
-               inputPanel.setPortDepth(port.getDepth());
-
-               try {
-                       if (vuid.show(component))
-                               changeInputPort(inputPanel);
-               } catch (EditException e1) {
-                       logger.warn("Rename workflow input port failed", e1);
-               }
-       }
-
-       private void changeInputPort(DataflowInputPortPanel inputPanel)
-                       throws EditException {
-               List<Edit<?>> editList = new ArrayList<>();
-               String portName = inputPanel.getPortName();
-               if (!portName.equals(port.getName()))
-                       editList.add(new RenameEdit<>(port, portName));
-               int portDepth = inputPanel.getPortDepth();
-               if (portDepth != port.getDepth())
-                       editList.add(new ChangeDepthEdit<>(port, portDepth));
-               if (editList.size() == 1)
-                       editManager.doDataflowEdit(dataflow.getParent(), 
editList.get(0));
-               else if (editList.size() > 1)
-                       editManager.doDataflowEdit(dataflow.getParent(), new 
CompoundEdit(
-                                       editList));
-       }
-}

Reply via email to