Attempt to update taverna-external-tool-activity-ui to T3
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/actions/ExternalToolActivityConfigureAction.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/actions/ExternalToolActivityConfigureAction.java
index 5d57280..1637f6c 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/actions/ExternalToolActivityConfigureAction.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/actions/ExternalToolActivityConfigureAction.java
@@ -24,6 +24,8 @@
import org.apache.taverna.activities.externaltool.ExternalToolActivity;
import org.apache.taverna.activities.externaltool.ExternalToolActivityConfigurationBean;
import org.apache.taverna.activities.externaltool.views.ExternalToolConfigView;
+import org.apache.taverna.scufl2.api.activity.Activity;
+import org.apache.taverna.servicedescriptions.ServiceDescriptionRegistry;
import org.apache.taverna.workbench.activityicons.ActivityIconManager;
import org.apache.taverna.workbench.edits.EditManager;
import org.apache.taverna.workbench.file.FileManager;
@@ -45,9 +47,9 @@
private final EditManager editManager;
private final FileManager fileManager;
- public ExternalToolActivityConfigureAction(ExternalToolActivity activity, Frame owner,
- EditManager editManager, FileManager fileManager, ActivityIconManager activityIconManager) {
- super(activity, activityIconManager);
+ public ExternalToolActivityConfigureAction(Activity activity, Frame owner,
+ EditManager editManager, FileManager fileManager, ActivityIconManager activityIconManager, ServiceDescriptionRegistry serviceDescriptionRegistry) {
+ super(activity, activityIconManager, serviceDescriptionRegistry);
this.editManager = editManager;
this.fileManager = fileManager;
putValue(Action.NAME, "Configure tool invocation");
@@ -65,11 +67,11 @@
if (currentDialog != null) {
currentDialog.toFront();
return;
- }
+ }
final ExternalToolConfigView externalToolConfigView = new ExternalToolConfigView(
- (ExternalToolActivity) getActivity());
- final ActivityConfigurationDialog<ExternalToolActivity, ExternalToolActivityConfigurationBean> dialog = new ActivityConfigurationDialog<ExternalToolActivity, ExternalToolActivityConfigurationBean>(
- getActivity(), externalToolConfigView, editManager, fileManager);
+ getActivity());
+
+ final ActivityConfigurationDialog dialog = new ActivityConfigurationDialog(getActivity(), externalToolConfigView, editManager);
ActivityConfigurationAction.setDialog(getActivity(), dialog, fileManager);
}
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/configuration/ToolInvocationConfiguration.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/configuration/ToolInvocationConfiguration.java
index 73a4de5..eba6252 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/configuration/ToolInvocationConfiguration.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/configuration/ToolInvocationConfiguration.java
@@ -23,6 +23,7 @@
import java.util.Map;
import org.apache.taverna.configuration.AbstractConfigurable;
+import org.apache.taverna.configuration.ConfigurationManager;
/**
@@ -31,17 +32,12 @@
*/
public class ToolInvocationConfiguration extends AbstractConfigurable {
- private static ToolInvocationConfiguration instance;
+ public ToolInvocationConfiguration(ConfigurationManager configurationManager) {
+ super(configurationManager);
+ }
private Map<String, String> defaultPropertyMap;
- public static ToolInvocationConfiguration getInstance() {
- if (instance == null) {
- instance = new ToolInvocationConfiguration();
- }
- return instance;
- }
-
@Override
public String getCategory() {
return "general";
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/GroupPanel.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/GroupPanel.java
index f2f941c..588f921 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/GroupPanel.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/GroupPanel.java
@@ -39,14 +39,13 @@
private static final long serialVersionUID = 1L;
- private JTextField groupNameField;
+ private final JTextField groupNameField;
+ private final JComboBox mechanismComboBox;
+ private final InvocationGroupManager manager;
- private JComboBox mechanismComboBox;
-
- private static InvocationGroupManager manager = InvocationGroupManagerImpl.getInstance();
-
- public GroupPanel(Object[] mechanisms) {
+ public GroupPanel(Object[] mechanisms, InvocationGroupManager manager) {
super(new GridBagLayout());
+ this.manager = manager;
groupNameField = new JTextField();
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/InvocationGroupManagerShutdownHook.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/InvocationGroupManagerShutdownHook.java
index 198919b..58a37e2 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/InvocationGroupManagerShutdownHook.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/InvocationGroupManagerShutdownHook.java
@@ -28,7 +28,14 @@
*
*/
public class InvocationGroupManagerShutdownHook implements ShutdownSPI {
+
+ private final InvocationGroupManager manager;
+ public InvocationGroupManagerShutdownHook(InvocationGroupManager manager) {
+ this.manager = manager;
+
+ }
+
/* (non-Javadoc)
* @see net.sf.taverna.t2.workbench.ShutdownSPI#positionHint()
*/
@@ -42,7 +49,6 @@
*/
@Override
public boolean shutdown() {
- InvocationGroupManager manager = InvocationGroupManagerImpl.getInstance();
manager.saveConfiguration();
manager.persistInvocations();
return true;
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/InvocationGroupManagerStartupHook.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/InvocationGroupManagerStartupHook.java
index 27b201a..ea32641 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/InvocationGroupManagerStartupHook.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/InvocationGroupManagerStartupHook.java
@@ -31,12 +31,18 @@
*/
public class InvocationGroupManagerStartupHook implements StartupSPI {
+ private final InvocationGroupManager manager;
+
+ InvocationGroupManagerStartupHook(InvocationGroupManager manager) {
+ this.manager = manager;
+ }
+
public int positionHint() {
return 900;
}
public boolean startup() {
- InvocationGroupManagerImpl.getInstance().loadInvocations();
+ manager.loadInvocations();
return true;
}
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/MechanismPanel.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/MechanismPanel.java
index 3c8e1c5..ef362ee 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/MechanismPanel.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/MechanismPanel.java
@@ -37,9 +37,9 @@
private static final long serialVersionUID = 1L;
- private JTextField mechanismNameField;
+ private final JTextField mechanismNameField;
- private JComboBox mechanismTypeSelector;
+ private final JComboBox mechanismTypeSelector;
public MechanismPanel(List<InvocationMechanismEditor<?>> invocationMechanismEditors) {
super(new GridBagLayout());
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/ToolInvocationConfigurationPanel.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/ToolInvocationConfigurationPanel.java
index 4b1ecd1..ca487e7 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/ToolInvocationConfigurationPanel.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/ToolInvocationConfigurationPanel.java
@@ -70,16 +70,16 @@
public static final String HEADER_TEXT = "A tool can be set to run at an explicit location (e.g. on a specificic machine or one of a set of machines). Alternatively, it can be set to run at a symbolic location, which means the tool will then be run at the explicit location pointed to by the symbolic location.";
- private static InvocationGroupManagerImpl manager = InvocationGroupManagerImpl.getInstance();
+ private final InvocationGroupManager manager;
private final List<InvocationMechanismEditor<?>> invocationMechanismEditors;
- private JTextArea headerText;
+ private final JTextArea headerText;
private static String EXPLICIT_LOCATIONS = "explicit locations";
private static String SYMBOLIC_LOCATIONS = "symbolic locations";
- private List<MechanismCreator> mechanismCreators;
+ private final List<MechanismCreator> mechanismCreators;
JList locationList = new JList();
@@ -89,10 +89,11 @@
SYMBOLIC_LOCATIONS });
public ToolInvocationConfigurationPanel(List<MechanismCreator> mechanismCreators,
- List<InvocationMechanismEditor<?>> invocationMechanismEditors) {
+ List<InvocationMechanismEditor<?>> invocationMechanismEditors, InvocationGroupManager manager) {
super();
this.mechanismCreators = mechanismCreators;
this.invocationMechanismEditors = invocationMechanismEditors;
+ this.manager = manager;
manager.addObserver(this);
this.setLayout(new GridBagLayout());
@@ -241,7 +242,7 @@
usedGroupNames.add(g.getName());
}
- GroupPanel inputPanel = new GroupPanel(mechanismListModel.toArray());
+ GroupPanel inputPanel = new GroupPanel(mechanismListModel.toArray(), manager);
ValidatingUserInputDialog vuid = new ValidatingUserInputDialog(
"Add symbolic location", inputPanel);
@@ -291,7 +292,7 @@
JOptionPane.PLAIN_MESSAGE, null);
if (answer == JOptionPane.OK_OPTION) {
ime.updateInvocationMechanism();
- InvocationGroupManagerImpl.getInstance().mechanismChanged(newMechanism);
+ manager.mechanismChanged(newMechanism);
}
locationList.setSelectedValue(newMechanism, true);
}
@@ -356,7 +357,7 @@
JOptionPane.PLAIN_MESSAGE, null);
if (answer == JOptionPane.OK_OPTION) {
ime.updateInvocationMechanism();
- InvocationGroupManagerImpl.getInstance().mechanismChanged(toEdit);
+ manager.mechanismChanged(toEdit);
}
}
}
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/ToolInvocationConfigurationUIFactory.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/ToolInvocationConfigurationUIFactory.java
index 8c12a9e..849416f 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/ToolInvocationConfigurationUIFactory.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/ToolInvocationConfigurationUIFactory.java
@@ -24,6 +24,7 @@
import javax.swing.JPanel;
import org.apache.taverna.configuration.Configurable;
+import org.apache.taverna.configuration.ConfigurationManager;
import org.apache.taverna.configuration.ConfigurationUIFactory;
import org.apache.taverna.activities.externaltool.configuration.ToolInvocationConfiguration;
@@ -37,8 +38,9 @@
private List<MechanismCreator> mechanismCreators;
private List<InvocationMechanismEditor<?>> invocationMechanismEditors;
-
private ToolInvocationConfigurationPanel configPanel;
+ private ConfigurationManager configurationManager;
+ private InvocationGroupManager invocationGroupManager;
@Override
public boolean canHandle(String uuid) {
@@ -47,14 +49,14 @@
@Override
public Configurable getConfigurable() {
- return ToolInvocationConfiguration.getInstance();
+ return new ToolInvocationConfiguration(configurationManager);
}
@Override
public JPanel getConfigurationPanel() {
if (configPanel == null) {
configPanel = new ToolInvocationConfigurationPanel(mechanismCreators,
- invocationMechanismEditors);
+ invocationMechanismEditors, getInvocationGroupManager());
}
return configPanel;
}
@@ -68,4 +70,20 @@
this.invocationMechanismEditors = invocationMechanismEditors;
}
+ public ConfigurationManager getConfigurationManager() {
+ return configurationManager;
+ }
+
+ public void setConfigurationManager(ConfigurationManager configurationManager) {
+ this.configurationManager = configurationManager;
+ }
+
+ public InvocationGroupManager getInvocationGroupManager() {
+ return invocationGroupManager;
+ }
+
+ public void setInvocationGroupManager(InvocationGroupManager invocationGroupManager) {
+ this.invocationGroupManager = invocationGroupManager;
+ }
+
}
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/menu/AddExternalToolContextualMenuAction.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/menu/AddExternalToolContextualMenuAction.java
index 37cc277..1ea271a 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/menu/AddExternalToolContextualMenuAction.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/menu/AddExternalToolContextualMenuAction.java
@@ -22,8 +22,9 @@
import javax.swing.AbstractAction;
import javax.swing.Action;
-import org.apache.taverna.activities.externaltool.ExternalToolActivity;
+import org.apache.log4j.Logger;
import org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolTemplateServiceDescription;
+import org.apache.taverna.services.ServiceRegistry;
import org.apache.taverna.ui.menu.AbstractContextualMenuAction;
import org.apache.taverna.ui.menu.MenuManager;
import org.apache.taverna.workbench.activityicons.ActivityIconManager;
@@ -31,9 +32,7 @@
import org.apache.taverna.workbench.selection.SelectionManager;
import org.apache.taverna.workbench.ui.workflowview.WorkflowView;
import org.apache.taverna.workflowmodel.Dataflow;
-
-import org.apache.log4j.Logger;
-
+import static org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolServiceDescription.TOOL_ACTIVITY_URI;
/**
* An action to add an external tool + a wrapping processor to the workflow.
*
@@ -43,7 +42,7 @@
*/
@SuppressWarnings("serial")
public class AddExternalToolContextualMenuAction extends AbstractContextualMenuAction {
-
+
private static final String ADD_EXTERNAL_TOOL = "Tool";
private static final URI insertSection = URI
@@ -59,6 +58,8 @@
private ActivityIconManager activityIconManager;
+ private ServiceRegistry serviceRegistry;
+
public AddExternalToolContextualMenuAction() {
super(insertSection, 900);
}
@@ -75,15 +76,17 @@
}
protected class AddExternalToolAction extends AbstractAction {
- AddExternalToolAction() {
- super(ADD_EXTERNAL_TOOL, activityIconManager.iconForActivity(
- new ExternalToolActivity()));
+
+
+ AddExternalToolAction() {
+ super(ADD_EXTERNAL_TOOL,
+ activityIconManager.iconForActivity(TOOL_ACTIVITY_URI));
}
public void actionPerformed(ActionEvent e) {
WorkflowView.importServiceDescription(
ExternalToolTemplateServiceDescription.getServiceDescription(), false,
- editManager, menuManager, selectionManager);
+ editManager, menuManager, selectionManager, getServiceRegistry());
}
}
@@ -103,4 +106,12 @@
this.activityIconManager = activityIconManager;
}
+ public ServiceRegistry getServiceRegistry() {
+ return serviceRegistry;
+ }
+
+ public void setServiceRegistry(ServiceRegistry serviceRegistry) {
+ this.serviceRegistry = serviceRegistry;
+ }
+
}
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/menu/AddExternalToolMenuAction.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/menu/AddExternalToolMenuAction.java
index 0b73a84..f0b9f5c 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/menu/AddExternalToolMenuAction.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/menu/AddExternalToolMenuAction.java
@@ -21,11 +21,13 @@
import java.awt.event.KeyEvent;
import java.net.URI;
+import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.KeyStroke;
-import org.apache.taverna.activities.externaltool.ExternalToolActivity;
-import org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolTemplateServiceDescription;
+import org.apache.log4j.Logger;
+import org.apache.taverna.servicedescriptions.ServiceDescriptionRegistry;
+import org.apache.taverna.services.ServiceRegistry;
import org.apache.taverna.ui.menu.AbstractMenuAction;
import org.apache.taverna.ui.menu.DesignOnlyAction;
import org.apache.taverna.ui.menu.MenuManager;
@@ -34,9 +36,7 @@
import org.apache.taverna.workbench.selection.SelectionManager;
import org.apache.taverna.workbench.ui.workflowview.WorkflowView;
import org.apache.taverna.workbench.views.graph.menu.InsertMenu;
-
-import org.apache.log4j.Logger;
-
+import static org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolServiceDescription.TOOL_ACTIVITY_URI;
/**
* An action to add a externaltool activity + a wrapping processor to the workflow.
*
@@ -46,7 +46,7 @@
*/
@SuppressWarnings("serial")
public class AddExternalToolMenuAction extends AbstractMenuAction {
-
+
private static final String ADD_EXTERNAL_TOOL = "Tool";
private static final URI ADD_EXTERNAL_TOOL_URI = URI
@@ -58,6 +58,8 @@
private EditManager editManager;
private MenuManager menuManager;
private SelectionManager selectionManager;
+ private ServiceDescriptionRegistry serviceDescriptionRegistry;
+ private ServiceRegistry serviceRegistry;
private ActivityIconManager activityIconManager;
@@ -71,11 +73,13 @@
return new AddExternalToolAction();
}
- protected class AddExternalToolAction extends DesignOnlyAction {
+ protected class AddExternalToolAction extends AbstractAction implements DesignOnlyAction {
+
+
AddExternalToolAction () {
super ();
putValue(SMALL_ICON, activityIconManager.iconForActivity(
- new ExternalToolActivity()));
+ TOOL_ACTIVITY_URI));
putValue(NAME, ADD_EXTERNAL_TOOL);
putValue(SHORT_DESCRIPTION, "Tool");
putValue(Action.ACCELERATOR_KEY,
@@ -83,8 +87,11 @@
}
public void actionPerformed(ActionEvent e) {
- WorkflowView.importServiceDescription(ExternalToolTemplateServiceDescription.getServiceDescription(),
- false, editManager, menuManager, selectionManager);
+
+ getServiceDescriptionRegistry().getServiceDescription(TOOL_ACTIVITY_URI);
+ WorkflowView.importServiceDescription(getServiceDescriptionRegistry()
+ .getServiceDescription(TOOL_ACTIVITY_URI), false,
+ editManager, menuManager, selectionManager, getServiceRegistry());
}
}
@@ -104,4 +111,20 @@
this.activityIconManager = activityIconManager;
}
+ public ServiceDescriptionRegistry getServiceDescriptionRegistry() {
+ return serviceDescriptionRegistry;
+ }
+
+ public void setServiceDescriptionRegistry(ServiceDescriptionRegistry serviceDescriptionRegistry) {
+ this.serviceDescriptionRegistry = serviceDescriptionRegistry;
+ }
+
+ public ServiceRegistry getServiceRegistry() {
+ return serviceRegistry;
+ }
+
+ public void setServiceRegistry(ServiceRegistry serviceRegistry) {
+ this.serviceRegistry = serviceRegistry;
+ }
+
}
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/menu/ConfigureExternalToolMenuAction.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/menu/ConfigureExternalToolMenuAction.java
index 963322f..868f638 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/menu/ConfigureExternalToolMenuAction.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/menu/ConfigureExternalToolMenuAction.java
@@ -17,10 +17,13 @@
* limitations under the License.
*/
+import java.net.URI;
+
import javax.swing.Action;
import org.apache.taverna.activities.externaltool.ExternalToolActivity;
import org.apache.taverna.activities.externaltool.actions.ExternalToolActivityConfigureAction;
+import org.apache.taverna.servicedescriptions.ServiceDescriptionRegistry;
import org.apache.taverna.workbench.activityicons.ActivityIconManager;
import org.apache.taverna.workbench.activitytools.AbstractConfigureActivityMenuAction;
import org.apache.taverna.workbench.edits.EditManager;
@@ -32,20 +35,22 @@
* @author Hajo Nils Krabbenhoeft
*/
public class ConfigureExternalToolMenuAction extends
- AbstractConfigureActivityMenuAction<ExternalToolActivity> {
+ AbstractConfigureActivityMenuAction {
private EditManager editManager;
private FileManager fileManager;
private ActivityIconManager activityIconManager;
-
+ private ServiceDescriptionRegistry serviceDescriptionRegistry;
+ public static final URI TOOL_ACTIVITY_URI = URI.create("http://ns.taverna.org.uk/2010/activity/tool");
+
public ConfigureExternalToolMenuAction() {
- super(ExternalToolActivity.class);
+ super(TOOL_ACTIVITY_URI);
}
@Override
protected Action createAction() {
ExternalToolActivityConfigureAction configAction = new ExternalToolActivityConfigureAction(
- findActivity(), getParentFrame(), editManager, fileManager, activityIconManager);
+ findActivity(), getParentFrame(), editManager, fileManager, activityIconManager, serviceDescriptionRegistry);
addMenuDots(configAction);
return configAction;
}
@@ -62,4 +67,8 @@
this.activityIconManager = activityIconManager;
}
+ public void setServiceDescriptionRegistry(ServiceDescriptionRegistry serviceDescriptionRegistry) {
+ this.serviceDescriptionRegistry = serviceDescriptionRegistry;
+ }
+
}
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/servicedescriptions/ExternalToolActivityIcon.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/servicedescriptions/ExternalToolActivityIcon.java
index 8b8b5e6..d5a706f 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/servicedescriptions/ExternalToolActivityIcon.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/servicedescriptions/ExternalToolActivityIcon.java
@@ -18,6 +18,7 @@
*/
import java.awt.Color;
+import java.net.URI;
import javax.swing.Icon;
import javax.swing.ImageIcon;
@@ -26,6 +27,7 @@
import org.apache.taverna.workbench.activityicons.ActivityIconSPI;
import org.apache.taverna.workbench.configuration.colour.ColourManager;
import org.apache.taverna.workflowmodel.processor.activity.Activity;
+import static org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolServiceDescription.TOOL_ACTIVITY_URI;
/**
* This class provides an icon for the use case activity.
@@ -33,7 +35,7 @@
* @author Hajo Nils Krabbenhoeft
*/
public class ExternalToolActivityIcon implements ActivityIconSPI {
-
+
private static final String PROCESSOR_COLOUR_STRING = "#F28C55";
private static Icon icon;
@@ -45,10 +47,6 @@
return NO_ICON;
}
- public Icon getIcon(Activity<?> activity) {
- return getExternalToolIcon();
- }
-
public static Icon getExternalToolIcon() {
if (icon == null) {
icon = new ImageIcon(ExternalToolActivityIcon.class.getResource("/externaltool.png"));
@@ -66,4 +64,17 @@
Color.decode(PROCESSOR_COLOUR_STRING));
}
+ @Override
+ public int canProvideIconScore(URI uri) {
+ if (TOOL_ACTIVITY_URI.equals(uri)) {
+ return DEFAULT_ICON + 1;
+ }
+ return NO_ICON;
+ }
+
+ @Override
+ public Icon getIcon(URI uri) {
+ return getExternalToolIcon();
+ }
+
}
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/servicedescriptions/ExternalToolServiceDescription.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/servicedescriptions/ExternalToolServiceDescription.java
index fb793f6..6878c94 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/servicedescriptions/ExternalToolServiceDescription.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/servicedescriptions/ExternalToolServiceDescription.java
@@ -18,6 +18,7 @@
*/
import java.net.MalformedURLException;
+import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
@@ -35,6 +36,7 @@
import org.apache.taverna.servicedescriptions.ServiceDescription;
import org.apache.taverna.workflowmodel.processor.activity.Activity;
import org.apache.taverna.activities.externaltool.desc.ToolDescription;
+import static org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolServiceDescription.TOOL_ACTIVITY_URI;
/**
* ExternalToolServiceDescription stores the repository URL and the use case id so
@@ -42,13 +44,13 @@
*
* @author Hajo Nils Krabbenhoeft
*/
-public class ExternalToolServiceDescription extends ServiceDescription<ExternalToolActivityConfigurationBean> {
-
+public class ExternalToolServiceDescription extends ServiceDescription {
+
private static Logger logger = Logger
.getLogger(ExternalToolServiceDescription.class);
- private static InvocationGroupManager manager = InvocationGroupManagerImpl.getInstance();
+ private InvocationGroupManager invocationGroupManager;
private String repositoryUrl;
private String externaltoolid;
@@ -95,7 +97,7 @@
bean.setRepositoryUrl(repositoryUrl);
bean.setExternaltoolid(externaltoolid);
bean.setToolDescription(toolDescription);
- bean.setMechanism(manager.getDefaultMechanism());
+ bean.setMechanism(getInvocationGroupManager().getDefaultMechanism());
return bean;
}
@@ -140,4 +142,17 @@
this.toolDescription = tooldesc;
}
+ @Override
+ public URI getActivityType() {
+ return TOOL_ACTIVITY_URI;
+ }
+
+ public InvocationGroupManager getInvocationGroupManager() {
+ return invocationGroupManager;
+ }
+
+ public void setInvocationGroupManager(InvocationGroupManager invocationGroupManager) {
+ this.invocationGroupManager = invocationGroupManager;
+ }
+
}
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/servicedescriptions/ExternalToolTemplateServiceDescription.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/servicedescriptions/ExternalToolTemplateServiceDescription.java
index de3bcee..6c70f20 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/servicedescriptions/ExternalToolTemplateServiceDescription.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/servicedescriptions/ExternalToolTemplateServiceDescription.java
@@ -32,14 +32,16 @@
import org.apache.taverna.activities.externaltool.manager.impl.InvocationGroupManagerImpl;
import org.apache.taverna.servicedescriptions.AbstractTemplateService;
import org.apache.taverna.servicedescriptions.ServiceDescription;
+import org.apache.taverna.servicedescriptions.ServiceDescriptionProvider;
import org.apache.taverna.workflowmodel.processor.activity.Activity;
+import static org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolServiceDescription.TOOL_ACTIVITY_URI;
/**
* @author alanrw
*
*/
public class ExternalToolTemplateServiceDescription extends
- AbstractTemplateService<ExternalToolActivityConfigurationBean> {
+ AbstractTemplateService {
private static final URI providerId = URI
.create("http://taverna.sf.net/2010/service-provider/external-tool");
@@ -90,4 +92,9 @@
return EXTERNAL_TOOL;
}
+ @Override
+ public ServiceDescriptionProvider newInstance() {
+ return new ExternalToolTemplateServiceDescription();
+ }
+
}
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/ExternalToolConfigView.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/ExternalToolConfigView.java
index 2660237..df55a6c 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/ExternalToolConfigView.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/ExternalToolConfigView.java
@@ -51,6 +51,7 @@
import org.apache.taverna.lang.ui.KeywordDocument;
import org.apache.taverna.lang.ui.LinePainter;
import org.apache.taverna.lang.ui.NoWrapEditorKit;
+import org.apache.taverna.scufl2.api.activity.Activity;
import org.apache.taverna.workbench.ui.views.contextualviews.activity.ActivityConfigurationPanel;
import org.apache.log4j.Logger;
@@ -76,7 +77,7 @@
@SuppressWarnings("serial")
public class ExternalToolConfigView
extends
- ActivityConfigurationPanel<ExternalToolActivity, ExternalToolActivityConfigurationBean> {
+ ActivityConfigurationPanel {
private static final Color LINE_COLOR = new Color(225,225,225);
@@ -146,10 +147,10 @@
* {@link ExternalToolActivityConfigurationBean}, sets the layout and calls
* {@link #initialise()} to get the view going
*
- * @param activity
+ * @param activity2
* the {@link ExternalToolActivity} that the view is over
*/
- public ExternalToolConfigView(ExternalToolActivity activity) {
+ public ExternalToolConfigView(Activity activity) {
this.activity = activity;
ExternalToolActivityHealthChecker.updateLocation(activity.getConfiguration());
configuration = (ExternalToolActivityConfigurationBean) cloneBean(activity
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/InvocationPanel.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/InvocationPanel.java
index 3edd385..6f81348 100644
--- a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/InvocationPanel.java
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/InvocationPanel.java
@@ -41,11 +41,13 @@
import javax.swing.SwingUtilities;
import javax.swing.border.EmptyBorder;
+import org.apache.log4j.Logger;
import org.apache.taverna.activities.externaltool.ExternalToolActivityConfigurationBean;
import org.apache.taverna.activities.externaltool.ExternalToolActivityHealthChecker;
import org.apache.taverna.activities.externaltool.configuration.ToolInvocationConfiguration;
import org.apache.taverna.activities.externaltool.manager.InvocationGroup;
import org.apache.taverna.activities.externaltool.manager.InvocationGroupAddedEvent;
+import org.apache.taverna.activities.externaltool.manager.InvocationGroupManager;
import org.apache.taverna.activities.externaltool.manager.InvocationGroupRemovedEvent;
import org.apache.taverna.activities.externaltool.manager.InvocationManagerEvent;
import org.apache.taverna.activities.externaltool.manager.InvocationMechanism;
@@ -53,12 +55,11 @@
import org.apache.taverna.activities.externaltool.manager.InvocationMechanismRemovedEvent;
import org.apache.taverna.activities.externaltool.manager.ToolInvocationConfigurationPanel;
import org.apache.taverna.activities.externaltool.manager.impl.InvocationGroupManagerImpl;
+import org.apache.taverna.configuration.ConfigurationManager;
import org.apache.taverna.lang.observer.Observable;
import org.apache.taverna.lang.observer.Observer;
import org.apache.taverna.lang.ui.DeselectingButton;
-//import net.sf.taverna.t2.workbench.ui.impl.configuration.ui.T2ConfigurationFrame;
-
-import org.apache.log4j.Logger;
+import org.apache.taverna.workbench.configuration.workbench.ui.T2ConfigurationFrame;
/**
* @author alanrw
@@ -73,7 +74,7 @@
private DefaultComboBoxModel mechanismSelectionModel = new DefaultComboBoxModel();
private DefaultComboBoxModel groupSelectionModel = new DefaultComboBoxModel();
- private static InvocationGroupManagerImpl manager = InvocationGroupManagerImpl.getInstance();
+ private InvocationGroupManager manager;
private static Logger logger = Logger
.getLogger(InvocationPanel.class);
@@ -84,13 +85,18 @@
private JButton manageInvocation;
private ButtonGroup mechanismOrGroup;
private ExternalToolActivityConfigurationBean configuration;
+ private T2ConfigurationFrame t2ConfigurationFrame;
+
private ActionListener radioChangeListener;
boolean unmanagedShown = false;
+ protected ConfigurationManager configManager;
- public InvocationPanel(ExternalToolActivityConfigurationBean configuration) {
+ public InvocationPanel(ExternalToolActivityConfigurationBean configuration, InvocationGroupManager manager, T2ConfigurationFrame t2ConfigurationFrame) {
super();
+ this.manager = manager;
+ this.t2ConfigurationFrame = t2ConfigurationFrame;
manager.addObserver(this);
mechanismSelection = new JComboBox();
@@ -137,7 +143,7 @@
private void populateMechanismList() {
InvocationMechanism currentSelection = (InvocationMechanism) mechanismSelection.getSelectedItem();
- InvocationMechanism[] mechanisms = InvocationGroupManagerImpl.getInstance()
+ InvocationMechanism[] mechanisms = manager
.getMechanisms().toArray(new InvocationMechanism[] {});
Arrays.sort(mechanisms, new Comparator<InvocationMechanism>() {
@@ -160,7 +166,7 @@
private void populateGroupList() {
InvocationGroup currentSelection = (InvocationGroup) groupSelection.getSelectedItem();
- InvocationGroup[] groups = InvocationGroupManagerImpl.getInstance()
+ InvocationGroup[] groups = manager
.getInvocationGroups().toArray(new InvocationGroup[] {});
Arrays.sort(groups, new Comparator<InvocationGroup>() {
@@ -224,7 +230,8 @@
private boolean isUnmanaged(
ExternalToolActivityConfigurationBean configuration2) {
- return (!ExternalToolActivityHealthChecker.updateLocation(configuration2));
+ ExternalToolActivityHealthChecker healthChecker = new ExternalToolActivityHealthChecker();
+ return (!healthChecker.updateLocation(configuration2));
}
private void initializeSelectability() {
@@ -343,8 +350,8 @@
new AbstractAction() {
@Override
- public void actionPerformed(ActionEvent e) {
- T2ConfigurationFrame.showConfiguration(ToolInvocationConfiguration.getInstance().getDisplayName());
+ public void actionPerformed(ActionEvent e) {
+ t2ConfigurationFrame.showConfiguration(new ToolInvocationConfiguration(configManager).getDisplayName());
}});
buttonPanel.add(manageInvocation);
return buttonPanel;
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/spring/external-tool-activity-ui-context-osgi.xml b/taverna-external-tool-activity-ui/src/main/resources/META-INF/spring/external-tool-activity-ui-context-osgi.xml
index ebf5161..135dd4c 100644
--- a/taverna-external-tool-activity-ui/src/main/resources/META-INF/spring/external-tool-activity-ui-context-osgi.xml
+++ b/taverna-external-tool-activity-ui/src/main/resources/META-INF/spring/external-tool-activity-ui-context-osgi.xml
@@ -53,5 +53,7 @@
<reference id="selectionManager" interface="org.apache.taverna.workbench.selection.SelectionManager" />
<reference id="activityIconManager" interface="org.apache.taverna.workbench.activityicons.ActivityIconManager" />
<reference id="colourManager" interface="org.apache.taverna.workbench.configuration.colour.ColourManager" />
+ <reference id="configurationManager" interface="org.apache.taverna.configuration.ConfigurationManager" />
+ <reference id="invocationGroupManager" interface="org.apache.taverna.activities.externaltool.manager.InvocationGroupManager" />
</beans:beans>
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/spring/external-tool-activity-ui-context.xml b/taverna-external-tool-activity-ui/src/main/resources/META-INF/spring/external-tool-activity-ui-context.xml
index 5f7bc95..e2d70a6 100644
--- a/taverna-external-tool-activity-ui/src/main/resources/META-INF/spring/external-tool-activity-ui-context.xml
+++ b/taverna-external-tool-activity-ui/src/main/resources/META-INF/spring/external-tool-activity-ui-context.xml
@@ -24,9 +24,13 @@
<bean id="ToolInvocationConfigurationUIFactory" class="org.apache.taverna.activities.externaltool.manager.ToolInvocationConfigurationUIFactory">
<property name="mechanismCreators" ref="mechanismCreators" />
<property name="invocationMechanismEditors" ref="invocationMechanismEditors" />
+ <property name="configurationManager" ref="configurationManager" />
+ <property name="invocationGroupManager" ref="invocationGroupManager" />
</bean>
- <bean id="InvocationGroupManagerStartupHook" class="org.apache.taverna.activities.externaltool.manager.InvocationGroupManagerStartupHook" />
+ <bean id="InvocationGroupManagerStartupHook" class="org.apache.taverna.activities.externaltool.manager.InvocationGroupManagerStartupHook">
+ <constructor-arg name="manager" ref="InvocationGroupManager" />
+ </bean>
<bean id="ExternalToolActivityIcon" class="org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolActivityIcon">
<property name="colourManager" ref="colourManager" />
@@ -56,7 +60,12 @@
<property name="activityIconManager" ref="activityIconManager" />
</bean>
- <bean id="InvocationGroupManagerShutdownHook" class="org.apache.taverna.activities.externaltool.manager.InvocationGroupManagerShutdownHook" />
+ <bean id="InvocationGroupManagerShutdownHook" class="org.apache.taverna.activities.externaltool.manager.InvocationGroupManagerShutdownHook">
+ <constructor-arg name="manager" ref="InvocationGroupManager" />
+ </bean>
+
+
+
<bean id="ExternalToolActivityViewFactory" class="org.apache.taverna.activities.externaltool.views.ExternalToolActivityViewFactory">
<property name="editManager" ref="editManager" />