http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/FileMenu.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/FileMenu.java
 
b/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/FileMenu.java
new file mode 100644
index 0000000..a9ad154
--- /dev/null
+++ 
b/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/FileMenu.java
@@ -0,0 +1,47 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+package org.apache.taverna.workbench.ui.impl.menu;
+
+import static java.awt.event.KeyEvent.VK_F;
+import static javax.swing.Action.MNEMONIC_KEY;
+import static org.apache.taverna.ui.menu.DefaultMenuBar.DEFAULT_MENU_BAR;
+
+import java.net.URI;
+
+import org.apache.taverna.ui.menu.AbstractMenu;
+
+/**
+ * File menu
+ * 
+ * @author Stian Soiland-Reyes
+ */
+public class FileMenu extends AbstractMenu {
+       public FileMenu() {
+               super(DEFAULT_MENU_BAR, 10, URI
+                               
.create("http://taverna.sf.net/2008/t2workbench/menu#file";),
+                               makeAction());
+       }
+
+       public static DummyAction makeAction() {
+               DummyAction action = new DummyAction("File");
+               action.putValue(MNEMONIC_KEY, Integer.valueOf(VK_F));
+               return action;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/HelpMenu.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/HelpMenu.java
 
b/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/HelpMenu.java
new file mode 100644
index 0000000..a8520fc
--- /dev/null
+++ 
b/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/HelpMenu.java
@@ -0,0 +1,43 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+package org.apache.taverna.workbench.ui.impl.menu;
+
+import static java.awt.event.KeyEvent.VK_H;
+import static javax.swing.Action.MNEMONIC_KEY;
+import static org.apache.taverna.ui.menu.DefaultMenuBar.DEFAULT_MENU_BAR;
+
+import java.net.URI;
+
+import org.apache.taverna.ui.menu.AbstractMenu;
+
+public class HelpMenu extends AbstractMenu {
+       public static final URI HELP_URI = URI
+                       
.create("http://taverna.sf.net/2008/t2workbench/menu#help";);
+
+       public HelpMenu() {
+               super(DEFAULT_MENU_BAR, 1024, HELP_URI, makeAction());
+       }
+
+       public static DummyAction makeAction() {
+               DummyAction action = new DummyAction("Help");
+               action.putValue(MNEMONIC_KEY, Integer.valueOf(VK_H));
+               return action;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/OnlineHelpMenuAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/OnlineHelpMenuAction.java
 
b/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/OnlineHelpMenuAction.java
new file mode 100644
index 0000000..eec26af
--- /dev/null
+++ 
b/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/OnlineHelpMenuAction.java
@@ -0,0 +1,67 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+package org.apache.taverna.workbench.ui.impl.menu;
+
+import static java.awt.event.KeyEvent.VK_F1;
+import static javax.swing.KeyStroke.getKeyStroke;
+import static org.apache.taverna.workbench.helper.Helper.displayDefaultHelp;
+import static org.apache.taverna.workbench.ui.impl.menu.HelpMenu.HELP_URI;
+
+import java.awt.AWTEvent;
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import org.apache.taverna.ui.menu.AbstractMenuAction;
+
+/**
+ * MenuItem for help
+ * 
+ * @author alanrw
+ */
+public class OnlineHelpMenuAction extends AbstractMenuAction {
+       public OnlineHelpMenuAction() {
+               super(HELP_URI, 10);
+       }
+
+       @Override
+       protected Action createAction() {
+               return new OnlineHelpAction();
+       }
+
+       @SuppressWarnings("serial")
+       private final class OnlineHelpAction extends AbstractAction {
+               private OnlineHelpAction() {
+                       super("Online help");
+                       putValue(ACCELERATOR_KEY, getKeyStroke(VK_F1, 0));
+
+               }
+
+               /**
+                * When selected, use the Helper to display the default help.
+                */
+               @Override
+               public void actionPerformed(ActionEvent e) {
+                       displayDefaultHelp((AWTEvent) e);
+                       // TODO change helper to bean?
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/ShowLogsAndDataMenuAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/ShowLogsAndDataMenuAction.java
 
b/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/ShowLogsAndDataMenuAction.java
new file mode 100644
index 0000000..00d7817
--- /dev/null
+++ 
b/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/ShowLogsAndDataMenuAction.java
@@ -0,0 +1,108 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+package org.apache.taverna.workbench.ui.impl.menu;
+
+import static java.lang.Runtime.getRuntime;
+import static javax.swing.JOptionPane.INFORMATION_MESSAGE;
+import static javax.swing.JOptionPane.showInputDialog;
+import static org.apache.taverna.workbench.MainWindow.getMainWindow;
+import static 
org.apache.taverna.workbench.ui.impl.menu.AdvancedMenu.ADVANCED_URI;
+
+import java.awt.event.ActionEvent;
+import java.io.File;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import org.apache.taverna.ui.menu.AbstractMenuAction;
+
+import org.apache.log4j.Logger;
+
+import uk.org.taverna.configuration.app.ApplicationConfiguration;
+
+public class ShowLogsAndDataMenuAction extends AbstractMenuAction {
+       private static final String OPEN = "open";
+       private static final String EXPLORER = "explorer";
+       // TODO Consider using xdg-open instead of gnome-open
+       private static final String GNOME_OPEN = "gnome-open";
+       private static final String WINDOWS = "Windows";
+       private static final String MAC_OS_X = "Mac OS X";
+
+       private ApplicationConfiguration applicationConfiguration;
+
+       public ShowLogsAndDataMenuAction() {
+               super(ADVANCED_URI, 200);
+       }
+
+       private static Logger logger = 
Logger.getLogger(ShowLogsAndDataMenuAction.class);
+
+       @Override
+       protected Action createAction() {
+               return new AbstractAction("Show logs and data folder") {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       public void actionPerformed(ActionEvent e) {
+                               File logsAndDataDir = 
applicationConfiguration.getApplicationHomeDir();
+                               showDirectory(logsAndDataDir, "Taverna logs and 
data folder");
+                       }
+               };
+       }
+
+       public static void showDirectory(File dir, String title) {
+               String path = dir.getAbsolutePath();
+               String os = System.getProperty("os.name");
+               String cmd;
+               boolean isWindows = false;
+               if (os.equals(MAC_OS_X))
+                       cmd = OPEN;
+               else if (os.startsWith(WINDOWS)) {
+                       cmd = EXPLORER;
+                       isWindows = true;
+               } else
+                       // Assume Unix - best option is gnome-open
+                       cmd = GNOME_OPEN;
+
+               String[] cmdArray = new String[2];
+               cmdArray[0] = cmd;
+               cmdArray[1] = path;
+               try {
+                       Process exec = getRuntime().exec(cmdArray);
+                       Thread.sleep(300);
+                       exec.getErrorStream().close();
+                       exec.getInputStream().close();
+                       exec.getOutputStream().close();
+                       exec.waitFor();
+                       if (exec.exitValue() == 0 || isWindows && 
exec.exitValue() == 1)
+                               // explorer.exe thinks 1 means success
+                               return;
+                       logger.warn("Exit value from " + cmd + " " + path + ": 
" + exec.exitValue());
+               } catch (Exception ex) {
+                       logger.warn("Could not call " + cmd + " " + path, ex);
+               }
+               // Fall-back - just show a dialogue with the path
+               showInputDialog(getMainWindow(), "Copy path from below:", title,
+                               INFORMATION_MESSAGE, null, null, path);
+       }
+
+       public void setApplicationConfiguration(ApplicationConfiguration 
applicationConfiguration) {
+               this.applicationConfiguration = applicationConfiguration;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/ViewShowMenuSection.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/ViewShowMenuSection.java
 
b/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/ViewShowMenuSection.java
new file mode 100644
index 0000000..3acd0ae
--- /dev/null
+++ 
b/taverna-menu-impl/src/main/java/org/apache/taverna/workbench/ui/impl/menu/ViewShowMenuSection.java
@@ -0,0 +1,39 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+package org.apache.taverna.workbench.ui.impl.menu;
+
+import java.net.URI;
+
+import org.apache.taverna.ui.menu.AbstractMenuSection;
+
+/**
+ * @author Alex Nenadic
+ * @author Alan R Williams
+ */
+public class ViewShowMenuSection extends AbstractMenuSection {
+       public static final URI DIAGRAM_MENU = URI
+                       
.create("http://taverna.sf.net/2008/t2workbench/menu#diagram";);
+       public static final URI VIEW_SHOW_MENU_SECTION = URI
+                       
.create("http://taverna.sf.net/2008/t2workbench/menu#viewShowMenuSection";);
+
+       public ViewShowMenuSection() {
+               super(DIAGRAM_MENU, 10, VIEW_SHOW_MENU_SECTION);
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuManager
----------------------------------------------------------------------
diff --git 
a/taverna-menu-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuManager
 
b/taverna-menu-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuManager
deleted file mode 100644
index 3b06fd9..0000000
--- 
a/taverna-menu-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuManager
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.ui.menu.impl.MenuManagerImpl
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-impl/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuManager
----------------------------------------------------------------------
diff --git 
a/taverna-menu-impl/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuManager
 
b/taverna-menu-impl/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuManager
new file mode 100644
index 0000000..3b06fd9
--- /dev/null
+++ 
b/taverna-menu-impl/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuManager
@@ -0,0 +1 @@
+net.sf.taverna.t2.ui.menu.impl.MenuManagerImpl
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-impl/src/main/resources/META-INF/spring/menu-impl-context-osgi.xml
----------------------------------------------------------------------
diff --git 
a/taverna-menu-impl/src/main/resources/META-INF/spring/menu-impl-context-osgi.xml
 
b/taverna-menu-impl/src/main/resources/META-INF/spring/menu-impl-context-osgi.xml
index 3a1eadf..f2a3342 100644
--- 
a/taverna-menu-impl/src/main/resources/META-INF/spring/menu-impl-context-osgi.xml
+++ 
b/taverna-menu-impl/src/main/resources/META-INF/spring/menu-impl-context-osgi.xml
@@ -6,7 +6,7 @@
                       http://www.springframework.org/schema/osgi
                       
http://www.springframework.org/schema/osgi/spring-osgi.xsd";>
 
-       <service ref="MenuManagerImpl" 
interface="net.sf.taverna.t2.ui.menu.MenuManager" />
+       <service ref="MenuManagerImpl" 
interface="org.apache.taverna.ui.menu.MenuManager" />
 
        <service ref="FileMenu" auto-export="interfaces" />
        <service ref="EditMenu" auto-export="interfaces" />
@@ -17,9 +17,9 @@
        <service ref="ShowLogsAndDataMenuAction" auto-export="interfaces" />
 
        <reference id="applicationConfiguration" 
interface="uk.org.taverna.configuration.app.ApplicationConfiguration" />
-       <reference id="selectionManager" 
interface="net.sf.taverna.t2.workbench.selection.SelectionManager" />
+       <reference id="selectionManager" 
interface="org.apache.taverna.workbench.selection.SelectionManager" />
 
-       <list id="menuComponents" 
interface="net.sf.taverna.t2.ui.menu.MenuComponent" cardinality="0..N" 
greedy-proxying="true">
+       <list id="menuComponents" 
interface="org.apache.taverna.ui.menu.MenuComponent" cardinality="0..N" 
greedy-proxying="true">
                <listener ref="MenuManagerImpl" bind-method="update" 
unbind-method="update" />
        </list>
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-impl/src/main/resources/META-INF/spring/menu-impl-context.xml
----------------------------------------------------------------------
diff --git 
a/taverna-menu-impl/src/main/resources/META-INF/spring/menu-impl-context.xml 
b/taverna-menu-impl/src/main/resources/META-INF/spring/menu-impl-context.xml
index 62fd24e..4c93185 100644
--- a/taverna-menu-impl/src/main/resources/META-INF/spring/menu-impl-context.xml
+++ b/taverna-menu-impl/src/main/resources/META-INF/spring/menu-impl-context.xml
@@ -4,21 +4,21 @@
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                       
http://www.springframework.org/schema/beans/spring-beans.xsd";>
 
-       <bean id="MenuManagerImpl" 
class="net.sf.taverna.t2.ui.menu.impl.MenuManagerImpl">
+       <bean id="MenuManagerImpl" 
class="org.apache.taverna.ui.menu.impl.MenuManagerImpl">
                <property name="menuComponents" ref="menuComponents" />
                <property name="selectionManager" ref="selectionManager" />
        </bean>
 
-       <bean id="FileMenu" 
class="net.sf.taverna.t2.workbench.ui.impl.menu.FileMenu" />
-       <bean id="EditMenu" 
class="net.sf.taverna.t2.workbench.ui.impl.menu.EditMenu" />
-       <bean id="AdvancedMenu" 
class="net.sf.taverna.t2.workbench.ui.impl.menu.AdvancedMenu" />
-       <bean id="HelpMenu" 
class="net.sf.taverna.t2.workbench.ui.impl.menu.HelpMenu" />
+       <bean id="FileMenu" 
class="org.apache.taverna.workbench.ui.impl.menu.FileMenu" />
+       <bean id="EditMenu" 
class="org.apache.taverna.workbench.ui.impl.menu.EditMenu" />
+       <bean id="AdvancedMenu" 
class="org.apache.taverna.workbench.ui.impl.menu.AdvancedMenu" />
+       <bean id="HelpMenu" 
class="org.apache.taverna.workbench.ui.impl.menu.HelpMenu" />
        <bean id="OnlineHelpMenuAction"
-               
class="net.sf.taverna.t2.workbench.ui.impl.menu.OnlineHelpMenuAction" />
+               
class="org.apache.taverna.workbench.ui.impl.menu.OnlineHelpMenuAction" />
        <bean id="FeedbackMenuAction"
-               
class="net.sf.taverna.t2.workbench.ui.impl.menu.FeedbackMenuAction" />
+               
class="org.apache.taverna.workbench.ui.impl.menu.FeedbackMenuAction" />
        <bean id="ShowLogsAndDataMenuAction"
-               
class="net.sf.taverna.t2.workbench.ui.impl.menu.ShowLogsAndDataMenuAction">
+               
class="org.apache.taverna.workbench.ui.impl.menu.ShowLogsAndDataMenuAction">
                <property name="applicationConfiguration" 
ref="applicationConfiguration" />
        </bean>
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/AbstractConnectPortMenuActions.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/AbstractConnectPortMenuActions.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/AbstractConnectPortMenuActions.java
deleted file mode 100644
index 041b6be..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/AbstractConnectPortMenuActions.java
+++ /dev/null
@@ -1,267 +0,0 @@
-package net.sf.taverna.t2.ui.menu.items.activityport;
-
-import java.awt.Color;
-import java.awt.Component;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.swing.Action;
-import javax.swing.Icon;
-import javax.swing.JMenu;
-import javax.swing.JMenuItem;
-
-import org.apache.taverna.scufl2.api.activity.Activity;
-import org.apache.taverna.scufl2.api.common.Scufl2Tools;
-import org.apache.taverna.scufl2.api.core.Processor;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.port.InputPort;
-import org.apache.taverna.scufl2.api.port.InputProcessorPort;
-import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
-import org.apache.taverna.scufl2.api.port.OutputProcessorPort;
-import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
-import org.apache.taverna.scufl2.api.port.Port;
-import org.apache.taverna.scufl2.api.port.ProcessorPort;
-import org.apache.taverna.scufl2.api.port.ReceiverPort;
-import org.apache.taverna.scufl2.api.port.SenderPort;
-import org.apache.taverna.scufl2.api.port.WorkflowPort;
-import org.apache.taverna.scufl2.api.profiles.Profile;
-
-import net.sf.taverna.t2.lang.ui.ShadedLabel;
-import net.sf.taverna.t2.ui.menu.AbstractMenuCustom;
-import net.sf.taverna.t2.ui.menu.ContextualMenuComponent;
-import net.sf.taverna.t2.ui.menu.ContextualSelection;
-import net.sf.taverna.t2.ui.menu.MenuManager;
-import net.sf.taverna.t2.ui.menu.MenuManager.ComponentFactory;
-import net.sf.taverna.t2.workbench.activityicons.ActivityIconManager;
-import net.sf.taverna.t2.workbench.configuration.colour.ColourManager;
-import 
net.sf.taverna.t2.workbench.configuration.workbench.WorkbenchConfiguration;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.icons.WorkbenchIcons;
-
-public abstract class AbstractConnectPortMenuActions extends AbstractMenuCustom
-               implements ContextualMenuComponent {
-
-       protected ActivityIconManager activityIconManager;
-       protected ContextualSelection contextualSelection;
-       protected MenuManager menuManager;
-       protected WorkbenchConfiguration workbenchConfiguration;
-       protected ColourManager colourManager;
-       private EditManager editManager;
-
-       public static final String CONNECT_AS_INPUT_TO = "Connect as input 
to...";
-       public static final String CONNECT_WITH_OUTPUT_FROM = "Connect with 
output from...";
-
-       public static final String SERVICE_INPUT_PORTS = "Service input ports";
-       public static final String SERVICE_OUTPUT_PORTS = "Service output 
ports";
-
-       public static final String NEW_WORKFLOW_INPUT_PORT = "New workflow 
input port...";
-       public static final String NEW_WORKFLOW_OUTPUT_PORT = "New workflow 
output port...";
-
-       public static final String WORKFLOW_INPUT_PORTS = "Workflow input 
ports";
-       public static final String WORKFLOW_OUTPUT_PORTS = "Workflow output 
ports";
-
-       public static final String SERVICES = "Services";
-
-       private Scufl2Tools scufl2Tools  = new Scufl2Tools();
-
-       public AbstractConnectPortMenuActions(URI parentId, int positionHint) {
-               super(parentId, positionHint);
-       }
-
-       public ContextualSelection getContextualSelection() {
-               return contextualSelection;
-       }
-
-       public void setContextualSelection(ContextualSelection 
contextualSelection) {
-               this.contextualSelection = contextualSelection;
-               this.customComponent = null;
-       }
-
-       @Override
-       protected Component createCustomComponent() {
-               Workflow workflow = (Workflow) 
getContextualSelection().getParent();
-               Profile profile = workflow.getParent().getMainProfile();
-               Port port = getSelectedPort();
-               // Component component =
-               // getContextualSelection().getRelativeToComponent();
-
-               String label;
-               if (port instanceof ReceiverPort) {
-                       label = CONNECT_WITH_OUTPUT_FROM;
-               } else {
-                       label = CONNECT_AS_INPUT_TO;
-               }
-               JMenu connectMenu = new JMenu(new DummyAction(label,
-                               WorkbenchIcons.datalinkIcon));
-               addPortMenuItems(workflow, port, connectMenu);
-               addProcessorMenuItems(workflow, profile, port, connectMenu);
-               return connectMenu;
-       }
-
-       private Port getSelectedPort() {
-               Port port = (Port) getContextualSelection().getSelection();
-               return port;
-       }
-
-       protected void addPortMenuItems(Workflow workflow, Port port, JMenu 
connectMenu) {
-               Color workflowPortColour = 
colourManager.getPreferredColour(WorkflowPort.class.getCanonicalName());
-
-               boolean addedPorts = false;
-               if (port instanceof SenderPort) {
-                       connectMenu.add(new ShadedLabel(WORKFLOW_OUTPUT_PORTS, 
workflowPortColour));
-                       for (OutputWorkflowPort outputWorkflowPort : 
workflow.getOutputPorts()) {
-                               ConnectPortsAction connectPortsAction =
-                                               new 
ConnectPortsAction(workflow, (SenderPort) port, outputWorkflowPort, 
editManager);
-                               connectPortsAction.putValue(Action.SMALL_ICON, 
WorkbenchIcons.outputIcon);
-                               connectPortsAction.putValue(Action.NAME, 
outputWorkflowPort.getName());
-                               connectMenu.add(new 
JMenuItem(connectPortsAction));
-                               addedPorts = true;
-                       }
-               } else if (port instanceof ReceiverPort) {
-                       connectMenu.add(new ShadedLabel(WORKFLOW_INPUT_PORTS, 
workflowPortColour));
-                       for (InputWorkflowPort inputWorkflowPort : 
workflow.getInputPorts()) {
-                               ConnectPortsAction connectPortsAction =
-                                               new 
ConnectPortsAction(workflow, inputWorkflowPort, (ReceiverPort) port, 
editManager);
-                               connectPortsAction.putValue(Action.SMALL_ICON, 
WorkbenchIcons.inputIcon);
-                               connectPortsAction.putValue(Action.NAME, 
inputWorkflowPort.getName());
-                               connectMenu.add(new 
JMenuItem(connectPortsAction));
-                               addedPorts = true;
-                       }
-               }
-               if (addedPorts) {
-                       connectMenu.addSeparator();
-               }
-               CreateAndConnectDataflowPortAction newDataflowPortAction = new 
CreateAndConnectDataflowPortAction(
-                               workflow, port, getSuggestedName(port), 
contextualSelection.getRelativeToComponent(), editManager);
-
-               if (port instanceof ReceiverPort) {
-                       newDataflowPortAction.putValue(Action.NAME, 
NEW_WORKFLOW_INPUT_PORT);
-               } else if (port instanceof SenderPort) {
-                       newDataflowPortAction.putValue(Action.NAME, 
NEW_WORKFLOW_OUTPUT_PORT);
-               }
-               newDataflowPortAction.putValue(Action.SMALL_ICON, 
WorkbenchIcons.newIcon);
-               connectMenu.add(new JMenuItem(newDataflowPortAction));
-       }
-
-       /**
-        * @param port
-        * @return
-        */
-       private String getSuggestedName(Port port) {
-               String suggestedName;
-               if (port instanceof ProcessorPort) {
-                       suggestedName = ((ProcessorPort) 
port).getParent().getName() + "_" + port.getName();
-               } else {
-                       suggestedName = port.getName();
-               }
-               return suggestedName;
-       }
-
-       protected void addProcessorMenuItems(Workflow dataflow, Profile profile,
-                       final Port targetPort, JMenu connectMenu) {
-               final Set<Processor> processors = findProcessors(dataflow, 
targetPort);
-               if (processors.isEmpty()) {
-                       return;
-               }
-               connectMenu.add(new ShadedLabel(SERVICES, 
colourManager.getPreferredColour(Processor.class.getCanonicalName())));
-
-               List<JMenuItem> menuItems = new ArrayList<JMenuItem>();
-               for (Processor processor : processors) {
-                       Activity activity = 
scufl2Tools.processorBindingForProcessor(processor, profile).getBoundActivity();
-                       Icon icon = 
activityIconManager.iconForActivity(activity);
-                       final Color processorPortColour = 
colourManager.getPreferredColour(ProcessorPort.class.getCanonicalName());
-
-                       JMenu processorMenu = new JMenu(new 
DummyAction(processor.getName(), icon));
-                       List<JMenuItem> processorMenuItems = new 
ArrayList<JMenuItem>();
-                       if (targetPort instanceof ReceiverPort) {
-                               processorMenu.add(new 
ShadedLabel(SERVICE_OUTPUT_PORTS,
-                                               processorPortColour));
-                               menuItems.add(processorMenu);
-                               for (OutputProcessorPort outputProcessorPort : 
processor.getOutputPorts()) {
-                                       ConnectPortsAction connectPortsAction = 
new ConnectPortsAction(dataflow,
-                                                       outputProcessorPort, 
(ReceiverPort) targetPort, editManager);
-                                       
connectPortsAction.putValue(Action.SMALL_ICON,
-                                                       
WorkbenchIcons.outputPortIcon);
-                                       
connectPortsAction.putValue(Action.NAME, outputProcessorPort.getName());
-                                       processorMenuItems.add(new 
JMenuItem(connectPortsAction));
-                               }
-                       } else if (targetPort instanceof SenderPort) {
-                               processorMenu.add(new 
ShadedLabel(SERVICE_INPUT_PORTS,
-                                               processorPortColour));
-                               menuItems.add(processorMenu);
-                               for (InputProcessorPort inputProcessorPort : 
processor.getInputPorts()) {
-                                       ConnectPortsAction connectPortsAction = 
new ConnectPortsAction(dataflow,
-                                                       (SenderPort) 
targetPort, inputProcessorPort, editManager);
-                                       
connectPortsAction.putValue(Action.SMALL_ICON,
-                                                       
WorkbenchIcons.inputPortIcon);
-                                       
connectPortsAction.putValue(Action.NAME, inputProcessorPort.getName());
-                                       processorMenuItems.add(new 
JMenuItem(connectPortsAction));
-                               }
-                       }
-
-                       
menuManager.addMenuItemsWithExpansion(processorMenuItems,
-                                       processorMenu, 
workbenchConfiguration.getMaxMenuItems(),
-                                       new ComponentFactory() {
-                                               public Component 
makeComponent() {
-                                                       if (targetPort 
instanceof InputPort) {
-                                                               return new 
ShadedLabel(SERVICE_OUTPUT_PORTS, processorPortColour);
-                                                       } else {
-                                                               return new 
ShadedLabel(SERVICE_INPUT_PORTS, processorPortColour);
-                                                       }
-                                               }
-                                       });
-               }
-               menuManager.addMenuItemsWithExpansion(menuItems, connectMenu,
-                               workbenchConfiguration.getMaxMenuItems(),
-                               new ComponentFactory() {
-                                       public Component makeComponent() {
-                                               return new 
ShadedLabel(SERVICES, colourManager
-                                                               
.getPreferredColour(Processor.class
-                                                                               
.getCanonicalName()));
-                                       }
-                               });
-       }
-
-       protected Set<Processor> findProcessors(Workflow dataflow, Port 
targetPort) {
-               Set<Processor> possibleProcessors = new HashSet<Processor>();
-               if (targetPort instanceof InputProcessorPort) {
-                       InputProcessorPort inputProcessorPort = 
(InputProcessorPort) targetPort;
-                       possibleProcessors = 
scufl2Tools.possibleUpStreamProcessors(dataflow, 
inputProcessorPort.getParent());
-               } else if (targetPort instanceof OutputProcessorPort) {
-                       OutputProcessorPort outputProcessorPort = 
(OutputProcessorPort) targetPort;
-                       possibleProcessors = 
scufl2Tools.possibleDownStreamProcessors(dataflow, 
outputProcessorPort.getParent());
-               } else {
-                       // Probably a dataflow port, everything is allowed
-                       possibleProcessors = dataflow.getProcessors();
-               }
-               return possibleProcessors;
-       }
-
-       public void setEditManager(EditManager editManager) {
-               this.editManager = editManager;
-       }
-
-       public void setMenuManager(MenuManager menuManager) {
-               this.menuManager = menuManager;
-       }
-
-       public void setActivityIconManager(ActivityIconManager 
activityIconManager) {
-               this.activityIconManager = activityIconManager;
-       }
-
-       public void setWorkbenchConfiguration(WorkbenchConfiguration 
workbenchConfiguration) {
-               this.workbenchConfiguration = workbenchConfiguration;
-       }
-
-       public void setColourManager(ColourManager colourManager) {
-               this.colourManager = colourManager;
-       }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ActivityInputPortSection.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ActivityInputPortSection.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ActivityInputPortSection.java
deleted file mode 100644
index d98bc1b..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ActivityInputPortSection.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**********************************************************************
- * Copyright (C) 2007-2009 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.ui.menu.items.activityport;
-
-import java.net.URI;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuSection;
-import net.sf.taverna.t2.ui.menu.ContextualMenuComponent;
-import net.sf.taverna.t2.ui.menu.ContextualSelection;
-import net.sf.taverna.t2.ui.menu.DefaultContextualMenu;
-import org.apache.taverna.scufl2.api.port.InputProcessorPort;
-
-public class ActivityInputPortSection extends AbstractMenuSection implements
-               ContextualMenuComponent {
-
-       private static final String ACTIVITY_INPUT_PORT = "Service input port: 
";
-       public static final URI activityInputPortSection = URI
-                       
.create("http://taverna.sf.net/2009/contextMenu/activityInputPort";);
-       private ContextualSelection contextualSelection;
-
-       public ActivityInputPortSection() {
-               super(DefaultContextualMenu.DEFAULT_CONTEXT_MENU, 10,
-                               activityInputPortSection);
-       }
-
-       public ContextualSelection getContextualSelection() {
-               return contextualSelection;
-       }
-
-       @Override
-       public boolean isEnabled() {
-               return getContextualSelection().getSelection() instanceof 
InputProcessorPort;
-       }
-
-       public void setContextualSelection(ContextualSelection 
contextualSelection) {
-               this.contextualSelection = contextualSelection;
-               this.action = null;
-       }
-
-       @Override
-       protected Action createAction() {
-               InputProcessorPort port = (InputProcessorPort) 
getContextualSelection().getSelection();
-               String name = ACTIVITY_INPUT_PORT + port.getName();
-               return new DummyAction(name);
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ActivityOutputPortSection.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ActivityOutputPortSection.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ActivityOutputPortSection.java
deleted file mode 100644
index ba37860..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ActivityOutputPortSection.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**********************************************************************
- * Copyright (C) 2007-2009 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.ui.menu.items.activityport;
-
-import java.net.URI;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuSection;
-import net.sf.taverna.t2.ui.menu.ContextualMenuComponent;
-import net.sf.taverna.t2.ui.menu.ContextualSelection;
-import net.sf.taverna.t2.ui.menu.DefaultContextualMenu;
-import org.apache.taverna.scufl2.api.port.OutputProcessorPort;
-
-public class ActivityOutputPortSection extends AbstractMenuSection implements
-               ContextualMenuComponent {
-
-       private static final String ACTIVITY_OUTPUT_PORT = "Service output 
port: ";
-       public static final URI activityOutputPortSection = URI
-                       
.create("http://taverna.sf.net/2009/contextMenu/activityOutputPort";);
-       private ContextualSelection contextualSelection;
-
-       public ActivityOutputPortSection() {
-               super(DefaultContextualMenu.DEFAULT_CONTEXT_MENU, 10,
-                               activityOutputPortSection);
-       }
-
-       public ContextualSelection getContextualSelection() {
-               return contextualSelection;
-       }
-
-       @Override
-       public boolean isEnabled() {
-               return getContextualSelection().getSelection() instanceof 
OutputProcessorPort;
-       }
-
-       public void setContextualSelection(ContextualSelection 
contextualSelection) {
-               this.contextualSelection = contextualSelection;
-               this.action = null;
-       }
-
-       @Override
-       protected Action createAction() {
-               OutputProcessorPort port = (OutputProcessorPort) 
getContextualSelection().getSelection();
-               String name = ACTIVITY_OUTPUT_PORT + port.getName();
-               return new DummyAction(name);
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/AddInputPortDefaultValueAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/AddInputPortDefaultValueAction.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/AddInputPortDefaultValueAction.java
deleted file mode 100644
index 2843008..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/AddInputPortDefaultValueAction.java
+++ /dev/null
@@ -1,150 +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.ui.menu.items.activityport;
-
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.swing.JOptionPane;
-
-import 
net.sf.taverna.t2.activities.stringconstant.views.StringConstantConfigView;
-import net.sf.taverna.t2.workbench.design.actions.DataflowEditAction;
-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.AddChildEdit;
-import net.sf.taverna.t2.workflow.edits.AddDataLinkEdit;
-import net.sf.taverna.t2.workflow.edits.AddProcessorEdit;
-
-import org.apache.log4j.Logger;
-
-import org.apache.taverna.commons.services.ServiceRegistry;
-import org.apache.taverna.scufl2.api.activity.Activity;
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-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.iterationstrategy.CrossProduct;
-import org.apache.taverna.scufl2.api.port.InputProcessorPort;
-import org.apache.taverna.scufl2.api.port.OutputActivityPort;
-import org.apache.taverna.scufl2.api.port.OutputProcessorPort;
-import org.apache.taverna.scufl2.api.profiles.ProcessorBinding;
-import org.apache.taverna.scufl2.api.profiles.ProcessorOutputPortBinding;
-import org.apache.taverna.scufl2.api.profiles.Profile;
-
-/**
- * Action for adding a default value to an input port of a processor.
- *
- * @author Alex Nenadic
- */
-@SuppressWarnings("serial")
-public class AddInputPortDefaultValueAction extends DataflowEditAction {
-
-       private static Logger logger = 
Logger.getLogger(AddInputPortDefaultValueAction.class);
-
-       private static final URI STRING_CONSTANT = URI
-                       
.create("http://ns.taverna.org.uk/2010/activity/constant";);
-
-       private InputProcessorPort inputPort;
-
-       private final ServiceRegistry serviceRegistry;
-
-       public AddInputPortDefaultValueAction(Workflow workflow, 
InputProcessorPort inputPort,
-                       Component component, EditManager editManager, 
SelectionManager selectionManager,
-                       ServiceRegistry serviceRegistry) {
-               super(workflow, component, editManager, selectionManager);
-               this.inputPort = inputPort;
-               this.serviceRegistry = serviceRegistry;
-               putValue(SMALL_ICON, WorkbenchIcons.inputValueIcon);
-               putValue(NAME, "Set constant value");
-       }
-
-       public void actionPerformed(ActionEvent e) {
-               try {
-                       Activity activity = new Activity();
-                       activity.setType(STRING_CONSTANT);
-                       Configuration configuration = new Configuration();
-                       
configuration.setType(STRING_CONSTANT.resolve("#Config"));
-                       configuration.getJsonAsObjectNode().put("string", "");
-                       configuration.setConfigures(activity);
-
-                       StringConstantConfigView configView = new 
StringConstantConfigView(activity,
-                                       configuration, serviceRegistry);
-
-                       int answer = JOptionPane.showConfirmDialog(component, 
configView,
-                                       "Text constant value", 
JOptionPane.OK_CANCEL_OPTION);
-                       if (answer != JOptionPane.CANCEL_OPTION) {
-
-                               configView.noteConfiguration();
-                               configuration.setJson(configView.getJson());
-
-                               Profile profile = 
selectionManager.getSelectedProfile();
-
-                               Processor processor = new Processor();
-                               processor.setName(inputPort.getName() + 
"_value");
-
-                               CrossProduct crossProduct = new CrossProduct();
-                               
crossProduct.setParent(processor.getIterationStrategyStack());
-
-                               ProcessorBinding processorBinding = new 
ProcessorBinding();
-                               processorBinding.setBoundProcessor(processor);
-                               processorBinding.setBoundActivity(activity);
-
-                               // create activity port
-                               OutputActivityPort activityPort = new 
OutputActivityPort(activity, "value");
-                               activityPort.setDepth(0);
-                               activityPort.setGranularDepth(0);
-                               // create processor port
-                               OutputProcessorPort processorPort = new 
OutputProcessorPort(processor,
-                                               activityPort.getName());
-                               processorPort.setDepth(0);
-                               processorPort.setGranularDepth(0);
-                               // add a new port binding
-                               new 
ProcessorOutputPortBinding(processorBinding, activityPort, processorPort);
-
-                               // Add a data link between the string constant 
processor's output port
-                               // and the processor containing the passed 
inputPort.
-                               DataLink datalink = new DataLink();
-                               datalink.setReceivesFrom(processorPort);
-                               datalink.setSendsTo(inputPort);
-
-                               List<Edit<?>> editList = new 
ArrayList<Edit<?>>();
-                               editList.add(new AddChildEdit<Profile>(profile, 
activity));
-                               editList.add(new AddChildEdit<Profile>(profile, 
configuration));
-                               editList.add(new AddChildEdit<Profile>(profile, 
processorBinding));
-                               editList.add(new AddProcessorEdit(dataflow, 
processor));
-                               editList.add(new AddDataLinkEdit(dataflow, 
datalink));
-
-                               
editManager.doDataflowEdit(dataflow.getParent(), new CompoundEdit(editList));
-
-                       }
-               } catch (EditException ex) {
-                       logger.error("Adding default value for input port 
failed", ex);
-               }
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ConnectInputPortMenuActions.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ConnectInputPortMenuActions.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ConnectInputPortMenuActions.java
deleted file mode 100644
index bd416ce..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ConnectInputPortMenuActions.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**********************************************************************
- * Copyright (C) 2007-2009 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.ui.menu.items.activityport;
-
-import net.sf.taverna.t2.ui.menu.ContextualMenuComponent;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.port.InputProcessorPort;
-
-public class ConnectInputPortMenuActions extends AbstractConnectPortMenuActions
-               implements ContextualMenuComponent {
-
-       public ConnectInputPortMenuActions() {
-               super(ActivityInputPortSection.activityInputPortSection, 20);
-       }
-
-       @Override
-       public boolean isEnabled() {
-               return super.isEnabled()
-                               && getContextualSelection().getSelection() 
instanceof InputProcessorPort
-                               && getContextualSelection().getParent() 
instanceof Workflow;
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ConnectOutputPortMenuActions.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ConnectOutputPortMenuActions.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ConnectOutputPortMenuActions.java
deleted file mode 100644
index 0d68970..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ConnectOutputPortMenuActions.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**********************************************************************
- * Copyright (C) 2007-2009 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.ui.menu.items.activityport;
-
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.port.OutputProcessorPort;
-
-
-public class ConnectOutputPortMenuActions extends 
AbstractConnectPortMenuActions  {
-
-       public ConnectOutputPortMenuActions() {
-               super(ActivityOutputPortSection.activityOutputPortSection, 20);
-       }
-
-       @Override
-       public boolean isEnabled() {
-               return super.isEnabled()
-                               && getContextualSelection().getSelection() 
instanceof OutputProcessorPort
-                               && getContextualSelection().getParent() 
instanceof Workflow;
-       }
-
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ConnectPortsAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ConnectPortsAction.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ConnectPortsAction.java
deleted file mode 100644
index 84f4291..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/ConnectPortsAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (C) 2007-2009 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.ui.menu.items.activityport;
-
-import java.awt.event.ActionEvent;
-
-import javax.swing.AbstractAction;
-
-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.workflow.edits.AddDataLinkEdit;
-
-import org.apache.log4j.Logger;
-
-import org.apache.taverna.scufl2.api.core.DataLink;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.port.ReceiverPort;
-import org.apache.taverna.scufl2.api.port.SenderPort;
-
-@SuppressWarnings("serial")
-public class ConnectPortsAction extends AbstractAction {
-       private static Logger logger = 
Logger.getLogger(ConnectPortsAction.class);
-       private final Workflow workflow;
-       private final ReceiverPort receiverPort;
-       private final SenderPort senderPort;
-       private final EditManager editManager;
-
-       public ConnectPortsAction(Workflow workflow,
-                       SenderPort senderPort, ReceiverPort receiverPort, 
EditManager editManager) {
-               super("Connect " + senderPort.getName() + " to " + 
receiverPort.getName());
-               this.workflow = workflow;
-               this.receiverPort = receiverPort;
-               this.senderPort = senderPort;
-               this.editManager = editManager;
-       }
-
-       public void actionPerformed(ActionEvent e) {
-               DataLink dataLink = new DataLink();
-               dataLink.setReceivesFrom(senderPort);
-               dataLink.setSendsTo(receiverPort);
-               Edit<Workflow> edit = new AddDataLinkEdit(workflow, dataLink);
-               try {
-                       editManager.doDataflowEdit(workflow.getParent(), edit);
-               } catch (EditException ex) {
-                       logger.warn("Can't create connection between " + 
senderPort
-                                       + " and " + receiverPort, ex);
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/CreateAndConnectDataflowPortAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/CreateAndConnectDataflowPortAction.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/CreateAndConnectDataflowPortAction.java
deleted file mode 100644
index c179f10..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/CreateAndConnectDataflowPortAction.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/**********************************************************************
- * Copyright (C) 2007-2009 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.ui.menu.items.activityport;
-
-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 javax.swing.AbstractAction;
-
-import net.sf.taverna.t2.lang.ui.ValidatingUserInputDialog;
-import net.sf.taverna.t2.workbench.design.ui.DataflowInputPortPanel;
-import net.sf.taverna.t2.workbench.design.ui.DataflowOutputPortPanel;
-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.workflow.edits.AddChildEdit;
-import net.sf.taverna.t2.workflow.edits.AddDataLinkEdit;
-import net.sf.taverna.t2.workflow.edits.AddWorkflowInputPortEdit;
-import net.sf.taverna.t2.workflow.edits.AddWorkflowOutputPortEdit;
-
-import org.apache.log4j.Logger;
-
-import org.apache.taverna.scufl2.api.core.DataLink;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.port.DepthPort;
-import org.apache.taverna.scufl2.api.port.InputPort;
-import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
-import org.apache.taverna.scufl2.api.port.OutputPort;
-import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
-import org.apache.taverna.scufl2.api.port.Port;
-import org.apache.taverna.scufl2.api.port.ReceiverPort;
-import org.apache.taverna.scufl2.api.port.SenderPort;
-
-/**
- * Action to create a dataflow input/output port and connect it to the 
specified
- * processor/activity output/input port.
- * <p>
- * The created dataflow port name will be taken from the name of the provided
- * port.
- *
- * @author Stian Soiland-Reyes
- *
- */
-@SuppressWarnings("serial")
-public class CreateAndConnectDataflowPortAction extends AbstractAction {
-
-       private static final String VALID_PORT_NAME_REGEX = 
"[\\p{L}\\p{Digit}_.]+";
-       private static final Dimension INPUT_PORT_DIALOGUE_SIZE = new 
Dimension(400, 250);
-       private static final Dimension OUTPUT_PORT_DIALOGUE_SIZE = new 
Dimension(400, 200);
-
-       private static final String INVALID_WORKFLOW_OUTPUT_PORT_NAME = 
"Invalid workflow output port name.";
-       private static final String DUPLICATE_WORKFLOW_OUTPUT_PORT_NAME = 
"Duplicate workflow output port name.";
-       private static final String SET_THE_WORKFLOW_OUTPUT_PORT_NAME = "Set 
the workflow output port name.";
-       private static final String ADD_WORKFLOW_OUTPUT_PORT = "Add workflow 
output port";
-       private static final String SET_THE_INPUT_PORT_LIST_DEPTH = "Set the 
input port list depth.";
-       private static final String SET_THE_INPUT_PORT_TYPE = "Set the input 
port type.";
-       private static final String INVALID_WORKFLOW_INPUT_PORT_NAME = "Invalid 
workflow input port name.";
-       private static final String DUPLICATE_WORKFLOW_INPUT_PORT_NAME = 
"Duplicate workflow input port name.";
-       private static final String SET_THE_WORKFLOW_INPUT_PORT_NAME = "Set the 
workflow input port name.";
-       private static final String ADD_WORKFLOW_INPUT_PORT = "Add workflow 
input port";
-       private static Logger logger = 
Logger.getLogger(CreateAndConnectDataflowPortAction.class);
-       private final Workflow workflow;
-
-       private final Port port;
-       private final String suggestedName;
-       private final Component parentComponent;
-       private final EditManager editManager;
-
-       /**
-        * Action for creating a Workflow input/output port and linking it to 
the
-        * specified port.
-        * <p>
-        * If the provided port is an InputPort then a
-        * Workflow OutputPort will be created and linked. Vice versa, if the
-        * provided port is an OutputPort, a Workflow InputPort will be created.
-        *
-        * @param workflow
-        *            Workflow where to create the Workflow input/output port
-        * @param port
-        *            Existing Processor port to connect to
-        * @param suggestedName
-        *            suggested port name
-        * @param parentComponent
-        *            Component to be parent of any pop-ups
-        */
-       public CreateAndConnectDataflowPortAction(Workflow workflow, Port port,
-                       String suggestedName, Component parentComponent, 
EditManager editManager) {
-               super("Connect to new workflow port");
-               this.workflow = workflow;
-               this.port = port;
-               this.suggestedName = suggestedName;
-               this.parentComponent = parentComponent;
-               this.editManager = editManager;
-               if (!(port instanceof InputPort || port instanceof OutputPort)) 
{
-                       throw new IllegalArgumentException("Port " + port
-                                       + " must be either an InputPort or 
OutputPort");
-               }
-       }
-
-       public void actionPerformed(ActionEvent e) {
-               if (port instanceof ReceiverPort) {
-                       InputWorkflowPort inputWorkflowPort = new 
InputWorkflowPort();
-                       inputWorkflowPort.setName(suggestedName);
-                       
workflow.getInputPorts().addWithUniqueName(inputWorkflowPort);
-                       workflow.getInputPorts().remove(inputWorkflowPort);
-                       if (port instanceof DepthPort) {
-                               inputWorkflowPort.setDepth(((DepthPort) 
port).getDepth());
-                       } else {
-                               inputWorkflowPort.setDepth(0);
-                       }
-                       showDialogue(inputWorkflowPort);
-
-               } else if (port instanceof SenderPort) {
-                       OutputWorkflowPort outputWorkflowPort = new 
OutputWorkflowPort();
-                       outputWorkflowPort.setName(suggestedName);
-                       
workflow.getOutputPorts().addWithUniqueName(outputWorkflowPort);
-                       workflow.getOutputPorts().remove(outputWorkflowPort);
-                       showDialogue(outputWorkflowPort);
-               } else {
-                       throw new IllegalStateException("Port " + port
-                                       + " must be either an InputPort or 
OutputPort");
-               }
-
-       }
-
-       protected void showDialogue(InputWorkflowPort portTemplate) {
-               Set<String> usedInputPorts = new HashSet<String>();
-               for (InputWorkflowPort usedInputPort : 
workflow.getInputPorts()) {
-                       usedInputPorts.add(usedInputPort.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, 
VALID_PORT_NAME_REGEX,
-                               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(INPUT_PORT_DIALOGUE_SIZE);
-
-               inputPanel.setPortName(portTemplate.getName());
-               inputPanel.setPortDepth(portTemplate.getDepth());
-
-               if (vuid.show(parentComponent)) {
-                       InputWorkflowPort inputWorkflowPort = new 
InputWorkflowPort();
-                       inputWorkflowPort.setName(inputPanel.getPortName());
-                       inputWorkflowPort.setDepth(inputPanel.getPortDepth());
-                       List<Edit<?>> editList = new ArrayList<Edit<?>>();
-                       editList.add(new AddWorkflowInputPortEdit(workflow, 
inputWorkflowPort));
-                       DataLink dataLink = new DataLink();
-                       dataLink.setReceivesFrom(inputWorkflowPort);
-                       dataLink.setSendsTo((ReceiverPort) port);
-                       editList.add(new AddDataLinkEdit(workflow, dataLink));
-                       try {
-                               CompoundEdit compoundEdit = new 
CompoundEdit(editList);
-                               
editManager.doDataflowEdit(workflow.getParent(), compoundEdit);
-                       } catch (EditException ex) {
-                               logger.warn("Can't create or connect new input 
port", ex);
-                       }
-
-               }
-       }
-
-       protected void showDialogue(OutputWorkflowPort portTemplate) {
-               Set<String> usedOutputPorts = new HashSet<String>();
-               for (OutputWorkflowPort usedInputPort : 
workflow.getOutputPorts()) {
-                       usedOutputPorts.add(usedInputPort.getName());
-               }
-               DataflowOutputPortPanel outputPanel = new 
DataflowOutputPortPanel();
-
-               ValidatingUserInputDialog vuid = new ValidatingUserInputDialog(
-                               ADD_WORKFLOW_OUTPUT_PORT, outputPanel);
-               vuid.addTextComponentValidation(outputPanel.getPortNameField(),
-                               SET_THE_WORKFLOW_OUTPUT_PORT_NAME, 
usedOutputPorts,
-                               DUPLICATE_WORKFLOW_OUTPUT_PORT_NAME,
-                               VALID_PORT_NAME_REGEX, 
INVALID_WORKFLOW_OUTPUT_PORT_NAME);
-               vuid.setSize(OUTPUT_PORT_DIALOGUE_SIZE);
-               outputPanel.setPortName(portTemplate.getName());
-
-               if (vuid.show(parentComponent)) {
-                       OutputWorkflowPort outputWorkflowPort = new 
OutputWorkflowPort();
-                       outputWorkflowPort.setName(outputPanel.getPortName());
-                       List<Edit<?>> editList = new ArrayList<Edit<?>>();
-                       editList.add(new AddWorkflowOutputPortEdit(workflow, 
outputWorkflowPort));
-                       DataLink dataLink = new DataLink();
-                       dataLink.setReceivesFrom((SenderPort) port);
-                       dataLink.setSendsTo(outputWorkflowPort);
-                       editList.add(new AddDataLinkEdit(workflow, dataLink));
-                       try {
-                               CompoundEdit compoundEdit = new 
CompoundEdit(editList);
-                               
editManager.doDataflowEdit(workflow.getParent(), compoundEdit);
-                       } catch (EditException ex) {
-                               logger.warn("Can't create or connect new 
workflow output port", ex);
-                       }
-               }
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/SetConstantInputPortValueMenuAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/SetConstantInputPortValueMenuAction.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/SetConstantInputPortValueMenuAction.java
deleted file mode 100644
index 8bea960..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/SetConstantInputPortValueMenuAction.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**********************************************************************
- * Copyright (C) 2007-2009 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.ui.menu.items.activityport;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.ui.menu.AbstractContextualMenuAction;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import org.apache.taverna.commons.services.ServiceRegistry;
-import org.apache.taverna.scufl2.api.core.Workflow;
-import org.apache.taverna.scufl2.api.port.InputProcessorPort;
-
-public class SetConstantInputPortValueMenuAction extends 
AbstractContextualMenuAction {
-
-       private EditManager editManager;
-       private SelectionManager selectionManager;
-       private ServiceRegistry serviceRegistry;
-
-       public SetConstantInputPortValueMenuAction() {
-               super(ActivityInputPortSection.activityInputPortSection, 10);
-       }
-
-       @Override
-       public synchronized Action getAction() {
-               SetDefaultInputPortValueAction action = 
(SetDefaultInputPortValueAction) super.getAction();
-               action.updateStatus();
-               return action;
-       }
-
-       @Override
-       public boolean isEnabled() {
-               return super.isEnabled()
-                               && getContextualSelection().getSelection() 
instanceof InputProcessorPort
-                               && getContextualSelection().getParent() 
instanceof Workflow;
-       }
-
-       @Override
-       protected Action createAction() {
-               return new SetDefaultInputPortValueAction(editManager, 
selectionManager, serviceRegistry);
-       }
-
-       public void setEditManager(EditManager editManager) {
-               this.editManager = editManager;
-       }
-
-       public void setSelectionManager(SelectionManager selectionManager) {
-               this.selectionManager = selectionManager;
-       }
-
-       public void setServiceRegistry(ServiceRegistry serviceRegistry) {
-               this.serviceRegistry = serviceRegistry;
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/SetDefaultInputPortValueAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/SetDefaultInputPortValueAction.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/SetDefaultInputPortValueAction.java
deleted file mode 100644
index bb40da7..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/activityport/SetDefaultInputPortValueAction.java
+++ /dev/null
@@ -1,171 +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.ui.menu.items.activityport;
-
-import java.awt.event.ActionEvent;
-import java.util.Set;
-
-import javax.swing.AbstractAction;
-import javax.swing.JOptionPane;
-
-import org.apache.taverna.lang.observer.Observable;
-import org.apache.taverna.lang.observer.Observer;
-import org.apache.taverna.lang.observer.SwingAwareObserver;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.icons.WorkbenchIcons;
-import net.sf.taverna.t2.workbench.selection.DataflowSelectionModel;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workbench.selection.events.DataflowSelectionMessage;
-import net.sf.taverna.t2.workbench.selection.events.PerspectiveSelectionEvent;
-import net.sf.taverna.t2.workbench.selection.events.SelectionManagerEvent;
-import 
net.sf.taverna.t2.workbench.selection.events.WorkflowBundleSelectionEvent;
-import org.apache.taverna.commons.services.ServiceRegistry;
-import org.apache.taverna.scufl2.api.common.Scufl2Tools;
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.port.InputProcessorPort;
-
-/**
- * An action that sets a default value to a processor's input port, in case
- * the input port is selected on the Graph View.
- *
- * @author Alex Nenadic
- */
-@SuppressWarnings("serial")
-public class SetDefaultInputPortValueAction extends AbstractAction {
-
-       /* Current workflow's selection model event observer. */
-       private Observer<DataflowSelectionMessage> workflowSelectionObserver = 
new DataflowSelectionObserver();
-
-       private final EditManager editManager;
-       private final SelectionManager selectionManager;
-       private final ServiceRegistry serviceRegistry;
-
-       private Scufl2Tools scufl2Tools = new Scufl2Tools();
-
-       public SetDefaultInputPortValueAction(EditManager editManager,
-                       SelectionManager selectionManager, ServiceRegistry 
serviceRegistry) {
-               super();
-               this.editManager = editManager;
-               this.selectionManager = selectionManager;
-               this.serviceRegistry = serviceRegistry;
-               putValue(SMALL_ICON, WorkbenchIcons.inputValueIcon);
-               putValue(NAME, "Constant value");
-               putValue(SHORT_DESCRIPTION, "Add a constant value for an input 
port");
-               setEnabled(false);
-
-               selectionManager.addObserver(new SelectionManagerObserver());
-
-       }
-
-       public void actionPerformed(ActionEvent e) {
-               WorkflowBundle workflowBundle = 
selectionManager.getSelectedWorkflowBundle();
-               DataflowSelectionModel dataFlowSelectionModel = selectionManager
-                               .getDataflowSelectionModel(workflowBundle);
-               // Get selected port
-               Set<Object> selectedWFComponents = 
dataFlowSelectionModel.getSelection();
-               if (selectedWFComponents.size() > 1) {
-                       JOptionPane.showMessageDialog(null,
-                                       "Only one workflow component should be 
selected for this action.", "Warning",
-                                       JOptionPane.WARNING_MESSAGE);
-               } else {
-                       Object selectedWFComponent = 
selectedWFComponents.toArray()[0];
-                       if (selectedWFComponent instanceof InputProcessorPort) {
-                               new 
AddInputPortDefaultValueAction(workflowBundle.getMainWorkflow(),
-                                               (InputProcessorPort) 
selectedWFComponent, null, editManager,
-                                               selectionManager, 
serviceRegistry).actionPerformed(e);
-                       }
-               }
-       }
-
-       /**
-        * Check if action should be enabled or disabled and update its status.
-        */
-       public void updateStatus() {
-               WorkflowBundle workflowBundle = 
selectionManager.getSelectedWorkflowBundle();
-               DataflowSelectionModel selectionModel = selectionManager
-                               .getDataflowSelectionModel(workflowBundle);
-
-               // List of all selected objects in the graph view
-               Set<Object> selection = selectionModel.getSelection();
-
-               if (selection.isEmpty()) {
-                       setEnabled(false);
-               } else {
-                       // Take the first selected item - we only support 
single selections anyway
-                       Object selected = selection.toArray()[0];
-                       if (selected instanceof InputProcessorPort) {
-                               // If this input port is not already connected 
to something - enable the button
-                               
setEnabled(scufl2Tools.datalinksTo((InputProcessorPort) selected).isEmpty());
-                       }
-               }
-       }
-
-       /**
-        * Observes events on workflow Selection Manager, i.e. when a workflow
-        * node is selected in the graph view, and enables/disables this action 
accordingly.
-        */
-       private final class DataflowSelectionObserver implements 
Observer<DataflowSelectionMessage> {
-
-               public void notify(Observable<DataflowSelectionMessage> sender,
-                               DataflowSelectionMessage message) throws 
Exception {
-                       updateStatus();
-               }
-       }
-
-       private final class SelectionManagerObserver extends 
SwingAwareObserver<SelectionManagerEvent> {
-
-               private static final String DESIGN_PERSPECTIVE_ID = 
"net.sf.taverna.t2.ui.perspectives.design.DesignPerspective";
-
-               @Override
-               public void notifySwing(Observable<SelectionManagerEvent> 
sender,
-                               SelectionManagerEvent message) {
-                       if (message instanceof WorkflowBundleSelectionEvent) {
-                               WorkflowBundleSelectionEvent 
workflowBundleSelectionEvent = (WorkflowBundleSelectionEvent) message;
-                               WorkflowBundle oldFlow = 
workflowBundleSelectionEvent
-                                               
.getPreviouslySelectedWorkflowBundle();
-                               WorkflowBundle newFlow = 
workflowBundleSelectionEvent.getSelectedWorkflowBundle();
-                               // Update the buttons status as current 
dataflow has changed
-                               updateStatus();
-
-                               // Remove the workflow selection model listener 
from the previous (if any)
-                               // and add to the new workflow (if any)
-                               if (oldFlow != null) {
-                                       
selectionManager.getDataflowSelectionModel(oldFlow).removeObserver(
-                                                       
workflowSelectionObserver);
-                               }
-
-                               if (newFlow != null) {
-                                       
selectionManager.getDataflowSelectionModel(newFlow).addObserver(
-                                                       
workflowSelectionObserver);
-                               }
-                       } else if (message instanceof 
PerspectiveSelectionEvent) {
-                               PerspectiveSelectionEvent 
perspectiveSelectionEvent = (PerspectiveSelectionEvent) message;
-                               if 
(DESIGN_PERSPECTIVE_ID.equals(perspectiveSelectionEvent.getSelectedPerspective().getID()))
 {
-                                       updateStatus();
-                               } else {
-                                       setEnabled(false);
-                               }
-                       }
-               }
-
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/annotated/AnnotatedConfigureMenuAction.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/annotated/AnnotatedConfigureMenuAction.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/annotated/AnnotatedConfigureMenuAction.java
deleted file mode 100644
index 0105f21..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/annotated/AnnotatedConfigureMenuAction.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**********************************************************************
- * Copyright (C) 2007-2009 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.ui.menu.items.annotated;
-
-import java.awt.event.ActionEvent;
-import java.util.List;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-import javax.swing.JOptionPane;
-
-import org.apache.taverna.annotation.Annotated;
-import org.apache.taverna.annotation.AnnotationBeanSPI;
-import net.sf.taverna.t2.ui.menu.AbstractContextualMenuAction;
-import net.sf.taverna.t2.ui.menu.items.contextualviews.ConfigureSection;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-//import 
net.sf.taverna.t2.workbench.ui.views.contextualviews.annotated.AnnotatedContextualView;
-
-public class AnnotatedConfigureMenuAction extends AbstractContextualMenuAction 
{
-       private static final String ANNOTATE = "Annotate...";
-       private EditManager editManager;
-       private SelectionManager selectionManager;
-       private List<AnnotationBeanSPI> annotationBeans;
-
-       public AnnotatedConfigureMenuAction() {
-               super(ConfigureSection.configureSection, 40);
-       }
-
-       @Override
-       public boolean isEnabled() {
-               return super.isEnabled() && 
(getContextualSelection().getSelection() instanceof Annotated);
-       }
-
-       @SuppressWarnings("serial")
-       @Override
-       protected Action createAction() {
-               return new AbstractAction(ANNOTATE) {
-                       public void actionPerformed(ActionEvent e) {
-                               AnnotatedContextualView view = new 
AnnotatedContextualView((Annotated) getContextualSelection().getSelection(),
-                                               editManager, selectionManager, 
annotationBeans);
-                               JOptionPane.showMessageDialog(null, 
view.getMainFrame(), "Annotation", JOptionPane.PLAIN_MESSAGE);
-                       }
-               };
-       }
-
-       public void setEditManager(EditManager editManager) {
-               this.editManager = editManager;
-       }
-
-       public void setAnnotationBeans(List<AnnotationBeanSPI> annotationBeans) 
{
-               this.annotationBeans = annotationBeans;
-       }
-
-       public void setSelectionManager(SelectionManager selectionManager) {
-               this.selectionManager = selectionManager;
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/contextualviews/ConfigureRunningContextualMenuSection.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/contextualviews/ConfigureRunningContextualMenuSection.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/contextualviews/ConfigureRunningContextualMenuSection.java
deleted file mode 100644
index 9c459e2..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/contextualviews/ConfigureRunningContextualMenuSection.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**********************************************************************
- * Copyright (C) 2007-2009 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.ui.menu.items.contextualviews;
-
-import java.net.URI;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenu;
-import net.sf.taverna.t2.ui.menu.ContextualMenuComponent;
-import net.sf.taverna.t2.ui.menu.ContextualSelection;
-
-public class ConfigureRunningContextualMenuSection extends AbstractMenu
-implements ContextualMenuComponent {
-       public static final String CONFIGURE_RUNNING = "Configure running";
-       public static final URI configureRunningSection = URI
-       .create("http://taverna.sf.net/2009/contextMenu/configureRunning";);
-       private ContextualSelection contextualSelection;
-
-       public ConfigureRunningContextualMenuSection() {
-               super(ConfigureSection.configureSection, 45, 
configureRunningSection, CONFIGURE_RUNNING);
-       }
-
-       @Override
-       public boolean isEnabled() {
-               return true;
-//             return super.isEnabled() && contextualSelection instanceof 
Processor;
-       }
-       
-       public void setContextualSelection(ContextualSelection 
contextualSelection) {
-               this.contextualSelection = contextualSelection;
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/contextualviews/ConfigureSection.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/contextualviews/ConfigureSection.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/contextualviews/ConfigureSection.java
deleted file mode 100644
index 0f1a17f..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/contextualviews/ConfigureSection.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**********************************************************************
- * Copyright (C) 2007-2009 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.ui.menu.items.contextualviews;
-
-import java.net.URI;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuSection;
-import net.sf.taverna.t2.ui.menu.ContextualMenuComponent;
-import net.sf.taverna.t2.ui.menu.ContextualSelection;
-
-/**
- * Menu section containing the actions to add service templates, i.e. 
activities
- * than are not readily runnable but need to be configured first. The actual 
actions that
- * go into this menu can be found in the ui modules for the activities.
- *
- * @author Alex Nenadic
- *
- */
-public class ConfigureSection extends AbstractMenuSection
-               implements ContextualMenuComponent {
-
-       public static final URI configureSection = URI
-                       
.create("http://taverna.sf.net/2009/contextMenu/configure";);
-       private ContextualSelection contextualSelection;
-
-       public ConfigureSection() {
-               super(EditSection.editSection, 100, configureSection);
-       }
-
-       public ContextualSelection getContextualSelection() {
-               return contextualSelection;
-       }
-
-       @Override
-       public boolean isEnabled() {
-               Object selection = getContextualSelection().getSelection();
-               return super.isEnabled();
-       }
-
-       public void setContextualSelection(ContextualSelection 
contextualSelection) {
-               this.contextualSelection = contextualSelection;
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/contextualviews/EditSection.java
----------------------------------------------------------------------
diff --git 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/contextualviews/EditSection.java
 
b/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/contextualviews/EditSection.java
deleted file mode 100644
index d23ec6e..0000000
--- 
a/taverna-menu-items/src/main/java/net/sf/taverna/t2/ui/menu/items/contextualviews/EditSection.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**********************************************************************
- * Copyright (C) 2007-2009 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.ui.menu.items.contextualviews;
-
-import java.net.URI;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.lang.ui.ShadedLabel;
-import net.sf.taverna.t2.ui.menu.AbstractMenuSection;
-import net.sf.taverna.t2.ui.menu.ContextualMenuComponent;
-import net.sf.taverna.t2.ui.menu.ContextualSelection;
-import net.sf.taverna.t2.ui.menu.DefaultContextualMenu;
-
-/**
- * Menu section containing the actions to add service templates, i.e. 
activities
- * than are not readily runnable but need to be configured first. The actual 
actions that
- * go into this menu can be found in the ui modules for the activities.
- *
- * @author Alex Nenadic
- *
- */
-public class EditSection extends AbstractMenuSection
-               implements ContextualMenuComponent {
-
-       private static final String EDIT = "Edit";
-       public static final URI editSection = URI
-                       .create("http://taverna.sf.net/2009/contextMenu/edit";);
-       private ContextualSelection contextualSelection;
-
-       public EditSection() {
-               super(DefaultContextualMenu.DEFAULT_CONTEXT_MENU, 10, 
editSection);
-       }
-
-       public ContextualSelection getContextualSelection() {
-               return contextualSelection;
-       }
-
-       @Override
-       public boolean isEnabled() {
-               return super.isEnabled();
-       }
-
-       public void setContextualSelection(ContextualSelection 
contextualSelection) {
-               this.contextualSelection = contextualSelection;
-       }
-
-       @Override
-       protected Action createAction() {
-               DummyAction action = new DummyAction(EDIT);
-               // Set the colour for the section
-               action.putValue(AbstractMenuSection.SECTION_COLOR, 
ShadedLabel.ORANGE);
-               return action;
-       }
-}

Reply via email to