You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2015/02/17 21:46:01 UTC
[30/51] [partial] incubator-taverna-workbench git commit: temporarily
empty repository
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileOpenRecentMenuAction.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileOpenRecentMenuAction.java b/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileOpenRecentMenuAction.java
deleted file mode 100644
index 76ef759..0000000
--- a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileOpenRecentMenuAction.java
+++ /dev/null
@@ -1,418 +0,0 @@
-package net.sf.taverna.t2.workbench.file.impl.menu;
-
-import static java.awt.event.KeyEvent.VK_0;
-import static java.awt.event.KeyEvent.VK_R;
-import static javax.swing.Action.MNEMONIC_KEY;
-import static javax.swing.Action.NAME;
-import static javax.swing.JOptionPane.ERROR_MESSAGE;
-import static javax.swing.JOptionPane.showMessageDialog;
-import static javax.swing.SwingUtilities.invokeLater;
-import static net.sf.taverna.t2.workbench.file.impl.menu.FileOpenMenuSection.FILE_OPEN_SECTION_URI;
-
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Serializable;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.swing.AbstractAction;
-import javax.swing.JMenu;
-import javax.swing.JMenuItem;
-
-import net.sf.taverna.t2.lang.observer.Observable;
-import net.sf.taverna.t2.lang.observer.Observer;
-import net.sf.taverna.t2.ui.menu.AbstractMenuCustom;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.FileType;
-import net.sf.taverna.t2.workbench.file.events.AbstractDataflowEvent;
-import net.sf.taverna.t2.workbench.file.events.ClosedDataflowEvent;
-import net.sf.taverna.t2.workbench.file.events.FileManagerEvent;
-import net.sf.taverna.t2.workbench.file.events.OpenedDataflowEvent;
-import net.sf.taverna.t2.workbench.file.events.SavedDataflowEvent;
-import net.sf.taverna.t2.workbench.file.exceptions.OpenException;
-
-import org.apache.log4j.Logger;
-import org.jdom.Document;
-import org.jdom.JDOMException;
-import org.jdom.input.SAXBuilder;
-
-import uk.org.taverna.configuration.app.ApplicationConfiguration;
-import uk.org.taverna.scufl2.api.container.WorkflowBundle;
-
-public class FileOpenRecentMenuAction extends AbstractMenuCustom implements
- Observer<FileManagerEvent> {
- public static final URI RECENT_URI = URI
- .create("http://taverna.sf.net/2008/t2workbench/menu#fileOpenRecent");
- private static final String CONF = "conf";
- private static Logger logger = Logger
- .getLogger(FileOpenRecentMenuAction.class);
- private static final String RECENT_WORKFLOWS_XML = "recentWorkflows.xml";
- private static final int MAX_ITEMS = 10;
-
- private FileManager fileManager;
- private ApplicationConfiguration applicationConfiguration;
- private JMenu menu;
- private List<Recent> recents = new ArrayList<>();
- private Thread loadRecentThread;
-
- public FileOpenRecentMenuAction(FileManager fileManager) {
- super(FILE_OPEN_SECTION_URI, 30, RECENT_URI);
- this.fileManager = fileManager;
- fileManager.addObserver(this);
- }
-
- @Override
- public void notify(Observable<FileManagerEvent> sender,
- FileManagerEvent message) throws Exception {
- FileManager fileManager = (FileManager) sender;
- if (message instanceof OpenedDataflowEvent
- || message instanceof SavedDataflowEvent) {
- AbstractDataflowEvent dataflowEvent = (AbstractDataflowEvent) message;
- WorkflowBundle dataflow = dataflowEvent.getDataflow();
- Object dataflowSource = fileManager.getDataflowSource(dataflow);
- FileType dataflowType = fileManager.getDataflowType(dataflow);
- addRecent(dataflowSource, dataflowType);
- }
- if (message instanceof ClosedDataflowEvent)
- // Make sure enabled/disabled status is correct
- updateRecentMenu();
- }
-
- public void updateRecentMenu() {
- invokeLater(new Runnable() {
- @Override
- public void run() {
- updateRecentMenuGUI();
- }
- });
- saveRecent();
- }
-
- protected void addRecent(Object dataflowSource, FileType dataflowType) {
- if (dataflowSource == null)
- return;
- if (!(dataflowSource instanceof Serializable)) {
- logger.warn("Can't serialize workflow source for 'Recent workflows': "
- + dataflowSource);
- return;
- }
- synchronized (recents) {
- Recent recent = new Recent((Serializable) dataflowSource, dataflowType);
- if (recents.contains(recent))
- recents.remove(recent);
- recents.add(0, recent); // Add to front
- }
- updateRecentMenu();
- }
-
- @Override
- protected Component createCustomComponent() {
- action = new DummyAction("Recent workflows");
- action.putValue(MNEMONIC_KEY, VK_R);
- menu = new JMenu(action);
- // Disabled until we have loaded the recent workflows
- menu.setEnabled(false);
- loadRecentThread = new Thread("Loading recent workflow menu") {
- // Avoid hanging GUI initialization while deserialising
- @Override
- public void run() {
- loadRecent();
- updateRecentMenu();
- }
- };
- loadRecentThread.start();
- return menu;
- }
-
- protected synchronized void loadRecent() {
- File confDir = new File(applicationConfiguration.getApplicationHomeDir(), CONF);
- confDir.mkdir();
- File recentFile = new File(confDir, RECENT_WORKFLOWS_XML);
- if (!recentFile.isFile())
- return;
- try {
- loadRecent(recentFile);
- } catch (JDOMException|IOException e) {
- logger.warn("Could not read recent workflows from file "
- + recentFile, e);
- }
- }
-
- private void loadRecent(File recentFile) throws FileNotFoundException,
- IOException, JDOMException {
- SAXBuilder builder = new SAXBuilder();
- @SuppressWarnings("unused")
- Document document;
- try (InputStream fileInputStream = new BufferedInputStream(
- new FileInputStream(recentFile))) {
- document = builder.build(fileInputStream);
- }
- synchronized (recents) {
- recents.clear();
- //RecentDeserializer deserialiser = new RecentDeserializer();
- try {
- // recents.addAll(deserialiser.deserializeRecent(document
- // .getRootElement()));
- } catch (Exception e) {
- logger.warn("Could not read recent workflows from file "
- + recentFile, e);
- }
- }
- }
-
- protected synchronized void saveRecent() {
- File confDir = new File(applicationConfiguration.getApplicationHomeDir(), CONF);
- confDir.mkdir();
- File recentFile = new File(confDir, RECENT_WORKFLOWS_XML);
-
- try {
- saveRecent(recentFile);
-// } catch (JDOMException e) {
-// logger.warn("Could not generate XML for recent workflows to file "
-// + recentFile, e);
- } catch (IOException e) {
- logger.warn("Could not write recent workflows to file "
- + recentFile, e);
- }
- }
-
- private void saveRecent(File recentFile) throws FileNotFoundException,
- IOException {
- // RecentSerializer serializer = new RecentSerializer();
- // XMLOutputter outputter = new XMLOutputter();
-
- // Element serializedRecent;
- synchronized (recents) {
- if (recents.size() > MAX_ITEMS)
- // Remove excess entries
- recents.subList(MAX_ITEMS, recents.size()).clear();
- // serializedRecent = serializer.serializeRecent(recents);
- }
- try (OutputStream outputStream = new BufferedOutputStream(
- new FileOutputStream(recentFile))) {
- // outputter.output(serializedRecent, outputStream);
- }
- }
-
- protected void updateRecentMenuGUI() {
- int items = 0;
- menu.removeAll();
- synchronized (recents) {
- for (Recent recent : recents) {
- if (++items >= MAX_ITEMS)
- break;
- OpenRecentAction openRecentAction = new OpenRecentAction(
- recent, fileManager);
- if (fileManager.getDataflowBySource(recent.getDataflowSource()) != null)
- openRecentAction.setEnabled(false);
- // else setEnabled(true)
- JMenuItem menuItem = new JMenuItem(openRecentAction);
- if (items < 10) {
- openRecentAction.putValue(NAME, items + " "
- + openRecentAction.getValue(NAME));
- menuItem.setMnemonic(VK_0 + items);
- }
- menu.add(menuItem);
- }
- }
- menu.setEnabled(items > 0);
- menu.revalidate();
- }
-
- @SuppressWarnings("serial")
- public static class OpenRecentAction extends AbstractAction implements
- Runnable {
- private final Recent recent;
- private Component component = null;
- private final FileManager fileManager;
-
- public OpenRecentAction(Recent recent, FileManager fileManager) {
- this.recent = recent;
- this.fileManager = fileManager;
- Serializable source = recent.getDataflowSource();
- String name;
- if (source instanceof File)
- name = ((File) source).getAbsolutePath();
- else
- name = source.toString();
- this.putValue(NAME, name);
- this.putValue(SHORT_DESCRIPTION, "Open the workflow " + name);
- }
-
- @Override
- public void actionPerformed(ActionEvent e) {
- component = null;
- if (e.getSource() instanceof Component)
- component = (Component) e.getSource();
- setEnabled(false);
- new Thread(this, "Opening workflow from "
- + recent.getDataflowSource()).start();
- }
-
- /**
- * Opening workflow in separate thread
- */
- @Override
- public void run() {
- final Serializable source = recent.getDataflowSource();
- try {
- fileManager.openDataflow(recent.makefileType(), source);
- } catch (OpenException ex) {
- logger.warn("Failed to open the workflow from " + source
- + " \n", ex);
- showMessageDialog(component,
- "Failed to open the workflow from url " + source
- + " \n" + ex.getMessage(), "Error!",
- ERROR_MESSAGE);
- } finally {
- setEnabled(true);
- }
- }
- }
-
- @SuppressWarnings("serial")
- public static class Recent implements Serializable {
- private final class RecentFileType extends FileType {
- @Override
- public String getMimeType() {
- return mimeType;
- }
-
- @Override
- public String getExtension() {
- return extension;
- }
-
- @Override
- public String getDescription() {
- return "File type " + extension + " " + mimeType;
- }
- }
-
- private Serializable dataflowSource;
- private String mimeType;
- private String extension;
-
- public String getMimeType() {
- return mimeType;
- }
-
- public void setMimeType(String mimeType) {
- this.mimeType = mimeType;
- }
-
- public String getExtension() {
- return extension;
- }
-
- public void setExtension(String extension) {
- this.extension = extension;
- }
-
- public Recent() {
- }
-
- public FileType makefileType() {
- if (mimeType == null && extension == null)
- return null;
- return new RecentFileType();
- }
-
- public Recent(Serializable dataflowSource, FileType dataflowType) {
- setDataflowSource(dataflowSource);
- if (dataflowType != null) {
- setMimeType(dataflowType.getMimeType());
- setExtension(dataflowType.getExtension());
- }
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime
- * result
- + ((dataflowSource == null) ? 0 : dataflowSource.hashCode());
- result = prime * result
- + ((extension == null) ? 0 : extension.hashCode());
- result = prime * result
- + ((mimeType == null) ? 0 : mimeType.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (!(obj instanceof Recent))
- return false;
- Recent other = (Recent) obj;
-
- if (dataflowSource == null) {
- if (other.dataflowSource != null)
- return false;
- } else if (!dataflowSource.equals(other.dataflowSource))
- return false;
-
- if (extension == null) {
- if (other.extension != null)
- return false;
- } else if (!extension.equals(other.extension))
- return false;
-
- if (mimeType == null) {
- if (other.mimeType != null)
- return false;
- } else if (!mimeType.equals(other.mimeType))
- return false;
-
- return true;
- }
-
- public Serializable getDataflowSource() {
- return dataflowSource;
- }
-
- public void setDataflowSource(Serializable dataflowSource) {
- this.dataflowSource = dataflowSource;
- }
-
- @Override
- public String toString() {
- return getDataflowSource() + "";
- }
- }
-
- // TODO find new serialization
-// protected static class RecentDeserializer extends AbstractXMLDeserializer {
-// public Collection<Recent> deserializeRecent(Element el) {
-// return (Collection<Recent>) super.createBean(el, getClass()
-// .getClassLoader());
-// }
-// }
-//
-// protected static class RecentSerializer extends AbstractXMLSerializer {
-// public Element serializeRecent(List<Recent> x) throws JDOMException,
-// IOException {
-// Element beanAsElement = super.beanAsElement(x);
-// return beanAsElement;
-// }
-// }
-
- public void setApplicationConfiguration(
- ApplicationConfiguration applicationConfiguration) {
- this.applicationConfiguration = applicationConfiguration;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveAllMenuAction.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveAllMenuAction.java b/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveAllMenuAction.java
deleted file mode 100644
index 86edacb..0000000
--- a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveAllMenuAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workbench.file.impl.menu;
-
-import static net.sf.taverna.t2.workbench.file.impl.menu.FileSaveMenuSection.FILE_SAVE_SECTION_URI;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuAction;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.impl.actions.SaveAllWorkflowsAction;
-
-public class FileSaveAllMenuAction extends AbstractMenuAction {
- private final EditManager editManager;
- private final FileManager fileManager;
-
- public FileSaveAllMenuAction(EditManager editManager,
- FileManager fileManager) {
- super(FILE_SAVE_SECTION_URI, 30);
- this.editManager = editManager;
- this.fileManager = fileManager;
- }
-
- @Override
- protected Action createAction() {
- return new SaveAllWorkflowsAction(editManager, fileManager);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveAsMenuAction.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveAsMenuAction.java b/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveAsMenuAction.java
deleted file mode 100644
index 77917c9..0000000
--- a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveAsMenuAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workbench.file.impl.menu;
-
-import static net.sf.taverna.t2.workbench.file.impl.menu.FileSaveMenuSection.FILE_SAVE_SECTION_URI;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuAction;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.impl.actions.SaveWorkflowAsAction;
-
-public class FileSaveAsMenuAction extends AbstractMenuAction {
- private final FileManager fileManager;
-
- public FileSaveAsMenuAction(FileManager fileManager) {
- super(FILE_SAVE_SECTION_URI, 20);
- this.fileManager = fileManager;
- }
-
- @Override
- protected Action createAction() {
- return new SaveWorkflowAsAction(fileManager);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveMenuAction.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveMenuAction.java b/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveMenuAction.java
deleted file mode 100644
index eeaecb3..0000000
--- a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveMenuAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workbench.file.impl.menu;
-
-import static net.sf.taverna.t2.workbench.file.impl.menu.FileSaveMenuSection.FILE_SAVE_SECTION_URI;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuAction;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.impl.actions.SaveWorkflowAction;
-
-public class FileSaveMenuAction extends AbstractMenuAction {
- private final EditManager editManager;
- private final FileManager fileManager;
-
- public FileSaveMenuAction(EditManager editManager, FileManager fileManager) {
- super(FILE_SAVE_SECTION_URI, 10);
- this.editManager = editManager;
- this.fileManager = fileManager;
- }
-
- @Override
- protected Action createAction() {
- return new SaveWorkflowAction(editManager, fileManager);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveMenuSection.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveMenuSection.java b/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveMenuSection.java
deleted file mode 100644
index a75a855..0000000
--- a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/FileSaveMenuSection.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workbench.file.impl.menu;
-
-import java.net.URI;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuSection;
-
-public class FileSaveMenuSection extends AbstractMenuSection {
- public static final URI FILE_URI = URI
- .create("http://taverna.sf.net/2008/t2workbench/menu#file");
- public static final URI FILE_SAVE_SECTION_URI = URI
- .create("http://taverna.sf.net/2008/t2workbench/menu#fileSaveSection");
-
- public FileSaveMenuSection() {
- super(FILE_URI, 40, FILE_SAVE_SECTION_URI);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/WorkflowsMenu.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/WorkflowsMenu.java b/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/WorkflowsMenu.java
deleted file mode 100644
index e056572..0000000
--- a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/menu/WorkflowsMenu.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workbench.file.impl.menu;
-
-import static java.awt.event.KeyEvent.VK_0;
-import static java.awt.event.KeyEvent.VK_W;
-import static javax.swing.Action.MNEMONIC_KEY;
-import static javax.swing.SwingUtilities.invokeLater;
-import static net.sf.taverna.t2.ui.menu.DefaultMenuBar.DEFAULT_MENU_BAR;
-
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-
-import javax.swing.AbstractAction;
-import javax.swing.ButtonGroup;
-import javax.swing.JMenu;
-import javax.swing.JRadioButtonMenuItem;
-
-import net.sf.taverna.t2.lang.observer.Observable;
-import net.sf.taverna.t2.lang.observer.Observer;
-import net.sf.taverna.t2.ui.menu.AbstractMenuCustom;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.edits.EditManager.AbstractDataflowEditEvent;
-import net.sf.taverna.t2.workbench.edits.EditManager.EditManagerEvent;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.events.AbstractDataflowEvent;
-import net.sf.taverna.t2.workbench.file.events.FileManagerEvent;
-import uk.org.taverna.scufl2.api.container.WorkflowBundle;
-
-public class WorkflowsMenu extends AbstractMenuCustom {
- private EditManagerObserver editManagerObserver = new EditManagerObserver();
- private FileManager fileManager;
- private FileManagerObserver fileManagerObserver = new FileManagerObserver();
-
- private JMenu workflowsMenu;
-
- public WorkflowsMenu(EditManager editManager, FileManager fileManager) {
- super(DEFAULT_MENU_BAR, 900);
- this.fileManager = fileManager;
- fileManager.addObserver(fileManagerObserver);
- editManager.addObserver(editManagerObserver);
- }
-
- @Override
- protected Component createCustomComponent() {
- DummyAction action = new DummyAction("Workflows");
- action.putValue(MNEMONIC_KEY, VK_W);
-
- workflowsMenu = new JMenu(action);
-
- updateWorkflowsMenu();
- return workflowsMenu;
- }
-
- public void updateWorkflowsMenu() {
- invokeLater(new Runnable() {
- @Override
- public void run() {
- updateWorkflowsMenuUI();
- }
- });
- }
-
- protected void updateWorkflowsMenuUI() {
- workflowsMenu.setEnabled(false);
- workflowsMenu.removeAll();
- ButtonGroup workflowsGroup = new ButtonGroup();
-
- int i = 0;
- WorkflowBundle currentDataflow = fileManager.getCurrentDataflow();
- for (WorkflowBundle workflowBundle : fileManager.getOpenDataflows()) {
- String name = fileManager.getDataflowName(workflowBundle);
- if (fileManager.isDataflowChanged(workflowBundle))
- name = "*" + name;
- // A counter
- name = ++i + " " + name;
-
- SwitchWorkflowAction switchWorkflowAction = new SwitchWorkflowAction(
- name, workflowBundle);
- if (i < 10)
- switchWorkflowAction.putValue(MNEMONIC_KEY, new Integer(VK_0
- + i));
-
- JRadioButtonMenuItem switchWorkflowMenuItem = new JRadioButtonMenuItem(
- switchWorkflowAction);
- workflowsGroup.add(switchWorkflowMenuItem);
- if (workflowBundle.equals(currentDataflow))
- switchWorkflowMenuItem.setSelected(true);
- workflowsMenu.add(switchWorkflowMenuItem);
- }
- if (i == 0)
- workflowsMenu.add(new NoWorkflowsOpen());
- workflowsMenu.setEnabled(true);
- workflowsMenu.revalidate();
- }
-
- private final class EditManagerObserver implements
- Observer<EditManagerEvent> {
- @Override
- public void notify(Observable<EditManagerEvent> sender,
- EditManagerEvent message) throws Exception {
- if (message instanceof AbstractDataflowEditEvent)
- updateWorkflowsMenu();
- }
- }
-
- private final class FileManagerObserver implements
- Observer<FileManagerEvent> {
- @Override
- public void notify(Observable<FileManagerEvent> sender,
- FileManagerEvent message) throws Exception {
- if (message instanceof AbstractDataflowEvent)
- updateWorkflowsMenu();
- // TODO: Don't rebuild whole menu
- }
- }
-
- @SuppressWarnings("serial")
- private final class NoWorkflowsOpen extends AbstractAction {
- private NoWorkflowsOpen() {
- super("No workflows open");
- setEnabled(false);
- }
-
- @Override
- public void actionPerformed(ActionEvent e) {
- // No-op
- }
- }
-
- @SuppressWarnings("serial")
- private final class SwitchWorkflowAction extends AbstractAction {
- private final WorkflowBundle workflowBundle;
-
- private SwitchWorkflowAction(String name, WorkflowBundle workflowBundle) {
- super(name);
- this.workflowBundle = workflowBundle;
- }
-
- @Override
- public void actionPerformed(ActionEvent e) {
- fileManager.setCurrentDataflow(workflowBundle);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/CloseToolbarAction.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/CloseToolbarAction.java b/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/CloseToolbarAction.java
deleted file mode 100644
index 68ef3f9..0000000
--- a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/CloseToolbarAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workbench.file.impl.toolbar;
-
-import static net.sf.taverna.t2.workbench.file.impl.toolbar.FileToolbarMenuSection.FILE_TOOLBAR_SECTION;
-
-import java.net.URI;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuAction;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.impl.actions.CloseWorkflowAction;
-
-/**
- * Action to close the current workflow.
- *
- * @author Alex Nenadic
- */
-public class CloseToolbarAction extends AbstractMenuAction {
- private static final URI FILE_CLOSE_URI = URI
- .create("http://taverna.sf.net/2008/t2workbench/menu#fileToolbarClose");
- private final EditManager editManager;
- private final FileManager fileManager;
-
- public CloseToolbarAction(EditManager editManager, FileManager fileManager) {
- super(FILE_TOOLBAR_SECTION, 30, FILE_CLOSE_URI);
- this.editManager = editManager;
- this.fileManager = fileManager;
- }
-
- @Override
- protected Action createAction() {
- return new CloseWorkflowAction(editManager, fileManager);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/FileToolbarMenuSection.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/FileToolbarMenuSection.java b/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/FileToolbarMenuSection.java
deleted file mode 100644
index 257d590..0000000
--- a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/FileToolbarMenuSection.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workbench.file.impl.toolbar;
-
-import static net.sf.taverna.t2.ui.menu.DefaultToolBar.DEFAULT_TOOL_BAR;
-
-import java.net.URI;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuSection;
-
-public class FileToolbarMenuSection extends AbstractMenuSection {
- public static final URI FILE_TOOLBAR_SECTION = URI
- .create("http://taverna.sf.net/2008/t2workbench/menu#fileToolbarSection");
-
- public FileToolbarMenuSection() {
- super(DEFAULT_TOOL_BAR, 10, FILE_TOOLBAR_SECTION);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/NewToolbarAction.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/NewToolbarAction.java b/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/NewToolbarAction.java
deleted file mode 100644
index 2c8e922..0000000
--- a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/NewToolbarAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workbench.file.impl.toolbar;
-
-import static net.sf.taverna.t2.workbench.file.impl.toolbar.FileToolbarMenuSection.FILE_TOOLBAR_SECTION;
-
-import java.net.URI;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuAction;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.impl.actions.NewWorkflowAction;
-
-public class NewToolbarAction extends AbstractMenuAction {
- private static final URI FILE_NEW_URI = URI
- .create("http://taverna.sf.net/2008/t2workbench/menu#fileToolbarNew");
- private final FileManager fileManager;
-
- public NewToolbarAction(FileManager fileManager) {
- super(FILE_TOOLBAR_SECTION, 10, FILE_NEW_URI);
- this.fileManager = fileManager;
- }
-
- @Override
- protected Action createAction() {
- return new NewWorkflowAction(fileManager);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/OpenToolbarAction.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/OpenToolbarAction.java b/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/OpenToolbarAction.java
deleted file mode 100644
index ae99509..0000000
--- a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/OpenToolbarAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workbench.file.impl.toolbar;
-
-import static net.sf.taverna.t2.workbench.file.impl.toolbar.FileToolbarMenuSection.FILE_TOOLBAR_SECTION;
-
-import java.net.URI;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuAction;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.impl.actions.OpenWorkflowAction;
-
-public class OpenToolbarAction extends AbstractMenuAction {
- private static final URI FILE_OPEN_URI = URI
- .create("http://taverna.sf.net/2008/t2workbench/menu#fileToolbarOpen");
- private final FileManager fileManager;
-
- public OpenToolbarAction(FileManager fileManager) {
- super(FILE_TOOLBAR_SECTION, 20, FILE_OPEN_URI);
- this.fileManager = fileManager;
- }
-
- @Override
- protected Action createAction() {
- return new OpenWorkflowAction(fileManager);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/OpenWorkflowFromURLToolbarAction.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/OpenWorkflowFromURLToolbarAction.java b/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/OpenWorkflowFromURLToolbarAction.java
deleted file mode 100644
index 2554063..0000000
--- a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/OpenWorkflowFromURLToolbarAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workbench.file.impl.toolbar;
-
-import static net.sf.taverna.t2.workbench.file.impl.toolbar.FileToolbarMenuSection.FILE_TOOLBAR_SECTION;
-
-import java.net.URI;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuAction;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.impl.actions.OpenWorkflowFromURLAction;
-
-public class OpenWorkflowFromURLToolbarAction extends AbstractMenuAction {
- private static final URI FILE_OPEN_FROM_URL_URI = URI
- .create("http://taverna.sf.net/2008/t2workbench/menu#fileToolbarOpenFromURL");
- private final FileManager fileManager;
-
- public OpenWorkflowFromURLToolbarAction(FileManager fileManager) {
- super(FILE_TOOLBAR_SECTION, 25, FILE_OPEN_FROM_URL_URI);
- this.fileManager = fileManager;
- }
-
- @Override
- protected Action createAction() {
- return new OpenWorkflowFromURLAction(null, fileManager);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/SaveToolbarAction.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/SaveToolbarAction.java b/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/SaveToolbarAction.java
deleted file mode 100644
index 53ba720..0000000
--- a/taverna-workbench-file-impl/src/main/java/net/sf/taverna/t2/workbench/file/impl/toolbar/SaveToolbarAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workbench.file.impl.toolbar;
-
-import static net.sf.taverna.t2.workbench.file.impl.toolbar.FileToolbarMenuSection.FILE_TOOLBAR_SECTION;
-
-import java.net.URI;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.ui.menu.AbstractMenuAction;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.impl.actions.SaveWorkflowAction;
-
-public class SaveToolbarAction extends AbstractMenuAction {
- private static final URI FILE_SAVE_URI = URI
- .create("http://taverna.sf.net/2008/t2workbench/menu#fileToolbarSave");
- private final EditManager editManager;
- private final FileManager fileManager;
-
- public SaveToolbarAction(EditManager editManager, FileManager fileManager) {
- super(FILE_TOOLBAR_SECTION, 40, FILE_SAVE_URI);
- this.editManager = editManager;
- this.fileManager = fileManager;
- }
-
- @Override
- protected Action createAction() {
- return new SaveWorkflowAction(editManager, fileManager);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent b/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
deleted file mode 100644
index 100915c..0000000
--- a/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
+++ /dev/null
@@ -1,20 +0,0 @@
-net.sf.taverna.t2.workbench.file.impl.menu.FileCloseMenuAction
-net.sf.taverna.t2.workbench.file.impl.menu.FileNewMenuAction
-net.sf.taverna.t2.workbench.file.impl.menu.FileOpenMenuAction
-net.sf.taverna.t2.workbench.file.impl.menu.FileOpenFromURLMenuAction
-net.sf.taverna.t2.workbench.file.impl.menu.FileOpenMenuSection
-net.sf.taverna.t2.workbench.file.impl.menu.FileOpenRecentMenuAction
-net.sf.taverna.t2.workbench.file.impl.menu.FileSaveMenuSection
-net.sf.taverna.t2.workbench.file.impl.menu.FileSaveMenuAction
-net.sf.taverna.t2.workbench.file.impl.menu.FileSaveAllMenuAction
-net.sf.taverna.t2.workbench.file.impl.menu.FileSaveAsMenuAction
-
-net.sf.taverna.t2.workbench.file.impl.menu.WorkflowsMenu
-net.sf.taverna.t2.workbench.file.impl.menu.FileCloseAllMenuAction
-
-net.sf.taverna.t2.workbench.file.impl.toolbar.FileToolbarMenuSection
-net.sf.taverna.t2.workbench.file.impl.toolbar.NewToolbarAction
-net.sf.taverna.t2.workbench.file.impl.toolbar.OpenToolbarAction
-net.sf.taverna.t2.workbench.file.impl.toolbar.OpenWorkflowFromURLToolbarAction
-net.sf.taverna.t2.workbench.file.impl.toolbar.SaveToolbarAction
-net.sf.taverna.t2.workbench.file.impl.toolbar.CloseToolbarAction
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ShutdownSPI
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ShutdownSPI b/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ShutdownSPI
deleted file mode 100644
index cc53d36..0000000
--- a/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ShutdownSPI
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.workbench.file.impl.hooks.CloseWorkflowsOnShutdown
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler b/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler
deleted file mode 100644
index cfd1c7a..0000000
--- a/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler
+++ /dev/null
@@ -1,2 +0,0 @@
-net.sf.taverna.t2.workbench.file.impl.T2DataflowOpener
-net.sf.taverna.t2.workbench.file.impl.DataflowFromDataflowPersistenceHandler
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.file.FileManager
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.file.FileManager b/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.file.FileManager
deleted file mode 100644
index 656feeb..0000000
--- a/taverna-workbench-file-impl/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.file.FileManager
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.workbench.file.impl.FileManagerImpl
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/resources/META-INF/spring/file-impl-context-osgi.xml
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/resources/META-INF/spring/file-impl-context-osgi.xml b/taverna-workbench-file-impl/src/main/resources/META-INF/spring/file-impl-context-osgi.xml
deleted file mode 100644
index 7c6e290..0000000
--- a/taverna-workbench-file-impl/src/main/resources/META-INF/spring/file-impl-context-osgi.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans:beans xmlns="http://www.springframework.org/schema/osgi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:beans="http://www.springframework.org/schema/beans"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/osgi
- http://www.springframework.org/schema/osgi/spring-osgi.xsd">
-
- <service ref="FileCloseMenuAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="file.close" />
- </service-properties>
- </service>
- <service ref="FileNewMenuAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="file.new" />
- </service-properties>
- </service>
- <service ref="FileOpenMenuAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="file.open" />
- </service-properties>
- </service>
- <service ref="FileOpenFromURLMenuAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="file.open.url" />
- </service-properties>
- </service>
- <service ref="FileOpenMenuSection" auto-export="interfaces" />
- <service ref="FileOpenRecentMenuAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="file.open.recent" />
- </service-properties>
- </service>
- <service ref="FileSaveMenuSection" auto-export="interfaces" />
- <service ref="FileSaveMenuAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="file.save" />
- </service-properties>
- </service>
- <service ref="FileSaveAllMenuAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="file.save.all" />
- </service-properties>
- </service>
- <service ref="FileSaveAsMenuAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="file.save.as" />
- </service-properties>
- </service>
- <service ref="WorkflowsMenu" auto-export="interfaces" />
- <service ref="FileCloseAllMenuAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="file.close.all" />
- </service-properties>
- </service>
- <service ref="FileToolbarMenuSection" auto-export="interfaces" />
- <service ref="NewToolbarAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="toolbar.new" />
- </service-properties>
- </service>
- <service ref="OpenToolbarAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="toolbar.open" />
- </service-properties>
- </service>
- <service ref="OpenWorkflowFromURLToolbarAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="toolbar.open.url" />
- </service-properties>
- </service>
- <service ref="SaveToolbarAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="toolbar.save" />
- </service-properties>
- </service>
- <service ref="CloseToolbarAction" auto-export="interfaces">
- <service-properties>
- <beans:entry key="menu.action" value="toolbar.close" />
- </service-properties>
- </service>
-
- <service ref="T2DataflowOpener" interface="net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler" />
-
- <service ref="WorkflowBundleOpener" interface="net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler" />
- <service ref="WorkflowBundleSaver" interface="net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler" />
-
- <service ref="CloseWorkflowsOnShutdown" interface="net.sf.taverna.t2.workbench.ShutdownSPI" />
-
- <service ref="FileManagerImpl" interface="net.sf.taverna.t2.workbench.file.FileManager" />
-
- <reference id="editManager" interface="net.sf.taverna.t2.workbench.edits.EditManager" />
- <reference id="applicationConfiguration" interface="uk.org.taverna.configuration.app.ApplicationConfiguration" />
- <reference id="workflowBundleIO" interface="uk.org.taverna.scufl2.api.io.WorkflowBundleIO" />
-
- <list id="dataflowPersistenceHandlers" interface="net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler" cardinality="0..N">
- <listener ref="DataflowPersistenceHandlerRegistry" bind-method="update" unbind-method="update" />
- </list>
-</beans:beans>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/main/resources/META-INF/spring/file-impl-context.xml
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/main/resources/META-INF/spring/file-impl-context.xml b/taverna-workbench-file-impl/src/main/resources/META-INF/spring/file-impl-context.xml
deleted file mode 100644
index 493df5f..0000000
--- a/taverna-workbench-file-impl/src/main/resources/META-INF/spring/file-impl-context.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd">
-
- <bean id="FileCloseMenuAction" class="net.sf.taverna.t2.workbench.file.impl.menu.FileCloseMenuAction">
- <constructor-arg ref="editManager" />
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
- <bean id="FileNewMenuAction" class="net.sf.taverna.t2.workbench.file.impl.menu.FileNewMenuAction">
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
- <bean id="FileOpenMenuAction" class="net.sf.taverna.t2.workbench.file.impl.menu.FileOpenMenuAction">
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
- <bean id="FileOpenFromURLMenuAction" class="net.sf.taverna.t2.workbench.file.impl.menu.FileOpenFromURLMenuAction">
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
- <bean id="FileOpenMenuSection" class="net.sf.taverna.t2.workbench.file.impl.menu.FileOpenMenuSection" />
- <bean id="FileOpenRecentMenuAction" class="net.sf.taverna.t2.workbench.file.impl.menu.FileOpenRecentMenuAction">
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- <property name="applicationConfiguration" ref="applicationConfiguration"/>
- </bean>
- <bean id="FileSaveMenuSection" class="net.sf.taverna.t2.workbench.file.impl.menu.FileSaveMenuSection" />
- <bean id="FileSaveMenuAction" class="net.sf.taverna.t2.workbench.file.impl.menu.FileSaveMenuAction">
- <constructor-arg ref="editManager" />
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
- <bean id="FileSaveAllMenuAction" class="net.sf.taverna.t2.workbench.file.impl.menu.FileSaveAllMenuAction">
- <constructor-arg ref="editManager" />
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
- <bean id="FileSaveAsMenuAction" class="net.sf.taverna.t2.workbench.file.impl.menu.FileSaveAsMenuAction">
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
- <bean id="WorkflowsMenu" class="net.sf.taverna.t2.workbench.file.impl.menu.WorkflowsMenu">
- <constructor-arg ref="editManager" />
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
- <bean id="FileCloseAllMenuAction" class="net.sf.taverna.t2.workbench.file.impl.menu.FileCloseAllMenuAction">
- <constructor-arg ref="editManager" />
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
- <bean id="FileToolbarMenuSection" class="net.sf.taverna.t2.workbench.file.impl.toolbar.FileToolbarMenuSection" />
- <bean id="NewToolbarAction" class="net.sf.taverna.t2.workbench.file.impl.toolbar.NewToolbarAction">
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
- <bean id="OpenToolbarAction" class="net.sf.taverna.t2.workbench.file.impl.toolbar.OpenToolbarAction">
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
- <bean id="OpenWorkflowFromURLToolbarAction" class="net.sf.taverna.t2.workbench.file.impl.toolbar.OpenWorkflowFromURLToolbarAction">
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
- <bean id="SaveToolbarAction" class="net.sf.taverna.t2.workbench.file.impl.toolbar.SaveToolbarAction">
- <constructor-arg ref="editManager" />
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
- <bean id="CloseToolbarAction" class="net.sf.taverna.t2.workbench.file.impl.toolbar.CloseToolbarAction">
- <constructor-arg ref="editManager" />
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
-
- <bean id="T2DataflowOpener" class="net.sf.taverna.t2.workbench.file.impl.T2DataflowOpener">
- <property name="workflowBundleIO" ref="workflowBundleIO"/>
- </bean>
-
- <bean id="WorkflowBundleOpener" class="net.sf.taverna.t2.workbench.file.impl.WorkflowBundleOpener">
- <property name="workflowBundleIO" ref="workflowBundleIO"/>
- </bean>
- <bean id="WorkflowBundleSaver" class="net.sf.taverna.t2.workbench.file.impl.WorkflowBundleSaver">
- <property name="workflowBundleIO" ref="workflowBundleIO"/>
- </bean>
-
- <bean id="CloseWorkflowsOnShutdown" class="net.sf.taverna.t2.workbench.file.impl.hooks.CloseWorkflowsOnShutdown">
- <constructor-arg ref="editManager" />
- <constructor-arg>
- <ref local="FileManagerImpl" />
- </constructor-arg>
- </bean>
-
- <bean id="FileManagerImpl" class="net.sf.taverna.t2.workbench.file.impl.FileManagerImpl">
- <constructor-arg name="editManager" ref="editManager" />
- <property name="dataflowPersistenceHandlerRegistry">
- <ref local="DataflowPersistenceHandlerRegistry"/>
- </property>
- </bean>
-
- <bean id="DataflowPersistenceHandlerRegistry" class="net.sf.taverna.t2.workbench.file.impl.DataflowPersistenceHandlerRegistry">
- <property name="dataflowPersistenceHandlers" ref="dataflowPersistenceHandlers" />
- </bean>
-
-
-</beans>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/test/java/net/sf/taverna/t2/workbench/file/impl/FileManagerTest.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/test/java/net/sf/taverna/t2/workbench/file/impl/FileManagerTest.java b/taverna-workbench-file-impl/src/test/java/net/sf/taverna/t2/workbench/file/impl/FileManagerTest.java
deleted file mode 100644
index 691b278..0000000
--- a/taverna-workbench-file-impl/src/test/java/net/sf/taverna/t2/workbench/file/impl/FileManagerTest.java
+++ /dev/null
@@ -1,385 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package net.sf.taverna.t2.workbench.file.impl;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import net.sf.taverna.t2.lang.observer.Observable;
-import net.sf.taverna.t2.lang.observer.Observer;
-import net.sf.taverna.t2.workbench.edits.Edit;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.edits.impl.EditManagerImpl;
-import net.sf.taverna.t2.workbench.file.DataflowInfo;
-import net.sf.taverna.t2.workbench.file.DataflowPersistenceHandler;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.events.FileManagerEvent;
-import net.sf.taverna.t2.workbench.file.events.SetCurrentDataflowEvent;
-import net.sf.taverna.t2.workbench.file.exceptions.OpenException;
-import net.sf.taverna.t2.workbench.file.exceptions.OverwriteException;
-import net.sf.taverna.t2.workflow.edits.AddProcessorEdit;
-import net.sf.taverna.t2.workflow.edits.RenameEdit;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import uk.org.taverna.scufl2.api.container.WorkflowBundle;
-import uk.org.taverna.scufl2.api.core.Processor;
-import uk.org.taverna.scufl2.api.core.Workflow;
-import uk.org.taverna.scufl2.api.io.WorkflowBundleIO;
-import uk.org.taverna.scufl2.api.io.WorkflowBundleReader;
-import uk.org.taverna.scufl2.api.io.WorkflowBundleWriter;
-import uk.org.taverna.scufl2.rdfxml.RDFXMLReader;
-import uk.org.taverna.scufl2.rdfxml.RDFXMLWriter;
-import uk.org.taverna.scufl2.translator.t2flow.T2FlowReader;
-
-public class FileManagerTest {
-
- private static final WorkflowBundleFileType WF_BUNDLE_FILE_TYPE = new WorkflowBundleFileType();
- private static final T2FlowFileType T2_FLOW_FILE_TYPE = new T2FlowFileType();
-
- private static final String DUMMY_WORKFLOW_T2FLOW = "dummy-workflow.t2flow";
-
- private FileManagerImpl fileManager;
- private EditManager editManager;
-
- private FileManagerObserver fileManagerObserver= new FileManagerObserver();;
-
- @Test
- public void close() throws Exception {
- assertTrue("Non-empty set of open dataflows", fileManager
- .getOpenDataflows().isEmpty());
- WorkflowBundle dataflow = openDataflow();
- assertEquals("Unexpected list of open dataflows", Arrays
- .asList(dataflow), fileManager.getOpenDataflows());
- fileManager.closeDataflow(dataflow, true);
- assertNotSame(dataflow, fileManager.getOpenDataflows().get(0));
- assertTrue("Did not insert empty dataflow after close", fileManager
- .getOpenDataflows().get(0).getMainWorkflow().getProcessors().isEmpty());
- }
-
- @Test
- public void openRemovesEmptyDataflow() throws Exception {
- WorkflowBundle newDataflow = fileManager.newDataflow();
- assertEquals("Unexpected list of open dataflows", Arrays
- .asList(newDataflow), fileManager.getOpenDataflows());
- WorkflowBundle dataflow = openDataflow();
- // Should have removed newDataflow
- assertEquals("Unexpected list of open dataflows", Arrays
- .asList(dataflow), fileManager.getOpenDataflows());
- }
-
- @Test
- public void isChanged() throws Exception {
- WorkflowBundle dataflow = openDataflow();
- assertFalse("Dataflow should not have changed", fileManager
- .isDataflowChanged(dataflow));
-
- // Do a change
- Processor emptyProcessor = new Processor();
- Edit<Workflow> addProcessorEdit = new AddProcessorEdit(dataflow.getMainWorkflow(),
- emptyProcessor);
- editManager.doDataflowEdit(dataflow, addProcessorEdit);
- assertTrue("Dataflow should have changed", fileManager
- .isDataflowChanged(dataflow));
-
- // Save it with the change
- File dataflowFile = File.createTempFile("test", ".t2flow");
- dataflowFile.deleteOnExit();
- dataflowFile.delete();
-
- fileManager.saveDataflow(dataflow, WF_BUNDLE_FILE_TYPE, dataflowFile, false);
- assertFalse("Dataflow should no longer be marked as changed",
- fileManager.isDataflowChanged(dataflow));
- }
-
- @Ignore("Undo support for ischanged not yet implemented")
- @Test
- public void isChangedWithUndo() throws Exception {
- WorkflowBundle dataflow = openDataflow();
- // Do a change
- Processor emptyProcessor = new Processor();
- Edit<Workflow> addProcessorEdit = new AddProcessorEdit(dataflow.getMainWorkflow(),
- emptyProcessor);
- editManager.doDataflowEdit(dataflow, addProcessorEdit);
- assertTrue("Dataflow should have changed", fileManager
- .isDataflowChanged(dataflow));
- editManager.undoDataflowEdit(dataflow);
- assertFalse(
- "Dataflow should no longer be marked as changed after undo",
- fileManager.isDataflowChanged(dataflow));
- editManager.redoDataflowEdit(dataflow);
- assertTrue("Dataflow should have changed after redo before save",
- fileManager.isDataflowChanged(dataflow));
-
- // Save it with the change
- File dataflowFile = File.createTempFile("test", ".t2flow");
- dataflowFile.deleteOnExit();
- dataflowFile.delete();
- fileManager.saveDataflow(dataflow, WF_BUNDLE_FILE_TYPE, dataflowFile, false);
- assertFalse("Dataflow should no longer be marked as changed",
- fileManager.isDataflowChanged(dataflow));
-
- editManager.undoDataflowEdit(dataflow);
- assertTrue("Dataflow should have changed after undo", fileManager
- .isDataflowChanged(dataflow));
- fileManager.saveDataflow(dataflow, WF_BUNDLE_FILE_TYPE, dataflowFile, false);
- editManager.redoDataflowEdit(dataflow);
- assertTrue("Dataflow should have changed after redo after save",
- fileManager.isDataflowChanged(dataflow));
- }
-
- @Test
- public void isListed() throws Exception {
- assertTrue("Non-empty set of open data flows", fileManager
- .getOpenDataflows().isEmpty());
- WorkflowBundle dataflow = openDataflow();
- assertEquals("Unexpected list of open dataflows", Arrays
- .asList(dataflow), fileManager.getOpenDataflows());
- }
-
- /**
- * Always uses a <strong>new</strong> file manager instead of the instance
- * one from {@link FileManager#getInstance()}.
- *
- * @see #getFileManagerInstance()
- *
- */
- @Before
- public void makeFileManager() {
- System.setProperty("java.awt.headless", "true");
- editManager = new EditManagerImpl();
- fileManager = new FileManagerImpl(editManager);
- fileManagerObserver = new FileManagerObserver();
- fileManager.addObserver(fileManagerObserver);
- WorkflowBundleIO workflowBundleIO = new WorkflowBundleIO();
- workflowBundleIO.setReaders(Arrays.<WorkflowBundleReader>asList(new RDFXMLReader(), new T2FlowReader()));
- workflowBundleIO.setWriters(Arrays.<WorkflowBundleWriter>asList(new RDFXMLWriter()));
- T2DataflowOpener t2DataflowOpener = new T2DataflowOpener();
- t2DataflowOpener.setWorkflowBundleIO(workflowBundleIO);
- WorkflowBundleOpener workflowBundleOpener = new WorkflowBundleOpener();
- workflowBundleOpener.setWorkflowBundleIO(workflowBundleIO);
- WorkflowBundleSaver workflowBundleSaver = new WorkflowBundleSaver();
- workflowBundleSaver.setWorkflowBundleIO(workflowBundleIO);
- DataflowPersistenceHandlerRegistry dataflowPersistenceHandlerRegistry = new DataflowPersistenceHandlerRegistry();
- dataflowPersistenceHandlerRegistry.setDataflowPersistenceHandlers(Arrays.asList(
- new DataflowPersistenceHandler[] {t2DataflowOpener, workflowBundleOpener, workflowBundleSaver}));
- dataflowPersistenceHandlerRegistry.updateColletions();
- fileManager.setDataflowPersistenceHandlerRegistry(dataflowPersistenceHandlerRegistry);
- }
-
- @Test
- public void open() throws Exception {
- assertTrue("ModelMapObserver already contained messages",
- fileManagerObserver.messages.isEmpty());
- WorkflowBundle dataflow = openDataflow();
- assertNotNull("Dataflow was not loaded", dataflow);
- assertEquals("Loaded dataflow was not set as current dataflow",
- dataflow, fileManager.getCurrentDataflow());
- assertFalse("ModelMapObserver did not contain message",
- fileManagerObserver.messages.isEmpty());
- assertEquals("ModelMapObserver contained unexpected messages", 2,
- fileManagerObserver.messages.size());
- FileManagerEvent event = fileManagerObserver.messages.get(0);
- assertTrue(event instanceof SetCurrentDataflowEvent);
- assertEquals(dataflow, ((SetCurrentDataflowEvent) event).getDataflow());
- }
-
- @Test
- public void openSilently() throws Exception {
- assertTrue("ModelMapObserver already contained messages",
- fileManagerObserver.messages.isEmpty());
- URL url = getClass().getResource(DUMMY_WORKFLOW_T2FLOW);
- DataflowInfo info = fileManager.openDataflowSilently(T2_FLOW_FILE_TYPE, url);
-
- WorkflowBundle dataflow = info.getDataflow();
- assertNotNull("Dataflow was not loaded", dataflow);
-
- assertNotSame("Loaded dataflow was set as current dataflow",
- dataflow, fileManager.getCurrentDataflow());
- assertTrue("ModelMapObserver contained unexpected messages",
- fileManagerObserver.messages.isEmpty());
- }
-
- @Test
- public void canSaveDataflow() throws Exception {
- WorkflowBundle savedDataflow = openDataflow();
- File dataflowFile = File.createTempFile("test", ".t2flow");
- dataflowFile.deleteOnExit();
- dataflowFile.delete();
- fileManager.saveDataflow(savedDataflow, WF_BUNDLE_FILE_TYPE, dataflowFile, true);
- assertTrue(fileManager.canSaveWithoutDestination(savedDataflow));
- fileManager.saveDataflow(savedDataflow, true);
- fileManager.closeDataflow(savedDataflow, true);
-
- WorkflowBundle otherFlow = fileManager.openDataflow(WF_BUNDLE_FILE_TYPE, dataflowFile.toURI()
- .toURL());
- assertTrue(fileManager.canSaveWithoutDestination(otherFlow));
- }
-
- @Test
- public void save() throws Exception {
- WorkflowBundle savedDataflow = openDataflow();
- File dataflowFile = File.createTempFile("test", ".t2flow");
- dataflowFile.deleteOnExit();
- dataflowFile.delete();
- assertFalse("File should not exist", dataflowFile.isFile());
- fileManager.saveDataflow(savedDataflow, WF_BUNDLE_FILE_TYPE, dataflowFile, false);
- assertTrue("File should exist", dataflowFile.isFile());
- WorkflowBundle loadedDataflow = fileManager.openDataflow(WF_BUNDLE_FILE_TYPE, dataflowFile.toURI()
- .toURL());
- assertNotSame("Dataflow was not reopened", savedDataflow,
- loadedDataflow);
- assertEquals("Unexpected number of processors in saved dataflow", 1,
- savedDataflow.getMainWorkflow().getProcessors().size());
- assertEquals("Unexpected number of processors in loaded dataflow", 1,
- loadedDataflow.getMainWorkflow().getProcessors().size());
-
- Processor savedProcessor = savedDataflow.getMainWorkflow().getProcessors().first();
- Processor loadedProcessor = loadedDataflow.getMainWorkflow().getProcessors().first();
- assertEquals("Loaded processor had wrong name", savedProcessor
- .getName(), loadedProcessor.getName());
-
- // TODO convert to scufl2
-// BeanshellActivity savedActivity = (BeanshellActivity) savedProcessor
-// .getActivityList().get(0);
-// BeanshellActivity loadedActivity = (BeanshellActivity) loadedProcessor
-// .getActivityList().get(0);
-// String savedScript = savedActivity.getConfiguration().getScript();
-// String loadedScript = loadedActivity.getConfiguration().getScript();
-// assertEquals("Unexpected saved script",
-// "String output = input + \"XXX\";", savedScript);
-// assertEquals("Loaded script did not matched saved script", savedScript,
-// loadedScript);
- }
-
- @Test
- public void saveSilent() throws Exception {
- assertTrue("ModelMapObserver contained unexpected messages",
- fileManagerObserver.messages.isEmpty());
-
- URL url = getClass().getResource(DUMMY_WORKFLOW_T2FLOW);
- DataflowInfo info = fileManager.openDataflowSilently(T2_FLOW_FILE_TYPE, url);
- WorkflowBundle dataflow = info.getDataflow();
- assertTrue("ModelMapObserver contained unexpected messages",
- fileManagerObserver.messages.isEmpty());
-
- File dataflowFile = File.createTempFile("test", ".t2flow");
- dataflowFile.deleteOnExit();
- dataflowFile.delete();
- assertFalse("File should not exist", dataflowFile.isFile());
-
- fileManager.saveDataflowSilently(dataflow, WF_BUNDLE_FILE_TYPE, dataflowFile, false);
- assertTrue("File should exist", dataflowFile.isFile());
-
- assertTrue("ModelMapObserver contained unexpected messages",
- fileManagerObserver.messages.isEmpty());
-
- }
-
- @Test
- public void saveOverwriteAgain() throws Exception {
- WorkflowBundle dataflow = openDataflow();
- File dataflowFile = File.createTempFile("test", ".t2flow");
- dataflowFile.delete();
- dataflowFile.deleteOnExit();
- // File did NOT exist, should not fail
- fileManager.saveDataflow(dataflow, WF_BUNDLE_FILE_TYPE, dataflowFile, true);
-
- Processor processor = dataflow.getMainWorkflow().getProcessors().first();
- Edit<Processor> renameEdit = new RenameEdit<Processor>(processor,
- processor.getName() + "-changed");
- editManager.doDataflowEdit(dataflow, renameEdit);
-
- // Last save was OURs, so should *not* fail - even if we now use
- // the specific saveDataflow() method
- fileManager.saveDataflow(dataflow, WF_BUNDLE_FILE_TYPE, dataflowFile, true);
-
- //Thread.sleep(1500);
- WorkflowBundle otherFlow = openDataflow();
- // Saving another flow to same file should still fail
- try {
- fileManager.saveDataflow(otherFlow,WF_BUNDLE_FILE_TYPE, dataflowFile, true);
- fail("Should have thrown OverwriteException");
- } catch (OverwriteException ex) {
- // Expected
- }
- }
-
- @Test(expected = OverwriteException.class)
- public void saveOverwriteWarningFails() throws Exception {
- WorkflowBundle dataflow = openDataflow();
- File dataflowFile = File.createTempFile("test", ".t2flow");
- dataflowFile.deleteOnExit();
- // Should fail as file already exists
- fileManager.saveDataflow(dataflow, WF_BUNDLE_FILE_TYPE, dataflowFile, true);
- }
-
- @Test
- public void saveOverwriteWarningWorks() throws Exception {
- WorkflowBundle dataflow = openDataflow();
- File dataflowFile = File.createTempFile("test", ".t2flow");
- dataflowFile.delete();
- dataflowFile.deleteOnExit();
- // File did NOT exist, should not fail
- fileManager.saveDataflow(dataflow, WF_BUNDLE_FILE_TYPE, dataflowFile, true);
- }
-
- @After
- public void stopListeningToModelMap() {
- fileManager.removeObserver(fileManagerObserver);
- }
-
- protected WorkflowBundle openDataflow() throws OpenException {
- URL url = getClass().getResource(DUMMY_WORKFLOW_T2FLOW);
- assertNotNull(url);
- WorkflowBundle dataflow = fileManager.openDataflow(T2_FLOW_FILE_TYPE, url);
- assertNotNull(dataflow);
- return dataflow;
- }
-
- private final class FileManagerObserver implements Observer<FileManagerEvent> {
- protected List<FileManagerEvent> messages = new ArrayList<FileManagerEvent>();
-
- @Override
- public void notify(Observable<FileManagerEvent> sender, FileManagerEvent message) throws Exception {
- messages.add(message);
- if (message instanceof SetCurrentDataflowEvent) {
- assertTrue("Dataflow was not listed as open when set current",
- fileManager.getOpenDataflows().contains(
- ((SetCurrentDataflowEvent) message).getDataflow()));
- }
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-file-impl/src/test/resources/net/sf/taverna/t2/workbench/file/impl/dummy-workflow.t2flow
----------------------------------------------------------------------
diff --git a/taverna-workbench-file-impl/src/test/resources/net/sf/taverna/t2/workbench/file/impl/dummy-workflow.t2flow b/taverna-workbench-file-impl/src/test/resources/net/sf/taverna/t2/workbench/file/impl/dummy-workflow.t2flow
deleted file mode 100644
index b9a1075..0000000
--- a/taverna-workbench-file-impl/src/test/resources/net/sf/taverna/t2/workbench/file/impl/dummy-workflow.t2flow
+++ /dev/null
@@ -1,157 +0,0 @@
-<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1" producedBy="test">
- <dataflow id="ec0991ba-275c-49ed-b1d6-38534180fb7c" role="top">
- <name>simple_workflow_with_input</name>
- <inputPorts>
- <port>
- <name>input</name>
- <depth>0</depth>
- <granularDepth>0</granularDepth>
- </port>
- </inputPorts>
- <outputPorts>
- <port>
- <name>output</name>
- </port>
- </outputPorts>
- <processors>
- <processor>
- <name>Concat_XXX</name>
- <inputPorts>
- <port>
- <name>input</name>
- <depth>0</depth>
- </port>
- </inputPorts>
- <outputPorts>
- <port>
- <name>output</name>
- <depth>0</depth>
- <granularDepth>0</granularDepth>
- </port>
- </outputPorts>
- <annotations />
- <activities>
- <activity>
- <class>
- net.sf.taverna.t2.activities.beanshell.BeanshellActivity
- </class>
- <inputMap>
- <map from="input" to="input" />
- </inputMap>
- <outputMap>
- <map from="output" to="output" />
- </outputMap>
- <configBean encoding="xstream">
- <net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean
- xmlns="">
- <script>String output = input + "XXX";</script>
- <dependencies />
- <inputs>
- <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
- <handledReferenceSchemes />
- <translatedElementType>java.lang.String</translatedElementType>
- <allowsLiteralValues>true</allowsLiteralValues>
- <name>input</name>
- <depth>0</depth>
- <mimeTypes>
- <string>'text/plain'</string>
- </mimeTypes>
- </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
- </inputs>
- <outputs>
- <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
- <granularDepth>0</granularDepth>
- <name>output</name>
- <depth>0</depth>
- <mimeTypes>
- <string>'text/plain'</string>
- </mimeTypes>
- </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
- </outputs>
- </net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean>
- </configBean>
- </activity>
- </activities>
- <dispatchStack>
- <dispatchLayer>
- <class>
- net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize
- </class>
- <configBean encoding="xstream">
- <net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig
- xmlns="">
- <maxJobs>1</maxJobs>
- </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig>
- </configBean>
- </dispatchLayer>
- <dispatchLayer>
- <class>
- net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce
- </class>
- <configBean encoding="xstream">
- <null xmlns="" />
- </configBean>
- </dispatchLayer>
- <dispatchLayer>
- <class>
- net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover
- </class>
- <configBean encoding="xstream">
- <null xmlns="" />
- </configBean>
- </dispatchLayer>
- <dispatchLayer>
- <class>
- net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry
- </class>
- <configBean encoding="xstream">
- <net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig
- xmlns="">
- <backoffFactor>1.0</backoffFactor>
- <initialDelay>0</initialDelay>
- <maxDelay>0</maxDelay>
- <maxRetries>0</maxRetries>
- </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig>
- </configBean>
- </dispatchLayer>
- <dispatchLayer>
- <class>
- net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke
- </class>
- <configBean encoding="xstream">
- <null xmlns="" />
- </configBean>
- </dispatchLayer>
- </dispatchStack>
- <iterationStrategyStack>
- <iteration>
- <strategy>
- <port name="input" depth="0" />
- </strategy>
- </iteration>
- </iterationStrategyStack>
- </processor>
- </processors>
- <conditions />
- <datalinks>
- <datalink>
- <sink type="processor">
- <processor>Concat_XXX</processor>
- <port>input</port>
- </sink>
- <source type="dataflow">
- <port>input</port>
- </source>
- </datalink>
- <datalink>
- <sink type="dataflow">
- <port>output</port>
- </sink>
- <source type="processor">
- <processor>Concat_XXX</processor>
- <port>output</port>
- </source>
- </datalink>
- </datalinks>
- </dataflow>
-</workflow>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-model/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-model/pom.xml b/taverna-workbench-graph-model/pom.xml
deleted file mode 100644
index 8e255ba..0000000
--- a/taverna-workbench-graph-model/pom.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>net.sf.taverna.t2</groupId>
- <artifactId>ui-components</artifactId>
- <version>2.0-SNAPSHOT</version>
- </parent>
- <groupId>net.sf.taverna.t2.ui-components</groupId>
- <artifactId>graph-model</artifactId>
- <packaging>bundle</packaging>
- <name>Graph Model</name>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>javacc-maven-plugin</artifactId>
- <version>2.6</version>
- <executions>
- <execution>
- <id>javacc</id>
- <goals>
- <goal>jjtree-javacc</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- <pluginManagement>
- <plugins>
- <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.codehaus.mojo
- </groupId>
- <artifactId>
- javacc-maven-plugin
- </artifactId>
- <versionRange>
- [2.6,)
- </versionRange>
- <goals>
- <goal>jjtree-javacc</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <execute>
- <runOnIncremental>false</runOnIncremental>
- </execute>
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- <dependencies>
- <dependency>
- <groupId>net.sf.taverna.t2.ui-api</groupId>
- <artifactId>configuration-api</artifactId>
- <version>${t2.ui.api.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.ui-api</groupId>
- <artifactId>edits-api</artifactId>
- <version>${t2.ui.api.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.ui-api</groupId>
- <artifactId>menu-api</artifactId>
- <version>${t2.ui.api.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.ui-api</groupId>
- <artifactId>selection-api</artifactId>
- <version>${t2.ui.api.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.ui-impl</groupId>
- <artifactId>configuration-impl</artifactId>
- <version>${t2.ui.impl.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.lang</groupId>
- <artifactId>observer</artifactId>
- <version>${t2.lang.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.lang</groupId>
- <artifactId>io</artifactId>
- <version>${t2.lang.version}</version>
- </dependency>
- <dependency>
- <groupId>uk.org.taverna.scufl2</groupId>
- <artifactId>scufl2-api</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.batik</groupId>
- <artifactId>batik-osgi</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>${commons.beanutils.version}</version>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>