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:45:36 UTC
[05/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-perspective-biocatalogue/src/main/xsd/xlink.xsd
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-biocatalogue/src/main/xsd/xlink.xsd b/taverna-workbench-perspective-biocatalogue/src/main/xsd/xlink.xsd
deleted file mode 100644
index 6c2034b..0000000
--- a/taverna-workbench-perspective-biocatalogue/src/main/xsd/xlink.xsd
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- METS XLink Schema, v. 2, Nov. 15, 2004 -->
-<!-- Downloaded from http://www.loc.gov/standards/mets/xlink.xsd at 2007-04-19 -->
-<!-- Downloaded from http://taverna.cvs.sf.net/viewvc/taverna/taverna-service/taverna-interface/src/main/resources/xlink.xsd?view=log at 2009-10-19 -->
-<schema targetNamespace="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified">
- <!-- global attributes -->
- <attribute name="href" type="anyURI"/>
- <attribute name="role" type="string"/>
- <attribute name="arcrole" type="string"/>
- <attribute name="title" type="string" />
- <attribute name="show">
- <simpleType>
-
- <restriction base="string">
- <enumeration value="new" />
- <enumeration value="replace" />
- <enumeration value="embed" />
- <enumeration value="other" />
- <enumeration value="none" />
- </restriction>
- </simpleType>
- </attribute>
- <attribute name="actuate">
- <simpleType>
-
- <restriction base="string">
- <enumeration value="onLoad" />
- <enumeration value="onRequest" />
- <enumeration value="other" />
- <enumeration value="none" />
- </restriction>
- </simpleType>
- </attribute>
- <attribute name="label" type="string" />
- <attribute name="from" type="string" />
- <attribute name="to" type="string" />
- <attributeGroup name="simpleLink">
-
- <attribute name="type" type="string" fixed="simple" form="qualified" />
- <attribute ref="xlink:href" use="optional" />
- <attribute ref="xlink:role" use="optional" />
- <attribute ref="xlink:arcrole" use="optional" />
- <attribute ref="xlink:title" use="optional" />
- <attribute ref="xlink:show" use="optional" />
- <attribute ref="xlink:actuate" use="optional" />
- </attributeGroup>
- <attributeGroup name="extendedLink">
- <attribute name="type" type="string" fixed="extended" form="qualified" />
- <attribute ref="xlink:role" use="optional" />
- <attribute ref="xlink:title" use="optional" />
- </attributeGroup>
- <attributeGroup name="locatorLink">
-
- <attribute name="type" type="string" fixed="locator" form="qualified" />
- <attribute ref="xlink:href" use="required" />
- <attribute ref="xlink:role" use="optional" />
- <attribute ref="xlink:title" use="optional" />
- <attribute ref="xlink:label" use="optional" />
- </attributeGroup>
- <attributeGroup name="arcLink">
- <attribute name="type" type="string" fixed="arc" form="qualified" />
- <attribute ref="xlink:arcrole" use="optional" />
- <attribute ref="xlink:title" use="optional" />
- <attribute ref="xlink:show" use="optional" />
- <attribute ref="xlink:actuate" use="optional" />
- <attribute ref="xlink:from" use="optional" />
- <attribute ref="xlink:to" use="optional" />
- </attributeGroup>
-
- <attributeGroup name="resourceLink">
- <attribute name="type" type="string" fixed="resource" form="qualified" />
- <attribute ref="xlink:role" use="optional" />
- <attribute ref="xlink:title" use="optional" />
- <attribute ref="xlink:label" use="optional" />
- </attributeGroup>
- <attributeGroup name="titleLink">
- <attribute name="type" type="string" fixed="title" form="qualified" />
- </attributeGroup>
- <attributeGroup name="emptyLink">
- <attribute name="type" type="string" fixed="none" form="qualified" />
- </attributeGroup>
-
-</schema>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-perspective-design/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-design/pom.xml b/taverna-workbench-perspective-design/pom.xml
deleted file mode 100644
index cde090a..0000000
--- a/taverna-workbench-perspective-design/pom.xml
+++ /dev/null
@@ -1,83 +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>perspective-design</artifactId>
- <packaging>bundle</packaging>
- <name>Design perspective</name>
- <dependencies>
- <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>file-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>report-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-api</groupId>
- <artifactId>workbench-api</artifactId>
- <version>${t2.ui.api.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.ui-components</groupId>
- <artifactId>activity-palette-ui</artifactId>
- <version>${t2.ui.components.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.ui-components</groupId>
- <artifactId>graph-view</artifactId>
- <version>${t2.ui.components.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.ui-components</groupId>
- <artifactId>workflow-explorer</artifactId>
- <version>${t2.ui.components.version}</version>
- </dependency>
- <!-- <dependency>
- <groupId>net.sf.taverna.t2.ui-components</groupId>
- <artifactId>report-view</artifactId>
- <version>${t2.ui.components.version}</version>
- </dependency> -->
- <dependency>
- <groupId>net.sf.taverna.t2.lang</groupId>
- <artifactId>ui</artifactId>
- <version>${t2.lang.version}</version>
- </dependency>
-
- <dependency>
- <groupId>net.sf.taverna.t2.ui-impl</groupId>
- <artifactId>contextual-views-impl</artifactId>
- <version>${t2.ui.impl.version}</version>
- </dependency>
-
- <dependency>
- <groupId>uk.org.taverna.configuration</groupId>
- <artifactId>taverna-app-configuration-api</artifactId>
- <version>${taverna.configuration.version}</version>
- </dependency>
- </dependencies>
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/DesignPerspective.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/DesignPerspective.java b/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/DesignPerspective.java
deleted file mode 100644
index eca98d4..0000000
--- a/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/DesignPerspective.java
+++ /dev/null
@@ -1,118 +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.perspectives.design;
-
-import static net.sf.taverna.t2.workbench.icons.WorkbenchIcons.editIcon;
-
-import javax.swing.ImageIcon;
-import javax.swing.JComponent;
-
-import net.sf.taverna.t2.ui.menu.MenuManager;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workbench.ui.zaria.PerspectiveSPI;
-import net.sf.taverna.t2.workbench.ui.zaria.UIComponentFactorySPI;
-
-public class DesignPerspective implements PerspectiveSPI {
- private DesignPerspectiveComponent designPerspectiveComponent;
- private UIComponentFactorySPI graphViewComponentFactory;
- private UIComponentFactorySPI servicePanelComponentFactory;
- private UIComponentFactorySPI contextualViewComponentFactory;
- private UIComponentFactorySPI workflowExplorerFactory;
- private UIComponentFactorySPI reportViewComponentFactory;
- private FileManager fileManager;
- private SelectionManager selectionManager;
- private MenuManager menuManager;
- private EditManager editManager;
-
- @Override
- public String getID() {
- return DesignPerspective.class.getName();
- }
-
- @Override
- public JComponent getPanel() {
- if (designPerspectiveComponent == null)
- designPerspectiveComponent = new DesignPerspectiveComponent(
- graphViewComponentFactory, servicePanelComponentFactory,
- contextualViewComponentFactory, workflowExplorerFactory,
- reportViewComponentFactory, fileManager, selectionManager,
- menuManager, editManager);
- return designPerspectiveComponent;
- }
-
- @Override
- public ImageIcon getButtonIcon() {
- return editIcon;
- }
-
- @Override
- public String getText() {
- return "Design";
- }
-
- @Override
- public int positionHint() {
- return 10;
- }
-
- public void setGraphViewComponentFactory(
- UIComponentFactorySPI graphViewComponentFactory) {
- this.graphViewComponentFactory = graphViewComponentFactory;
- }
-
- public void setServicePanelComponentFactory(
- UIComponentFactorySPI servicePanelComponentFactory) {
- this.servicePanelComponentFactory = servicePanelComponentFactory;
- }
-
- public void setContextualViewComponentFactory(
- UIComponentFactorySPI contextualViewComponentFactory) {
- this.contextualViewComponentFactory = contextualViewComponentFactory;
- }
-
- public void setWorkflowExplorerFactory(
- UIComponentFactorySPI workflowExplorerFactory) {
- this.workflowExplorerFactory = workflowExplorerFactory;
- }
-
- public void setReportViewComponentFactory(
- UIComponentFactorySPI reportViewComponentFactory) {
- this.reportViewComponentFactory = reportViewComponentFactory;
- }
-
- public void setFileManager(FileManager fileManager) {
- this.fileManager = fileManager;
- }
-
- public void setSelectionManager(SelectionManager selectionManager) {
- this.selectionManager = selectionManager;
- }
-
- public void setMenuManager(MenuManager menuManager) {
- this.menuManager = menuManager;
- }
-
- public void setEditManager(EditManager editManager) {
- this.editManager = editManager;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/DesignPerspectiveComponent.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/DesignPerspectiveComponent.java b/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/DesignPerspectiveComponent.java
deleted file mode 100644
index 37df0ac..0000000
--- a/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/DesignPerspectiveComponent.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2011 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.perspectives.design;
-
-import static java.awt.BorderLayout.CENTER;
-import static java.awt.BorderLayout.NORTH;
-
-import java.awt.BorderLayout;
-import java.awt.Component;
-
-import javax.swing.JPanel;
-import javax.swing.JSplitPane;
-import javax.swing.JTabbedPane;
-
-import net.sf.taverna.t2.ui.menu.MenuManager;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workbench.ui.zaria.UIComponentFactorySPI;
-
-/**
- * @author David Withers
- */
-public class DesignPerspectiveComponent extends JSplitPane {
- private static final long serialVersionUID = 6199239532713982318L;
-
- private final UIComponentFactorySPI graphViewComponentFactory;
- private final UIComponentFactorySPI servicePanelComponentFactory;
- private final UIComponentFactorySPI contextualViewComponentFactory;
- private final UIComponentFactorySPI workflowExplorerFactory;
- @SuppressWarnings("unused")
- private final UIComponentFactorySPI reportViewComponentFactory;
- private final SelectionManager selectionManager;
-
- private final FileManager fileManager;
- private final MenuManager menuManager;
- private final EditManager editManager;
-
- public DesignPerspectiveComponent(
- UIComponentFactorySPI graphViewComponentFactory,
- UIComponentFactorySPI servicePanelComponentFactory,
- UIComponentFactorySPI contextualViewComponentFactory,
- UIComponentFactorySPI workflowExplorerFactory,
- UIComponentFactorySPI reportViewComponentFactory,
- FileManager fileManager, SelectionManager selectionManager,
- MenuManager menuManager, EditManager editManager) {
- this.graphViewComponentFactory = graphViewComponentFactory;
- this.servicePanelComponentFactory = servicePanelComponentFactory;
- this.contextualViewComponentFactory = contextualViewComponentFactory;
- this.workflowExplorerFactory = workflowExplorerFactory;
- this.reportViewComponentFactory = reportViewComponentFactory;
- this.fileManager = fileManager;
- this.selectionManager = selectionManager;
- this.menuManager = menuManager;
- this.editManager = editManager;
-
- setBorder(null);
- setOrientation(HORIZONTAL_SPLIT);
- setDividerLocation(300);
- setLeftComponent(createLeftComponent());
- setRightComponent(createRightComponent());
- }
-
- private Component createLeftComponent() {
- JSplitPane leftComponent = new JSplitPane(VERTICAL_SPLIT);
- leftComponent.setBorder(null);
- leftComponent.setDividerLocation(400);
-
- leftComponent.setLeftComponent((Component) servicePanelComponentFactory
- .getComponent());
-
- JTabbedPane rightComponent = new JTabbedPane();
- rightComponent.addTab("Workflow explorer",
- (Component) workflowExplorerFactory.getComponent());
- rightComponent.addTab("Details",
- (Component) contextualViewComponentFactory.getComponent());
- // rightComponent.addTab("Validation report", (Component)
- // reportViewComponentFactory.getComponent());
- leftComponent.setRightComponent(rightComponent);
-
- return leftComponent;
- }
-
- private Component createRightComponent() {
- JPanel diagramComponent = new JPanel(new BorderLayout());
- diagramComponent.add(new WorkflowSelectorComponent(selectionManager),
- NORTH);
- diagramComponent.add(
- (Component) graphViewComponentFactory.getComponent(), CENTER);
-
- JPanel rightComonent = new JPanel(new BorderLayout());
- rightComonent.add(new WorkflowBundleSelectorComponent(selectionManager,
- fileManager, menuManager, editManager), NORTH);
- rightComonent.add(diagramComponent, CENTER);
- return rightComonent;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/WorkflowBundleSelectorComponent.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/WorkflowBundleSelectorComponent.java b/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/WorkflowBundleSelectorComponent.java
deleted file mode 100644
index 9fccf06..0000000
--- a/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/WorkflowBundleSelectorComponent.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2013 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.perspectives.design;
-
-import java.awt.Component;
-import java.net.URI;
-
-import javax.swing.Action;
-import javax.swing.JMenuItem;
-
-import net.sf.taverna.t2.lang.observer.Observable;
-import net.sf.taverna.t2.lang.observer.SwingAwareObserver;
-import net.sf.taverna.t2.lang.ui.tabselector.Tab;
-import net.sf.taverna.t2.lang.ui.tabselector.TabSelectorComponent;
-import net.sf.taverna.t2.ui.menu.MenuManager;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.file.FileManager;
-import net.sf.taverna.t2.workbench.file.events.ClosedDataflowEvent;
-import net.sf.taverna.t2.workbench.file.events.FileManagerEvent;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workbench.selection.events.SelectionManagerEvent;
-import net.sf.taverna.t2.workbench.selection.events.WorkflowBundleSelectionEvent;
-import uk.org.taverna.scufl2.api.container.WorkflowBundle;
-
-/**
- * Component for managing selection of workflow bundles.
- *
- * @author David Withers
- */
-public class WorkflowBundleSelectorComponent extends TabSelectorComponent<WorkflowBundle> {
- private static final long serialVersionUID = 7291973052895544750L;
- private static final URI FILE_CLOSE_URI = URI
- .create("http://taverna.sf.net/2008/t2workbench/menu#fileClose");
-
- private final SelectionManager selectionManager;
- private final FileManager fileManager;
- private final EditManager editManager;
- private final MenuManager menuManager;
-
- private Action closeMenuAction;
-
- public WorkflowBundleSelectorComponent(SelectionManager selectionManager,
- FileManager fileManager, MenuManager menuManager,
- EditManager editManager) {
- this.selectionManager = selectionManager;
- this.fileManager = fileManager;
- this.menuManager = menuManager;
- this.editManager = editManager;
- fileManager.addObserver(new FileManagerObserver());
- selectionManager.addObserver(new SelectionManagerObserver());
- }
-
- private class FileManagerObserver extends
- SwingAwareObserver<FileManagerEvent> {
- @Override
- public void notifySwing(Observable<FileManagerEvent> sender,
- FileManagerEvent message) {
- if (message instanceof ClosedDataflowEvent) {
- ClosedDataflowEvent event = (ClosedDataflowEvent) message;
- removeObject(event.getDataflow());
- }
- }
- }
-
- private class SelectionManagerObserver extends
- SwingAwareObserver<SelectionManagerEvent> {
- @Override
- public void notifySwing(Observable<SelectionManagerEvent> sender,
- SelectionManagerEvent message) {
- if (message instanceof WorkflowBundleSelectionEvent) {
- WorkflowBundleSelectionEvent workflowBundleSelectionEvent = (WorkflowBundleSelectionEvent) message;
- WorkflowBundle workflowBundle = workflowBundleSelectionEvent
- .getSelectedWorkflowBundle();
- selectObject(workflowBundle);
- }
- }
- }
-
- @Override
- protected Tab<WorkflowBundle> createTab(WorkflowBundle workflowBundle) {
- return new WorkflowTab(this, workflowBundle, selectionManager,
- fileManager, editManager, getCloseMenuAction());
- }
-
- private Action getCloseMenuAction() {
- if (closeMenuAction == null) {
- Component component = menuManager.getComponentByURI(FILE_CLOSE_URI);
- if (component instanceof JMenuItem) {
- JMenuItem menuItem = (JMenuItem) component;
- closeMenuAction = menuItem.getAction();
- }
- }
- return closeMenuAction;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/WorkflowSelectorComponent.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/WorkflowSelectorComponent.java b/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/WorkflowSelectorComponent.java
deleted file mode 100644
index 6472828..0000000
--- a/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/WorkflowSelectorComponent.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2012 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.perspectives.design;
-
-import static java.awt.FlowLayout.LEFT;
-
-import java.awt.FlowLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.net.URI;
-import java.util.LinkedList;
-import java.util.List;
-
-import javax.swing.JButton;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-
-import net.sf.taverna.t2.lang.observer.Observable;
-import net.sf.taverna.t2.lang.observer.SwingAwareObserver;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workbench.selection.events.SelectionManagerEvent;
-import net.sf.taverna.t2.workbench.selection.events.WorkflowBundleSelectionEvent;
-import net.sf.taverna.t2.workbench.selection.events.WorkflowSelectionEvent;
-import uk.org.taverna.scufl2.api.activity.Activity;
-import uk.org.taverna.scufl2.api.common.NamedSet;
-import uk.org.taverna.scufl2.api.common.Scufl2Tools;
-import uk.org.taverna.scufl2.api.configurations.Configuration;
-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.profiles.ProcessorBinding;
-import uk.org.taverna.scufl2.api.profiles.Profile;
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-/**
- * Component for managing selection of workflows.
- *
- * @author David Withers
- */
-@SuppressWarnings("serial")
-public class WorkflowSelectorComponent extends JPanel {
- private static final URI NESTED_WORKFLOW_TYPE = URI
- .create("http://ns.taverna.org.uk/2010/activity/nested-workflow");
-
- private final Scufl2Tools scufl2Tools = new Scufl2Tools();
- private final SelectionManager selectionManager;
-
- public WorkflowSelectorComponent(SelectionManager selectionManager) {
- super(new FlowLayout(LEFT));
- this.selectionManager = selectionManager;
- update(selectionManager.getSelectedWorkflow());
- selectionManager.addObserver(new SelectionManagerObserver());
- }
-
- private void update(Workflow workflow) {
- removeAll();
- if (workflow != null
- && workflow.getParent().getMainWorkflow() != workflow)
- update(workflow, selectionManager.getSelectedProfile());
- revalidate();
- repaint();
- }
-
- /** @see #update(Workflow) */
- private void update(Workflow workflow, Profile profile) {
- boolean first = true;
- for (final Workflow workflowItem : getPath(
- new NamedSet<>(profile.getActivities()), workflow, profile)) {
- JButton button = new JButton(workflowItem.getName());
-// button.setBorder(null);
- button.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- selectionManager.setSelectedWorkflow(workflowItem);
- }
- });
- if (!first)
- add(new JLabel(">"));
- first = false;
- add(button);
- }
- }
-
- private List<Workflow> getPath(NamedSet<Activity> activities,
- Workflow workflow, Profile profile) {
- LinkedList<Workflow> path = new LinkedList<>();
- for (Activity activity : activities) {
- if (!activity.getType().equals(NESTED_WORKFLOW_TYPE))
- continue;
- if (getNestedWorkflow(workflow, profile, activity) != workflow)
- continue;
-
- List<ProcessorBinding> processorBindings = scufl2Tools
- .processorBindingsToActivity(activity);
- for (ProcessorBinding processorBinding : processorBindings) {
- Processor processor = processorBinding.getBoundProcessor();
- Workflow parentWorkflow = processor.getParent();
- if (workflow.getParent().getMainWorkflow() == parentWorkflow)
- path.add(parentWorkflow);
- else {
- activities.remove(activity);
- path.addAll(getPath(activities, parentWorkflow, profile));
- }
- break;
- }
- break;
- }
- path.add(workflow);
- return path;
- }
-
- private Workflow getNestedWorkflow(Workflow workflow, Profile profile,
- Activity activity) {
- for (Configuration configuration : scufl2Tools.configurationsFor(
- activity, profile)) {
- JsonNode nested = configuration.getJson().get("nestedWorkflow");
- Workflow wf = workflow.getParent().getWorkflows()
- .getByName(nested.asText());
- if (wf != null)
- return wf;
- }
- return null;
- }
-
- private class SelectionManagerObserver extends
- SwingAwareObserver<SelectionManagerEvent> {
- @Override
- public void notifySwing(Observable<SelectionManagerEvent> sender,
- SelectionManagerEvent message) {
- if (message instanceof WorkflowBundleSelectionEvent)
- bundleSelected((WorkflowBundleSelectionEvent) message);
- else if (message instanceof WorkflowSelectionEvent)
- workflowSelected((WorkflowSelectionEvent) message);
- }
- }
-
- private void workflowSelected(WorkflowSelectionEvent event) {
- update(event.getSelectedWorkflow());
- }
-
- private void bundleSelected(WorkflowBundleSelectionEvent event) {
- WorkflowBundle workflowBundle = event.getSelectedWorkflowBundle();
- if (workflowBundle == null)
- update((Workflow) null);
- else
- update(selectionManager.getSelectedWorkflow());
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/WorkflowTab.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/WorkflowTab.java b/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/WorkflowTab.java
deleted file mode 100644
index e2f7bd6..0000000
--- a/taverna-workbench-perspective-design/src/main/java/net/sf/taverna/t2/ui/perspectives/design/WorkflowTab.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2012 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.perspectives.design;
-
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-
-import javax.swing.Action;
-
-import net.sf.taverna.t2.lang.observer.Observable;
-import net.sf.taverna.t2.lang.observer.SwingAwareObserver;
-import net.sf.taverna.t2.lang.ui.tabselector.Tab;
-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.ClosedDataflowEvent;
-import net.sf.taverna.t2.workbench.file.events.FileManagerEvent;
-import net.sf.taverna.t2.workbench.file.events.SavedDataflowEvent;
-import net.sf.taverna.t2.workbench.file.exceptions.UnsavedException;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import uk.org.taverna.scufl2.api.container.WorkflowBundle;
-
-/**
- * Tab for selecting current workflow.
- *
- * @author David Withers
- */
-@SuppressWarnings("serial")
-public class WorkflowTab extends Tab<WorkflowBundle> {
- private static final String SAVED_MARKER = "*";
-
- private final Component component;
- private final SelectionManager selectionManager;
- private final FileManager fileManager;
- private final EditManager editManager;
- private final Action closeMenuAction;
-
- private boolean saved = true;
- private EditManagerObserver editManagerObserver;
- private FileManagerObserver fileManagerObserver;
-
- public WorkflowTab(Component component, final WorkflowBundle workflowBundle,
- final SelectionManager selectionManager, final FileManager fileManager,
- EditManager editManager, Action closeMenuAction) {
- super(workflowBundle.getMainWorkflow().getName(), workflowBundle);
- this.component = component;
- this.selectionManager = selectionManager;
- this.fileManager = fileManager;
- this.editManager = editManager;
- this.closeMenuAction = closeMenuAction;
- editManagerObserver = new EditManagerObserver();
- fileManagerObserver = new FileManagerObserver();
- editManager.addObserver(editManagerObserver);
- fileManager.addObserver(fileManagerObserver);
- }
-
- @Override
- protected void clickTabAction() {
- selectionManager.setSelectedWorkflowBundle(selection);
- }
-
- @Override
- protected void closeTabAction() {
- if (!saved && closeMenuAction != null) {
- selectionManager.setSelectedWorkflowBundle(selection);
- closeMenuAction.actionPerformed(new ActionEvent(component, 0, ""));
- } else
- try {
- fileManager.closeDataflow(selection, false);
- } catch (UnsavedException e) {
- }
- }
-
- private class EditManagerObserver extends
- SwingAwareObserver<EditManagerEvent> {
- @Override
- public void notifySwing(Observable<EditManagerEvent> sender,
- EditManagerEvent message) {
- if (message instanceof AbstractDataflowEditEvent) {
- AbstractDataflowEditEvent event = (AbstractDataflowEditEvent) message;
- if (event.getDataFlow() == selection)
- setSaved(false);
- }
- }
- }
-
- private class FileManagerObserver extends
- SwingAwareObserver<FileManagerEvent> {
- @Override
- public void notifySwing(Observable<FileManagerEvent> sender,
- FileManagerEvent message) {
- if (message instanceof ClosedDataflowEvent) {
- ClosedDataflowEvent event = (ClosedDataflowEvent) message;
- if (event.getDataflow() == selection) {
- fileManager.removeObserver(fileManagerObserver);
- editManager.removeObserver(editManagerObserver);
- }
- } else if (message instanceof SavedDataflowEvent) {
- SavedDataflowEvent event = (SavedDataflowEvent) message;
- if (event.getDataflow() == selection)
- setSaved(true);
- }
- }
- }
-
- public void setSaved(boolean saved) {
- this.saved = saved;
- String name = getName();
- if (saved && name.startsWith(SAVED_MARKER))
- setName(name.substring(SAVED_MARKER.length()));
- else if (!saved && !name.startsWith(SAVED_MARKER))
- setName(SAVED_MARKER + name);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-perspective-design/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.zaria.PerspectiveSPI
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-design/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.zaria.PerspectiveSPI b/taverna-workbench-perspective-design/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.zaria.PerspectiveSPI
deleted file mode 100644
index db4397c..0000000
--- a/taverna-workbench-perspective-design/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.zaria.PerspectiveSPI
+++ /dev/null
@@ -1 +0,0 @@
-net.sf.taverna.t2.ui.perspectives.design.DesignPerspective
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-perspective-design/src/main/resources/META-INF/spring/perspective-design-context-osgi.xml
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-design/src/main/resources/META-INF/spring/perspective-design-context-osgi.xml b/taverna-workbench-perspective-design/src/main/resources/META-INF/spring/perspective-design-context-osgi.xml
deleted file mode 100644
index 3473a47..0000000
--- a/taverna-workbench-perspective-design/src/main/resources/META-INF/spring/perspective-design-context-osgi.xml
+++ /dev/null
@@ -1,21 +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="DesignPerspective" auto-export="interfaces" />
-
- <reference id="graphViewComponentFactory" interface="net.sf.taverna.t2.workbench.ui.zaria.UIComponentFactorySPI" bean-name="GraphViewComponentFactory" />
- <reference id="servicePanelComponentFactory" interface="net.sf.taverna.t2.workbench.ui.zaria.UIComponentFactorySPI" bean-name="ServicePanelComponentFactory"/>
- <reference id="contextualViewComponentFactory" interface="net.sf.taverna.t2.workbench.ui.zaria.UIComponentFactorySPI" bean-name="ContextualViewComponentFactory"/>
- <reference id="workflowExplorerFactory" interface="net.sf.taverna.t2.workbench.ui.zaria.UIComponentFactorySPI" bean-name="WorkflowExplorerFactory"/>
- <!-- <reference id="reportViewComponentFactory" interface="net.sf.taverna.t2.workbench.ui.zaria.UIComponentFactorySPI" bean-name="ReportViewComponentFactory"/> -->
- <reference id="fileManager" interface="net.sf.taverna.t2.workbench.file.FileManager" />
- <reference id="selectionManager" interface="net.sf.taverna.t2.workbench.selection.SelectionManager" />
- <reference id="menuManager" interface="net.sf.taverna.t2.ui.menu.MenuManager" />
- <reference id="editManager" interface="net.sf.taverna.t2.workbench.edits.EditManager" />
-
-</beans:beans>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-perspective-design/src/main/resources/META-INF/spring/perspective-design-context.xml
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-design/src/main/resources/META-INF/spring/perspective-design-context.xml b/taverna-workbench-perspective-design/src/main/resources/META-INF/spring/perspective-design-context.xml
deleted file mode 100644
index 9e4e383..0000000
--- a/taverna-workbench-perspective-design/src/main/resources/META-INF/spring/perspective-design-context.xml
+++ /dev/null
@@ -1,18 +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="DesignPerspective" class="net.sf.taverna.t2.ui.perspectives.design.DesignPerspective">
- <property name="graphViewComponentFactory" ref="graphViewComponentFactory" />
- <property name="servicePanelComponentFactory" ref="servicePanelComponentFactory" />
- <property name="contextualViewComponentFactory" ref="contextualViewComponentFactory" />
- <property name="workflowExplorerFactory" ref="workflowExplorerFactory" />
- <!-- <property name="reportViewComponentFactory" ref="reportViewComponentFactory" /> -->
- <property name="fileManager" ref="fileManager" />
- <property name="selectionManager" ref="selectionManager" />
- <property name="menuManager" ref="menuManager" />
- <property name="editManager" ref="editManager" />
- </bean>
-
-</beans>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-perspective-myexperiment/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-myexperiment/pom.xml b/taverna-workbench-perspective-myexperiment/pom.xml
deleted file mode 100644
index 9406580..0000000
--- a/taverna-workbench-perspective-myexperiment/pom.xml
+++ /dev/null
@@ -1,85 +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-exts</artifactId>
- <version>2.0-SNAPSHOT</version>
- </parent>
- <groupId>net.sf.taverna.t2.ui-exts</groupId>
- <artifactId>perspective-myexperiment</artifactId>
- <name>myExperiment perspective</name>
- <repositories>
- <repository>
- <releases />
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <id>mygrid-repository</id>
- <name>myGrid Repository</name>
- <url>http://www.mygrid.org.uk/maven/repository</url>
- </repository>
- <repository>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots />
- <id>mygrid-snapshot-repository</id>
- <name>myGrid Snapshot Repository</name>
- <url>
- http://www.mygrid.org.uk/maven/snapshot-repository
- </url>
- </repository>
-
- </repositories>
-
- <dependencies>
- <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>workbench-api</artifactId>
- <version>${t2.ui.api.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.ui-api</groupId>
- <artifactId>file-api</artifactId>
- <version>${t2.ui.api.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.ui-activities</groupId>
- <artifactId>dataflow-activity-ui</artifactId>
- <version>${t2.ui.activities.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.lang</groupId>
- <artifactId>ui</artifactId>
- <version>${t2.lang.version}</version>
- </dependency>
-
- <dependency>
- <groupId>uk.org.taverna.configuration</groupId>
- <artifactId>taverna-configuration-api</artifactId>
- <version>${taverna.configuration.version}</version>
- </dependency>
- <dependency>
- <groupId>uk.org.taverna.configuration</groupId>
- <artifactId>taverna-app-configuration-api</artifactId>
- <version>${taverna.configuration.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.jdom</groupId>
- <artifactId>com.springsource.org.jdom</artifactId>
- <version>${jdom.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.log4j</groupId>
- <artifactId>com.springsource.org.apache.log4j</artifactId>
- </dependency>
- </dependencies>
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-perspective-myexperiment/src/main/java/net/sf/taverna/t2/ui/perspectives/myexperiment/AddCommentDialog.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-myexperiment/src/main/java/net/sf/taverna/t2/ui/perspectives/myexperiment/AddCommentDialog.java b/taverna-workbench-perspective-myexperiment/src/main/java/net/sf/taverna/t2/ui/perspectives/myexperiment/AddCommentDialog.java
deleted file mode 100644
index fc1a8e6..0000000
--- a/taverna-workbench-perspective-myexperiment/src/main/java/net/sf/taverna/t2/ui/perspectives/myexperiment/AddCommentDialog.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 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.perspectives.myexperiment;
-
-import java.awt.Component;
-import java.awt.Container;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.Insets;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.ComponentEvent;
-import java.awt.event.ComponentListener;
-import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
-import java.net.HttpURLConnection;
-
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JDialog;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.JRootPane;
-import javax.swing.JScrollPane;
-import javax.swing.SwingConstants;
-import javax.swing.SwingUtilities;
-import javax.swing.WindowConstants;
-import javax.swing.event.CaretEvent;
-import javax.swing.event.CaretListener;
-
-import net.sf.taverna.t2.lang.ui.DialogTextArea;
-import net.sf.taverna.t2.ui.perspectives.myexperiment.model.MyExperimentClient;
-import net.sf.taverna.t2.ui.perspectives.myexperiment.model.Resource;
-import net.sf.taverna.t2.ui.perspectives.myexperiment.model.ServerResponse;
-import net.sf.taverna.t2.ui.perspectives.myexperiment.model.Util;
-import net.sf.taverna.t2.workbench.helper.HelpEnabledDialog;
-
-import org.apache.log4j.Logger;
-
-/**
- * @author Sergejs Aleksejevs, Jiten Bhagat
- */
-
-public class AddCommentDialog extends HelpEnabledDialog implements ActionListener, CaretListener, ComponentListener, KeyListener {
- // components for accessing application's main elements
- private MainComponent pluginMainComponent;
- private MyExperimentClient myExperimentClient;
- private Logger logger;
-
- // COMPONENTS
- private DialogTextArea taComment;
- private JButton bPost;
- private JButton bCancel;
- private JLabel lStatusMessage;
-
- // STORAGE
- private Resource resource; // a resource for which the comment is being posted
- private String strComment = null;
- private boolean bPostingSuccessful = false;
-
- public AddCommentDialog(JFrame owner, Resource resource, MainComponent component, MyExperimentClient client, Logger logger) {
- super(owner, "Add comment for \"" + resource.getTitle() + "\" "
- + resource.getItemTypeName(), true);
-
- // set main variables to ensure access to myExperiment, logger and the parent component
- this.pluginMainComponent = component;
- this.myExperimentClient = client;
- this.logger = logger;
-
- // set the resource for which the comment is being added
- this.resource = resource;
-
- // set options of the 'add comment' dialog box
- this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
- //this.setIconImage(new ImageIcon(MyExperimentPerspective.getLocalResourceURL("myexp_icon")).getImage());
-
- this.initialiseUI();
- }
-
- private void initialiseUI() {
- // get content pane
- Container contentPane = this.getContentPane();
-
- // set up layout
- contentPane.setLayout(new GridBagLayout());
- GridBagConstraints c = new GridBagConstraints();
-
- // add all components
- JLabel lInfo = new JLabel("Please type in you comment:");
- c.gridx = 0;
- c.gridy = 0;
- c.anchor = GridBagConstraints.WEST;
- c.gridwidth = 2;
- c.fill = GridBagConstraints.NONE;
- c.insets = new Insets(10, 10, 5, 10);
- contentPane.add(lInfo, c);
-
- this.taComment = new DialogTextArea(5, 35);
- this.taComment.setLineWrap(true);
- this.taComment.setWrapStyleWord(true);
- this.taComment.addKeyListener(this);
- this.taComment.addCaretListener(this);
-
- JScrollPane spComment = new JScrollPane(this.taComment);
- c.gridy = 1;
- c.fill = GridBagConstraints.HORIZONTAL;
- c.insets = new Insets(0, 10, 0, 10);
- contentPane.add(spComment, c);
-
- this.bPost = new JButton("Post Comment");
- this.bPost.setEnabled(false);
- this.bPost.setDefaultCapable(true);
- this.getRootPane().setDefaultButton(this.bPost);
- this.bPost.addActionListener(this);
- this.bPost.addKeyListener(this);
- c.gridy = 2;
- c.anchor = GridBagConstraints.EAST;
- c.gridwidth = 1;
- c.fill = GridBagConstraints.NONE;
- c.weightx = 0.5;
- c.insets = new Insets(10, 5, 10, 5);
- contentPane.add(bPost, c);
-
- this.bCancel = new JButton("Cancel");
- this.bCancel.setPreferredSize(this.bPost.getPreferredSize());
- this.bCancel.addActionListener(this);
- c.gridx = 1;
- c.anchor = GridBagConstraints.WEST;
- c.weightx = 0.5;
- contentPane.add(bCancel, c);
-
- this.pack();
- this.setMinimumSize(this.getPreferredSize());
- this.setMaximumSize(this.getPreferredSize());
- this.addComponentListener(this);
- }
-
- /**
- * Opens up a modal dialog where the user can enter the comment text.
- *
- * Window is simply closed if 'Cancel' button is pressed; on pressing 'Post
- * Comment' button the window will turn into 'waiting' state, post the comment
- * and return the resulting XML document (which would contain the newly added
- * comment) back to the caller.
- *
- * @return String value of the non-empty comment text to be sent to
- * myExperiment or null if action was cancelled.
- */
- public String launchAddCommentDialogAndPostCommentIfRequired() {
- // makes the 'add comment' dialog visible, then waits until it is closed;
- // control returns to this method when the dialog window is disposed
- this.setVisible(true);
- return (strComment);
- }
-
- // *** Callback for ActionListener interface ***
- public void actionPerformed(ActionEvent e) {
- if (e.getSource().equals(this.bPost)) {
- // 'Post' button is not active when text in the comment field is blank,
- // so if it was pressed, there should be some text typed in
- this.strComment = this.taComment.getText();
-
- // the window will stay visible, but should turn into 'waiting' state
- final JRootPane rootPane = this.getRootPane();
- final Container contentPane = this.getContentPane();
- contentPane.remove(this.bPost);
- contentPane.remove(this.bCancel);
- if (this.lStatusMessage != null)
- contentPane.remove(this.lStatusMessage);
- this.taComment.setEditable(false);
-
- final GridBagConstraints c = new GridBagConstraints();
- c.gridx = 0;
- c.gridy = 2;
- c.gridwidth = 2;
- c.anchor = GridBagConstraints.CENTER;
- c.fill = GridBagConstraints.NONE;
- c.insets = new Insets(10, 5, 10, 5);
- lStatusMessage = new JLabel("Posting your comment...", new ImageIcon(MyExperimentPerspective.getLocalResourceURL("spinner")), SwingConstants.CENTER);
- contentPane.add(lStatusMessage, c);
-
- // disable the (X) button (ideally, would need to remove it, but there's no way to do this)
- this.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
-
- // revalidate the window
- this.pack();
- this.validate();
- this.repaint();
-
- new Thread("Posting comment") {
- public void run() {
- // *** POST THE COMMENT ***
- final ServerResponse response = myExperimentClient.postComment(resource, Util.stripAllHTML(strComment));
- bPostingSuccessful = (response.getResponseCode() == HttpURLConnection.HTTP_OK);
-
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- // *** REACT TO POSTING RESULT ***
- if (bPostingSuccessful) {
- // comment posted successfully
- setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
- taComment.setEnabled(false);
- contentPane.remove(lStatusMessage);
-
- c.insets = new Insets(10, 5, 5, 5);
- lStatusMessage = new JLabel("Your comment was posted successfully", new ImageIcon(MyExperimentPerspective.getLocalResourceURL("success_icon")), SwingConstants.LEFT);
- contentPane.add(lStatusMessage, c);
-
- bCancel.setText("OK");
- bCancel.setDefaultCapable(true);
- rootPane.setDefaultButton(bCancel);
- c.insets = new Insets(5, 5, 10, 5);
- c.gridy += 1;
- contentPane.add(bCancel, c);
-
- pack();
- bCancel.requestFocusInWindow();
- } else {
- // posting wasn't successful, notify the user
- // and provide an option to close window or start again
- setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
- taComment.setEditable(true);
- contentPane.remove(lStatusMessage);
-
- c.insets = new Insets(10, 5, 5, 5);
- lStatusMessage = new JLabel("Error occurred while posting comment: "
- + Util.retrieveReasonFromErrorXMLDocument(response.getResponseBody()), new ImageIcon(MyExperimentPerspective.getLocalResourceURL("failure_icon")), SwingConstants.LEFT);
- contentPane.add(lStatusMessage, c);
-
- bPost.setText("Try again");
- bPost.setToolTipText("Please review your comment before trying to post it again");
- c.anchor = GridBagConstraints.EAST;
- c.insets = new Insets(5, 5, 10, 5);
- c.gridwidth = 1;
- c.weightx = 0.5;
- c.gridx = 0;
- c.gridy += 1;
- contentPane.add(bPost, c);
- rootPane.setDefaultButton(bPost);
-
- c.anchor = GridBagConstraints.WEST;
- c.gridx = 1;
- bCancel.setPreferredSize(bPost.getPreferredSize());
- contentPane.add(bCancel, c);
-
- pack();
- validate();
- repaint();
- }
- }
- });
-
- }
- }.start();
- } else if (e.getSource().equals(this.bCancel)) {
- // cleanup the comment if it wasn't posted successfully + simply close and destroy the window
- if (!this.bPostingSuccessful)
- this.strComment = null;
- this.dispose();
- }
-
- }
-
- // *** Callbacks for KeyListener interface ***
- public void keyPressed(KeyEvent e) {
- // if TAB was pressed in the text area, need to move keyboard focus
- if (e.getSource().equals(this.taComment)
- && e.getKeyCode() == KeyEvent.VK_TAB) {
- if ((e.getModifiersEx() & KeyEvent.SHIFT_DOWN_MASK) == KeyEvent.SHIFT_DOWN_MASK) {
- // SHIFT + TAB move focus backwards
- ((Component) e.getSource()).transferFocusBackward();
- } else {
- // TAB moves focus forward
- ((Component) e.getSource()).transferFocus();
- }
- e.consume();
- }
- }
-
- public void keyReleased(KeyEvent e) {
- // not in use
- }
-
- public void keyTyped(KeyEvent e) {
- // not in use
- }
-
- // *** Callback for CaretListener interface ***
- public void caretUpdate(CaretEvent e) {
- // check whether the 'Post' button should be available or not
- this.bPost.setEnabled(this.taComment.getText().length() > 0);
- }
-
- // *** Callbacks for ComponentListener interface ***
- public void componentShown(ComponentEvent e) {
- // center this dialog box within the preview browser window
- Util.centerComponentWithinAnother(this.pluginMainComponent.getPreviewBrowser(), this);
- }
-
- public void componentHidden(ComponentEvent e) {
- // not in use
- }
-
- public void componentMoved(ComponentEvent e) {
- // not in use
- }
-
- public void componentResized(ComponentEvent e) {
- // not in use
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-perspective-myexperiment/src/main/java/net/sf/taverna/t2/ui/perspectives/myexperiment/AddRemoveFavouriteDialog.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-myexperiment/src/main/java/net/sf/taverna/t2/ui/perspectives/myexperiment/AddRemoveFavouriteDialog.java b/taverna-workbench-perspective-myexperiment/src/main/java/net/sf/taverna/t2/ui/perspectives/myexperiment/AddRemoveFavouriteDialog.java
deleted file mode 100644
index 563d2b8..0000000
--- a/taverna-workbench-perspective-myexperiment/src/main/java/net/sf/taverna/t2/ui/perspectives/myexperiment/AddRemoveFavouriteDialog.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 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.perspectives.myexperiment;
-
-import java.awt.Container;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.Insets;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.ComponentEvent;
-import java.awt.event.ComponentListener;
-import java.net.HttpURLConnection;
-
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JDialog;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.SwingConstants;
-import javax.swing.SwingUtilities;
-import javax.swing.WindowConstants;
-
-import net.sf.taverna.t2.ui.perspectives.myexperiment.model.MyExperimentClient;
-import net.sf.taverna.t2.ui.perspectives.myexperiment.model.Resource;
-import net.sf.taverna.t2.ui.perspectives.myexperiment.model.ServerResponse;
-import net.sf.taverna.t2.ui.perspectives.myexperiment.model.Util;
-import net.sf.taverna.t2.workbench.helper.HelpEnabledDialog;
-
-import org.apache.log4j.Logger;
-
-/**
- * @author Sergejs Aleksejevs
- */
-public class AddRemoveFavouriteDialog extends HelpEnabledDialog implements ActionListener, ComponentListener {
- // CONSTANTS
- protected static final int OPERATION_SUCCESSFUL = 1;
- protected static final int OPERATION_CANCELLED = 0;
- protected static final int OPERATION_FAILED = -1;
-
- // components for accessing application's main elements
- private final MainComponent pluginMainComponent;
- private final MyExperimentClient myExperimentClient;
- private final Logger logger;
-
- // COMPONENTS
- private JButton bAddRemoveFavourite;
- private JButton bCancel;
-
- // STORAGE
- private final Resource resource; // a resource which is being favourited / removed from favourites
- private final boolean bIsFavouriteBeingAdded;
- private int iOperationStatus = OPERATION_CANCELLED;
- private ServerResponse response = null;
-
- public AddRemoveFavouriteDialog(JFrame owner, boolean isFavouriteAdded, Resource resource, MainComponent component, MyExperimentClient client, Logger logger) {
- super(owner, isFavouriteAdded ? "Add to" : "Remove from"
- + " favourites - \"" + resource.getTitle() + "\" "
- + resource.getItemTypeName(), true);
-
- // set main variables to ensure access to myExperiment, logger and the parent component
- this.pluginMainComponent = component;
- this.myExperimentClient = client;
- this.logger = logger;
-
- // parameters
- this.bIsFavouriteBeingAdded = isFavouriteAdded;
- this.resource = resource;
-
- // set options of the 'add/remove favourite' dialog box
- this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
- //this.setIconImage(new ImageIcon(MyExperimentPerspective.getLocalResourceURL("myexp_icon")).getImage());
-
- this.initialiseUI();
- }
-
- private void initialiseUI() {
- // get content pane
- Container contentPane = this.getContentPane();
-
- // set up layout
- contentPane.setLayout(new GridBagLayout());
- GridBagConstraints c = new GridBagConstraints();
-
- // add all components
- JLabel lInfo = new JLabel("<html><center>You are about to "
- + (this.bIsFavouriteBeingAdded ? "add" : "remove") + " \""
- + resource.getTitle() + "\" " + resource.getItemTypeName()
- + (this.bIsFavouriteBeingAdded ? " to" : " from")
- + " your favourites.<br><br>"
- + "Do you want to proceed?</center></html>");
- c.gridx = 0;
- c.gridy = 0;
- c.anchor = GridBagConstraints.WEST;
- c.gridwidth = 2;
- c.fill = GridBagConstraints.NONE;
- c.insets = new Insets(10, 10, 10, 10);
- contentPane.add(lInfo, c);
-
- if (this.bIsFavouriteBeingAdded) {
- this.bAddRemoveFavourite = new JButton("Add to Favourites");
- } else {
- this.bAddRemoveFavourite = new JButton("Remove from Favourites");
- }
- this.bAddRemoveFavourite.setDefaultCapable(true);
- this.bAddRemoveFavourite.addActionListener(this);
-
- c.gridy = 1;
- c.anchor = GridBagConstraints.EAST;
- c.gridwidth = 1;
- c.fill = GridBagConstraints.NONE;
- c.weightx = 0.5;
- c.insets = new Insets(5, 5, 10, 5);
- contentPane.add(this.bAddRemoveFavourite, c);
-
- this.bCancel = new JButton("Cancel");
- this.bCancel.setPreferredSize(this.bAddRemoveFavourite.getPreferredSize());
- this.bCancel.addActionListener(this);
- c.gridx = 1;
- c.anchor = GridBagConstraints.WEST;
- contentPane.add(bCancel, c);
-
- this.pack();
- this.getRootPane().setDefaultButton(this.bAddRemoveFavourite);
- this.setMinimumSize(this.getPreferredSize());
- this.setMaximumSize(this.getPreferredSize());
- this.addComponentListener(this);
- }
-
- /**
- * Makes the dialog for adding / removing an item from favourites visible.
- * Based on the user actions, it might execute the adding / removing
- * operation.
- *
- * @return Returns an integer value which represents status of the operation:
- * {@value #OPERATION_SUCCESSFUL} - favourite item was added / removed
- * successfully; {@value #OPERATION_CANCELLED} - the user has
- * cancelled operation; {@value #OPERATION_FAILED} - failed while
- * adding / removing favourite item;
- */
- public int launchAddRemoveFavouriteDialogAndPerformNecessaryActionIfRequired() {
- this.setVisible(true);
- return (this.iOperationStatus);
- }
-
- // *** Callback for ActionListener interface ***
- public void actionPerformed(ActionEvent e) {
-
- if (e.getSource().equals(this.bAddRemoveFavourite)) {
- // the window will stay visible, but should turn into 'waiting' state
- final Container contentPane = this.getContentPane();
- contentPane.removeAll();
-
- final GridBagConstraints c = new GridBagConstraints();
- c.gridx = 0;
- c.gridy = 0;
- c.gridwidth = 2;
- c.anchor = GridBagConstraints.CENTER;
- c.fill = GridBagConstraints.NONE;
- c.insets = new Insets(10, 5, 10, 5);
- JLabel lInfo = new JLabel(this.bIsFavouriteBeingAdded ? "Adding to favourites..." : "Removing from favourites...", new ImageIcon(MyExperimentPerspective.getLocalResourceURL("spinner")), SwingConstants.CENTER);
- contentPane.add(lInfo, c);
-
- // disable the (X) button (ideally, would need to remove it, but there's no way to do this)
- this.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
-
- // revalidate the window
- this.pack();
- this.validate();
- this.repaint();
-
- new Thread("Execute add / remove favourite operation") {
- @Override
- public void run() {
- // *** DO THE REQUIRED ACTION ***
- response = (bIsFavouriteBeingAdded ? myExperimentClient.addFavourite(resource) : myExperimentClient.deleteFavourite(resource));
- iOperationStatus = (response.getResponseCode() == HttpURLConnection.HTTP_OK) ? OPERATION_SUCCESSFUL : OPERATION_FAILED;
-
- if (iOperationStatus == OPERATION_SUCCESSFUL) {
- // update local list of favourite items - no data sync with the API is required at this point
- if (bIsFavouriteBeingAdded) {
- myExperimentClient.getCurrentUser().getFavourites().add(resource);
- } else {
- myExperimentClient.getCurrentUser().getFavourites().remove(resource);
- }
- } else {
- // operation has failed - this might have been due to outdated data which is stored locally;
- // sync favourite data with the API so that the UI can show more relevant data
- // (e.g. replace 'add to favourites' with 'remove from favourites' if this item is already
- // added to favourites - probably via another interface: web or another instance of the plugin)
- myExperimentClient.updateUserFavourites(myExperimentClient.getCurrentUser());
- }
-
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- // *** REACT TO RESULT ***
- setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
- contentPane.removeAll();
- c.insets = new Insets(10, 5, 5, 5);
-
- if (iOperationStatus == OPERATION_SUCCESSFUL) {
- // favourite was added / removed successfully
- contentPane.add(new JLabel("Item has been successfully "
- + (bIsFavouriteBeingAdded ? "added to" : "removed from")
- + " your favourites", new ImageIcon(MyExperimentPerspective.getLocalResourceURL("success_icon")), SwingConstants.LEFT), c);
- } else {
- // favourite wasn't added / removed - operation failed;
- // display error message
- contentPane.add(new JLabel("<html><center>Error occurred while "
- + (bIsFavouriteBeingAdded ? "adding" : "removing")
- + " the item "
- + (bIsFavouriteBeingAdded ? "to" : "from")
- + " your favourites:<br>"
- + Util.retrieveReasonFromErrorXMLDocument(response.getResponseBody())
- + "</center></html>", new ImageIcon(MyExperimentPerspective.getLocalResourceURL("failure_icon")), SwingConstants.LEFT), c);
- }
-
- bCancel.setText("OK");
- bCancel.setPreferredSize(null); // resets preferred size to the automatic one
- bCancel.setDefaultCapable(true);
- c.insets = new Insets(5, 5, 10, 5);
- c.gridy += 1;
- contentPane.add(bCancel, c);
-
- pack();
- repaint();
-
- bCancel.requestFocusInWindow();
- getRootPane().setDefaultButton(bCancel);
- }
- });
- }
- }.start();
-
- } else if (e.getSource().equals(this.bCancel)) {
- // simply close and destroy the window
- this.dispose();
- }
- }
-
- // *** Callbacks for ComponentListener interface ***
- public void componentShown(ComponentEvent e) {
- // center this dialog box within the preview browser window
- Util.centerComponentWithinAnother(this.pluginMainComponent.getPreviewBrowser(), this);
- }
-
- public void componentHidden(ComponentEvent e) {
- // not in use
- }
-
- public void componentMoved(ComponentEvent e) {
- // not in use
- }
-
- public void componentResized(ComponentEvent e) {
- // not in use
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-perspective-myexperiment/src/main/java/net/sf/taverna/t2/ui/perspectives/myexperiment/ExampleWorkflowsPanel.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-perspective-myexperiment/src/main/java/net/sf/taverna/t2/ui/perspectives/myexperiment/ExampleWorkflowsPanel.java b/taverna-workbench-perspective-myexperiment/src/main/java/net/sf/taverna/t2/ui/perspectives/myexperiment/ExampleWorkflowsPanel.java
deleted file mode 100644
index d3a58a0..0000000
--- a/taverna-workbench-perspective-myexperiment/src/main/java/net/sf/taverna/t2/ui/perspectives/myexperiment/ExampleWorkflowsPanel.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 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.perspectives.myexperiment;
-
-import java.awt.BorderLayout;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.swing.BorderFactory;
-import javax.swing.JButton;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.SwingUtilities;
-import javax.swing.event.ChangeListener;
-import javax.swing.event.ChangeEvent;
-
-import org.apache.log4j.Logger;
-
-import net.sf.taverna.t2.workbench.icons.WorkbenchIcons;
-import net.sf.taverna.t2.ui.perspectives.myexperiment.ResourceListPanel;
-import net.sf.taverna.t2.ui.perspectives.myexperiment.model.MyExperimentClient;
-import net.sf.taverna.t2.ui.perspectives.myexperiment.model.Resource;
-import net.sf.taverna.t2.ui.perspectives.myexperiment.model.Workflow;
-
-/**
- * @author Sergejs Aleksejevs, Jiten Bhagat
- */
-public class ExampleWorkflowsPanel extends JPanel implements ActionListener, ChangeListener {
-
- private static final String ACTION_REFRESH = "refresh_example_workflows";
-
- private MainComponent pluginMainComponent;
- private MyExperimentClient myExperimentClient;
- private Logger logger;
-
- private JLabel statusLabel;
- private JButton refreshButton;
-
- private List<Workflow> workflows = new ArrayList<Workflow>();
-
- private ResourceListPanel workflowsListPanel;
-
- public ExampleWorkflowsPanel(MainComponent component, MyExperimentClient client, Logger logger) {
- super();
-
- // set main variables to ensure access to myExperiment, logger and the
- // parent component
- this.pluginMainComponent = component;
- this.myExperimentClient = client;
- this.logger = logger;
-
- this.initialiseUI();
- }
-
- public void actionPerformed(ActionEvent event) {
- if (ACTION_REFRESH.equals(event.getActionCommand())) {
- this.refresh();
- }
- }
-
- public void stateChanged(ChangeEvent event) {
-
- }
-
- public void clear() {
- this.statusLabel.setText("");
- this.workflowsListPanel.clear();
- }
-
- public void refresh() {
- this.pluginMainComponent.getStatusBar().setStatus(this.getClass().getName(), "Fetching example workflows from myExperiment");
- this.statusLabel.setText("");
-
- // Make call to myExperiment API in a different thread
- // (then use SwingUtilities.invokeLater to update the UI when ready).
- new Thread("Refresh for ExampleWorkflowsPanel") {
- public void run() {
- logger.debug("Refreshing Example Workflows tab");
-
- try {
- workflows = myExperimentClient.getExampleWorkflows();
-
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- repopulate();
- }
- });
- } catch (Exception ex) {
- logger.error("Failed to refresh Example Workflows panel", ex);
- }
- }
- }.start();
-
- }
-
- public void repopulate() {
- logger.debug("Repopulating Example Workflows tab");
-
- this.pluginMainComponent.getStatusBar().setStatus(this.getClass().getName(), null);
- this.statusLabel.setText("This will contain example resources to"
- + " help get you started in Taverna. Coming Soon.");
- this.statusLabel.setText(this.workflows.size() + " example workflows found");
-
- // cannot cast a list of subclass items into a list of superclass items -
- // hence a new list is created
- this.workflowsListPanel.setListItems(new ArrayList<Resource>(this.workflows));
-
- this.revalidate();
- }
-
- private void initialiseUI() {
- this.setLayout(new BorderLayout());
-
- JPanel topPanel = new JPanel(new BorderLayout());
- topPanel.setBorder(BorderFactory.createEtchedBorder());
- this.statusLabel = new JLabel();
- this.statusLabel.setBorder(BorderFactory.createEmptyBorder(0, 7, 0, 0));
- topPanel.add(this.statusLabel, BorderLayout.CENTER);
- this.refreshButton = new JButton("Refresh", WorkbenchIcons.refreshIcon);
- this.refreshButton.setActionCommand(ACTION_REFRESH);
- this.refreshButton.addActionListener(this);
- this.refreshButton.setToolTipText("Click this button to refresh the Example Workflows list");
- topPanel.add(this.refreshButton, BorderLayout.EAST);
- this.add(topPanel, BorderLayout.NORTH);
-
- this.workflowsListPanel = new ResourceListPanel(this.pluginMainComponent, this.myExperimentClient, this.logger);
- JScrollPane spExampleWorkflowList = new JScrollPane(this.workflowsListPanel);
- spExampleWorkflowList.getVerticalScrollBar().setUnitIncrement(ResourcePreviewBrowser.PREFERRED_SCROLL);
-
- this.add(spExampleWorkflowList, BorderLayout.CENTER);
- }
-}