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:57 UTC
[26/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-graph-model/src/test/java/net/sf/taverna/t2/workbench/models/graph/GraphElementTest.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-model/src/test/java/net/sf/taverna/t2/workbench/models/graph/GraphElementTest.java b/taverna-workbench-graph-model/src/test/java/net/sf/taverna/t2/workbench/models/graph/GraphElementTest.java
deleted file mode 100644
index 8d6b7f8..0000000
--- a/taverna-workbench-graph-model/src/test/java/net/sf/taverna/t2/workbench/models/graph/GraphElementTest.java
+++ /dev/null
@@ -1,148 +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.models.graph;
-
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-
-import java.awt.Color;
-
-import net.sf.taverna.t2.workbench.models.graph.GraphElement.LineStyle;
-
-import org.junit.Before;
-import org.junit.Test;
-
-public class GraphElementTest {
-
- private GraphElement element;
-
- private String id;
-
- private String label;
-
- private LineStyle lineStyle;
-
- private Color color;
-
- private Color fillColor;
-
- private GraphElement parent;
-
- private GraphController graphController;
-
- @Before
- public void setUp() throws Exception {
- element = new GraphElement(graphController) {};
- id = "element-id";
- label = "element-label";
- lineStyle = LineStyle.NONE;
- color = Color.BLUE;
- fillColor = Color.GREEN;
- parent = new GraphNode(graphController);
- element.setId(id);
- element.setLabel(label);
- element.setLineStyle(lineStyle);
- element.setColor(color);
- element.setFillColor(fillColor);
- element.setParent(parent);
- }
-
- @Test
- public void testGetParent() {
- assertEquals(parent, element.getParent());
- }
-
- @Test
- public void testSetParent() {
- GraphNode newParent = new GraphNode(graphController);
- element.setParent(newParent);
- assertEquals(newParent, element.getParent());
- element.setParent(null);
- assertNull(element.getParent());
- }
-
- @Test
- public void testGetLabel() {
- assertEquals(label, element.getLabel());
- }
-
- @Test
- public void testSetLabel() {
- element.setLabel("new-label");
- assertEquals("new-label", element.getLabel());
- element.setLabel(null);
- assertNull(element.getLabel());
- }
-
- @Test
- public void testGetId() {
- assertEquals(id, element.getId());
- }
-
- @Test
- public void testSetId() {
- element.setId("new-id");
- assertEquals("new-id", element.getId());
- element.setId(null);
- assertNull(element.getId());
- }
-
- @Test
- public void testGetColor() {
- assertEquals(color, element.getColor());
- }
-
- @Test
- public void testSetColor() {
- element.setColor(Color.RED);
- assertEquals(Color.RED, element.getColor());
- element.setColor(null);
- assertNull(element.getColor());
- }
-
- @Test
- public void testGetFillColor() {
- assertEquals(fillColor, element.getFillColor());
- }
-
- @Test
- public void testSetFillColor() {
- element.setFillColor(Color.RED);
- assertEquals(Color.RED, element.getFillColor());
- element.setFillColor(null);
- assertNull(element.getFillColor());
- }
-
- @Test
- public void testGetLineStyle() {
- assertEquals(lineStyle, element.getLineStyle());
- }
-
- @Test
- public void testSetLineStyle() {
- element.setLineStyle(LineStyle.DOTTED);
- assertEquals(LineStyle.DOTTED, element.getLineStyle());
- element.setLineStyle(null);
- assertNull(element.getLineStyle());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-model/src/test/java/net/sf/taverna/t2/workbench/models/graph/GraphNodeTest.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-model/src/test/java/net/sf/taverna/t2/workbench/models/graph/GraphNodeTest.java b/taverna-workbench-graph-model/src/test/java/net/sf/taverna/t2/workbench/models/graph/GraphNodeTest.java
deleted file mode 100644
index c5bcd6c..0000000
--- a/taverna-workbench-graph-model/src/test/java/net/sf/taverna/t2/workbench/models/graph/GraphNodeTest.java
+++ /dev/null
@@ -1,179 +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.models.graph;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.awt.Dimension;
-
-import net.sf.taverna.t2.workbench.models.graph.GraphShapeElement.Shape;
-
-import org.junit.Before;
-import org.junit.Test;
-
-public class GraphNodeTest {
-
- private GraphNode node;
-
- private Shape shape;
-
- private Dimension size;
-
- private Graph graph;
-
- private boolean expanded;
-
- private GraphController graphController;
-
- @Before
- public void setUp() throws Exception {
- shape = Shape.HOUSE;
- size = new Dimension(1, 2);
- graph = new Graph(graphController);
- expanded = false;
- node = new GraphNode(graphController);
- node.setShape(shape);
- node.setSize(size);
- node.setGraph(graph);
- node.setExpanded(expanded);
- }
-
- @Test
- public void testNode() {
- assertNotNull(new GraphNode(graphController));
- }
-
- @Test
- public void testAddSinkNode() {
- GraphNode newNode = new GraphNode(graphController);
- node.addSinkNode(newNode);
- assertEquals(1, node.getSinkNodes().size());
- assertTrue(node.getSinkNodes().contains(newNode));
- assertEquals(node, newNode.getParent());
- }
-
- @Test
- public void testAddSourceNode() {
- GraphNode newNode = new GraphNode(graphController);
- node.addSourceNode(newNode);
- assertEquals(1, node.getSourceNodes().size());
- assertTrue(node.getSourceNodes().contains(newNode));
- assertEquals(node, newNode.getParent());
- }
-
- @Test
- public void testGetGraph() {
- assertEquals(graph, node.getGraph());
- }
-
- @Test
- public void testGetHeight() {
- assertEquals(size.height, node.getHeight(), 0);
- }
-
- @Test
- public void testGetShape() {
- assertEquals(shape, node.getShape());
- }
-
- @Test
- public void testGetSinkNodes() {
- assertNotNull(node.getSinkNodes());
- assertEquals(0, node.getSinkNodes().size());
- }
-
- @Test
- public void testGetSize() {
- assertEquals(size, node.getSize());
- }
-
- @Test
- public void testGetSourceNodes() {
- assertNotNull(node.getSourceNodes());
- assertEquals(0, node.getSourceNodes().size());
- }
-
- @Test
- public void testGetWidth() {
- assertEquals(size.width, node.getWidth(), 0);
- }
-
- @Test
- public void testIsExpanded() {
- assertEquals(expanded, node.isExpanded());
- }
-
- @Test
- public void testRemoveSinkNode() {
- GraphNode newNode = new GraphNode(graphController);
- assertFalse(node.removeSinkNode(newNode));
- node.addSinkNode(newNode);
- assertTrue(node.removeSinkNode(newNode));
- assertFalse(node.getSinkNodes().contains(newNode));
- }
-
- @Test
- public void testRemoveSourceNode() {
- GraphNode newNode = new GraphNode(graphController);
- assertFalse(node.removeSourceNode(newNode));
- node.addSourceNode(newNode);
- assertTrue(node.removeSourceNode(newNode));
- assertFalse(node.getSourceNodes().contains(newNode));
- }
-
- @Test
- public void testSetExpanded() {
- node.setExpanded(true);
- assertEquals(true, node.isExpanded());
- node.setExpanded(false);
- assertEquals(false, node.isExpanded());
- }
-
- @Test
- public void testSetGraph() {
- Graph newGraph = new Graph(graphController);
- node.setGraph(newGraph);
- assertEquals(newGraph, node.getGraph());
- node.setGraph(null);
- assertNull(node.getGraph());
- }
-
- @Test
- public void testSetShape() {
- node.setShape(Shape.INVTRIANGLE);
- assertEquals(Shape.INVTRIANGLE, node.getShape());
- node.setShape(Shape.TRIANGLE);
- assertEquals(Shape.TRIANGLE, node.getShape());
- }
-
- @Test
- public void testSetSize() {
- node.setSize(new Dimension(23, 6));
- assertEquals(new Dimension(23, 6), node.getSize());
- node.setSize(new Dimension(14, 4));
- assertEquals(new Dimension(14, 4), node.getSize());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-model/src/test/java/net/sf/taverna/t2/workbench/models/graph/GraphTest.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-model/src/test/java/net/sf/taverna/t2/workbench/models/graph/GraphTest.java b/taverna-workbench-graph-model/src/test/java/net/sf/taverna/t2/workbench/models/graph/GraphTest.java
deleted file mode 100644
index 44a5aaf..0000000
--- a/taverna-workbench-graph-model/src/test/java/net/sf/taverna/t2/workbench/models/graph/GraphTest.java
+++ /dev/null
@@ -1,138 +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.models.graph;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import net.sf.taverna.t2.workbench.models.graph.GraphEdge;
-import net.sf.taverna.t2.workbench.models.graph.Graph;
-import net.sf.taverna.t2.workbench.models.graph.GraphNode;
-import net.sf.taverna.t2.workbench.models.graph.Graph.Alignment;
-
-import org.junit.Before;
-import org.junit.Test;
-
-public class GraphTest {
-
- private Graph graph;
-
- private Alignment alignment;
-
- private GraphController graphController;
-
- @Before
- public void setUp() throws Exception {
- alignment = Alignment.VERTICAL;
- graph = new Graph(graphController);
- }
-
- @Test
- public void testGraph() {
- assertNotNull(new Graph(graphController));
- }
-
- @Test
- public void testAddEdge() {
- GraphEdge newEdge = new GraphEdge(graphController);
- graph.addEdge(newEdge);
- assertEquals(1, graph.getEdges().size());
- assertTrue(graph.getEdges().contains(newEdge));
- }
-
- @Test
- public void testAddNode() {
- GraphNode newNode = new GraphNode(graphController);
- graph.addNode(newNode);
- assertEquals(1, graph.getNodes().size());
- assertTrue(graph.getNodes().contains(newNode));
- assertEquals(graph, newNode.getParent());
- }
-
- @Test
- public void testAddSubgraph() {
- Graph newGraph = new Graph(graphController);
- graph.addSubgraph(newGraph);
- assertEquals(1, graph.getSubgraphs().size());
- assertTrue(graph.getSubgraphs().contains(newGraph));
- assertEquals(graph, newGraph.getParent());
- }
-
- @Test
- public void testGetAlignment() {
- assertEquals(alignment, graph.getAlignment());
- }
-
- @Test
- public void testGetEdges() {
- assertNotNull(graph.getNodes());
- assertEquals(0, graph.getNodes().size());
- }
-
- @Test
- public void testGetNodes() {
- assertNotNull(graph.getEdges());
- assertEquals(0, graph.getEdges().size());
- }
-
- @Test
- public void testGetSubgraphs() {
- assertNotNull(graph.getSubgraphs());
- assertEquals(0, graph.getSubgraphs().size());
- }
-
- @Test
- public void testRemoveEdge() {
- GraphEdge newEdge = new GraphEdge(graphController);
- assertFalse(graph.removeEdge(newEdge));
- graph.addEdge(newEdge);
- assertTrue(graph.removeEdge(newEdge));
- assertFalse(graph.getNodes().contains(newEdge));
- }
-
- @Test
- public void testRemoveNode() {
- GraphNode newNode = new GraphNode(graphController);
- assertFalse(graph.removeNode(newNode));
- graph.addNode(newNode);
- assertTrue(graph.removeNode(newNode));
- assertFalse(graph.getNodes().contains(newNode));
- }
-
- @Test
- public void testRemoveSubgraph() {
- Graph newGraph = new Graph(graphController);
- assertFalse(graph.removeSubgraph(newGraph));
- graph.addSubgraph(newGraph);
- assertTrue(graph.removeSubgraph(newGraph));
- assertFalse(graph.getSubgraphs().contains(newGraph));
- }
-
- @Test
- public void testSetAlignment() {
- graph.setAlignment(Alignment.VERTICAL);
- assertEquals(Alignment.VERTICAL, graph.getAlignment());
- graph.setAlignment(Alignment.HORIZONTAL);
- assertEquals(Alignment.HORIZONTAL, graph.getAlignment());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-model/src/test/resources/nested_iteration.xml
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-model/src/test/resources/nested_iteration.xml b/taverna-workbench-graph-model/src/test/resources/nested_iteration.xml
deleted file mode 100644
index 3675361..0000000
--- a/taverna-workbench-graph-model/src/test/resources/nested_iteration.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<s:scufl xmlns:s="http://org.embl.ebi.escience/xscufl/0.1alpha" version="0.2" log="0">
- <s:workflowdescription lsid="urn:lsid:net.sf.taverna:wfDefinition:c7016fc0-c2f4-4171-b6f1-430f408f4822" author="" title="nested_iteration" />
- <s:processor name="constant" boring="true">
- <s:stringconstant>constant</s:stringconstant>
- </s:processor>
- <s:processor name="generate_list">
- <s:defaults>
- <s:default name="prefix">prefix</s:default>
- </s:defaults>
- <s:beanshell>
- <s:scriptvalue>list = new ArrayList();
-for (int i = 0; i < 20; i++) {
- list.add(prefix + i);
-}</s:scriptvalue>
- <s:beanshellinputlist>
- <s:beanshellinput s:syntactictype="'text/plain'">prefix</s:beanshellinput>
- </s:beanshellinputlist>
- <s:beanshelloutputlist>
- <s:beanshelloutput s:syntactictype="l('text/plain')">list</s:beanshelloutput>
- </s:beanshelloutputlist>
- <s:dependencies s:classloader="iteration" />
- </s:beanshell>
- </s:processor>
- <s:processor name="merge">
- <s:workflow>
- <s:scufl version="0.2" log="0">
- <s:workflowdescription lsid="urn:lsid:net.sf.taverna:wfDefinition:3368fb8d-ecc7-4fcd-b511-6ace84b13c81" author="" title="Untitled workflow #24" />
- <s:processor name="Nested_Workflow">
- <s:workflow>
- <s:scufl version="0.2" log="0">
- <s:workflowdescription lsid="urn:lsid:net.sf.taverna:wfDefinition:75b99c76-7a76-4d3c-8d39-8c48df3355ad" author="" title="Untitled workflow #36" />
- <s:processor name="concat">
- <s:beanshell>
- <s:scriptvalue>Thread.sleep(200);
-out = in1 + in2;</s:scriptvalue>
- <s:beanshellinputlist>
- <s:beanshellinput s:syntactictype="'text/plain'">in1</s:beanshellinput>
- <s:beanshellinput s:syntactictype="'text/plain'">in2</s:beanshellinput>
- </s:beanshellinputlist>
- <s:beanshelloutputlist>
- <s:beanshelloutput s:syntactictype="'text/plain'">out</s:beanshelloutput>
- </s:beanshelloutputlist>
- <s:dependencies s:classloader="iteration" />
- </s:beanshell>
- </s:processor>
- <s:link source="in1" sink="concat:in1" />
- <s:link source="in2" sink="concat:in2" />
- <s:link source="concat:out" sink="out" />
- <s:source name="in1" />
- <s:source name="in2" />
- <s:sink name="out" />
- </s:scufl>
- </s:workflow>
- </s:processor>
- <s:link source="in1" sink="Nested_Workflow:in1" />
- <s:link source="in2" sink="Nested_Workflow:in2" />
- <s:link source="Nested_Workflow:out" sink="out" />
- <s:source name="in1" />
- <s:source name="in2" />
- <s:sink name="out" />
- </s:scufl>
- </s:workflow>
- <s:mergemode input="in2" mode="merge" />
- </s:processor>
- <s:link source="constant:value" sink="constant" />
- <s:link source="constant:value" sink="merge:in1" />
- <s:link source="generate_list:list" sink="list" />
- <s:link source="generate_list:list" sink="merge:in2" />
- <s:link source="generate_list:list" sink="merge:in2" />
- <s:link source="merge:out" sink="concat" />
- <s:source name="input" />
- <s:sink name="concat">
- <s:metadata>
- <s:mimeTypes>
- <s:mimeType>'text/plain'</s:mimeType>
- </s:mimeTypes>
- </s:metadata>
- </s:sink>
- <s:sink name="list">
- <s:metadata>
- <s:mimeTypes>
- <s:mimeType>l('text/plain')</s:mimeType>
- </s:mimeTypes>
- </s:metadata>
- </s:sink>
- <s:sink name="constant">
- <s:metadata>
- <s:mimeTypes>
- <s:mimeType>'text/plain'</s:mimeType>
- </s:mimeTypes>
- </s:metadata>
- </s:sink>
- <s:coordination name="constant_BLOCKON_generate_list">
- <s:condition>
- <s:state>Completed</s:state>
- <s:target>generate_list</s:target>
- </s:condition>
- <s:action>
- <s:target>constant</s:target>
- <s:statechange>
- <s:from>Scheduled</s:from>
- <s:to>Running</s:to>
- </s:statechange>
- </s:action>
- </s:coordination>
- <s:coordination name="merge_BLOCKON_generate_list">
- <s:condition>
- <s:state>Completed</s:state>
- <s:target>generate_list</s:target>
- </s:condition>
- <s:action>
- <s:target>merge</s:target>
- <s:statechange>
- <s:from>Scheduled</s:from>
- <s:to>Running</s:to>
- </s:statechange>
- </s:action>
- </s:coordination>
-</s:scufl>
-
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-view/pom.xml b/taverna-workbench-graph-view/pom.xml
deleted file mode 100644
index df8cdc9..0000000
--- a/taverna-workbench-graph-view/pom.xml
+++ /dev/null
@@ -1,88 +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-view</artifactId>
- <packaging>bundle</packaging>
- <name>Graph View</name>
- <dependencies>
- <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>configuration-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-components</groupId>
- <artifactId>design-ui</artifactId>
- <version>${t2.ui.components.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.ui-components</groupId>
- <artifactId>workflow-view</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.taverna.t2.ui-components</groupId>
- <artifactId>graph-model</artifactId>
- <version>${project.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>ui</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.commons</groupId>
- <artifactId>taverna-services-api</artifactId>
- </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>log4j</groupId>
- <artifactId>log4j</artifactId>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/AutoScrollInteractor.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/AutoScrollInteractor.java b/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/AutoScrollInteractor.java
deleted file mode 100644
index 65a4aa5..0000000
--- a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/AutoScrollInteractor.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package net.sf.taverna.t2.workbench.views.graph;
-
-import static java.awt.event.InputEvent.BUTTON1_DOWN_MASK;
-import static java.awt.event.InputEvent.BUTTON1_MASK;
-import static java.awt.event.MouseEvent.BUTTON1;
-import static java.awt.event.MouseEvent.MOUSE_DRAGGED;
-import static java.awt.event.MouseEvent.MOUSE_PRESSED;
-import static java.lang.System.currentTimeMillis;
-
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.event.InputEvent;
-import java.awt.event.MouseEvent;
-import java.awt.geom.AffineTransform;
-import java.util.Timer;
-import java.util.TimerTask;
-
-import org.apache.batik.swing.JSVGCanvas;
-import org.apache.batik.swing.gvt.InteractorAdapter;
-import org.apache.batik.swing.gvt.JGVTComponent;
-
-/**
- * An interactor that scrolls the canvas view if the mouse is dragged to the
- * edge of the canvas.
- *
- * @author David Withers
- */
-public class AutoScrollInteractor extends InteractorAdapter {
- /**
- * Defines the border around the canvas in which the auto scroll will become
- * active.
- */
- private static final int BORDER = 25;
- /**
- * The interval, in milliseconds, between scroll events.
- */
- private static final long SCROLL_INTERVAL = 100;
-
- private JSVGCanvas svgCanvas;
- private Dimension canvasSize;
- private int scrollX;
- private int scrollY;
- private int mouseX;
- private int mouseY;
-
- /**
- * Component used to identify mouse events generated by this class
- */
- private Component eventIdentifier = new Component() {
- private static final long serialVersionUID = -295542754718804222L;
- };
-
- private static Timer timer = new Timer("GraphAutoScrollTimer", true);
-
- private TimerTask task;
-
- /**
- * Whether the interactor has finished.
- */
- protected boolean finished = true;
-
- public AutoScrollInteractor(JSVGCanvas svgCanvas) {
- this.svgCanvas = svgCanvas;
- }
-
- @Override
- public boolean startInteraction(InputEvent ie) {
- int mods = ie.getModifiers();
- if (ie.getID() == MOUSE_PRESSED && (mods & BUTTON1_MASK) != 0) {
- AffineTransform transform = svgCanvas.getRenderingTransform();
- // check if we're zoomed in
- if (transform.getScaleX() > 1d || transform.getScaleY() > 1d) {
- canvasSize = svgCanvas.getSize();
- return true;
- }
- }
- return false;
- }
-
- @Override
- public boolean endInteraction() {
- return finished;
- }
-
- @Override
- public void mousePressed(final MouseEvent e) {
- if (startInteraction(e)) {
- finished = false;
- task = new TimerTask() {
- @Override
- public void run() {
- scrollTimerCallback(e);
- }
- };
- timer.schedule(task, 0, SCROLL_INTERVAL);
- }
- }
-
- /**
- * Dispatches a mouse drag event that updates the mouse location by the
- * amount that the canvas has been scrolled.
- *
- * @param dragX
- * @param dragY
- */
- private void dispatchDragEvent(double dragX, double dragY) {
- int x = (int) (mouseX + dragX);
- int y = (int) (mouseY + dragY);
- MouseEvent mouseDragEvent = new MouseEvent(eventIdentifier,
- MOUSE_DRAGGED, currentTimeMillis(), BUTTON1_DOWN_MASK, x, y, 1,
- false, BUTTON1);
- svgCanvas.dispatchEvent(mouseDragEvent);
- }
-
- @Override
- public void mouseReleased(MouseEvent e) {
- if (!finished) {
- finished = true;
- scrollX = 0;
- scrollY = 0;
- if (task != null)
- task.cancel();
- }
- }
-
- @Override
- public void mouseDragged(MouseEvent e) {
- // ignore events generated by this class
- if (!finished && e.getSource() != eventIdentifier) {
- mouseX = e.getX();
- mouseY = e.getY();
- int minX = BORDER;
- int maxX = canvasSize.width - BORDER;
- int minY = BORDER;
- int maxY = canvasSize.height - BORDER;
-
- scrollX = (mouseX < minX) ? (minX - mouseX)
- : (mouseX > maxX) ? (maxX - mouseX) : 0;
- scrollY = (mouseY < minY) ? (minY - mouseY)
- : (mouseY > maxY) ? (maxY - mouseY) : 0;
- }
- }
-
- private void scrollTimerCallback(MouseEvent e) {
- double x = scrollX;
- double y = scrollY;
- if (x == 0 && y == 0)
- return;
-
- JGVTComponent c = (JGVTComponent) e.getSource();
- AffineTransform rt = (AffineTransform) c.getRenderingTransform()
- .clone();
- double currentTranslateX = rt.getTranslateX();
- double currentTranslateY = rt.getTranslateY();
- // the tranlation that will show the east edge
- double maxTranslateX = -((canvasSize.width * rt.getScaleX()) - canvasSize.width);
- // the translation that will show the south
- double maxTranslateY = -((canvasSize.height * rt.getScaleY()) - canvasSize.height);
-
- if (x > 0 && currentTranslateX + x > 0)
- // scroll left && not at west edge
- x = -currentTranslateX;
- else if (x < 0 && currentTranslateX + x < maxTranslateX)
- // scroll right && not at east edge
- x = maxTranslateX - currentTranslateX;
-
- if (y > 0 && currentTranslateY + y > 0)
- // scroll up && not at north edge
- y = -currentTranslateY;
- else if (y < 0 && currentTranslateY + y < maxTranslateY)
- // scroll down && not at south edge
- y = maxTranslateY - currentTranslateY;
-
- if (x != 0d || y != 0d) {
- AffineTransform at = AffineTransform.getTranslateInstance(x, y);
- rt.preConcatenate(at);
- c.setRenderingTransform(rt);
- dispatchDragEvent(x, y);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/GraphViewComponent.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/GraphViewComponent.java b/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/GraphViewComponent.java
deleted file mode 100644
index 55bcf3f..0000000
--- a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/GraphViewComponent.java
+++ /dev/null
@@ -1,548 +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.views.graph;
-
-import static java.awt.BorderLayout.CENTER;
-import static java.awt.BorderLayout.NORTH;
-import static javax.swing.Action.SHORT_DESCRIPTION;
-import static javax.swing.Action.SMALL_ICON;
-import static javax.swing.BoxLayout.PAGE_AXIS;
-import static net.sf.taverna.t2.workbench.icons.WorkbenchIcons.allportIcon;
-import static net.sf.taverna.t2.workbench.icons.WorkbenchIcons.blobIcon;
-import static net.sf.taverna.t2.workbench.icons.WorkbenchIcons.expandNestedIcon;
-import static net.sf.taverna.t2.workbench.icons.WorkbenchIcons.horizontalIcon;
-import static net.sf.taverna.t2.workbench.icons.WorkbenchIcons.noportIcon;
-import static net.sf.taverna.t2.workbench.icons.WorkbenchIcons.refreshIcon;
-import static net.sf.taverna.t2.workbench.icons.WorkbenchIcons.verticalIcon;
-import static net.sf.taverna.t2.workbench.icons.WorkbenchIcons.zoomInIcon;
-import static net.sf.taverna.t2.workbench.icons.WorkbenchIcons.zoomOutIcon;
-import static net.sf.taverna.t2.workbench.views.graph.config.GraphViewConfiguration.ALIGNMENT;
-import static net.sf.taverna.t2.workbench.views.graph.config.GraphViewConfiguration.ANIMATION_ENABLED;
-import static net.sf.taverna.t2.workbench.views.graph.config.GraphViewConfiguration.ANIMATION_SPEED;
-import static net.sf.taverna.t2.workbench.views.graph.config.GraphViewConfiguration.PORT_STYLE;
-import static org.apache.batik.swing.svg.AbstractJSVGComponent.ALWAYS_DYNAMIC;
-
-import java.awt.BorderLayout;
-import java.awt.CardLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.ComponentAdapter;
-import java.awt.event.ComponentEvent;
-import java.util.HashSet;
-import java.util.IdentityHashMap;
-import java.util.Map;
-import java.util.Set;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-import javax.swing.BoxLayout;
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JPanel;
-import javax.swing.JToggleButton;
-import javax.swing.JToolBar;
-import javax.swing.Timer;
-import javax.swing.border.EmptyBorder;
-
-import net.sf.taverna.t2.lang.observer.Observable;
-import net.sf.taverna.t2.lang.observer.SwingAwareObserver;
-import net.sf.taverna.t2.ui.menu.MenuManager;
-import net.sf.taverna.t2.workbench.configuration.colour.ColourManager;
-import net.sf.taverna.t2.workbench.configuration.workbench.WorkbenchConfiguration;
-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.models.graph.Graph.Alignment;
-import net.sf.taverna.t2.workbench.models.graph.GraphController;
-import net.sf.taverna.t2.workbench.models.graph.GraphController.PortStyle;
-import net.sf.taverna.t2.workbench.models.graph.svg.SVGGraphController;
-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 net.sf.taverna.t2.workbench.ui.dndhandler.ServiceTransferHandler;
-import net.sf.taverna.t2.workbench.ui.zaria.UIComponentSPI;
-import net.sf.taverna.t2.workbench.views.graph.config.GraphViewConfiguration;
-import net.sf.taverna.t2.workbench.views.graph.menu.ResetDiagramAction;
-import net.sf.taverna.t2.workbench.views.graph.menu.ZoomInAction;
-import net.sf.taverna.t2.workbench.views.graph.menu.ZoomOutAction;
-
-import org.apache.batik.swing.JSVGCanvas;
-import org.apache.batik.swing.JSVGScrollPane;
-import org.apache.batik.swing.gvt.GVTTreeRendererAdapter;
-import org.apache.batik.swing.gvt.GVTTreeRendererEvent;
-import org.apache.log4j.Logger;
-
-import uk.org.taverna.commons.services.ServiceRegistry;
-import uk.org.taverna.scufl2.api.container.WorkflowBundle;
-import uk.org.taverna.scufl2.api.core.Workflow;
-
-/**
- * @author David Withers
- * @author Alex Nenadic
- * @author Tom Oinn
- */
-public class GraphViewComponent extends JPanel implements UIComponentSPI {
- private static final long serialVersionUID = 7404937056378331528L;
- private static final Logger logger = Logger.getLogger(GraphViewComponent.class);
-
- private Workflow workflow;
- private SVGGraphController graphController;
- private JPanel diagramPanel;
-
- private Map<WorkflowBundle, Set<Workflow>> workflowsMap = new IdentityHashMap<>();
-
- private Map<Workflow, SVGGraphController> graphControllerMap = new IdentityHashMap<>();
- private Map<Workflow, JPanel> diagramPanelMap = new IdentityHashMap<>();
- private Map<Workflow, Action[]> diagramActionsMap = new IdentityHashMap<>();
-
- private Timer timer;
-
- private CardLayout cardLayout;
-
- private final ColourManager colourManager;
- private final EditManager editManager;
- private final MenuManager menuManager;
- private final GraphViewConfiguration graphViewConfiguration;
- private final WorkbenchConfiguration workbenchConfiguration;
- private final SelectionManager selectionManager;
- private final ServiceRegistry serviceRegistry;
-
- public GraphViewComponent(ColourManager colourManager,
- EditManager editManager, FileManager fileManager,
- MenuManager menuManager,
- GraphViewConfiguration graphViewConfiguration,
- WorkbenchConfiguration workbenchConfiguration,
- SelectionManager selectionManager, ServiceRegistry serviceRegistry) {
- this.colourManager = colourManager;
- this.editManager = editManager;
- this.menuManager = menuManager;
- this.graphViewConfiguration = graphViewConfiguration;
- this.workbenchConfiguration = workbenchConfiguration;
- this.selectionManager = selectionManager;
- this.serviceRegistry = serviceRegistry;
-
- cardLayout = new CardLayout();
- setLayout(cardLayout);
-
- ActionListener taskPerformer = new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent evt) {
- if (graphController != null)
- graphController.redraw();
- timer.stop();
- }
- };
- timer = new Timer(100, taskPerformer);
-
- addComponentListener(new ComponentAdapter() {
- @Override
- public void componentResized(ComponentEvent e) {
- if (timer.isRunning())
- timer.restart();
- else
- timer.start();
- }
- });
-
- editManager.addObserver(new EditManagerObserver());
- selectionManager.addObserver(new SelectionManagerObserver());
- fileManager.addObserver(new FileManagerObserver());
- }
-
- @Override
- protected void finalize() throws Throwable {
- if (timer != null)
- timer.stop();
- }
-
- @Override
- public String getName() {
- return "Graph View Component";
- }
-
- @Override
- public ImageIcon getIcon() {
- return null;
- }
-
- @Override
- public void onDisplay() {
- }
-
- @Override
- public void onDispose() {
- if (timer != null)
- timer.stop();
- }
-
- private JPanel createDiagramPanel(Workflow workflow) {
- final JPanel diagramPanel = new JPanel(new BorderLayout());
-
- // get the default diagram settings
- Alignment alignment = Alignment.valueOf(graphViewConfiguration
- .getProperty(ALIGNMENT));
- PortStyle portStyle = PortStyle.valueOf(graphViewConfiguration
- .getProperty(PORT_STYLE));
- boolean animationEnabled = Boolean.parseBoolean(graphViewConfiguration
- .getProperty(ANIMATION_ENABLED));
- int animationSpeed = Integer.parseInt(graphViewConfiguration
- .getProperty(ANIMATION_SPEED));
-
- // create an SVG canvas
- final JSVGCanvas svgCanvas = new JSVGCanvas(null, true, false);
- svgCanvas.setEnableZoomInteractor(false);
- svgCanvas.setEnableRotateInteractor(false);
- svgCanvas.setDocumentState(ALWAYS_DYNAMIC);
- svgCanvas.setTransferHandler(new ServiceTransferHandler(editManager,
- menuManager, selectionManager, serviceRegistry));
-
- AutoScrollInteractor asi = new AutoScrollInteractor(svgCanvas);
- svgCanvas.addMouseListener(asi);
- svgCanvas.addMouseMotionListener(asi);
-
- final JSVGScrollPane svgScrollPane = new MySvgScrollPane(svgCanvas);
-
- GVTTreeRendererAdapter gvtTreeRendererAdapter = new GVTTreeRendererAdapter() {
- @Override
- public void gvtRenderingCompleted(GVTTreeRendererEvent e) {
- logger.info("Rendered svg");
- svgScrollPane.reset();
- diagramPanel.revalidate();
- }
- };
- svgCanvas.addGVTTreeRendererListener(gvtTreeRendererAdapter);
-
- // create a graph controller
- SVGGraphController svgGraphController = new SVGGraphController(
- workflow, selectionManager.getSelectedProfile(), false,
- svgCanvas, alignment, portStyle, editManager, menuManager,
- colourManager, workbenchConfiguration);
- svgGraphController.setDataflowSelectionModel(selectionManager
- .getDataflowSelectionModel(workflow.getParent()));
- svgGraphController.setAnimationSpeed(animationEnabled ? animationSpeed
- : 0);
-
- graphControllerMap.put(workflow, svgGraphController);
-
- // Toolbar with actions related to graph
- JToolBar graphActionsToolbar = graphActionsToolbar(workflow,
- svgGraphController, svgCanvas, alignment, portStyle);
- graphActionsToolbar.setAlignmentX(LEFT_ALIGNMENT);
- graphActionsToolbar.setFloatable(false);
-
- // Panel to hold the toolbars
- JPanel toolbarPanel = new JPanel();
- toolbarPanel.setLayout(new BoxLayout(toolbarPanel, PAGE_AXIS));
- toolbarPanel.add(graphActionsToolbar);
-
- diagramPanel.add(toolbarPanel, NORTH);
- diagramPanel.add(svgScrollPane, CENTER);
-
- // JTextField workflowHierarchy = new JTextField(workflow.getName());
- // diagramPanel.add(workflowHierarchy, BorderLayout.SOUTH);
-
- return diagramPanel;
- }
-
- @SuppressWarnings("serial")
- private JToolBar graphActionsToolbar(Workflow workflow,
- final SVGGraphController graphController, JSVGCanvas svgCanvas,
- Alignment alignment, PortStyle portStyle) {
- JToolBar toolBar = new JToolBar();
-
- JButton resetDiagramButton = new JButton();
- resetDiagramButton.setBorder(new EmptyBorder(0, 2, 0, 2));
- JButton zoomInButton = new JButton();
- zoomInButton.setBorder(new EmptyBorder(0, 2, 0, 2));
- JButton zoomOutButton = new JButton();
- zoomOutButton.setBorder(new EmptyBorder(0, 2, 0, 2));
-
- Action resetDiagramAction = svgCanvas.new ResetTransformAction();
- ResetDiagramAction.setDesignAction(resetDiagramAction);
- resetDiagramAction.putValue(SHORT_DESCRIPTION, "Reset Diagram");
- resetDiagramAction.putValue(SMALL_ICON, refreshIcon);
- resetDiagramButton.setAction(resetDiagramAction);
-
- Action zoomInAction = svgCanvas.new ZoomAction(1.2);
- ZoomInAction.setDesignAction(zoomInAction);
- zoomInAction.putValue(SHORT_DESCRIPTION, "Zoom In");
- zoomInAction.putValue(SMALL_ICON, zoomInIcon);
- zoomInButton.setAction(zoomInAction);
-
- Action zoomOutAction = svgCanvas.new ZoomAction(1 / 1.2);
- ZoomOutAction.setDesignAction(zoomOutAction);
- zoomOutAction.putValue(SHORT_DESCRIPTION, "Zoom Out");
- zoomOutAction.putValue(SMALL_ICON, zoomOutIcon);
- zoomOutButton.setAction(zoomOutAction);
-
- diagramActionsMap.put(workflow, new Action[] { resetDiagramAction,
- zoomInAction, zoomOutAction });
-
- toolBar.add(resetDiagramButton);
- toolBar.add(zoomInButton);
- toolBar.add(zoomOutButton);
-
- toolBar.addSeparator();
-
- ButtonGroup nodeTypeGroup = new ButtonGroup();
-
- JToggleButton noPorts = new JToggleButton();
- JToggleButton allPorts = new JToggleButton();
- JToggleButton blobs = new JToggleButton();
- nodeTypeGroup.add(noPorts);
- nodeTypeGroup.add(allPorts);
- nodeTypeGroup.add(blobs);
-
- if (portStyle.equals(PortStyle.NONE))
- noPorts.setSelected(true);
- else if (portStyle.equals(PortStyle.ALL))
- allPorts.setSelected(true);
- else
- blobs.setSelected(true);
-
- noPorts.setAction(new AbstractAction() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- graphController.setPortStyle(PortStyle.NONE);
- graphController.redraw();
- }
- });
- noPorts.getAction().putValue(SHORT_DESCRIPTION,
- "Display no service ports");
- noPorts.getAction().putValue(SMALL_ICON, noportIcon);
- noPorts.setFocusPainted(false);
-
- allPorts.setAction(new AbstractAction() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- graphController.setPortStyle(PortStyle.ALL);
- graphController.redraw();
- }
- });
- allPorts.getAction().putValue(SHORT_DESCRIPTION,
- "Display all service ports");
- allPorts.getAction().putValue(SMALL_ICON, allportIcon);
- allPorts.setFocusPainted(false);
-
- blobs.setAction(new AbstractAction() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- graphController.setPortStyle(PortStyle.BLOB);
- graphController.redraw();
- }
- });
- blobs.getAction().putValue(SHORT_DESCRIPTION,
- "Display services as circles");
- blobs.getAction().putValue(SMALL_ICON, blobIcon);
- blobs.setFocusPainted(false);
-
- toolBar.add(noPorts);
- toolBar.add(allPorts);
- toolBar.add(blobs);
-
- toolBar.addSeparator();
-
- ButtonGroup alignmentGroup = new ButtonGroup();
-
- JToggleButton vertical = new JToggleButton();
- JToggleButton horizontal = new JToggleButton();
- alignmentGroup.add(vertical);
- alignmentGroup.add(horizontal);
-
- if (alignment.equals(Alignment.VERTICAL)) {
- vertical.setSelected(true);
- } else {
- horizontal.setSelected(true);
- }
-
- vertical.setAction(new AbstractAction() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- graphController.setAlignment(Alignment.VERTICAL);
- graphController.redraw();
- }
- });
- vertical.getAction().putValue(SHORT_DESCRIPTION,
- "Align services vertically");
- vertical.getAction().putValue(SMALL_ICON, verticalIcon);
- vertical.setFocusPainted(false);
-
- horizontal.setAction(new AbstractAction() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- graphController.setAlignment(Alignment.HORIZONTAL);
- graphController.redraw();
- }
-
- });
- horizontal.getAction().putValue(SHORT_DESCRIPTION,
- "Align services horizontally");
- horizontal.getAction().putValue(SMALL_ICON, horizontalIcon);
- horizontal.setFocusPainted(false);
-
- toolBar.add(vertical);
- toolBar.add(horizontal);
-
- toolBar.addSeparator();
-
- JToggleButton expandNested = new JToggleButton();
- expandNested.setSelected(true);
-
- expandNested.setAction(new AbstractAction() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- graphController.setExpandNestedDataflows(!graphController
- .expandNestedDataflows());
- graphController.redraw();
- }
- });
- expandNested.getAction().putValue(SHORT_DESCRIPTION,
- "Expand Nested Workflows");
- expandNested.getAction().putValue(SMALL_ICON, expandNestedIcon);
- expandNested.setFocusPainted(false);
- toolBar.add(expandNested);
-
- return toolBar;
- }
-
- /**
- * Sets the Workflow to display in the graph view.
- *
- * @param workflow
- */
- private void setWorkflow(Workflow workflow) {
- this.workflow = workflow;
- if (!diagramPanelMap.containsKey(workflow))
- addWorkflow(workflow);
- graphController = graphControllerMap.get(workflow);
- diagramPanel = diagramPanelMap.get(workflow);
- Action[] actions = diagramActionsMap.get(workflow);
- if (actions != null && actions.length == 3) {
- ResetDiagramAction.setDesignAction(actions[0]);
- ZoomInAction.setDesignAction(actions[1]);
- ZoomOutAction.setDesignAction(actions[2]);
- }
- cardLayout.show(this, String.valueOf(diagramPanel.hashCode()));
- graphController.redraw();
- }
-
- private void addWorkflow(Workflow workflow) {
- JPanel newDiagramPanel = createDiagramPanel(workflow);
- add(newDiagramPanel, String.valueOf(newDiagramPanel.hashCode()));
- diagramPanelMap.put(workflow, newDiagramPanel);
- if (!workflowsMap.containsKey(workflow.getParent()))
- workflowsMap.put(workflow.getParent(), new HashSet<Workflow>());
- workflowsMap.get(workflow.getParent()).add(workflow);
- }
-
- private void removeWorkflow(Workflow workflow) {
- JPanel panel = diagramPanelMap.remove(workflow);
- if (panel != null)
- remove(panel);
- SVGGraphController removedController = graphControllerMap.remove(workflow);
- if (removedController != null)
- removedController.shutdown();
- diagramActionsMap.remove(workflow);
- Set<Workflow> workflows = workflowsMap.get(workflow.getParent());
- if (workflows != null)
- workflows.remove(workflow);
- }
-
- public GraphController getGraphController(Workflow workflow) {
- return graphControllerMap.get(workflow);
- }
-
- private class EditManagerObserver extends
- SwingAwareObserver<EditManagerEvent> {
- @Override
- public void notifySwing(Observable<EditManagerEvent> sender,
- EditManagerEvent message) {
- if (!(message instanceof AbstractDataflowEditEvent))
- return;
- AbstractDataflowEditEvent dataflowEditEvent = (AbstractDataflowEditEvent) message;
- if (dataflowEditEvent.getDataFlow() != workflow.getParent())
- return;
-
- boolean animationEnabled = Boolean
- .parseBoolean(graphViewConfiguration
- .getProperty(ANIMATION_ENABLED));
- int animationSpeed = (animationEnabled ? Integer
- .parseInt(graphViewConfiguration
- .getProperty(ANIMATION_SPEED)) : 0);
- boolean animationSettingChanged = (animationEnabled != (graphController
- .getAnimationSpeed() != 0));
-
- if (graphController.isDotMissing() || animationSettingChanged) {
- removeWorkflow(workflow);
- setWorkflow(workflow);
- } else {
- if (animationSpeed != graphController.getAnimationSpeed())
- graphController.setAnimationSpeed(animationSpeed);
- graphController.redraw();
- }
- }
- }
-
- private class FileManagerObserver extends SwingAwareObserver<FileManagerEvent> {
- @Override
- public void notifySwing(Observable<FileManagerEvent> sender, final FileManagerEvent message) {
- if (!(message instanceof ClosedDataflowEvent))
- return;
- ClosedDataflowEvent closedDataflowEvent = (ClosedDataflowEvent) message;
-
- WorkflowBundle workflowBundle = closedDataflowEvent.getDataflow();
- if (workflowsMap.containsKey(workflowBundle))
- for (Workflow workflow : workflowsMap.remove(workflowBundle))
- removeWorkflow(workflow);
- }
- }
-
- private class SelectionManagerObserver extends
- SwingAwareObserver<SelectionManagerEvent> {
- @Override
- public void notifySwing(Observable<SelectionManagerEvent> sender,
- SelectionManagerEvent message) {
- if (message instanceof WorkflowSelectionEvent)
- setWorkflow(selectionManager.getSelectedWorkflow());
- else if (message instanceof WorkflowBundleSelectionEvent)
- setWorkflow(selectionManager.getSelectedWorkflow());
- }
- }
-
- private class MySvgScrollPane extends JSVGScrollPane {
- private static final long serialVersionUID = -1539947450704269879L;
-
- public MySvgScrollPane(JSVGCanvas canvas) {
- super(canvas);
- }
-
- @Override
- public void reset() {
- super.resizeScrollBars();
- super.reset();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/GraphViewComponentFactory.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/GraphViewComponentFactory.java b/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/GraphViewComponentFactory.java
deleted file mode 100644
index 85f2929..0000000
--- a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/GraphViewComponentFactory.java
+++ /dev/null
@@ -1,100 +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.views.graph;
-
-import javax.swing.ImageIcon;
-
-import uk.org.taverna.commons.services.ServiceRegistry;
-
-import net.sf.taverna.t2.ui.menu.MenuManager;
-import net.sf.taverna.t2.workbench.configuration.colour.ColourManager;
-import net.sf.taverna.t2.workbench.configuration.workbench.WorkbenchConfiguration;
-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;
-import net.sf.taverna.t2.workbench.ui.zaria.UIComponentSPI;
-import net.sf.taverna.t2.workbench.views.graph.config.GraphViewConfiguration;
-
-/**
- * @author David Withers
- */
-public class GraphViewComponentFactory implements UIComponentFactorySPI {
- private EditManager editManager;
- private FileManager fileManager;
- private MenuManager menuManager;
- private SelectionManager selectionManager;
- private ColourManager colourManager;
- private WorkbenchConfiguration workbenchConfiguration;
- private GraphViewConfiguration graphViewConfiguration;
- private ServiceRegistry serviceRegistry;
-
- @Override
- public UIComponentSPI getComponent() {
- return new GraphViewComponent(colourManager, editManager, fileManager,
- menuManager, graphViewConfiguration, workbenchConfiguration,
- selectionManager, serviceRegistry);
- }
-
- @Override
- public ImageIcon getIcon() {
- return null;
- }
-
- @Override
- public String getName() {
- return "Graph View";
- }
-
- public void setEditManager(EditManager editManager) {
- this.editManager = editManager;
- }
-
- public void setFileManager(FileManager fileManager) {
- this.fileManager = fileManager;
- }
-
- public void setMenuManager(MenuManager menuManager) {
- this.menuManager = menuManager;
- }
-
- public void setSelectionManager(SelectionManager selectionManager) {
- this.selectionManager = selectionManager;
- }
-
- public void setColourManager(ColourManager colourManager) {
- this.colourManager = colourManager;
- }
-
- public void setWorkbenchConfiguration(
- WorkbenchConfiguration workbenchConfiguration) {
- this.workbenchConfiguration = workbenchConfiguration;
- }
-
- public void setGraphViewConfiguration(
- GraphViewConfiguration graphViewConfiguration) {
- this.graphViewConfiguration = graphViewConfiguration;
- }
-
- public void setServiceRegistry(ServiceRegistry serviceRegistry) {
- this.serviceRegistry = serviceRegistry;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/AddWFInputAction.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/AddWFInputAction.java b/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/AddWFInputAction.java
deleted file mode 100644
index 8c16e4a..0000000
--- a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/AddWFInputAction.java
+++ /dev/null
@@ -1,69 +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.views.graph.actions;
-
-import static java.awt.event.InputEvent.ALT_DOWN_MASK;
-import static java.awt.event.InputEvent.SHIFT_DOWN_MASK;
-import static java.awt.event.KeyEvent.VK_I;
-import static javax.swing.KeyStroke.getKeyStroke;
-import static net.sf.taverna.t2.workbench.icons.WorkbenchIcons.inputIcon;
-
-import java.awt.event.ActionEvent;
-
-import javax.swing.AbstractAction;
-
-import net.sf.taverna.t2.ui.menu.DesignOnlyAction;
-import net.sf.taverna.t2.workbench.design.actions.AddDataflowInputAction;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import uk.org.taverna.scufl2.api.core.Workflow;
-
-/**
- * An action that adds a workflow input.
- *
- * @author Alex Nenadic
- * @author Alan R Williams
- */
-@SuppressWarnings("serial")
-public class AddWFInputAction extends AbstractAction implements
- DesignOnlyAction {
- private final EditManager editManager;
- private final SelectionManager selectionManager;
-
- public AddWFInputAction(EditManager editManager,
- SelectionManager selectionManager) {
- super();
- this.editManager = editManager;
- this.selectionManager = selectionManager;
- putValue(SMALL_ICON, inputIcon);
- putValue(NAME, "Workflow input port");
- putValue(SHORT_DESCRIPTION, "Workflow input port");
- putValue(ACCELERATOR_KEY,
- getKeyStroke(VK_I, SHIFT_DOWN_MASK | ALT_DOWN_MASK));
- }
-
- @Override
- public void actionPerformed(ActionEvent e) {
- Workflow workflow = selectionManager.getSelectedWorkflow();
- new AddDataflowInputAction(workflow, null, editManager,
- selectionManager).actionPerformed(e);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/AddWFOutputAction.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/AddWFOutputAction.java b/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/AddWFOutputAction.java
deleted file mode 100644
index 4027773..0000000
--- a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/AddWFOutputAction.java
+++ /dev/null
@@ -1,69 +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.views.graph.actions;
-
-import static java.awt.event.InputEvent.ALT_DOWN_MASK;
-import static java.awt.event.InputEvent.SHIFT_DOWN_MASK;
-import static java.awt.event.KeyEvent.VK_O;
-import static javax.swing.KeyStroke.getKeyStroke;
-
-import java.awt.event.ActionEvent;
-
-import javax.swing.AbstractAction;
-
-import net.sf.taverna.t2.ui.menu.DesignOnlyAction;
-import net.sf.taverna.t2.workbench.design.actions.AddDataflowOutputAction;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.icons.WorkbenchIcons;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import uk.org.taverna.scufl2.api.core.Workflow;
-
-/**
- * An action that adds a workflow output.
- *
- * @author Alex Nenadic
- * @author Alan R Williams
- */
-@SuppressWarnings("serial")
-public class AddWFOutputAction extends AbstractAction implements
- DesignOnlyAction {
- private final EditManager editManager;
- private final SelectionManager selectionManager;
-
- public AddWFOutputAction(EditManager editManager,
- SelectionManager selectionManager) {
- super();
- this.editManager = editManager;
- this.selectionManager = selectionManager;
- putValue(SMALL_ICON, WorkbenchIcons.outputIcon);
- putValue(NAME, "Workflow output port");
- putValue(SHORT_DESCRIPTION, "Workflow output port");
- putValue(ACCELERATOR_KEY,
- getKeyStroke(VK_O, SHIFT_DOWN_MASK | ALT_DOWN_MASK));
- }
-
- @Override
- public void actionPerformed(ActionEvent e) {
- Workflow workflow = selectionManager.getSelectedWorkflow();
- new AddDataflowOutputAction(workflow, null, editManager,
- selectionManager).actionPerformed(e);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/DeleteGraphComponentAction.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/DeleteGraphComponentAction.java b/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/DeleteGraphComponentAction.java
deleted file mode 100644
index 86849b6..0000000
--- a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/DeleteGraphComponentAction.java
+++ /dev/null
@@ -1,180 +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.views.graph.actions;
-
-import static java.awt.event.KeyEvent.VK_DELETE;
-import static javax.swing.KeyStroke.getKeyStroke;
-import static net.sf.taverna.t2.workbench.icons.WorkbenchIcons.deleteIcon;
-
-import java.awt.event.ActionEvent;
-import java.util.Set;
-
-import javax.swing.AbstractAction;
-
-import net.sf.taverna.t2.lang.observer.Observable;
-import net.sf.taverna.t2.lang.observer.Observer;
-import net.sf.taverna.t2.lang.observer.SwingAwareObserver;
-import net.sf.taverna.t2.ui.menu.DesignOnlyAction;
-import net.sf.taverna.t2.workbench.design.actions.RemoveConditionAction;
-import net.sf.taverna.t2.workbench.design.actions.RemoveDataflowInputPortAction;
-import net.sf.taverna.t2.workbench.design.actions.RemoveDataflowOutputPortAction;
-import net.sf.taverna.t2.workbench.design.actions.RemoveDatalinkAction;
-import net.sf.taverna.t2.workbench.design.actions.RemoveProcessorAction;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.selection.DataflowSelectionModel;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workbench.selection.events.DataflowSelectionMessage;
-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;
-import uk.org.taverna.scufl2.api.core.ControlLink;
-import uk.org.taverna.scufl2.api.core.DataLink;
-import uk.org.taverna.scufl2.api.core.Processor;
-import uk.org.taverna.scufl2.api.port.InputWorkflowPort;
-import uk.org.taverna.scufl2.api.port.OutputWorkflowPort;
-
-/**
- * An action that deletes the selected graph component.
- *
- * @author Alex Nenadic
- */
-@SuppressWarnings("serial")
-public class DeleteGraphComponentAction extends AbstractAction implements DesignOnlyAction {
- /** Current workflow's selection model event observer.*/
- private Observer<DataflowSelectionMessage> workflowSelectionObserver = new DataflowSelectionObserver();
-
- private final EditManager editManager;
- private final SelectionManager selectionManager;
-
- public DeleteGraphComponentAction(EditManager editManager, final SelectionManager selectionManager) {
- super();
- this.editManager = editManager;
- this.selectionManager = selectionManager;
- putValue(SMALL_ICON, deleteIcon);
- putValue(NAME, "Delete");
- putValue(SHORT_DESCRIPTION, "Delete selected component");
- putValue(ACCELERATOR_KEY, getKeyStroke(VK_DELETE, 0));
- setEnabled(false);
-
- selectionManager.addObserver(new SelectionManagerObserver());
- }
-
- @Override
- public void actionPerformed(ActionEvent e) {
- WorkflowBundle workflowBundle = selectionManager
- .getSelectedWorkflowBundle();
- DataflowSelectionModel dataFlowSelectionModel = selectionManager
- .getDataflowSelectionModel(workflowBundle);
- // Get all selected components
- Set<Object> selectedWFComponents = dataFlowSelectionModel.getSelection();
- for (Object selectedWFComponent : selectedWFComponents)
- if (selectedWFComponent instanceof Processor) {
- Processor processor = (Processor) selectedWFComponent;
- new RemoveProcessorAction(processor.getParent(), processor,
- null, editManager, selectionManager).actionPerformed(e);
- } else if (selectedWFComponent instanceof DataLink) {
- DataLink dataLink = (DataLink) selectedWFComponent;
- new RemoveDatalinkAction(dataLink.getParent(), dataLink, null,
- editManager, selectionManager).actionPerformed(e);
- } else if (selectedWFComponent instanceof InputWorkflowPort) {
- InputWorkflowPort port = (InputWorkflowPort) selectedWFComponent;
- new RemoveDataflowInputPortAction(port.getParent(), port, null,
- editManager, selectionManager).actionPerformed(e);
- } else if (selectedWFComponent instanceof OutputWorkflowPort) {
- OutputWorkflowPort port = (OutputWorkflowPort) selectedWFComponent;
- new RemoveDataflowOutputPortAction(port.getParent(), port,
- null, editManager, selectionManager).actionPerformed(e);
- } else if (selectedWFComponent instanceof ControlLink) {
- ControlLink controlLink = (ControlLink) selectedWFComponent;
- new RemoveConditionAction(controlLink.getParent(), controlLink,
- null, editManager, selectionManager).actionPerformed(e);
- }
- }
-
- /**
- * Check if action should be enabled or disabled and update its status.
- */
- public void updateStatus(WorkflowBundle selectionWorkflowBundle) {
- if (selectionWorkflowBundle != null) {
- DataflowSelectionModel selectionModel = selectionManager
- .getDataflowSelectionModel(selectionWorkflowBundle);
- Set<Object> selection = selectionModel.getSelection();
- if (!selection.isEmpty()) {
- // Take the first selected item - we only support single selections anyway
- Object selected = selection.toArray()[0];
- if ((selected instanceof Processor)
- || (selected instanceof InputWorkflowPort)
- || (selected instanceof OutputWorkflowPort)
- || (selected instanceof DataLink)
- || (selected instanceof ControlLink)) {
- setEnabled(true);
- return;
- }
- }
- }
- setEnabled(false);
- }
-
- /**
- * Observes events on workflow Selection Manager, i.e. when a workflow node
- * is selected in the graph view, and enables/disables this action
- * accordingly.
- */
- private final class DataflowSelectionObserver extends
- SwingAwareObserver<DataflowSelectionMessage> {
- @Override
- public void notifySwing(Observable<DataflowSelectionMessage> sender,
- DataflowSelectionMessage message) {
- updateStatus(selectionManager.getSelectedWorkflowBundle());
- }
- }
-
- private final class SelectionManagerObserver extends
- SwingAwareObserver<SelectionManagerEvent> {
- @Override
- public void notifySwing(Observable<SelectionManagerEvent> sender,
- SelectionManagerEvent message) {
- if (!(message instanceof WorkflowBundleSelectionEvent))
- return;
- WorkflowBundleSelectionEvent workflowBundleSelectionEvent = (WorkflowBundleSelectionEvent) message;
- WorkflowBundle oldFlow = workflowBundleSelectionEvent
- .getPreviouslySelectedWorkflowBundle();
- WorkflowBundle newFlow = workflowBundleSelectionEvent
- .getSelectedWorkflowBundle();
-
- /*
- * Remove the workflow selection model listener from the previous
- * (if any) and add to the new workflow (if any)
- */
- if (oldFlow != null)
- selectionManager.getDataflowSelectionModel(oldFlow)
- .removeObserver(workflowSelectionObserver);
-
- // Update the buttons status as current dataflow has changed
- updateStatus(newFlow);
-
- if (newFlow != null)
- selectionManager.getDataflowSelectionModel(newFlow)
- .addObserver(workflowSelectionObserver);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/RenameWFInputOutputProcessorAction.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/RenameWFInputOutputProcessorAction.java b/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/RenameWFInputOutputProcessorAction.java
deleted file mode 100644
index f56a0e0..0000000
--- a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/actions/RenameWFInputOutputProcessorAction.java
+++ /dev/null
@@ -1,184 +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.views.graph.actions;
-
-import static java.awt.event.KeyEvent.VK_F2;
-import static javax.swing.JOptionPane.WARNING_MESSAGE;
-import static javax.swing.JOptionPane.showMessageDialog;
-import static javax.swing.KeyStroke.getKeyStroke;
-
-import java.awt.event.ActionEvent;
-import java.util.Set;
-
-import javax.swing.AbstractAction;
-
-import net.sf.taverna.t2.lang.observer.Observable;
-import net.sf.taverna.t2.lang.observer.Observer;
-import net.sf.taverna.t2.lang.observer.SwingAwareObserver;
-import net.sf.taverna.t2.ui.menu.DesignOnlyAction;
-import net.sf.taverna.t2.workbench.design.actions.EditDataflowInputPortAction;
-import net.sf.taverna.t2.workbench.design.actions.EditDataflowOutputPortAction;
-import net.sf.taverna.t2.workbench.design.actions.RenameProcessorAction;
-import net.sf.taverna.t2.workbench.edits.EditManager;
-import net.sf.taverna.t2.workbench.icons.WorkbenchIcons;
-import net.sf.taverna.t2.workbench.selection.DataflowSelectionModel;
-import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workbench.selection.events.DataflowSelectionMessage;
-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;
-import uk.org.taverna.scufl2.api.core.Processor;
-import uk.org.taverna.scufl2.api.port.InputWorkflowPort;
-import uk.org.taverna.scufl2.api.port.OutputWorkflowPort;
-
-/**
- * An action that allows user to rename workflow input, output or
- * processor, in case one of these is currently selected in the Graph View.
- *
- * @author Alex Nenadic
- */
-@SuppressWarnings("serial")
-public class RenameWFInputOutputProcessorAction extends AbstractAction implements DesignOnlyAction {
- /** Current workflow's selection model event observer.*/
- private Observer<DataflowSelectionMessage> workflowSelectionObserver = new DataflowSelectionObserver();
-
- private final EditManager editManager;
- private final SelectionManager selectionManager;
-
- public RenameWFInputOutputProcessorAction(EditManager editManager,
- final SelectionManager selectionManager) {
- super();
- this.editManager = editManager;
- this.selectionManager = selectionManager;
- putValue(SMALL_ICON, WorkbenchIcons.renameIcon);
- putValue(NAME, "Rename");
- putValue(SHORT_DESCRIPTION, "Rename inputs, outputs or services");
- putValue(ACCELERATOR_KEY, getKeyStroke(VK_F2, 0));
- setEnabled(false);
-
- selectionManager.addObserver(new SelectionManagerObserver());
- }
-
- @Override
- public void actionPerformed(ActionEvent e) {
- WorkflowBundle workflowBundle = selectionManager
- .getSelectedWorkflowBundle();
- DataflowSelectionModel dataFlowSelectionModel = selectionManager
- .getDataflowSelectionModel(workflowBundle);
- // Get selected port
- Set<Object> selectedWFComponents = dataFlowSelectionModel
- .getSelection();
- if (selectedWFComponents.size() > 1) {
- showMessageDialog(
- null,
- "Only one workflow component should be selected for this action.",
- "Warning", WARNING_MESSAGE);
- } else {
- Object selectedWFComponent = selectedWFComponents.toArray()[0];
- if (selectedWFComponent instanceof InputWorkflowPort) {
- InputWorkflowPort port = (InputWorkflowPort) selectedWFComponent;
- new EditDataflowInputPortAction(port.getParent(), port, null,
- editManager, selectionManager).actionPerformed(e);
- } else if (selectedWFComponent instanceof OutputWorkflowPort) {
- OutputWorkflowPort port = (OutputWorkflowPort) selectedWFComponent;
- new EditDataflowOutputPortAction(port.getParent(), port, null,
- editManager, selectionManager).actionPerformed(e);
- } else if (selectedWFComponent instanceof Processor) {
- Processor processor = (Processor) selectedWFComponent;
- new RenameProcessorAction(processor.getParent(), processor,
- null, editManager, selectionManager).actionPerformed(e);
- } else { // should not happen as the button will be disabled otherwise, but ...
- showMessageDialog(
- null,
- "This action does not apply for the selected component.",
- "Warning", WARNING_MESSAGE);
- }
- }
- }
-
- /**
- * Check if action should be enabled or disabled and update its status.
- */
- public void updateStatus() {
- WorkflowBundle workflowBundle = selectionManager
- .getSelectedWorkflowBundle();
- DataflowSelectionModel selectionModel = selectionManager
- .getDataflowSelectionModel(workflowBundle);
-
- // List of all selected objects in the graph view
- Set<Object> selection = selectionModel.getSelection();
-
- if (!selection.isEmpty()) {
- // Take the first selected item - we only support single selections anyway
- Object selected = selection.toArray()[0];
- if ((selected instanceof Processor)
- || (selected instanceof InputWorkflowPort)
- || (selected instanceof OutputWorkflowPort)) {
- setEnabled(true);
- return;
- }
- }
- setEnabled(false);
- }
-
- /**
- * Observes events on workflow Selection Manager, i.e. when a workflow node
- * is selected in the graph view, and enables/disables this action
- * accordingly.
- */
- private final class DataflowSelectionObserver extends
- SwingAwareObserver<DataflowSelectionMessage> {
- @Override
- public void notifySwing(Observable<DataflowSelectionMessage> sender,
- DataflowSelectionMessage message) {
- updateStatus();
- }
- }
-
- private final class SelectionManagerObserver extends
- SwingAwareObserver<SelectionManagerEvent> {
- @Override
- public void notifySwing(Observable<SelectionManagerEvent> sender,
- SelectionManagerEvent message) {
- if (!(message instanceof WorkflowBundleSelectionEvent))
- return;
- WorkflowBundleSelectionEvent workflowBundleSelectionEvent = (WorkflowBundleSelectionEvent) message;
- WorkflowBundle oldFlow = workflowBundleSelectionEvent
- .getPreviouslySelectedWorkflowBundle();
- WorkflowBundle newFlow = workflowBundleSelectionEvent
- .getSelectedWorkflowBundle();
- // Update the buttons status as current dataflow has changed
- updateStatus();
-
- /*
- * Remove the workflow selection model listener from the previous
- * (if any) and add to the new workflow (if any)
- */
- if (oldFlow != null)
- selectionManager.getDataflowSelectionModel(oldFlow)
- .removeObserver(workflowSelectionObserver);
-
- if (newFlow != null)
- selectionManager.getDataflowSelectionModel(newFlow)
- .addObserver(workflowSelectionObserver);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/dc466d6d/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/config/GraphViewConfiguration.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/config/GraphViewConfiguration.java b/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/config/GraphViewConfiguration.java
deleted file mode 100644
index b1c3265..0000000
--- a/taverna-workbench-graph-view/src/main/java/net/sf/taverna/t2/workbench/views/graph/config/GraphViewConfiguration.java
+++ /dev/null
@@ -1,80 +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.workbench.views.graph.config;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import uk.org.taverna.configuration.AbstractConfigurable;
-import uk.org.taverna.configuration.ConfigurationManager;
-
-import net.sf.taverna.t2.workbench.models.graph.Graph.Alignment;
-import net.sf.taverna.t2.workbench.models.graph.GraphController.PortStyle;
-
-/**
- * Configuration for the GraphViewComponent.
- *
- * @author David Withers
- */
-public class GraphViewConfiguration extends AbstractConfigurable {
- public static final String PORT_STYLE = "portStyle";
- public static final String ALIGNMENT = "alignment";
- public static final String ANIMATION_ENABLED = "animationEnabled";
- public static final String ANIMATION_SPEED = "animationSpeed";
-
- private Map<String, String> defaultPropertyMap;
-
- public GraphViewConfiguration(ConfigurationManager configurationManager) {
- super(configurationManager);
- }
-
- @Override
- public String getCategory() {
- return "general";
- }
-
- @Override
- public Map<String, String> getDefaultPropertyMap() {
- if (defaultPropertyMap == null) {
- defaultPropertyMap = new HashMap<>();
- defaultPropertyMap.put(PORT_STYLE, PortStyle.NONE.toString());
- defaultPropertyMap.put(ALIGNMENT, Alignment.VERTICAL.toString());
- defaultPropertyMap.put(ANIMATION_ENABLED, "false");
- defaultPropertyMap.put(ANIMATION_SPEED, "800");
- }
- return defaultPropertyMap;
- }
-
- @Override
- public String getDisplayName() {
- return "Diagram";
- }
-
- @Override
- public String getFilePrefix() {
- return "Diagram";
- }
-
- @Override
- public String getUUID() {
- return "3686BA31-449F-4147-A8AC-0C3F63AFC68F";
- }
-}