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/26 19:51:55 UTC
[06/51] [partial] incubator-taverna-workbench git commit: all
packages are moved to org.apache.taverna.*
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/LoopContextualViewFactory.java
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/LoopContextualViewFactory.java b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/LoopContextualViewFactory.java
new file mode 100644
index 0000000..b44480f
--- /dev/null
+++ b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/LoopContextualViewFactory.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (C) 2008 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 org.apache.taverna.workbench.loop;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.taverna.scufl2.api.core.Processor;
+
+import org.apache.taverna.workbench.edits.EditManager;
+import org.apache.taverna.workbench.file.FileManager;
+import org.apache.taverna.workbench.ui.views.contextualviews.ContextualView;
+import org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory;
+
+public class LoopContextualViewFactory implements ContextualViewFactory<Processor> {
+
+ private EditManager editManager;
+ private FileManager fileManager;
+
+ public boolean canHandle(Object selection) {
+ return selection instanceof Processor;
+ }
+
+ public List<ContextualView> getViews(Processor selection) {
+ return Arrays.asList(new ContextualView[] {new LoopContextualView(selection, editManager, fileManager)});
+ }
+
+ public void setEditManager(EditManager editManager) {
+ this.editManager = editManager;
+ }
+
+ public void setFileManager(FileManager fileManager) {
+ this.fileManager = fileManager;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/LoopRemoveMenuAction.java
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/LoopRemoveMenuAction.java b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/LoopRemoveMenuAction.java
new file mode 100644
index 0000000..0d8fb3c
--- /dev/null
+++ b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/LoopRemoveMenuAction.java
@@ -0,0 +1,92 @@
+/**********************************************************************
+ * Copyright (C) 2007-2009 The University of Manchester
+ *
+ * Modifications to the initial code base are copyright of their
+ * respective authors, or their employers as appropriate.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ **********************************************************************/
+package org.apache.taverna.workbench.loop;
+
+import java.awt.event.ActionEvent;
+import java.net.URI;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import org.apache.taverna.ui.menu.AbstractContextualMenuAction;
+import org.apache.taverna.workbench.edits.EditManager;
+import org.apache.taverna.workbench.file.FileManager;
+
+import org.apache.log4j.Logger;
+
+import org.apache.taverna.scufl2.api.core.Processor;
+
+public class LoopRemoveMenuAction extends AbstractContextualMenuAction {
+
+ private static Logger logger = Logger
+ .getLogger(LoopRemoveMenuAction.class);
+
+ public static final URI configureRunningSection = URI
+ .create("http://taverna.sf.net/2009/contextMenu/configureRunning");
+
+ private static final URI LOOP_REMOVE_URI = URI
+ .create("http://taverna.sf.net/2008/t2workbench/loopRemove");
+
+ private static final String LOOP_REMOVE = "Loop remove";
+
+ public LoopRemoveMenuAction() {
+ super(configureRunningSection, 25, LOOP_REMOVE_URI);
+ }
+
+ private EditManager editManager;
+ private FileManager fileManager;
+
+
+ @SuppressWarnings("serial")
+ @Override
+ protected Action createAction() {
+ return new AbstractAction("Disable looping") {
+ public void actionPerformed(ActionEvent e) {
+ Processor p = (Processor) getContextualSelection().getSelection();
+ Loop loopLayer = LoopConfigureMenuAction.getLoopLayer(p);
+ Edit<DispatchStack> deleteEdit = editManager.getEdits().getDeleteDispatchLayerEdit(
+ p.getDispatchStack(), loopLayer);
+ // TODO: Should warn before removing "essential" layers
+ try {
+ editManager.doDataflowEdit(fileManager.getCurrentDataflow(),
+ deleteEdit);
+ } catch (EditException ex) {
+ logger.warn("Could not remove layer " + loopLayer, ex);
+ }
+
+ }
+ };
+ }
+
+ public boolean isEnabled() {
+ Object selection = getContextualSelection().getSelection();
+ return (super.isEnabled() && (selection instanceof Processor) && (LoopConfigureMenuAction.getLoopLayer((Processor)selection) != null));
+ }
+
+ public void setEditManager(EditManager editManager) {
+ this.editManager = editManager;
+ }
+
+ public void setFileManager(FileManager fileManager) {
+ this.fileManager = fileManager;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/Comparison.java
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/Comparison.java b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/Comparison.java
new file mode 100644
index 0000000..a5b4c04
--- /dev/null
+++ b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/Comparison.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (C) 2008 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 org.apache.taverna.workbench.loop.comparisons;
+
+import org.apache.taverna.workbench.loop.LoopConfigurationPanel;
+
+/**
+ * A comparison beanshell template for {@link LoopConfigurationPanel}.
+ * <p>
+ * A comparison is a template for generating a beanshell that can be used for
+ * comparisons in say the {@link Loop} layer.
+ *
+ * @author Stian Soiland-Reyes
+ *
+ */
+public abstract class Comparison {
+
+ public String toString() {
+ return getName();
+ }
+
+ public abstract String getId();
+
+ public abstract String getName();
+
+ public abstract String getValueType();
+
+ public abstract String getScriptTemplate();
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/EqualTo.java
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/EqualTo.java b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/EqualTo.java
new file mode 100644
index 0000000..8cdf4d9
--- /dev/null
+++ b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/EqualTo.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (C) 2008 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 org.apache.taverna.workbench.loop.comparisons;
+
+public class EqualTo extends Comparison {
+
+ public String getId() {
+ return "EqualTo";
+ }
+
+ public String getName() {
+ return "is equal to";
+ }
+
+ public String getScriptTemplate() {
+ return "${loopPort} = \"\" + ! ${port}.equals(${value}); ";
+ }
+
+ public String getValueType() {
+ return "string";
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/IsGreaterThan.java
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/IsGreaterThan.java b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/IsGreaterThan.java
new file mode 100644
index 0000000..19f6764
--- /dev/null
+++ b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/IsGreaterThan.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (C) 2008 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 org.apache.taverna.workbench.loop.comparisons;
+
+public class IsGreaterThan extends Comparison {
+
+ public String getId() {
+ return "IsGreaterThan";
+ }
+
+ public String getName() {
+ return "is greater than";
+ }
+
+ public String getScriptTemplate() {
+ return "${loopPort} = \"\" + (! (Double.parseDouble(${port}) > Double.parseDouble(${value})));";
+ }
+
+ public String getValueType() {
+ return "number";
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/IsLessThan.java
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/IsLessThan.java b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/IsLessThan.java
new file mode 100644
index 0000000..3ee5c24
--- /dev/null
+++ b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/IsLessThan.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (C) 2008 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 org.apache.taverna.workbench.loop.comparisons;
+
+public class IsLessThan extends Comparison {
+
+ public String getId() {
+ return "IsLessThan";
+ }
+
+ public String getName() {
+ return "is less than";
+ }
+
+ public String getScriptTemplate() {
+ return "${loopPort} = \"\" + (! (Double.parseDouble(${port}) < Double.parseDouble(${value})));";
+ }
+
+ public String getValueType() {
+ return "number";
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/Matches.java
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/Matches.java b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/Matches.java
new file mode 100644
index 0000000..133e134
--- /dev/null
+++ b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/Matches.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (C) 2008 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 org.apache.taverna.workbench.loop.comparisons;
+
+public class Matches extends Comparison {
+
+ public String getId() {
+ return "Matches";
+ }
+
+ public String getName() {
+ return "matches";
+ }
+
+ public String getScriptTemplate() {
+ return "${loopPort} = \"\" + ! ${port}.matches(${value});";
+ }
+
+ public String getValueType() {
+ return "regular expression";
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/NotEqualTo.java
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/NotEqualTo.java b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/NotEqualTo.java
new file mode 100644
index 0000000..5657c52
--- /dev/null
+++ b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/NotEqualTo.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (C) 2008 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 org.apache.taverna.workbench.loop.comparisons;
+
+public class NotEqualTo extends Comparison {
+
+ public String getId() {
+ return "NotEqualTo";
+ }
+
+ public String getName() {
+ return "is not equal to";
+ }
+
+ public String getScriptTemplate() {
+ return "${loopPort} = \"\" + ${port}.equals(${value});";
+ }
+
+ public String getValueType() {
+ return "string";
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/NotMatches.java
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/NotMatches.java b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/NotMatches.java
new file mode 100644
index 0000000..ed9766b
--- /dev/null
+++ b/taverna-loop-ui/src/main/java/org/apache/taverna/workbench/loop/comparisons/NotMatches.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (C) 2008 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 org.apache.taverna.workbench.loop.comparisons;
+
+public class NotMatches extends Comparison {
+
+ public String getId() {
+ return "NotMatches";
+ }
+
+ public String getName() {
+ return "does not match";
+ }
+
+ public String getScriptTemplate() {
+ return "${loopPort} = \"\" + ${port}.matches(${value});";
+ }
+
+ public String getValueType() {
+ return "regular expression";
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent b/taverna-loop-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
deleted file mode 100644
index 1956a3f..0000000
--- a/taverna-loop-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
+++ /dev/null
@@ -1,3 +0,0 @@
-net.sf.taverna.t2.workbench.loop.LoopConfigureMenuAction
-net.sf.taverna.t2.workbench.loop.LoopAddMenuAction
-net.sf.taverna.t2.workbench.loop.LoopRemoveMenuAction
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.AddLayerFactorySPI
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.AddLayerFactorySPI b/taverna-loop-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.AddLayerFactorySPI
deleted file mode 100644
index 52eafc4..0000000
--- a/taverna-loop-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.AddLayerFactorySPI
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.workbench.loop.AddLoopFactory
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory b/taverna-loop-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
deleted file mode 100644
index 9150066..0000000
--- a/taverna-loop-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.workbench.loop.LoopContextualViewFactory
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent b/taverna-loop-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent
new file mode 100644
index 0000000..c941258
--- /dev/null
+++ b/taverna-loop-ui/src/main/resources/META-INF/services/org.apache.taverna.ui.menu.MenuComponent
@@ -0,0 +1,3 @@
+org.apache.taverna.workbench.loop.LoopConfigureMenuAction
+org.apache.taverna.workbench.loop.LoopAddMenuAction
+org.apache.taverna.workbench.loop.LoopRemoveMenuAction
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.AddLayerFactorySPI
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.AddLayerFactorySPI b/taverna-loop-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.AddLayerFactorySPI
new file mode 100644
index 0000000..8a4213b
--- /dev/null
+++ b/taverna-loop-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.AddLayerFactorySPI
@@ -0,0 +1 @@
+org.apache.taverna.workbench.loop.AddLoopFactory
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory b/taverna-loop-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory
new file mode 100644
index 0000000..e4486eb
--- /dev/null
+++ b/taverna-loop-ui/src/main/resources/META-INF/services/org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory
@@ -0,0 +1 @@
+org.apache.taverna.workbench.loop.LoopContextualViewFactory
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/resources/META-INF/spring/loop-ui-context-osgi.xml
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/resources/META-INF/spring/loop-ui-context-osgi.xml b/taverna-loop-ui/src/main/resources/META-INF/spring/loop-ui-context-osgi.xml
index 4abb75f..2e94fbf 100644
--- a/taverna-loop-ui/src/main/resources/META-INF/spring/loop-ui-context-osgi.xml
+++ b/taverna-loop-ui/src/main/resources/META-INF/spring/loop-ui-context-osgi.xml
@@ -6,16 +6,16 @@
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd">
- <service ref="AddLoopFactory" interface="net.sf.taverna.t2.workbench.ui.views.contextualviews.AddLayerFactorySPI" />
+ <service ref="AddLoopFactory" interface="org.apache.taverna.workbench.ui.views.contextualviews.AddLayerFactorySPI" />
<service ref="LoopConfigureMenuAction" auto-export="interfaces" />
<service ref="LoopAddMenuAction" auto-export="interfaces" />
<service ref="LoopRemoveMenuAction" auto-export="interfaces" />
- <service ref="LoopContextualViewFactory" interface="net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory" />
+ <service ref="LoopContextualViewFactory" interface="org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory" />
- <reference id="editManager" interface="net.sf.taverna.t2.workbench.edits.EditManager" />
- <reference id="fileManager" interface="net.sf.taverna.t2.workbench.file.FileManager" />
- <reference id="selectionManager" interface="net.sf.taverna.t2.workbench.selection.SelectionManager" />
+ <reference id="editManager" interface="org.apache.taverna.workbench.edits.EditManager" />
+ <reference id="fileManager" interface="org.apache.taverna.workbench.file.FileManager" />
+ <reference id="selectionManager" interface="org.apache.taverna.workbench.selection.SelectionManager" />
<reference id="applicationConfig" interface="uk.org.taverna.configuration.app.ApplicationConfiguration"/>
</beans:beans>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/main/resources/META-INF/spring/loop-ui-context.xml
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/main/resources/META-INF/spring/loop-ui-context.xml b/taverna-loop-ui/src/main/resources/META-INF/spring/loop-ui-context.xml
index 4c2133c..7dd7818 100644
--- a/taverna-loop-ui/src/main/resources/META-INF/spring/loop-ui-context.xml
+++ b/taverna-loop-ui/src/main/resources/META-INF/spring/loop-ui-context.xml
@@ -3,28 +3,28 @@
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
- <bean id="AddLoopFactory" class="net.sf.taverna.t2.workbench.loop.AddLoopFactory">
+ <bean id="AddLoopFactory" class="org.apache.taverna.workbench.loop.AddLoopFactory">
<property name="editManager" ref="editManager" />
<property name="fileManager" ref="fileManager" />
<property name="selectionManager" ref="selectionManager" />
<property name="applicationConfig" ref="applicationConfig" />
</bean>
- <bean id="LoopConfigureMenuAction" class="net.sf.taverna.t2.workbench.loop.LoopConfigureMenuAction">
+ <bean id="LoopConfigureMenuAction" class="org.apache.taverna.workbench.loop.LoopConfigureMenuAction">
<property name="editManager" ref="editManager" />
<property name="fileManager" ref="fileManager" />
</bean>
- <bean id="LoopAddMenuAction" class="net.sf.taverna.t2.workbench.loop.LoopAddMenuAction">
+ <bean id="LoopAddMenuAction" class="org.apache.taverna.workbench.loop.LoopAddMenuAction">
<property name="addLoopFactory">
<ref local="AddLoopFactory"/>
</property>
</bean>
- <bean id="LoopRemoveMenuAction" class="net.sf.taverna.t2.workbench.loop.LoopRemoveMenuAction">
+ <bean id="LoopRemoveMenuAction" class="org.apache.taverna.workbench.loop.LoopRemoveMenuAction">
<property name="editManager" ref="editManager" />
<property name="fileManager" ref="fileManager" />
</bean>
- <bean id="LoopContextualViewFactory" class="net.sf.taverna.t2.workbench.loop.LoopContextualViewFactory">
+ <bean id="LoopContextualViewFactory" class="org.apache.taverna.workbench.loop.LoopContextualViewFactory">
<property name="editManager" ref="editManager" />
<property name="fileManager" ref="fileManager" />
</bean>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/test/java/net/sf/taverna/t2/workbench/loop/ShowContextualView.java
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/test/java/net/sf/taverna/t2/workbench/loop/ShowContextualView.java b/taverna-loop-ui/src/test/java/net/sf/taverna/t2/workbench/loop/ShowContextualView.java
deleted file mode 100644
index 9e63c6d..0000000
--- a/taverna-loop-ui/src/test/java/net/sf/taverna/t2/workbench/loop/ShowContextualView.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2008 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workbench.loop;
-
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import javax.swing.AbstractAction;
-import javax.swing.JButton;
-import javax.swing.JFrame;
-import javax.swing.JPanel;
-
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.core.Processor;
-
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.edits.impl.EditManagerImpl;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.impl.FileManagerImpl;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workbench.selection.impl.SelectionManagerImpl;
-import net.sf.taverna.t2.workbench.ui.views.contextualviews.impl.ContextualViewComponent;
-import net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactoryRegistry;
-import net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.impl.ContextualViewFactoryRegistryImpl;
-
-/**
- * A standalone application to show contextual views
- * <p>
- * The application shows a JFrame containing a contextual view, together with
- * buttons which will select items in the {@link SelectionManager} for a
- * (rather) empty current dataflow.
- *
- * @author Stian Soiland-Reyes.
- *
- */
-public class ShowContextualView {
-
- public static void main(String[] args) throws Exception {
- EditManager editManager = new EditManagerImpl();
- FileManager fileManager = new FileManagerImpl(editManager);
- ContextualViewFactoryRegistry contextualViewFactoryRegistry = new ContextualViewFactoryRegistryImpl();
- SelectionManagerImpl selectionMan = new SelectionManagerImpl();
- selectionMan.setFileManager(fileManager);
- selectionMan.setEditManager(editManager);
- new ShowContextualView(editManager, fileManager,selectionMan, contextualViewFactoryRegistry).showFrame();
- }
-
- private SelectionManager selectionManager;
- private FileManager fileManager;
- private EditManager editManager;
- private ContextualViewFactoryRegistry contextualViewFactoryRegistry;
-
- private org.apache.taverna.scufl2.api.core.Processor processor;
-
- private WorkflowBundle currentDataflow;
-
- public ShowContextualView(EditManager editManager, FileManager fileManager, final SelectionManager selectionManager, ContextualViewFactoryRegistry contextualViewFactoryRegistry) {
- this.editManager = editManager;
- this.fileManager = fileManager;
- this.selectionManager = selectionManager;
- this.contextualViewFactoryRegistry = contextualViewFactoryRegistry;
- currentDataflow = fileManager.newDataflow();
- makeProcessor();
-
- }
-
- private void makeProcessor() {
- processor = new Processor(currentDataflow.getMainWorkflow(), "Hello");
- }
-
- private List getSelections() {
- return Arrays.asList(processor, currentDataflow);
- }
-
- private Component makeSelectionButtons() {
- JPanel buttons = new JPanel();
- for (final Object selection : getSelections()) {
- buttons.add(new JButton(new AbstractAction("" + selection) {
- public void actionPerformed(ActionEvent e) {
- selectionManager.getDataflowSelectionModel(
- currentDataflow).setSelection(
- Collections.<Object> singleton(selection));
- }
- }));
- }
- return buttons;
- }
-
- protected void showFrame() {
- JFrame frame = new JFrame(getClass().getName());
- ContextualViewComponent contextualViewComponent = new ContextualViewComponent(editManager, selectionManager, contextualViewFactoryRegistry);
- frame.add(contextualViewComponent, BorderLayout.CENTER);
-
- frame.add(makeSelectionButtons(), BorderLayout.NORTH);
- frame.setSize(400, 400);
- frame.setVisible(true);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-loop-ui/src/test/java/org/apache/taverna/workbench/loop/ShowContextualView.java
----------------------------------------------------------------------
diff --git a/taverna-loop-ui/src/test/java/org/apache/taverna/workbench/loop/ShowContextualView.java b/taverna-loop-ui/src/test/java/org/apache/taverna/workbench/loop/ShowContextualView.java
new file mode 100644
index 0000000..2fe8351
--- /dev/null
+++ b/taverna-loop-ui/src/test/java/org/apache/taverna/workbench/loop/ShowContextualView.java
@@ -0,0 +1,121 @@
+/*******************************************************************************
+ * Copyright (C) 2008 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 org.apache.taverna.workbench.loop;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import javax.swing.AbstractAction;
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+
+import org.apache.taverna.scufl2.api.container.WorkflowBundle;
+import org.apache.taverna.scufl2.api.core.Processor;
+
+import org.apache.taverna.workbench.edits.EditManager;
+import org.apache.taverna.workbench.edits.impl.EditManagerImpl;
+import org.apache.taverna.workbench.file.FileManager;
+import net.sf.taverna.t2.workbench.file.impl.FileManagerImpl;
+import org.apache.taverna.workbench.selection.SelectionManager;
+import org.apache.taverna.workbench.selection.impl.SelectionManagerImpl;
+import org.apache.taverna.workbench.ui.views.contextualviews.impl.ContextualViewComponent;
+import org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactoryRegistry;
+import org.apache.taverna.workbench.ui.views.contextualviews.activity.impl.ContextualViewFactoryRegistryImpl;
+
+/**
+ * A standalone application to show contextual views
+ * <p>
+ * The application shows a JFrame containing a contextual view, together with
+ * buttons which will select items in the {@link SelectionManager} for a
+ * (rather) empty current dataflow.
+ *
+ * @author Stian Soiland-Reyes.
+ *
+ */
+public class ShowContextualView {
+
+ public static void main(String[] args) throws Exception {
+ EditManager editManager = new EditManagerImpl();
+ FileManager fileManager = new FileManagerImpl(editManager);
+ ContextualViewFactoryRegistry contextualViewFactoryRegistry = new ContextualViewFactoryRegistryImpl();
+ SelectionManagerImpl selectionMan = new SelectionManagerImpl();
+ selectionMan.setFileManager(fileManager);
+ selectionMan.setEditManager(editManager);
+ new ShowContextualView(editManager, fileManager,selectionMan, contextualViewFactoryRegistry).showFrame();
+ }
+
+ private SelectionManager selectionManager;
+ private FileManager fileManager;
+ private EditManager editManager;
+ private ContextualViewFactoryRegistry contextualViewFactoryRegistry;
+
+ private org.apache.taverna.scufl2.api.core.Processor processor;
+
+ private WorkflowBundle currentDataflow;
+
+ public ShowContextualView(EditManager editManager, FileManager fileManager, final SelectionManager selectionManager, ContextualViewFactoryRegistry contextualViewFactoryRegistry) {
+ this.editManager = editManager;
+ this.fileManager = fileManager;
+ this.selectionManager = selectionManager;
+ this.contextualViewFactoryRegistry = contextualViewFactoryRegistry;
+ currentDataflow = fileManager.newDataflow();
+ makeProcessor();
+
+ }
+
+ private void makeProcessor() {
+ processor = new Processor(currentDataflow.getMainWorkflow(), "Hello");
+ }
+
+ private List getSelections() {
+ return Arrays.asList(processor, currentDataflow);
+ }
+
+ private Component makeSelectionButtons() {
+ JPanel buttons = new JPanel();
+ for (final Object selection : getSelections()) {
+ buttons.add(new JButton(new AbstractAction("" + selection) {
+ public void actionPerformed(ActionEvent e) {
+ selectionManager.getDataflowSelectionModel(
+ currentDataflow).setSelection(
+ Collections.<Object> singleton(selection));
+ }
+ }));
+ }
+ return buttons;
+ }
+
+ protected void showFrame() {
+ JFrame frame = new JFrame(getClass().getName());
+ ContextualViewComponent contextualViewComponent = new ContextualViewComponent(editManager, selectionManager, contextualViewFactoryRegistry);
+ frame.add(contextualViewComponent, BorderLayout.CENTER);
+
+ frame.add(makeSelectionButtons(), BorderLayout.NORTH);
+ frame.setSize(400, 400);
+ frame.setVisible(true);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractContextualMenuAction.java
----------------------------------------------------------------------
diff --git a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractContextualMenuAction.java b/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractContextualMenuAction.java
deleted file mode 100644
index 7209cae..0000000
--- a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractContextualMenuAction.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**********************************************************************
- * Copyright (C) 2007-2009 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- **********************************************************************/
-package net.sf.taverna.t2.ui.menu;
-
-import java.net.URI;
-
-/**
- * An {@link AbstractMenuAction} that is {@link ContextualMenuComponent} aware.
- * The contextual selection can be retrieved from
- * {@link #getContextualSelection()}.
- * <p>
- * The cached action will be flushed everytime the contextual selection changes,
- * forcing a new call to {@link #createAction()} - given that
- * {@link #isEnabled()} returns true.
- *
- * @author Stian Soiland-Reyes
- */
-public abstract class AbstractContextualMenuAction extends AbstractMenuAction
- implements ContextualMenuComponent {
-
- private ContextualSelection contextualSelection;
-
- public AbstractContextualMenuAction(URI parentId, int positionHint) {
- super(parentId, positionHint);
- }
-
- public AbstractContextualMenuAction(URI parentId, int positionHint, URI id) {
- super(parentId, positionHint, id);
- }
-
- public ContextualSelection getContextualSelection() {
- return contextualSelection;
- }
-
- @Override
- public boolean isEnabled() {
- return contextualSelection != null;
- }
-
- @Override
- public void setContextualSelection(ContextualSelection contextualSelection) {
- this.contextualSelection = contextualSelection;
- // Force new createAction() call
- action = null;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenu.java
----------------------------------------------------------------------
diff --git a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenu.java b/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenu.java
deleted file mode 100644
index 07eb8d2..0000000
--- a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenu.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.ui.menu;
-
-import static net.sf.taverna.t2.ui.menu.MenuComponent.MenuType.menu;
-
-import java.net.URI;
-
-import javax.swing.Action;
-
-/**
- * A {@link MenuComponent} of the type {@link MenuType#menu menu}.
- * <p>
- * Subclass to create an SPI implementation for the {@link MenuManager} of a
- * menu. The definition of "menu" includes both the menu bar and sub menus. A
- * menu can contain {@linkplain AbstractMenuAction actions},
- * {@linkplain AbstractMenuToggle toggles} or {@linkplain AbstractMenuCustom
- * custom components}, or any of the above grouped in a
- * {@linkplain AbstractMenuSection section},
- * {@linkplain AbstractMenuOptionGroup option group} or a
- * {@linkplain AbstractMenu submenu}.
- * <p>
- * Menu components are linked together using URIs, avoiding the need for compile
- * time dependencies between SPI implementations. To add components to a menu,
- * use the {@link URI} identifying this menu as their parent id.
- * <p>
- * <strong>Note:</strong> To avoid conflicts with other plugins, use a unique
- * URI root that is related to the Java package name, for instance
- * <code>http://cs.university.ac.uk/myplugin/2008/menu</code>, and use hash
- * identifiers for each menu item, for instance
- * <code>http://cs.university.ac.uk/myplugin/2008/menu#run</code> for a "Run"
- * item. Use flat URI namespaces, don't base a child's URI on the parent's URI,
- * as this might make it difficult to relocate the parent menu.
- * <p>
- * You need to list the {@linkplain Class#getName() fully qualified class name}
- * (for example <code>com.example.t2plugin.menu.MyMenu</code>) of the menu
- * implementation in the SPI description resource file
- * <code>/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent</code> so
- * that it can be discovered by the {@link MenuManager}. This requirement also
- * applies to parent menu components (except {@link DefaultToolBar} and
- * {@link DefaultMenuBar}, but ensure they are only listed once.
- *
- * @author Stian Soiland-Reyes
- */
-public abstract class AbstractMenu extends AbstractMenuItem {
- /**
- * Construct a menu bar (does not have a parent). This menu bar can be built
- * and used through {@link MenuManager#createMenuBar(URI)}. There is a
- * default menu bar implementation in {@link DefaultMenuBar} that can be
- * built using {@link MenuManager#createMenuBar()}, but in case you need
- * several menu bars for different windows or modes, use this constructor.
- *
- * @param id
- * The {@link URI} to identify this menu bar. Use this as the
- * parent ID for menu components to appear in this menu.
- */
- public AbstractMenu(URI id) {
- super(menu, (URI) null, id);
- }
-
- /**
- * Construct a submenu.
- *
- * @param parentId
- * The {@link URI} of the parent menu. The parent should be of
- * type
- * {@link net.sf.taverna.t2.ui.menu.MenuComponent.MenuType#menu}.
- * @param positionHint
- * The position hint to determine the position of this submenu
- * among its siblings in the parent menu. For extensibility, use
- * BASIC style numbering such as 10, 20, etc.
- * @param id
- * The {@link URI} to identify this menu bar. Use this as the
- * parent ID for menu components to appear in this submenu.
- * @param label
- * The label for presenting this sub-menu in the parent menu.
- */
- public AbstractMenu(URI parentId, int positionHint, URI id, String label) {
- this(parentId, positionHint, id, new DummyAction(label));
- }
-
- /**
- * Construct a submenu.
- *
- * @param parentId
- * The {@link URI} of the parent menu. The parent should be of
- * type
- * {@link net.sf.taverna.t2.ui.menu.MenuComponent.MenuType#menu}.
- * @param positionHint
- * The position hint to determine the position of this submenu
- * among its siblings in the parent menu. For extensibility, use
- * BASIC style numbering such as 10, 20, etc.
- * @param id
- * The {@link URI} to identify this menu bar. Use this as the
- * parent ID for menu components to appear in this submenu.
- * @param action
- * The action containing a label and icon for presenting this
- * sub-menu in the parent menu.
- */
- public AbstractMenu(URI parentId, int positionHint, URI id, Action action) {
- super(menu, parentId, id);
- this.action = action;
- this.positionHint = positionHint;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuAction.java
----------------------------------------------------------------------
diff --git a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuAction.java b/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuAction.java
deleted file mode 100644
index 446a2ec..0000000
--- a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuAction.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.ui.menu;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.net.URI;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-
-/**
- * A {@link MenuComponent} of the type {@link MenuType#action action}.
- * <p>
- * Subclass to create an SPI implementation for the {@link MenuManager} of an
- * action. An action is an item within a menu or toolbar that can be
- * clicked/selected to invoke some action.
- * <p>
- * This action can have as an parent a {@linkplain AbstractMenu menu} or
- * {@linkplain AbstractToolBar toolbar}, or grouped within an
- * {@linkplain AbstractMenuSection section} or
- * {@linkplain AbstractMenuOptionGroup option group}.
- * <p>
- * To define the {@link Action}, implement {@link #createAction()}. The action
- * should provide both the label/icon (representation) and
- * {@link ActionListener#actionPerformed(ActionEvent)}.
- * <p>
- * You need to list the {@linkplain Class#getName() fully qualified class name}
- * (for example <code>com.example.t2plugin.menu.MyMenuAction</code>) of the menu
- * action implementation in the SPI description resource file
- * <code>/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent</code> so
- * that it can be discovered by the {@link MenuManager}. This requirement also
- * applies to parent menu components (except {@link DefaultToolBar} and
- * {@link DefaultMenuBar}, but ensure they are only listed once.
- *
- * @author Stian Soiland-Reyes
- */
-public abstract class AbstractMenuAction extends AbstractMenuItem {
- /**
- * Construct a menu action to appear within the specified menu component.
- *
- * @param parentId
- * The {@link URI} of the parent menu component. The component
- * should be a {@linkplain MenuComponent.MenuType#isParentType()
- * parent type} and must have been registered separately as an
- * SPI.
- * @param positionHint
- * The position hint to determine the position of this action
- * among its siblings in the parent menu, section or toolbar. For
- * extensibility, use BASIC style numbering such as 10, 20, etc.
- * (Note that position hints are local to each parent, so each
- * {@linkplain AbstractMenuSection section} have their own
- * position hint scheme.)
- */
- public AbstractMenuAction(URI parentId, int positionHint) {
- this(parentId, positionHint, null);
- }
-
- /**
- * Construct a menu action to appear within the specified menu component.
- *
- * @param parentId
- * The {@link URI} of the parent menu component. The component
- * should be a {@linkplain MenuComponent.MenuType#isParentType()
- * parent type} and must have been registered separately as an
- * SPI.
- * @param positionHint
- * The position hint to determine the position of this action
- * among its siblings in the parent menu, section or toolbar. For
- * extensibility, use BASIC style numbering such as 10, 20, etc.
- * (Note that position hints are local to each parent, so each
- * {@linkplain AbstractMenuSection section} have their own
- * position hint scheme.)
- * @param id
- * The {@link URI} to identify this action. Although no
- * components can have an action as their parent, this URI can be
- * used to retrieve the realisation of this component using
- * {@link MenuManager#getComponentByURI(URI)}. This ID might also
- * be registered as a help identifier with the help system.
- */
- public AbstractMenuAction(URI parentId, int positionHint, URI id) {
- super(MenuType.action, parentId, id);
- this.positionHint = positionHint;
- }
-
- /**
- * Call {@link #createAction()} on first call, after that return cached
- * action.
- *
- * @see #createAction()
- */
- @Override
- public synchronized Action getAction() {
- if (action == null)
- action = createAction();
- return action;
- }
-
- /**
- * Create the {@link Action} that labels this menu action, in addition to
- * performing the desired action on
- * {@link ActionListener#actionPerformed(ActionEvent)}.
- * <p>
- * This method will be called by {@link #getAction()} on the first call.
- * Concurrent calls to <tt>getAction()</tt> will return the same action.
- * <p>
- * Implementations might use {@link AbstractAction} as a superclass for menu
- * actions. It is recommended to make the action a top level class so that
- * it can be used both within an {@link AbstractMenuAction} of a menu bar
- * and within an {@link AbstractMenuAction} of a tool bar.
- *
- * @see #getAction()
- * @return A configured {@link Action} that should at least have a label or
- * icon.
- */
- protected abstract Action createAction();
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuCustom.java
----------------------------------------------------------------------
diff --git a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuCustom.java b/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuCustom.java
deleted file mode 100644
index 9a64130..0000000
--- a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuCustom.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.ui.menu;
-
-import java.awt.Component;
-import java.net.URI;
-
-import javax.swing.JButton;
-import javax.swing.JMenu;
-import javax.swing.JMenuItem;
-
-/**
- * A {@link MenuComponent} of the type {@link MenuType#custom}.
- * <p>
- * Subclass to create an SPI implementation for the {@link MenuManager} of a
- * custom menu or toolbar {@link Component}, for instance a {@link JMenu},
- * {@link JMenuItem} or {@link JButton}.
- * <p>
- * This type of component can be useful for adding third party components that
- * are built using other menu systems, or to provide dynamic menus such as a
- * list of open files. This is the recommended way to customise the menus,
- * although it is also possible to modify the components returned using
- * {@link MenuManager#getComponentByURI(URI)}, but as the components built by
- * the menu manager might be refreshed by various actions forcing an update to
- * the SPI registry, such as installing a plugin. By using a custom menu
- * component it is possible to avoid these problems and to provide the
- * {@link Component} to be inserted into the menu/toolbar as built by the
- * {@link MenuManager}.
- * <p>
- * This component can have as an parent any menu component that
- * {@linkplain MenuType#isParentType() is a parent type}. Note that although you
- * can specify an {@link URI} to identify the custom component (to be used with
- * {@link MenuManager#getComponentByURI(URI)} a custom component can't have
- * children. Such children would have to be created manually and added to the
- * component.
- * <p>
- * You need to list the {@linkplain Class#getName() fully qualified class name}
- * (for example <code>com.example.t2plugin.menu.MyMenuAction</code>) of the menu
- * action implementation in the SPI description resource file
- * <code>/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent</code> so
- * that it can be discovered by the {@link MenuManager}. This requirement also
- * applies to parent menu components (except {@link DefaultToolBar} and
- * {@link DefaultMenuBar}, but ensure they are only listed once.
- *
- * @author Stian Soiland-Reyes
- */
-public abstract class AbstractMenuCustom extends AbstractMenuItem {
- /**
- * Construct a menu action to appear within the specified menu component.
- *
- * @param parentId
- * The {@link URI} of the parent menu component. The component
- * should be a {@link MenuType#isParentType() parent type} and
- * must have been registered separately as an SPI.
- * @param positionHint
- * The position hint to determine the position of this action
- * among its siblings in the parent menu, section or toolbar. For
- * extensibility, use BASIC style numbering such as 10, 20, etc.
- * (Note that position hints are local to each parent, so each
- * {@linkplain AbstractMenuSection section} have their own
- * position hint scheme.)
- */
- public AbstractMenuCustom(URI parentId, int positionHint) {
- this(parentId, positionHint, null);
- }
-
- /**
- * Construct a menu action to appear within the specified menu component.
- *
- * @param parentId
- * The {@link URI} of the parent menu component. The component
- * should be a {@linkplain MenuType#isParentType() parent type}
- * and must have been registered separately as an SPI.
- * @param positionHint
- * The position hint to determine the position of this action
- * among its siblings in the parent menu, section or toolbar. For
- * extensibility, use BASIC style numbering such as 10, 20, etc.
- * (Note that position hints are local to each parent, so each
- * {@linkplain AbstractMenuSection section} have their own
- * position hint scheme.)
- * @param id
- * The {@link URI} to identify this action. Although no
- * components can have an action as their parent, this URI can be
- * used to retrieve the realisation of this component using
- * {@link MenuManager#getComponentByURI(URI)}. This ID might also
- * be registered as a help identifier with the help system.
- */
- public AbstractMenuCustom(URI parentId, int positionHint, URI id) {
- super(MenuType.custom, parentId, id);
- this.positionHint = positionHint;
- }
-
- /**
- * Create the {@link Component} that is to be added to the parent.
- * <p>
- * The component must be compatible with the parent realisation from the
- * {@link MenuManager}, for instance you can't add {@link JMenuItem}s to a
- * toolbar.
- * </p>
- * <p>
- * Note that the component might get assigned new parents if the
- * menues/toolbars are rebuilt by the {@link MenuManager} is refreshed,
- * although the menu manager will try to avoid a second call to
- * {@link #createCustomComponent()}.
- * </p>
- *
- * @return A custom {@link Component} such as {@link JMenu},
- * {@link JMenuItem} or {@link JButton} to be added to the parent
- * menu component.
- */
- protected abstract Component createCustomComponent();
-
- /**
- * Return the custom component created using
- * {@link #createCustomComponent()} on first call, return cached instance on
- * later calls.
- *
- * {@inheritDoc}
- */
- @Override
- public final synchronized Component getCustomComponent() {
- if (customComponent == null)
- customComponent = createCustomComponent();
- return customComponent;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuItem.java
----------------------------------------------------------------------
diff --git a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuItem.java b/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuItem.java
deleted file mode 100644
index 63b6c78..0000000
--- a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuItem.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.ui.menu;
-
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-import java.net.URI;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-import javax.swing.Icon;
-
-/**
- * An abstract implementation of {@link MenuComponent} that can be used by
- * convenience to create menu component SPIs for the {@link MenuManager}.
- * <p>
- * Abstract subclasses of this class are specialised by their
- * {@link net.sf.taverna.t2.ui.menu.MenuComponent.MenuType}. To create a menu,
- * toolbar, section, action etc, create an SPI implementation by subclassing
- * depending on the required type:
- * </p>
- * <dl>
- * <dt> {@link net.sf.taverna.t2.ui.menu.MenuComponent.MenuType#menu}</dt>
- * <dd>Subclass {@link AbstractMenu}</dd>
- *
- * <dt> {@link net.sf.taverna.t2.ui.menu.MenuComponent.MenuType#toolBar}</dt>
- * <dd>Subclass {@link AbstractToolBar}</dd>
- *
- * <dt> {@link net.sf.taverna.t2.ui.menu.MenuComponent.MenuType#section}</dt>
- * <dd>Subclass {@link AbstractMenuSection}</dd>
- *
- * <dt> {@link net.sf.taverna.t2.ui.menu.MenuComponent.MenuType#action}</dt>
- * <dd>Subclass {@link AbstractMenuAction}</dd>
- *
- * <dt> {@link net.sf.taverna.t2.ui.menu.MenuComponent.MenuType#toggle}</dt>
- * <dd>Subclass {@link AbstractMenuToggle}</dd>
- *
- * <dt> {@link net.sf.taverna.t2.ui.menu.MenuComponent.MenuType#custom}</dt>
- * <dd>Subclass {@link AbstractMenuCustom}</dd>
- *
- * <dt> {@link net.sf.taverna.t2.ui.menu.MenuComponent.MenuType#optionGroup}</dt>
- * <dd>Subclass {@link AbstractMenuOptionGroup}</dd>
- *
- * </dl>
- * <p>
- * Note that you are not required to subclass any of these as long as your SPI
- * implementations implement the {@link MenuComponent} interface. In all cases
- * you are still required to list all your implementations, including
- * intermediate menus and sections, in the SPI description resource file
- * <code>/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent</code>
- * </p>
- *
- * @author Stian Soiland-Reyes
- *
- */
-public abstract class AbstractMenuItem implements MenuComponent {
- /**
- * An {@link Action} that does not perform any action, but only contains a
- * name and icon. Used by {@link AbstractMenu} and others.
- *
- * @author Stian Soiland-Reyes
- *
- */
- @SuppressWarnings("serial")
- public static class DummyAction extends AbstractAction {
- public DummyAction(String name) {
- super(name);
- }
-
- public DummyAction(String name, Icon icon) {
- super(name, icon);
- }
-
- @Override
- public void actionPerformed(ActionEvent e) {
- }
- }
-
- public AbstractMenuItem(MenuType type, URI parentId, URI id) {
- this.type = type;
- this.parentId = parentId;
- this.id = id;
- }
-
- private final MenuType type;
- private final URI parentId;
- private final URI id;
- protected int positionHint = 100;
- protected Action action;
- protected Component customComponent;
-
- @Override
- public Action getAction() {
- return action;
- }
-
- @Override
- public Component getCustomComponent() {
- return customComponent;
- }
-
- @Override
- public URI getId() {
- return id;
- }
-
- @Override
- public URI getParentId() {
- return parentId;
- }
-
- @Override
- public int getPositionHint() {
- return positionHint;
- }
-
- @Override
- public MenuType getType() {
- return type;
- }
-
- @Override
- public boolean isEnabled() {
- return true;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuOptionGroup.java
----------------------------------------------------------------------
diff --git a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuOptionGroup.java b/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuOptionGroup.java
deleted file mode 100644
index 091cc23..0000000
--- a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuOptionGroup.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.ui.menu;
-
-import java.net.URI;
-
-/**
- * A {@link MenuComponent} of the type {@link MenuType#optionGroup}.
- * <p>
- * Subclass to create an SPI implementation for the {@link MenuManager} of an
- * option group. An option group is similar to a
- * {@linkplain AbstractMenuSection section}, but enforces that only one of the
- * children are selected at any time.
- * <p>
- * Menu components are linked together using URIs, avoiding the need for compile
- * time dependencies between SPI implementations. To add actions or toggles to
- * an option group, use the {@link URI} identifying this section as their parent
- * id.
- * <p>
- * <strong>Note:</strong> To avoid conflicts with other plugins, use a unique
- * URI root that is related to the Java package name, for instance
- * <code>http://cs.university.ac.uk/myplugin/2008/menu</code>, and use hash
- * identifiers for each menu item, for instance
- * <code>http://cs.university.ac.uk/myplugin/2008/menu#run</code> for a "Run"
- * item. Use flat URI namespaces, don't base a child's URI on the parent's URI,
- * as this might make it difficult to relocate the parent menu.
- * <p>
- * You need to list the {@linkplain Class#getName() fully qualified class name}
- * (for example <code>com.example.t2plugin.menu.MyMenu</code>) of the option
- * group implementation in the SPI description resource file
- * <code>/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent</code> so
- * that it can be discovered by the {@link MenuManager}. This requirement also
- * applies to parent menu components (except {@link DefaultToolBar} and
- * {@link DefaultMenuBar}, but ensure they are only listed once.
- *
- * @author Stian Soiland-Reyes
- */
-public abstract class AbstractMenuOptionGroup extends AbstractMenuItem {
- /**
- * Construct an option group.
- *
- * @param parentId
- * The {@link URI} of the parent menu component. The parent
- * should be of type {@link MenuType#menu} or
- * {@link MenuType#toolBar}.
- * @param positionHint
- * The position hint to determine the position of this option
- * group among its siblings in the parent menu. For
- * extensibility, use BASIC style numbering such as 10, 20, etc.
- * (Note that position hints are local to each parent, so each
- * option group have their own position hint scheme for their
- * children.)
- * @param id
- * The {@link URI} to identify this option group. Use this as the
- * parent ID for menu components to appear in this option group.
- */
- public AbstractMenuOptionGroup(URI parentId, int positionHint, URI id) {
- super(MenuType.optionGroup, parentId, id);
- this.positionHint = positionHint;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuSection.java
----------------------------------------------------------------------
diff --git a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuSection.java b/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuSection.java
deleted file mode 100644
index 2e649e0..0000000
--- a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuSection.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007-2009 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.ui.menu;
-
-import java.awt.Color;
-import java.net.URI;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-
-/**
- * A {@link MenuComponent} of the type {@link MenuType#section}.
- * <p>
- * Subclass to create an SPI implementation for the {@link MenuManager} of a
- * section. A section is a part of a {@linkplain AbstractMenu menu} or
- * {@linkplain AbstractToolBar toolbar} that group together
- * {@linkplain AbstractMenuAction actions} or {@linkplain AbstractMenuToggle
- * toggles}, and separates them from siblings using separators if needed.
- * <p>
- * Menu components are linked together using URIs, avoiding the need for compile
- * time dependencies between SPI implementations. To add actions to a section,
- * use the {@link URI} identifying this section as their parent id.
- * <p>
- * <strong>Note:</strong> To avoid conflicts with other plugins, use a unique
- * URI root that is related to the Java package name, for instance
- * <code>http://cs.university.ac.uk/myplugin/2008/menu</code>, and use hash
- * identifiers for each menu item, for instance
- * <code>http://cs.university.ac.uk/myplugin/2008/menu#run</code> for a "Run"
- * item. Use flat URI namespaces, don't base a child's URI on the parent's URI,
- * as this might make it difficult to relocate the parent menu.
- * <p>
- * You need to list the {@linkplain Class#getName() fully qualified class name}
- * (for example <code>com.example.t2plugin.menu.MyMenu</code>) of the section
- * implementation in the SPI description resource file
- * <code>/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent</code> so
- * that it can be discovered by the {@link MenuManager}. This requirement also
- * applies to parent menu components (except {@link DefaultToolBar} and
- * {@link DefaultMenuBar}, but ensure they are only listed once.
- *
- * @author Stian Soiland-Reyes
- */
-public abstract class AbstractMenuSection extends AbstractMenuItem {
- public static final String SECTION_COLOR = "sectionColor";
-
- /**
- * Construct a menu section.
- *
- * @param parentId
- * The {@link URI} of the parent menu component. The parent
- * should be of type {@link MenuType#menu} or
- * {@link MenuType#toolBar}.
- * @param positionHint
- * The position hint to determine the position of this section
- * among its siblings in the parent menu. For extensibility, use
- * BASIC style numbering such as 10, 20, etc. (Note that position
- * hints are local to each parent, so each section have their own
- * position hint scheme for their children.)
- * @param id
- * The {@link URI} to identify this menu section. Use this as the
- * parent ID for menu components to appear in this section.
- */
- public AbstractMenuSection(URI parentId, int positionHint, URI id) {
- super(MenuType.section, parentId, id);
- this.positionHint = positionHint;
- }
-
- @Override
- public synchronized Action getAction() {
- if (action == null)
- action = createAction();
- return action;
- }
-
- /**
- * (Optionally) Create the {@link Action} that labels this section.
- * <p>
- * The actual action will be ignored, but the label and/or icon will be used
- * as a section header in the menu. If the property {@link #SECTION_COLOR}
- * has been defined in the action, that {@link Color} will be used to make
- * the section background.
- * <p>
- * The default implementation of this method returns <code>null</code>,
- * meaning that no section header will be created - instead a simple line
- * will separate this section from the items above (if needed).
- * <p>
- * Implementations might use {@link AbstractAction} as a superclass for menu
- * actions.
- *
- * @return A configured {@link Action} that should at least have a label or
- * icon.
- */
- protected Action createAction() {
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/a9a52bd5/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuToggle.java
----------------------------------------------------------------------
diff --git a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuToggle.java b/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuToggle.java
deleted file mode 100644
index 97e977d..0000000
--- a/taverna-menu-api/src/main/java/net/sf/taverna/t2/ui/menu/AbstractMenuToggle.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.ui.menu;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.net.URI;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-
-/**
- * A {@link MenuComponent} of the type {@link MenuType#toggle}.
- * <p>
- * Subclass to create an SPI implementation for the {@link MenuManager} of an
- * toggle action. A toggle is a menu item that can be turned on/off and are
- * typically represented with a check box when they are enabled.
- * <p>
- * This action can have as an parent a {@linkplain AbstractMenu menu} or
- * {@linkplain AbstractToolBar toolbar}, or grouped within a
- * {@linkplain AbstractMenuSection section} or
- * {@linkplain AbstractMenuOptionGroup option group}.
- * <p>
- * To define the {@link Action}, implement {@link #createAction()}. The action
- * should provide both the label/icon (representation) and
- * {@link ActionListener#actionPerformed(ActionEvent)}.
- * <p>
- * You need to list the {@linkplain Class#getName() fully qualified class name}
- * (for example <code>com.example.t2plugin.menu.MyMenuAction</code>) of the menu
- * action implementation in the SPI description resource file
- * <code>/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent</code> so
- * that it can be discovered by the {@link MenuManager}. This requirement also
- * applies to parent menu components (except {@link DefaultToolBar} and
- * {@link DefaultMenuBar}, but ensure they are only listed once.
- *
- * @author Stian Soiland-Reyes
- */
-public abstract class AbstractMenuToggle extends AbstractMenuItem {
- /**
- * Construct a toggle action to appear within the specified menu component.
- *
- * @param parentId
- * The {@link URI} of the parent menu component. The component
- * should be a {@linkplain MenuType#isParentType() parent type}
- * and must have been registered separately as an SPI.
- * @param positionHint
- * The position hint to determine the position of this toggle
- * action among its siblings in the parent menu, section or
- * toolbar. For extensibility, use BASIC style numbering such as
- * 10, 20, etc. (Note that position hints are local to each
- * parent, so each {@linkplain AbstractMenuSection section} have
- * their own position hint scheme.)
- */
- public AbstractMenuToggle(URI parentId, int positionHint) {
- this(parentId, null, positionHint);
- }
-
- /**
- * Construct a toggle action to appear within the specified menu component.
- *
- * @param parentId
- * The {@link URI} of the parent menu component. The component
- * should be a {@link MenuType#isParentType() parent type} and
- * must have been registered separately as an SPI.
- * @param id
- * The {@link URI} to identify this toggle action. Although no
- * components can have an action as their parent, this URI can be
- * used to retrieve the realisation of this component using
- * {@link MenuManager#getComponentByURI(URI)}. This ID might also
- * be registered as a help identifier with the help system.
- * @param positionHint
- * The position hint to determine the position of this action
- * among its siblings in the parent menu, section or toolbar. For
- * extensibility, use BASIC style numbering such as 10, 20, etc.
- * (Note that position hints are local to each parent, so each
- * {@linkplain AbstractMenuSection section} have their own
- * position hint scheme.)
- */
- public AbstractMenuToggle(URI parentId, URI id, int positionHint) {
- super(MenuType.toggle, parentId, id);
- this.positionHint = positionHint;
- }
-
- /**
- * Call {@link #createAction()} on first call, after that return cached
- * action.
- *
- * @see #createAction()
- *
- * {@inheritDoc}
- */
- @Override
- public synchronized Action getAction() {
- if (action == null)
- action = createAction();
- return action;
- }
-
- /**
- * Create the {@link Action} that labels this toggle action, in addition to
- * performing the desired action on
- * {@link ActionListener#actionPerformed(ActionEvent)}.
- * <p>
- * Implementations might use {@link AbstractAction} as a superclass for menu
- * actions. It is recommended to make the action a top level class so that
- * it can be used both within an {@link AbstractMenuAction} of a menu bar
- * and within an {@link AbstractMenuAction} of a tool bar.
- * </p>
- *
- * @return A configured {@link Action} that should at least have a label or
- * icon.
- */
- protected abstract Action createAction();
-}