You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by re...@apache.org on 2015/03/27 17:22:30 UTC
[17/23] incubator-taverna-workbench-common-activities git commit:
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/InvocationPanel.java
----------------------------------------------------------------------
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
new file mode 100644
index 0000000..217d2e3
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/InvocationPanel.java
@@ -0,0 +1,394 @@
+/**
+ *
+ */
+package org.apache.taverna.activities.externaltool.views;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.FlowLayout;
+import java.awt.GridLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Arrays;
+import java.util.Comparator;
+
+import javax.swing.AbstractAction;
+import javax.swing.ButtonGroup;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+import javax.swing.JTextArea;
+import javax.swing.SwingUtilities;
+import javax.swing.border.EmptyBorder;
+
+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.InvocationGroupRemovedEvent;
+import org.apache.taverna.activities.externaltool.manager.InvocationManagerEvent;
+import org.apache.taverna.activities.externaltool.manager.InvocationMechanism;
+import org.apache.taverna.activities.externaltool.manager.InvocationMechanismAddedEvent;
+import org.apache.taverna.activities.externaltool.manager.InvocationMechanismRemovedEvent;
+import org.apache.taverna.activities.externaltool.manager.ToolInvocationConfigurationPanel;
+import net.sf.taverna.t2.activities.externaltool.manager.impl.InvocationGroupManagerImpl;
+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;
+
+/**
+ * @author alanrw
+ *
+ */
+public class InvocationPanel extends JPanel implements Observer<InvocationManagerEvent> {
+
+ private static final String LOCATION_DESCRIPTION = ToolInvocationConfigurationPanel.HEADER_TEXT;
+ private final JComboBox mechanismSelection;
+ private final JComboBox groupSelection;
+
+ private DefaultComboBoxModel mechanismSelectionModel = new DefaultComboBoxModel();
+ private DefaultComboBoxModel groupSelectionModel = new DefaultComboBoxModel();
+
+ private static InvocationGroupManagerImpl manager = InvocationGroupManagerImpl.getInstance();
+
+ private static Logger logger = Logger
+ .getLogger(InvocationPanel.class);
+
+ private JRadioButton unmanagedLocation;
+ private JRadioButton groupSelected;
+ private JRadioButton mechanismSelected;
+ private JButton manageInvocation;
+ private ButtonGroup mechanismOrGroup;
+ private ExternalToolActivityConfigurationBean configuration;
+
+ private ActionListener radioChangeListener;
+
+ boolean unmanagedShown = false;
+
+ public InvocationPanel(ExternalToolActivityConfigurationBean configuration) {
+ super();
+ manager.addObserver(this);
+
+ mechanismSelection = new JComboBox();
+ populateMechanismList();
+ mechanismSelection.setModel(mechanismSelectionModel);
+
+ groupSelection = new JComboBox();
+ populateGroupList();
+ groupSelection.setModel(groupSelectionModel);
+ populateInvocationPanel(configuration);
+
+ radioChangeListener = new AbstractAction() {
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ if (unmanagedShown && unmanagedLocation.isSelected()) {
+ setUnmanagedLocationSelectability(true);
+ setMechanismSelectability(false);
+ setGroupSelectability(false);
+ return;
+ }
+ if (mechanismSelected.isSelected()) {
+ if (unmanagedShown) {
+ setUnmanagedLocationSelectability(false);
+ }
+ setMechanismSelectability(true);
+ setGroupSelectability(false);
+ return;
+ }
+ if (unmanagedShown) {
+ setUnmanagedLocationSelectability(false);
+ }
+ setMechanismSelectability(false);
+ setGroupSelectability(true);
+ return; }
+
+ };
+ if (unmanagedShown) {
+ unmanagedLocation.addActionListener(radioChangeListener);
+ }
+ groupSelected.addActionListener(radioChangeListener);
+ mechanismSelected.addActionListener(radioChangeListener);
+ }
+
+ private void populateMechanismList() {
+ InvocationMechanism currentSelection = (InvocationMechanism) mechanismSelection.getSelectedItem();
+ InvocationMechanism[] mechanisms = InvocationGroupManagerImpl.getInstance()
+ .getMechanisms().toArray(new InvocationMechanism[] {});
+ Arrays.sort(mechanisms, new Comparator<InvocationMechanism>() {
+
+ @Override
+ public int compare(InvocationMechanism arg0, InvocationMechanism arg1) {
+ return arg0.getName().compareTo(
+ arg1.getName());
+ }
+ });
+ mechanismSelectionModel.removeAllElements();
+ for (InvocationMechanism mechanism : mechanisms) {
+ mechanismSelectionModel.addElement(mechanism);
+ logger.info("Added mechanism " + mechanism.hashCode());
+ }
+ if (currentSelection != null) {
+ mechanismSelection.setSelectedItem(currentSelection);
+ }
+
+ }
+
+ private void populateGroupList() {
+ InvocationGroup currentSelection = (InvocationGroup) groupSelection.getSelectedItem();
+ InvocationGroup[] groups = InvocationGroupManagerImpl.getInstance()
+ .getInvocationGroups().toArray(new InvocationGroup[] {});
+ Arrays.sort(groups, new Comparator<InvocationGroup>() {
+
+ @Override
+ public int compare(InvocationGroup arg0, InvocationGroup arg1) {
+ return arg0.getName().compareTo(
+ arg1.getName());
+ }
+ });
+ groupSelectionModel.removeAllElements();
+ for (InvocationGroup group : groups) {
+ groupSelectionModel.addElement(group);
+ logger.info("Added group " + group.hashCode());
+ }
+ if (currentSelection != null) {
+ groupSelection.setSelectedItem(currentSelection);
+ }
+
+ }
+
+
+ private void populateInvocationPanel(ExternalToolActivityConfigurationBean configuration) {
+ this.configuration = configuration;
+ this.removeAll();
+ this.setLayout(new BorderLayout());
+
+ JTextArea descriptionText = new JTextArea(
+ LOCATION_DESCRIPTION);
+ descriptionText.setEditable(false);
+ descriptionText.setFocusable(false);
+ descriptionText.setBorder(new EmptyBorder(5, 5, 10, 5));
+ descriptionText.setLineWrap(true);
+ descriptionText.setWrapStyleWord(true);
+ descriptionText.setRows(3);
+ this.add(descriptionText, BorderLayout.NORTH);
+
+ JPanel innerPanel = new JPanel(new BorderLayout());
+
+ mechanismOrGroup = new ButtonGroup();
+
+ JPanel subPanel = new JPanel(new GridLayout(4,1));
+
+ if (isUnmanaged(configuration)) {
+ createUnmanagedLocation(subPanel);
+ unmanagedShown = true;
+ }
+
+ subPanel.add(createMechanismPanel());
+
+ subPanel.add(createGroupPanel());
+
+ subPanel.add(createButtonPanel());
+
+ innerPanel.add(subPanel, BorderLayout.NORTH);
+ innerPanel.add(new JPanel(), BorderLayout.CENTER);
+
+ initializeSelectability();
+ this.add(innerPanel, BorderLayout.CENTER);
+ this.repaint();
+ }
+
+ private boolean isUnmanaged(
+ ExternalToolActivityConfigurationBean configuration2) {
+ return (!ExternalToolActivityHealthChecker.updateLocation(configuration2));
+ }
+
+ private void initializeSelectability() {
+ if (isUnmanaged(configuration)) {
+ unmanagedLocation.setSelected(true);
+ setUnmanagedLocationSelectability(true);
+ setMechanismSelectability(false);
+ setGroupSelectability(false);
+ return;
+ }
+ if (configuration.getInvocationGroup() == null) {
+ mechanismSelected.setSelected(true);
+ if (unmanagedShown) {
+ setUnmanagedLocationSelectability(false);
+ }
+ setMechanismSelectability(true);
+ setGroupSelectability(false);
+ return;
+ }
+ groupSelected.setSelected(true);
+ if (unmanagedShown) {
+ setUnmanagedLocationSelectability(false);
+ }
+ setMechanismSelectability(false);
+ setGroupSelectability(true);
+ return;
+ }
+
+ private void setGroupSelectability(boolean b) {
+ groupSelection.setEnabled(b);
+ }
+
+ private void setMechanismSelectability(boolean b) {
+ mechanismSelection.setEnabled(b);
+ }
+
+ private void setUnmanagedLocationSelectability(boolean b) {
+ // Nothing to do
+ }
+
+ private JPanel createGroupPanel() {
+ JPanel groupPanel = new JPanel(new BorderLayout());
+
+ JPanel groupSelectionPanel = new JPanel(new GridLayout(1, 2));
+ groupSelected = new JRadioButton("Select a symbolic location");
+ mechanismOrGroup.add(groupSelected);
+ groupSelected.setBorder(new EmptyBorder(10, 10, 10, 10));
+ groupSelectionPanel.add(groupSelected);
+
+ groupSelection.setRenderer(new DefaultListCellRenderer() {
+
+ @Override
+ public Component getListCellRendererComponent(JList arg0,
+ Object arg1, int arg2, boolean arg3, boolean arg4) {
+ if (arg1 instanceof InvocationGroup) {
+ return super.getListCellRendererComponent(arg0,
+ ((InvocationGroup) arg1).getName(),
+ arg2, arg3, arg4);
+ }
+ return super.getListCellRendererComponent(arg0, arg1, arg2,
+ arg3, arg4);
+ }
+ });
+
+ groupSelectionPanel.add(groupSelection);
+
+ groupPanel.add(groupSelectionPanel, BorderLayout.CENTER);
+
+ if (configuration.getInvocationGroup() != null) {
+ groupSelection.setSelectedItem(configuration.getInvocationGroup());
+ } else {
+ groupSelection.setSelectedItem(manager.getDefaultGroup());
+ }
+
+ return groupPanel;
+ }
+
+ private JPanel createMechanismPanel() {
+ JPanel mechanismPanel = new JPanel(new BorderLayout());
+ JPanel mechanismSelectionPanel = new JPanel(new GridLayout(1, 3));
+ mechanismSelected = new JRadioButton("Select an explicit location");
+ mechanismOrGroup.add(mechanismSelected);
+ mechanismSelected.setBorder(new EmptyBorder(10, 10, 10, 10));
+ mechanismSelectionPanel.add(mechanismSelected);
+
+ mechanismSelection.setRenderer(new DefaultListCellRenderer() {
+
+ @Override
+ public Component getListCellRendererComponent(JList arg0,
+ Object arg1, int arg2, boolean arg3, boolean arg4) {
+ if (arg1 instanceof InvocationMechanism) {
+ return super.getListCellRendererComponent(arg0,
+ ((InvocationMechanism) arg1).getName(),
+ arg2, arg3, arg4);
+ }
+ return super.getListCellRendererComponent(arg0, arg1, arg2,
+ arg3, arg4);
+ }
+ });
+
+ mechanismSelectionPanel.add(mechanismSelection);
+
+ mechanismPanel.add(mechanismSelectionPanel, BorderLayout.CENTER);
+ if (configuration.getMechanism() != null) {
+ mechanismSelection.setSelectedItem(configuration.getMechanism());
+ } else {
+ mechanismSelection.setSelectedItem(manager.getDefaultMechanism());
+ }
+ return mechanismPanel;
+
+ }
+
+ private JPanel createButtonPanel() {
+ JPanel buttonPanel = new JPanel(new FlowLayout());
+ manageInvocation = new DeselectingButton("Manage locations",
+ new AbstractAction() {
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ T2ConfigurationFrame.showConfiguration(ToolInvocationConfiguration.getInstance().getDisplayName());
+ }});
+ buttonPanel.add(manageInvocation);
+ return buttonPanel;
+ }
+
+ private void createUnmanagedLocation(JPanel subPanel) {
+ unmanagedLocation = new JRadioButton("Continue using unmanaged location");
+ subPanel.add(unmanagedLocation);
+ mechanismOrGroup.add(unmanagedLocation);
+ }
+
+ private void handleInvocationManagerMessage(InvocationManagerEvent message) {
+ if (message instanceof InvocationMechanismRemovedEvent) {
+ InvocationMechanism removedMechanism = ((InvocationMechanismRemovedEvent) message).getRemovedMechanism();
+ InvocationMechanism replacementMechanism = ((InvocationMechanismRemovedEvent) message).getReplacementMechanism();
+ if (mechanismSelection.getSelectedItem().equals(removedMechanism)) {
+ mechanismSelection.setSelectedItem(replacementMechanism);
+ }
+ mechanismSelectionModel.removeElement(removedMechanism);
+ } else if (message instanceof InvocationMechanismAddedEvent) {
+ populateMechanismList();
+ }
+ else if (message instanceof InvocationGroupRemovedEvent) {
+ InvocationGroup removedGroup = ((InvocationGroupRemovedEvent) message).getRemovedGroup();
+ InvocationGroup replacementGroup = ((InvocationGroupRemovedEvent) message).getReplacementGroup();
+ if (groupSelection.getSelectedItem().equals(removedGroup)) {
+ groupSelection.setSelectedItem(replacementGroup);
+ }
+ groupSelectionModel.removeElement(removedGroup);
+ } else if (message instanceof InvocationGroupAddedEvent) {
+ populateGroupList();
+ }
+ }
+
+ @Override
+ public void notify(Observable<InvocationManagerEvent> sender,
+ final InvocationManagerEvent message) throws Exception {
+ if (SwingUtilities.isEventDispatchThread()) {
+ handleInvocationManagerMessage(message);
+ } else {
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ handleInvocationManagerMessage(message);
+ }
+ });
+ } }
+
+ public void fillInConfiguration(
+ ExternalToolActivityConfigurationBean newConfiguration) {
+ if (unmanagedShown && unmanagedLocation.isSelected()) {
+ return;
+ }
+ if (mechanismSelected.isSelected()) {
+ newConfiguration.setMechanism((InvocationMechanism) mechanismSelection.getSelectedItem());
+ return;
+ }
+ newConfiguration.setInvocationGroup((InvocationGroup) groupSelection.getSelectedItem());
+ }
+
+ public void stopObserving() {
+ manager.removeObserver(this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/LoadDescriptionAction.java
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/LoadDescriptionAction.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/LoadDescriptionAction.java
new file mode 100644
index 0000000..ca5efa8
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/LoadDescriptionAction.java
@@ -0,0 +1,89 @@
+/**
+ *
+ */
+package org.apache.taverna.activities.externaltool.views;
+
+import java.awt.event.ActionEvent;
+import java.io.IOException;
+import java.io.StringBufferInputStream;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import javax.swing.AbstractAction;
+import javax.swing.JOptionPane;
+
+import org.apache.taverna.lang.ui.FileTools;
+
+import org.jdom.Document;
+import org.jdom.JDOMException;
+
+import de.uni_luebeck.inb.knowarc.usecases.UseCaseDescription;
+import de.uni_luebeck.inb.knowarc.usecases.UseCaseEnumeration;
+
+final class LoadDescriptionAction extends AbstractAction {
+ /**
+ *
+ */
+ private final ScriptPanel scriptPanel;
+ private final ExternalToolConfigView view;
+
+ LoadDescriptionAction(ScriptPanel scriptPanel, ExternalToolConfigView view) {
+ this.scriptPanel = scriptPanel;
+ this.view = view;
+ }
+
+ public void actionPerformed(ActionEvent e) {
+ String descriptionsString = FileTools.readStringFromFile(
+ this.scriptPanel, "Load tool description",
+ ".xml");
+ if (descriptionsString != null) {
+ String errorMessage = null;
+ try {
+ Document doc = ScriptPanel.builder
+ .build(new StringReader(descriptionsString));
+ List<UseCaseDescription> descriptions = UseCaseEnumeration.readDescriptionsFromStream(new StringBufferInputStream(descriptionsString));
+ if (descriptions.isEmpty()) {
+ JOptionPane.showMessageDialog(this.scriptPanel, "No tool descriptions found", "File content", JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+
+ if (descriptions.size() == 1) {
+ view.getConfiguration().setUseCaseDescription(descriptions.get(0));
+ view.refreshConfiguration(view.getConfiguration());
+ return;
+ }
+
+ List<String> descriptionNames = new ArrayList();
+ for (UseCaseDescription ud : descriptions) {
+ descriptionNames.add(ud.getUsecaseid());
+ }
+ Collections.sort(descriptionNames);
+ String chosenName = (String) JOptionPane.showInputDialog(this.scriptPanel, "Please select a tool description",
+ "Select tool description", JOptionPane.PLAIN_MESSAGE, null, descriptionNames.toArray(), descriptionNames.get(0));
+ if (chosenName != null) {
+ for (UseCaseDescription ud : descriptions) {
+ if (ud.getUsecaseid().equals(chosenName)) {
+ view.getConfiguration().setUseCaseDescription(ud);
+ view.refreshConfiguration(view.getConfiguration());
+ return;
+
+ }
+ }
+ }
+ } catch (JDOMException e1) {
+ errorMessage = e1.getMessage();
+ } catch (IOException e1) {
+ errorMessage = e1.getMessage();
+ } catch (Exception e1) {
+ errorMessage = e1.getMessage();
+ }
+ if (errorMessage != null) {
+ JOptionPane.showMessageDialog(null, errorMessage,
+ "Tool description load error",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/SaveDescriptionAction.java
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/SaveDescriptionAction.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/SaveDescriptionAction.java
new file mode 100644
index 0000000..977b228
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/SaveDescriptionAction.java
@@ -0,0 +1,124 @@
+/**
+ *
+ */
+package org.apache.taverna.activities.externaltool.views;
+
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.prefs.Preferences;
+
+import javax.swing.AbstractAction;
+import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
+
+import org.apache.taverna.lang.ui.ExtensionFileFilter;
+import org.apache.taverna.lang.ui.FileTools;
+
+import org.apache.log4j.Logger;
+import org.jdom.Element;
+import org.jdom.output.Format;
+import org.jdom.output.XMLOutputter;
+
+import de.uni_luebeck.inb.knowarc.usecases.UseCaseDescription;
+import de.uni_luebeck.inb.knowarc.usecases.UseCaseEnumeration;
+
+final class SaveDescriptionAction extends AbstractAction {
+ /**
+ *
+ */
+ private final ScriptPanel scriptPanel;
+ private final ExternalToolConfigView view;
+
+ private static Logger logger = Logger.getLogger(SaveDescriptionAction.class);
+
+ private static XMLOutputter outputter = new XMLOutputter(Format
+ .getPrettyFormat());
+
+ SaveDescriptionAction(ScriptPanel scriptPanel, ExternalToolConfigView view) {
+ this.scriptPanel = scriptPanel;
+ this.view = view;
+ }
+
+ public void actionPerformed(ActionEvent e) {
+ UseCaseDescription currentDescription = view.makeConfiguration().getUseCaseDescription();
+ String usecaseid = currentDescription.getUsecaseid();
+ String description = currentDescription.getDescription();
+ String group = currentDescription.getGroup();
+ if ((usecaseid == null) || usecaseid.isEmpty() || (description == null) || description.isEmpty() || (group == null) || group.isEmpty()) {
+ JOptionPane.showMessageDialog(view, "Please fill in the tool annotation and\nthen re-export the description", "Missing annotation", JOptionPane.PLAIN_MESSAGE, null);
+ view.showAnnotationPanel();
+ } else {
+ saveStringToFile(this.scriptPanel,
+ "Save tool description", ".xml", currentDescription);
+ }
+ }
+
+ public static boolean saveStringToFile(Component parent, String dialogTitle, String extension, UseCaseDescription description) {
+ JFileChooser fileChooser = new JFileChooser();
+ fileChooser.setDialogTitle(dialogTitle);
+
+ fileChooser.resetChoosableFileFilters();
+ fileChooser.setAcceptAllFileFilterUsed(true);
+
+ fileChooser.setFileFilter(new ExtensionFileFilter(new String[] { extension }));
+
+ Preferences prefs = Preferences.userNodeForPackage(FileTools.class);
+ String curDir = prefs
+ .get("currentDir", System.getProperty("user.home"));
+ fileChooser.setCurrentDirectory(new File(curDir));
+
+ boolean tryAgain = true;
+ while (tryAgain) {
+ tryAgain = false;
+ int returnVal = fileChooser.showSaveDialog(parent);
+ if (returnVal == JFileChooser.APPROVE_OPTION) {
+ prefs.put("currentDir", fileChooser.getCurrentDirectory()
+ .toString());
+ File file = fileChooser.getSelectedFile();
+ if (!file.getName().contains(".")) {
+ String newName = file.getName() + extension;
+ file = new File(file.getParentFile(), newName);
+ }
+
+ // TODO: Open in separate thread to avoid hanging UI
+ try {
+ List<UseCaseDescription> currentDescriptions;
+ if (file.exists()) {
+ currentDescriptions = UseCaseEnumeration.readDescriptionsFromStream(new FileInputStream(file));
+ } else {
+ currentDescriptions = new ArrayList<UseCaseDescription>();
+ }
+ Element overallElement = new Element("usecases");
+ for (UseCaseDescription ud : currentDescriptions) {
+ if (!ud.getUsecaseid().equals(description.getUsecaseid())) {
+ overallElement.addContent(ud.writeToXMLElement());
+ }
+ }
+
+ overallElement.addContent(description.writeToXMLElement());
+ BufferedWriter out = new BufferedWriter(new FileWriter(file));
+ out.write(outputter.outputString(overallElement));
+ out.close();
+ logger.info("Saved content by overwriting " + file);
+ return true;
+ } catch (IOException ex) {
+ logger.warn("Could not save content to " + file, ex);
+ JOptionPane.showMessageDialog(parent,
+ "Could not save to " + file + ": \n\n"
+ + ex.getMessage(), "Warning",
+ JOptionPane.WARNING_MESSAGE);
+ return false;
+ }
+ }
+ }
+ return false;
+ }
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/ScriptPanel.java
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/ScriptPanel.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/ScriptPanel.java
new file mode 100644
index 0000000..c36ac8c
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/ScriptPanel.java
@@ -0,0 +1,148 @@
+/**
+ *
+ */
+package org.apache.taverna.activities.externaltool.views;
+
+import java.awt.BorderLayout;
+import java.awt.FlowLayout;
+import java.awt.GridLayout;
+import java.awt.event.ActionEvent;
+import java.io.IOException;
+
+import javax.swing.AbstractAction;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.border.EmptyBorder;
+import javax.swing.text.JTextComponent;
+
+import org.apache.taverna.activities.externaltool.ExternalToolActivityConfigurationBean;
+import org.apache.taverna.lang.ui.DeselectingButton;
+import org.apache.taverna.lang.ui.LineEnabledTextPanel;
+
+import org.jdom.input.SAXBuilder;
+
+import de.uni_luebeck.inb.knowarc.usecases.UseCaseDescription;
+import de.uni_luebeck.inb.knowarc.usecases.UseCaseEnumeration;
+
+
+/**
+ * @author alanrw
+ *
+ */
+public class ScriptPanel extends JPanel {
+
+ private static final String SCRIPT_DESCRIPTION = "Specify the commands that you want to run. You can use data arriving at an input port to replace parts of the command or to write to a file. You can also take data written to a file and send it to an output port.";
+ static SAXBuilder builder = new SAXBuilder();
+ private final JTextComponent scriptTextArea;
+
+ public ScriptPanel(final ExternalToolConfigView view, JTextComponent scriptTextArea, JCheckBox stdInCheckBox, JCheckBox stdOutCheckBox, JCheckBox stdErrCheckBox, JTextField returnCodesField) {
+ super();
+ this.setLayout(new BorderLayout());
+
+ JTextArea descriptionText = new JTextArea(
+ SCRIPT_DESCRIPTION);
+ descriptionText.setEditable(false);
+ descriptionText.setFocusable(false);
+ descriptionText.setBorder(new EmptyBorder(5, 5, 10, 5));
+ descriptionText.setLineWrap(true);
+ descriptionText.setWrapStyleWord(true);
+ this.add(descriptionText, BorderLayout.NORTH);
+
+ this.scriptTextArea = scriptTextArea;
+
+ this.add(new LineEnabledTextPanel(scriptTextArea),
+ BorderLayout.CENTER);
+
+
+ UseCaseDescription useCaseDescription = view.getConfiguration().getUseCaseDescription();
+ stdInCheckBox.setSelected(useCaseDescription.isIncludeStdIn());
+ stdOutCheckBox.setSelected(useCaseDescription.isIncludeStdOut());
+ stdErrCheckBox.setSelected(useCaseDescription.isIncludeStdErr());
+ returnCodesField.setText(useCaseDescription.getReturnCodesAsText());
+
+ JPanel codesPanel = new JPanel(new FlowLayout());
+ codesPanel.add(new JLabel("Valid return codes:"));
+ codesPanel.add(returnCodesField);
+
+ JPanel streamPanel = new JPanel(new FlowLayout());
+ streamPanel.add(stdInCheckBox);
+ streamPanel.add(stdOutCheckBox);
+ streamPanel.add(stdErrCheckBox);
+
+ JPanel buttonPanel = new JPanel(new FlowLayout());
+ if (view.isOriginallyFromRepository()) {
+ JButton revertButton = new DeselectingButton("Revert to original description",
+ new AbstractAction(){
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ ExternalToolActivityConfigurationBean bean = view.makeConfiguration();
+ String repositoryUrl = bean.getRepositoryUrl();
+ String id = bean.getExternaltoolid();
+ UseCaseDescription usecase = null;
+ try {
+ usecase = UseCaseEnumeration.readDescriptionFromUrl(
+ repositoryUrl, id);
+ }
+ catch (IOException ex) {
+ // Already logged
+ }
+ if (usecase != null) {
+ bean.setUseCaseDescription(usecase);
+ view.setEditable(false, bean);
+ } else {
+ JOptionPane.showMessageDialog(view, "Unable to find tool description " + id, "Missing tool description", JOptionPane.ERROR_MESSAGE);
+ }
+ }});
+ revertButton.setToolTipText("Revert to the tool description from the repository");
+ buttonPanel.add(revertButton);
+ }
+ JButton loadScriptButton = new DeselectingButton("Load description",
+ new LoadDescriptionAction(this, view));
+ loadScriptButton.setToolTipText("Load tool description from a file");
+
+ JButton saveScriptButton = new DeselectingButton("Export description",
+ new SaveDescriptionAction(this, view));
+ saveScriptButton.setToolTipText("Export the tool description to a file");
+
+ JButton clearScriptButton = new DeselectingButton("Clear script",
+ new AbstractAction() {
+
+ public void actionPerformed(ActionEvent e) {
+ clearScript();
+ }
+
+ });
+ clearScriptButton.setToolTipText("Clear the script from the edit area");
+
+ buttonPanel.add(loadScriptButton);
+ buttonPanel.add(saveScriptButton);
+ buttonPanel.add(clearScriptButton);
+
+ JPanel subPanel = new JPanel(new GridLayout(3,1));
+ subPanel.add(codesPanel);
+ subPanel.add(streamPanel);
+ subPanel.add(buttonPanel);
+
+ this.add(subPanel, BorderLayout.SOUTH);
+ }
+
+ /**
+ * Method for clearing the script
+ *
+ */
+ private void clearScript() {
+ if (JOptionPane.showConfirmDialog(this,
+ "Do you really want to clear the tool description?",
+ "Clearing the tool description", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
+ scriptTextArea.setText("");
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/StaticStringPanel.java
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/StaticStringPanel.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/StaticStringPanel.java
new file mode 100644
index 0000000..3a1dc64
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/StaticStringPanel.java
@@ -0,0 +1,104 @@
+/**
+ *
+ */
+package org.apache.taverna.activities.externaltool.views;
+
+import java.awt.BorderLayout;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.util.List;
+
+import javax.swing.AbstractAction;
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.border.EmptyBorder;
+
+import org.apache.taverna.activities.externaltool.utils.Tools;
+import org.apache.taverna.lang.ui.DeselectingButton;
+import org.apache.taverna.lang.ui.ReadOnlyTextArea;
+
+/**
+ * @author alanrw
+ *
+ */
+public class StaticStringPanel extends JPanel {
+
+ private static final String STATIC_STRING_DESCRIPTION = "A fixed string can be written to the specified file.";
+ private final List<ExternalToolStaticStringViewer> staticStringViewList;
+
+ int staticGridy = 1;
+
+ private static String[] elementLabels = new String[] {"String to copy", "To file"};
+
+ public StaticStringPanel(final List<ExternalToolStaticStringViewer> staticStringViewList) {
+ super(new BorderLayout());
+ this.staticStringViewList = staticStringViewList;
+ final JPanel staticEditPanel = new JPanel(new GridBagLayout());
+
+ final GridBagConstraints staticConstraint = new GridBagConstraints();
+ staticConstraint.insets = new Insets(5, 5, 5, 5);
+ staticConstraint.anchor = GridBagConstraints.FIRST_LINE_START;
+ staticConstraint.gridx = 0;
+ staticConstraint.gridy = 0;
+ staticConstraint.weightx = 0.1;
+ staticConstraint.fill = GridBagConstraints.BOTH;
+
+ staticConstraint.gridx = 0;
+ synchronized (staticStringViewList) {
+ for (ExternalToolStaticStringViewer staticView : staticStringViewList) {
+ addStaticStringViewer(StaticStringPanel.this, staticEditPanel,
+ staticView);
+ }
+ }
+
+ JTextArea descriptionText = new ReadOnlyTextArea(
+ STATIC_STRING_DESCRIPTION);
+ descriptionText.setEditable(false);
+ descriptionText.setFocusable(false);
+ descriptionText.setBorder(new EmptyBorder(5, 5, 10, 5));
+ this.add(descriptionText, BorderLayout.NORTH);
+
+ this.add(new JScrollPane(staticEditPanel),
+ BorderLayout.CENTER);
+ JButton addStaticStringButton = new DeselectingButton("Add string",
+ new AbstractAction() {
+ // FIXME refactor this into a method
+ public void actionPerformed(ActionEvent e) {
+
+ ExternalToolStaticStringViewer newViewer = new ExternalToolStaticStringViewer();
+ synchronized (staticStringViewList) {
+ staticStringViewList.add(newViewer);
+ addStaticStringViewer(StaticStringPanel.this, staticEditPanel,
+ newViewer);
+ staticEditPanel.revalidate();
+ staticEditPanel.repaint();
+ }
+ }
+
+ });
+
+ JPanel buttonPanel = new JPanel(new BorderLayout());
+
+ buttonPanel.add(addStaticStringButton, BorderLayout.EAST);
+
+ this.add(buttonPanel, BorderLayout.SOUTH);
+
+ }
+
+ private void addStaticStringViewer(final JPanel outerPanel,
+ final JPanel panel, ExternalToolStaticStringViewer viewer) {
+ Tools.addViewer(panel,
+ elementLabels,
+ new JComponent[] {new JScrollPane(viewer.getContentField()), viewer.getValueField()},
+ staticStringViewList,
+ viewer,
+ outerPanel);
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/StaticUrlPanel.java
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/StaticUrlPanel.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/StaticUrlPanel.java
new file mode 100644
index 0000000..4f1dbd6
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/StaticUrlPanel.java
@@ -0,0 +1,106 @@
+/**
+ *
+ */
+package org.apache.taverna.activities.externaltool.views;
+
+import java.awt.BorderLayout;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.util.List;
+
+import javax.swing.AbstractAction;
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.border.EmptyBorder;
+
+import org.apache.taverna.activities.externaltool.utils.Tools;
+import org.apache.taverna.lang.ui.DeselectingButton;
+import org.apache.taverna.lang.ui.ReadOnlyTextArea;
+
+/**
+ * @author alanrw
+ *
+ */
+public class StaticUrlPanel extends JPanel {
+
+ private static final String STATIC_URL_DESCRIPTION = "The data at a URL can be downloaded and stored in the specified file.";
+ private final List<ExternalToolStaticUrlViewer> staticUrlViewList;
+ private int staticGridy = 1;
+
+ private static String[] elementLabels = new String[] {"Copy from URL", "To file"};
+
+
+ public StaticUrlPanel(final List<ExternalToolStaticUrlViewer> staticUrlViewList) {
+
+ super(new BorderLayout());
+ this.staticUrlViewList = staticUrlViewList;
+ final JPanel staticEditPanel = new JPanel(new GridBagLayout());
+
+ final GridBagConstraints staticConstraint = new GridBagConstraints();
+ staticConstraint.insets = new Insets(5, 5, 5, 5);
+ staticConstraint.anchor = GridBagConstraints.FIRST_LINE_START;
+ staticConstraint.gridx = 0;
+ staticConstraint.gridy = 0;
+ staticConstraint.weightx = 0.1;
+ staticConstraint.fill = GridBagConstraints.BOTH;
+
+ staticConstraint.gridx = 0;
+ synchronized (staticUrlViewList) {
+ for (ExternalToolStaticUrlViewer staticView : staticUrlViewList) {
+ addStaticUrlViewer(this, staticEditPanel,
+ staticView);
+ }
+ }
+
+ this.add(new JScrollPane(staticEditPanel),
+ BorderLayout.CENTER);
+
+ JTextArea descriptionText = new ReadOnlyTextArea(
+ STATIC_URL_DESCRIPTION);
+ descriptionText.setEditable(false);
+ descriptionText.setFocusable(false);
+ descriptionText.setBorder(new EmptyBorder(5, 5, 10, 5));
+
+ this.add(descriptionText, BorderLayout.NORTH);
+
+ JButton addstaticPortButton = new DeselectingButton("Add URL",
+ new AbstractAction() {
+ // FIXME refactor this into a method
+ public void actionPerformed(ActionEvent e) {
+
+ ExternalToolStaticUrlViewer newViewer = new ExternalToolStaticUrlViewer();
+ synchronized (staticUrlViewList) {
+ staticUrlViewList.add(newViewer);
+ addStaticUrlViewer(StaticUrlPanel.this, staticEditPanel,
+ newViewer);
+ staticEditPanel.revalidate();
+ staticEditPanel.repaint();
+ }
+ }
+
+ });
+ JPanel buttonPanel = new JPanel(new BorderLayout());
+
+ buttonPanel.add(addstaticPortButton, BorderLayout.EAST);
+
+ this.add(buttonPanel, BorderLayout.SOUTH);
+
+ }
+
+ private void addStaticUrlViewer(final JPanel outerPanel,
+ final JPanel panel, ExternalToolStaticUrlViewer viewer) {
+ Tools.addViewer(panel,
+ elementLabels,
+ new JComponent[] {viewer.getContentField(), viewer.getValueField()},
+ staticUrlViewList,
+ viewer,
+ outerPanel);
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/StringReplacementPanel.java
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/StringReplacementPanel.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/StringReplacementPanel.java
new file mode 100644
index 0000000..45b1d7f
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/StringReplacementPanel.java
@@ -0,0 +1,130 @@
+/**
+ *
+ */
+package org.apache.taverna.activities.externaltool.views;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.util.List;
+
+import javax.swing.AbstractAction;
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.border.CompoundBorder;
+import javax.swing.border.EmptyBorder;
+
+import org.apache.taverna.activities.externaltool.utils.Tools;
+import org.apache.taverna.lang.ui.DeselectingButton;
+
+/**
+ * @author alanrw
+ *
+ */
+public class StringReplacementPanel extends JPanel {
+
+ private static final String STRING_REPLACEMENT_DESCRIPTION = "You can use a string replacement to " +
+ "feed data into the service via an input port and have that data replace part of the " +
+ "command.";
+ private final List<ExternalToolStringReplacementViewer> stringReplacementViewList;
+ private int stringReplacementGridy = 1;
+ private final ExternalToolConfigView view;
+
+ private static Insets insets = new Insets(1,5,1,5);
+
+ private static String[] elementLabels = new String[] {"Taverna port name", "Replace port name", "String to replace"};
+
+ private static CompoundBorder border = BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(5,5,5,5), BorderFactory.createLineBorder(Color.BLACK, 1));
+
+
+ public StringReplacementPanel(final ExternalToolConfigView view, final List<ExternalToolStringReplacementViewer> stringReplacementViewList) {
+ super(new BorderLayout());
+ this.view = view;
+ this.stringReplacementViewList = stringReplacementViewList;
+
+ final JPanel inputEditPanel = new JPanel(new GridBagLayout());
+
+ final GridBagConstraints inputConstraint = new GridBagConstraints();
+
+ inputConstraint.anchor = GridBagConstraints.FIRST_LINE_START;
+ inputConstraint.gridx = 0;
+ inputConstraint.gridy = 0;
+ inputConstraint.weightx = 0.1;
+ inputConstraint.fill = GridBagConstraints.BOTH;
+
+ inputConstraint.gridx = 0;
+ synchronized (stringReplacementViewList) {
+ for (ExternalToolStringReplacementViewer inputView : stringReplacementViewList) {
+ addStringReplacementViewer(this, inputEditPanel,
+ inputView, elementLabels);
+
+ }
+ }
+
+ JTextArea descriptionText = new JTextArea(
+ STRING_REPLACEMENT_DESCRIPTION);
+ descriptionText.setEditable(false);
+ descriptionText.setFocusable(false);
+ descriptionText.setBorder(new EmptyBorder(5, 5, 10, 5));
+ descriptionText.setLineWrap(true);
+ descriptionText.setWrapStyleWord(true);
+
+ this.add(descriptionText, BorderLayout.NORTH);
+ this.add(new JScrollPane(inputEditPanel),
+ BorderLayout.CENTER);
+ JButton addInputPortButton = new DeselectingButton("Add string replacement",
+ new AbstractAction() {
+
+ public void actionPerformed(ActionEvent e) {
+
+ int portNumber = 1;
+ String name2 = "in" + portNumber++;
+ boolean nameExists = true;
+ while (nameExists == true) {
+ nameExists = view.portNameExists(name2);
+ if (nameExists) {
+ name2 = "in" + portNumber++;
+ }
+ }
+
+ ExternalToolStringReplacementViewer newViewer = new ExternalToolStringReplacementViewer(
+ name2);
+ synchronized (stringReplacementViewList) {
+ stringReplacementViewList.add(newViewer);
+ addStringReplacementViewer(StringReplacementPanel.this, inputEditPanel,
+ newViewer, elementLabels);
+ inputEditPanel.revalidate();
+ inputEditPanel.repaint();
+ }
+
+ }
+
+ });
+
+ JPanel buttonPanel = new JPanel();
+ buttonPanel.setLayout(new BorderLayout());
+
+ buttonPanel.add(addInputPortButton, BorderLayout.EAST);
+
+ this.add(buttonPanel, BorderLayout.SOUTH);
+ }
+
+ private void addStringReplacementViewer(final JPanel outerPanel,
+ final JPanel innerPanel, final ExternalToolStringReplacementViewer viewer, String[] elementLabels) {
+ Tools.addViewer(innerPanel,
+ elementLabels,
+ new JComponent[] {viewer.getNameField(), viewer.getValueFromField(), viewer.getValueField()},
+ stringReplacementViewList,
+ viewer,
+ outerPanel);
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/ToolXMLPanel.java
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/ToolXMLPanel.java b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/ToolXMLPanel.java
new file mode 100644
index 0000000..f3e8b9b
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/views/ToolXMLPanel.java
@@ -0,0 +1,33 @@
+/**
+ *
+ */
+package org.apache.taverna.activities.externaltool.views;
+
+import java.awt.BorderLayout;
+
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+
+import org.apache.taverna.renderers.impl.XMLTree;
+
+import de.uni_luebeck.inb.knowarc.usecases.UseCaseDescription;
+
+/**
+ * @author alanrw
+ *
+ */
+public class ToolXMLPanel extends JPanel {
+
+ public ToolXMLPanel(UseCaseDescription useCaseDescription) {
+ super(new BorderLayout());
+ XMLTree xmlTree = new XMLTree(useCaseDescription.writeToXMLElement());
+ this.add(new JScrollPane(xmlTree), BorderLayout.CENTER);
+ }
+
+ public void regenerateTree(UseCaseDescription useCaseDescription) {
+ this.removeAll();
+ XMLTree xmlTree = new XMLTree(useCaseDescription.writeToXMLElement());
+ this.add(new JScrollPane(xmlTree), BorderLayout.CENTER);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanismEditor
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanismEditor b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanismEditor
deleted file mode 100644
index 9307977..0000000
--- a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanismEditor
+++ /dev/null
@@ -1,2 +0,0 @@
-net.sf.taverna.t2.activities.externaltool.manager.local.LocalInvocationMechanismEditor
-net.sf.taverna.t2.activities.externaltool.manager.ssh.SshInvocationMechanismEditor
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
deleted file mode 100644
index e94cf6e..0000000
--- a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
+++ /dev/null
@@ -1,2 +0,0 @@
-net.sf.taverna.t2.activities.externaltool.servicedescriptions.ExternalToolServiceProvider
-net.sf.taverna.t2.activities.externaltool.servicedescriptions.ExternalToolTemplateServiceDescription
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
deleted file mode 100644
index db316f2..0000000
--- a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
+++ /dev/null
@@ -1,4 +0,0 @@
-net.sf.taverna.t2.activities.externaltool.menu.ConfigureExternalToolMenuAction
-# net.sf.taverna.t2.activities.externaltool.menu.FeedbackMenuAction
-net.sf.taverna.t2.activities.externaltool.menu.AddExternalToolContextualMenuAction
-net.sf.taverna.t2.activities.externaltool.menu.AddExternalToolMenuAction
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ShutdownSPI
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ShutdownSPI b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ShutdownSPI
deleted file mode 100644
index e6686a0..0000000
--- a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ShutdownSPI
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.activities.externaltool.manager.InvocationGroupManagerShutdownHook
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.StartupSPI
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.StartupSPI b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.StartupSPI
deleted file mode 100644
index 0dd97e4..0000000
--- a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.StartupSPI
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.activities.externaltool.manager.InvocationGroupManagerStartupHook
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
deleted file mode 100644
index cdafd5d..0000000
--- a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.activities.externaltool.servicedescriptions.ExternalToolActivityIcon
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.configuration.ConfigurationUIFactory
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.configuration.ConfigurationUIFactory b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.configuration.ConfigurationUIFactory
deleted file mode 100644
index b3d1525..0000000
--- a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.configuration.ConfigurationUIFactory
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.activities.externaltool.manager.ToolInvocationConfigurationUIFactory
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
deleted file mode 100644
index ca0d30f..0000000
--- a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.activities.externaltool.views.ExternalToolActivityViewFactory
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.activities.externaltool.manager.InvocationMechanismEditor
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.activities.externaltool.manager.InvocationMechanismEditor b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.activities.externaltool.manager.InvocationMechanismEditor
new file mode 100644
index 0000000..c7e77f2
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.activities.externaltool.manager.InvocationMechanismEditor
@@ -0,0 +1,2 @@
+org.apache.taverna.activities.externaltool.manager.local.LocalInvocationMechanismEditor
+org.apache.taverna.activities.externaltool.manager.ssh.SshInvocationMechanismEditor
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.servicedescriptions.ServiceDescriptionProvider
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.servicedescriptions.ServiceDescriptionProvider b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.servicedescriptions.ServiceDescriptionProvider
new file mode 100644
index 0000000..85b2281
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.servicedescriptions.ServiceDescriptionProvider
@@ -0,0 +1,2 @@
+org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolServiceProvider
+org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolTemplateServiceDescription
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent
new file mode 100644
index 0000000..3ecf793
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent
@@ -0,0 +1,4 @@
+org.apache.taverna.activities.externaltool.menu.ConfigureExternalToolMenuAction
+# org.apache.taverna.activities.externaltool.menu.FeedbackMenuAction
+org.apache.taverna.activities.externaltool.menu.AddExternalToolContextualMenuAction
+org.apache.taverna.activities.externaltool.menu.AddExternalToolMenuAction
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ShutdownSPI
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ShutdownSPI b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ShutdownSPI
new file mode 100644
index 0000000..196d2af
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ShutdownSPI
@@ -0,0 +1 @@
+org.apache.taverna.activities.externaltool.manager.InvocationGroupManagerShutdownHook
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.StartupSPI
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.StartupSPI b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.StartupSPI
new file mode 100644
index 0000000..25ab1dd
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.StartupSPI
@@ -0,0 +1 @@
+org.apache.taverna.activities.externaltool.manager.InvocationGroupManagerStartupHook
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.activityicons.ActivityIconSPI
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.activityicons.ActivityIconSPI b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.activityicons.ActivityIconSPI
new file mode 100644
index 0000000..95db995
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.activityicons.ActivityIconSPI
@@ -0,0 +1 @@
+org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolActivityIcon
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.configuration.ConfigurationUIFactory
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.configuration.ConfigurationUIFactory b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.configuration.ConfigurationUIFactory
new file mode 100644
index 0000000..b5cec7c
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.configuration.ConfigurationUIFactory
@@ -0,0 +1 @@
+org.apache.taverna.activities.externaltool.manager.ToolInvocationConfigurationUIFactory
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory
----------------------------------------------------------------------
diff --git a/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory
new file mode 100644
index 0000000..30770cc
--- /dev/null
+++ b/taverna-external-tool-activity-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory
@@ -0,0 +1 @@
+org.apache.taverna.activities.externaltool.views.ExternalToolActivityViewFactory
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/spring/external-tool-activity-ui-context-osgi.xml
----------------------------------------------------------------------
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 3d7110c..996fbc9 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
@@ -8,32 +8,32 @@
<service ref="ToolInvocationConfigurationUIFactory" interface="uk.org.taverna.configuration.ConfigurationUIFactory" />
- <service ref="InvocationGroupManagerStartupHook" interface="net.sf.taverna.t2.workbench.StartupSPI" />
+ <service ref="InvocationGroupManagerStartupHook" interface="org.apache.taverna.workbench.StartupSPI" />
- <service ref="ExternalToolActivityIcon" interface="net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI" />
+ <service ref="ExternalToolActivityIcon" interface="org.apache.taverna.workbench.activityicons.ActivityIconSPI" />
- <service ref="LocalInvocationMechanismEditor" interface="net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanismEditor" />
- <service ref="SshInvocationMechanismEditor" interface="net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanismEditor" />
+ <service ref="LocalInvocationMechanismEditor" interface="org.apache.taverna.activities.externaltool.manager.InvocationMechanismEditor" />
+ <service ref="SshInvocationMechanismEditor" interface="org.apache.taverna.activities.externaltool.manager.InvocationMechanismEditor" />
- <service ref="ExternalToolServiceProvider" interface="net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider" />
- <service ref="ExternalToolTemplateServiceDescription" interface="net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider" />
+ <service ref="ExternalToolServiceProvider" interface="org.apache.taverna.servicedescriptions.ServiceDescriptionProvider" />
+ <service ref="ExternalToolTemplateServiceDescription" interface="org.apache.taverna.servicedescriptions.ServiceDescriptionProvider" />
<service ref="ConfigureExternalToolMenuAction" auto-export="interfaces" />
<service ref="AddExternalToolContextualMenuAction" auto-export="interfaces" />
<service ref="AddExternalToolMenuAction" auto-export="interfaces" />
- <service ref="InvocationGroupManagerShutdownHook" interface="net.sf.taverna.t2.workbench.ShutdownSPI" />
+ <service ref="InvocationGroupManagerShutdownHook" interface="org.apache.taverna.workbench.ShutdownSPI" />
- <service ref="ExternalToolActivityViewFactory" interface="net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory" />
+ <service ref="ExternalToolActivityViewFactory" interface="org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory" />
- <list id="mechanismCreators" interface="net.sf.taverna.t2.activities.externaltool.manager.MechanismCreator" cardinality="0..N" />
- <list id="invocationMechanismEditors" interface="net.sf.taverna.t2.activities.externaltool.manager.InvocationMechanismEditor" cardinality="0..N" />
+ <list id="mechanismCreators" interface="org.apache.taverna.activities.externaltool.manager.MechanismCreator" cardinality="0..N" />
+ <list id="invocationMechanismEditors" interface="org.apache.taverna.activities.externaltool.manager.InvocationMechanismEditor" cardinality="0..N" />
- <reference id="editManager" interface="net.sf.taverna.t2.workbench.edits.EditManager" />
- <reference id="fileManager" interface="net.sf.taverna.t2.workbench.file.FileManager" />
- <reference id="menuManager" interface="net.sf.taverna.t2.ui.menu.MenuManager" />
- <reference id="selectionManager" interface="net.sf.taverna.t2.workbench.selection.SelectionManager" />
- <reference id="activityIconManager" interface="net.sf.taverna.t2.workbench.activityicons.ActivityIconManager" />
- <reference id="colourManager" interface="net.sf.taverna.t2.workbench.configuration.colour.ColourManager" />
+ <reference id="editManager" interface="org.apache.taverna.workbench.edits.EditManager" />
+ <reference id="fileManager" interface="org.apache.taverna.workbench.file.FileManager" />
+ <reference id="menuManager" interface="org.apache.taverna.ui.menu.MenuManager" />
+ <reference id="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" />
</beans:beans>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-external-tool-activity-ui/src/main/resources/META-INF/spring/external-tool-activity-ui-context.xml
----------------------------------------------------------------------
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 7cf7f63..54f9cd7 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
@@ -3,44 +3,44 @@
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
- <bean id="ToolInvocationConfigurationUIFactory" class="net.sf.taverna.t2.activities.externaltool.manager.ToolInvocationConfigurationUIFactory">
+ <bean id="ToolInvocationConfigurationUIFactory" class="org.apache.taverna.activities.externaltool.manager.ToolInvocationConfigurationUIFactory">
<property name="mechanismCreators" ref="mechanismCreators" />
<property name="invocationMechanismEditors" ref="invocationMechanismEditors" />
</bean>
- <bean id="InvocationGroupManagerStartupHook" class="net.sf.taverna.t2.activities.externaltool.manager.InvocationGroupManagerStartupHook" />
+ <bean id="InvocationGroupManagerStartupHook" class="org.apache.taverna.activities.externaltool.manager.InvocationGroupManagerStartupHook" />
- <bean id="ExternalToolActivityIcon" class="net.sf.taverna.t2.activities.externaltool.servicedescriptions.ExternalToolActivityIcon">
+ <bean id="ExternalToolActivityIcon" class="org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolActivityIcon">
<property name="colourManager" ref="colourManager" />
</bean>
- <bean id="LocalInvocationMechanismEditor" class="net.sf.taverna.t2.activities.externaltool.manager.local.LocalInvocationMechanismEditor" />
- <bean id="SshInvocationMechanismEditor" class="net.sf.taverna.t2.activities.externaltool.manager.ssh.SshInvocationMechanismEditor" />
+ <bean id="LocalInvocationMechanismEditor" class="org.apache.taverna.activities.externaltool.manager.local.LocalInvocationMechanismEditor" />
+ <bean id="SshInvocationMechanismEditor" class="org.apache.taverna.activities.externaltool.manager.ssh.SshInvocationMechanismEditor" />
- <bean id="ExternalToolServiceProvider" class="net.sf.taverna.t2.activities.externaltool.servicedescriptions.ExternalToolServiceProvider" />
- <bean id="ExternalToolTemplateServiceDescription" class="net.sf.taverna.t2.activities.externaltool.servicedescriptions.ExternalToolTemplateServiceDescription" />
+ <bean id="ExternalToolServiceProvider" class="org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolServiceProvider" />
+ <bean id="ExternalToolTemplateServiceDescription" class="org.apache.taverna.activities.externaltool.servicedescriptions.ExternalToolTemplateServiceDescription" />
- <bean id="ConfigureExternalToolMenuAction" class="net.sf.taverna.t2.activities.externaltool.menu.ConfigureExternalToolMenuAction">
+ <bean id="ConfigureExternalToolMenuAction" class="org.apache.taverna.activities.externaltool.menu.ConfigureExternalToolMenuAction">
<property name="editManager" ref="editManager" />
<property name="fileManager" ref="fileManager" />
<property name="activityIconManager" ref="activityIconManager" />
</bean>
- <bean id="AddExternalToolContextualMenuAction" class="net.sf.taverna.t2.activities.externaltool.menu.AddExternalToolContextualMenuAction">
+ <bean id="AddExternalToolContextualMenuAction" class="org.apache.taverna.activities.externaltool.menu.AddExternalToolContextualMenuAction">
<property name="editManager" ref="editManager" />
<property name="menuManager" ref="menuManager" />
<property name="selectionManager" ref="selectionManager" />
<property name="activityIconManager" ref="activityIconManager" />
</bean>
- <bean id="AddExternalToolMenuAction" class="net.sf.taverna.t2.activities.externaltool.menu.AddExternalToolMenuAction">
+ <bean id="AddExternalToolMenuAction" class="org.apache.taverna.activities.externaltool.menu.AddExternalToolMenuAction">
<property name="editManager" ref="editManager" />
<property name="menuManager" ref="menuManager" />
<property name="selectionManager" ref="selectionManager" />
<property name="activityIconManager" ref="activityIconManager" />
</bean>
- <bean id="InvocationGroupManagerShutdownHook" class="net.sf.taverna.t2.activities.externaltool.manager.InvocationGroupManagerShutdownHook" />
+ <bean id="InvocationGroupManagerShutdownHook" class="org.apache.taverna.activities.externaltool.manager.InvocationGroupManagerShutdownHook" />
- <bean id="ExternalToolActivityViewFactory" class="net.sf.taverna.t2.activities.externaltool.views.ExternalToolActivityViewFactory">
+ <bean id="ExternalToolActivityViewFactory" class="org.apache.taverna.activities.externaltool.views.ExternalToolActivityViewFactory">
<property name="editManager" ref="editManager" />
<property name="fileManager" ref="fileManager" />
<property name="activityIconManager" ref="activityIconManager" />
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/actions/LocalworkerActivityConfigurationAction.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/actions/LocalworkerActivityConfigurationAction.java b/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/actions/LocalworkerActivityConfigurationAction.java
deleted file mode 100644
index 056e868..0000000
--- a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/actions/LocalworkerActivityConfigurationAction.java
+++ /dev/null
@@ -1,117 +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.activities.localworker.actions;
-
-import java.awt.Frame;
-import java.awt.event.ActionEvent;
-
-import javax.swing.Action;
-import javax.swing.JOptionPane;
-
-import net.sf.taverna.t2.activities.localworker.views.LocalworkerActivityConfigView;
-import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry;
-import net.sf.taverna.t2.workbench.activityicons.ActivityIconManager;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.ui.actions.activity.ActivityConfigurationAction;
-import net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ActivityConfigurationDialog;
-import uk.org.taverna.configuration.app.ApplicationConfiguration;
-import org.apache.taverna.scufl2.api.activity.Activity;
-import org.apache.taverna.scufl2.api.common.Scufl2Tools;
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-/**
- * The {@link LocalworkerActivity}s have pre-defined scripts, ports etc in a serialised form on
- * disk. So if the user wants to change them they have to do so at own risk.
- *
- * @author Ian Dunlop
- */
-@SuppressWarnings("serial")
-public class LocalworkerActivityConfigurationAction extends ActivityConfigurationAction {
-
- public static final String EDIT_LOCALWORKER_SCRIPT = "Edit beanshell script";
-
- private final EditManager editManager;
-
- private final FileManager fileManager;
-
- private final ApplicationConfiguration applicationConfiguration;
-
- private Scufl2Tools scufl2Tools = new Scufl2Tools();
-
- public LocalworkerActivityConfigurationAction(Activity activity, Frame owner,
- EditManager editManager, FileManager fileManager,
- ActivityIconManager activityIconManager,
- ServiceDescriptionRegistry serviceDescriptionRegistry,
- ApplicationConfiguration applicationConfiguration) {
- super(activity, activityIconManager, serviceDescriptionRegistry);
- this.editManager = editManager;
- this.fileManager = fileManager;
- this.applicationConfiguration = applicationConfiguration;
- putValue(Action.NAME, EDIT_LOCALWORKER_SCRIPT);
- }
-
- /**
- * If the localworker has not been changed it pops up a {@link JOptionPane} warning the user
- * that they change things at their own risk. Otherwise just show the config view
- */
- public void actionPerformed(ActionEvent e) {
- Object[] options = { "Continue", "Cancel" };
- Configuration configuration = scufl2Tools.configurationFor(activity, activity.getParent());
- JsonNode json = configuration.getJson();
- if (!json.get("isAltered").booleanValue()) {
- int n = JOptionPane
- .showOptionDialog(
- null,
- "Changing the properties of a Local Worker may affect its behaviour. Do you want to continue?",
- "WARNING", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE,
- null, // do not use a
- // custom Icon
- options, options[0]);
-
- if (n == 0) {
- // continue was clicked so prepare for config
- openDialog();
- } else {
- // do nothing
- }
- } else {
- openDialog();
- }
- }
-
- private void openDialog() {
- ActivityConfigurationDialog currentDialog = ActivityConfigurationAction
- .getDialog(getActivity());
- if (currentDialog != null) {
- currentDialog.toFront();
- return;
- }
- final LocalworkerActivityConfigView localworkerConfigView = new LocalworkerActivityConfigView(
- getActivity(), applicationConfiguration);
- final ActivityConfigurationDialog dialog = new ActivityConfigurationDialog(getActivity(),
- localworkerConfigView, editManager);
- ActivityConfigurationAction.setDialog(getActivity(), dialog, fileManager);
-
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/menu/ConfigureLocalworkerMenuAction.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/menu/ConfigureLocalworkerMenuAction.java b/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/menu/ConfigureLocalworkerMenuAction.java
deleted file mode 100644
index 3afed8d..0000000
--- a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/menu/ConfigureLocalworkerMenuAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package net.sf.taverna.t2.activities.localworker.menu;
-
-import javax.swing.Action;
-
-import uk.org.taverna.configuration.app.ApplicationConfiguration;
-
-import net.sf.taverna.t2.activities.beanshell.actions.BeanshellActivityConfigurationAction;
-import net.sf.taverna.t2.activities.localworker.actions.LocalworkerActivityConfigurationAction;
-import net.sf.taverna.t2.activities.localworker.servicedescriptions.LocalworkerServiceDescription;
-import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry;
-import net.sf.taverna.t2.ui.menu.ContextualMenuComponent;
-import net.sf.taverna.t2.ui.menu.MenuComponent;
-import net.sf.taverna.t2.workbench.activityicons.ActivityIconManager;
-import net.sf.taverna.t2.workbench.activitytools.AbstractConfigureActivityMenuAction;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-
-public class ConfigureLocalworkerMenuAction extends AbstractConfigureActivityMenuAction implements
- MenuComponent, ContextualMenuComponent {
-
- private EditManager editManager;
- private FileManager fileManager;
- private ActivityIconManager activityIconManager;
- private ServiceDescriptionRegistry serviceDescriptionRegistry;
- private ApplicationConfiguration applicationConfiguration;
-
- public ConfigureLocalworkerMenuAction() {
- super(LocalworkerServiceDescription.ACTIVITY_TYPE);
- }
-
- @Override
- protected Action createAction() {
- Action result = null;
- result = new LocalworkerActivityConfigurationAction(findActivity(), getParentFrame(),
- editManager, fileManager, activityIconManager, serviceDescriptionRegistry,
- applicationConfiguration);
- result.putValue(Action.NAME, BeanshellActivityConfigurationAction.EDIT_BEANSHELL_SCRIPT);
- addMenuDots(result);
- return result;
- }
-
- public void setEditManager(EditManager editManager) {
- this.editManager = editManager;
- }
-
- public void setFileManager(FileManager fileManager) {
- this.fileManager = fileManager;
- }
-
- public void setActivityIconManager(ActivityIconManager activityIconManager) {
- this.activityIconManager = activityIconManager;
- }
-
- public void setServiceDescriptionRegistry(ServiceDescriptionRegistry serviceDescriptionRegistry) {
- this.serviceDescriptionRegistry = serviceDescriptionRegistry;
- }
-
- public void setApplicationConfiguration(ApplicationConfiguration applicationConfiguration) {
- this.applicationConfiguration = applicationConfiguration;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/servicedescriptions/LocalworkerActivityIcon.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/servicedescriptions/LocalworkerActivityIcon.java b/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/servicedescriptions/LocalworkerActivityIcon.java
deleted file mode 100644
index 7d6bb5a..0000000
--- a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/servicedescriptions/LocalworkerActivityIcon.java
+++ /dev/null
@@ -1,58 +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.activities.localworker.servicedescriptions;
-
-import java.net.URI;
-
-import javax.swing.Icon;
-import javax.swing.ImageIcon;
-
-import net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI;
-
-/**
- *
- * @author Alex Nenadic
- * @author David Withers
- */
-public class LocalworkerActivityIcon implements ActivityIconSPI {
-
- private static Icon icon;
-
- public int canProvideIconScore(URI activityType) {
- if (LocalworkerServiceDescription.ACTIVITY_TYPE.equals(activityType))
- return DEFAULT_ICON + 1;
- else
- return NO_ICON;
- }
-
- public Icon getIcon(URI activityType) {
- return getLocalworkerIcon();
- }
-
- public static Icon getLocalworkerIcon() {
- if (icon == null) {
- icon = new ImageIcon(LocalworkerActivityIcon.class
- .getResource("/localworker.png"));
- }
- return icon;
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench-common-activities/blob/163747de/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/servicedescriptions/LocalworkerServiceDescription.java
----------------------------------------------------------------------
diff --git a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/servicedescriptions/LocalworkerServiceDescription.java b/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/servicedescriptions/LocalworkerServiceDescription.java
deleted file mode 100644
index 713de2c..0000000
--- a/taverna-localworker-activity-ui/src/main/java/net/sf/taverna/t2/activities/localworker/servicedescriptions/LocalworkerServiceDescription.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package net.sf.taverna.t2.activities.localworker.servicedescriptions;
-
-import java.net.URI;
-import java.util.Arrays;
-import java.util.List;
-
-import javax.swing.Icon;
-
-import net.sf.taverna.t2.servicedescriptions.ServiceDescription;
-import org.apache.taverna.scufl2.api.configurations.Configuration;
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-public class LocalworkerServiceDescription extends ServiceDescription {
-
- public static final URI ACTIVITY_TYPE = URI.create("http://ns.taverna.org.uk/2010/activity/localworker");
-
- private static final String LOCALWORKER = ServiceDescription.LOCAL_SERVICES;
-
- private JsonNode json;
- private String operation;
- private String category;
- private String provider;
- private String localworkerName;
-
- public JsonNode getJson() {
- return json;
- }
-
- public void setJson(JsonNode json) {
- this.json = json;
- }
-
- public String getOperation() {
- return operation;
- }
-
- public void setOperation(String operation) {
- this.operation = operation;
- }
-
- public String getCategory() {
- return category;
- }
-
- public void setCategory(String category) {
- this.category = category;
- }
-
- public String getProvider() {
- return provider;
- }
-
- public void setProvider(String provider) {
- this.provider = provider;
- }
-
- public String getLocalworkerName() {
- return localworkerName;
- }
-
- public void setLocalworkerName(String localworkerName) {
- this.localworkerName = localworkerName;
- }
-
- public String getType() {
- return "Localworker";
- }
-
- @Override
- public URI getActivityType() {
- return ACTIVITY_TYPE;
- }
-
- @Override
- public Configuration getActivityConfiguration() {
- Configuration configuration = new Configuration();
- configuration.setType(ACTIVITY_TYPE.resolve("#Config"));
- configuration.setJson(getJson());
- return configuration;
- }
-
- @Override
- public Icon getIcon() {
- return LocalworkerActivityIcon.getLocalworkerIcon();
- }
-
- @Override
- public String getName() {
- return operation;
- }
-
- @Override
- public List<? extends Comparable<?>> getPath() {
- List<String> result =
- Arrays.asList (LOCALWORKER, category);
- return result;
- }
-
- @Override
- protected List<Object> getIdentifyingData() {
- return Arrays.<Object>asList(getJson());
- }
-
-}