Author: ruschein
Date: 2011-07-27 15:40:56 -0700 (Wed, 27 Jul 2011)
New Revision: 26296

Modified:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllNodesTask.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllNodesTaskFactory.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllTask.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllTaskFactory.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/SelectionEdit.java
   
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
   
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/AllFactoryTest.java
   
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/DeselectAllNodesTaskTest.java
   
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/DeselectAllTaskTest.java
Log:
Added undo/redo support for the deselection of all nodes and all nodes+edges.

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllNodesTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllNodesTask.java
       2011-07-27 22:01:36 UTC (rev 26295)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllNodesTask.java
       2011-07-27 22:40:56 UTC (rev 26296)
@@ -1,7 +1,7 @@
 /*
  File: DeselectAllNodesTask.java
 
- Copyright (c) 2006, 2010, The Cytoscape Consortium (www.cytoscape.org)
+ Copyright (c) 2006, 2010-2011, The Cytoscape Consortium (www.cytoscape.org)
 
  This library is free software; you can redistribute it and/or modify it
  under the terms of the GNU Lesser General Public License as published
@@ -26,22 +26,35 @@
  You should have received a copy of the GNU Lesser General Public License
  along with this library; if not, write to the Free Software Foundation,
  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
+*/
 package org.cytoscape.task.internal.select;
 
 
 import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.model.CyNetwork;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.work.TaskMonitor;
-import org.cytoscape.view.model.CyNetworkViewManager;
+import org.cytoscape.work.undo.UndoSupport;
 
 
 public class DeselectAllNodesTask extends AbstractSelectTask {
-       public DeselectAllNodesTask(final CyNetwork net, final 
CyNetworkViewManager networkViewManager, final CyEventHelper eventHelper) {
-               super(net,networkViewManager, eventHelper);
+       private final UndoSupport undoSupport;
+
+       public DeselectAllNodesTask(final UndoSupport undoSupport, final 
CyNetwork net,
+                                   final CyNetworkViewManager 
networkViewManager,
+                                   final CyEventHelper eventHelper)
+       {
+               super(net, networkViewManager, eventHelper);
+               this.undoSupport = undoSupport;
        }
 
-       public void run(TaskMonitor tm) {
+       public void run(final TaskMonitor tm) {
+               final CyNetworkView view = 
networkViewManager.getNetworkView(network.getSUID());
+               undoSupport.getUndoableEditSupport().postEdit(
+                       new SelectionEdit(eventHelper, "Deselect All Nodes", 
network, view,
+                                         
SelectionEdit.SelectionFilter.NODES_ONLY));
+
                selectUtils.setSelectedNodes( network.getNodeList(), false);
                updateView();
        }

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllNodesTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllNodesTaskFactory.java
        2011-07-27 22:01:36 UTC (rev 26295)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllNodesTaskFactory.java
        2011-07-27 22:40:56 UTC (rev 26296)
@@ -1,7 +1,7 @@
 /*
  File: DeselectAllNodesTaskFactory.java
 
- Copyright (c) 2006, 2010, The Cytoscape Consortium (www.cytoscape.org)
+ Copyright (c) 2006, 2010-2011, The Cytoscape Consortium (www.cytoscape.org)
 
  This library is free software; you can redistribute it and/or modify it
  under the terms of the GNU Lesser General Public License as published
@@ -26,24 +26,33 @@
  You should have received a copy of the GNU Lesser General Public License
  along with this library; if not, write to the Free Software Foundation,
  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
+*/
 package org.cytoscape.task.internal.select;
 
+
 import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.task.AbstractNetworkTaskFactory;
 import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.work.TaskIterator;
+import org.cytoscape.work.undo.UndoSupport;
 
+
 public class DeselectAllNodesTaskFactory extends AbstractNetworkTaskFactory {
-    private final CyNetworkViewManager networkViewManager;
-    private final CyEventHelper eventHelper;
+       private final UndoSupport undoSupport;
+       private final CyNetworkViewManager networkViewManager;
+       private final CyEventHelper eventHelper;
 
-    public DeselectAllNodesTaskFactory(final CyNetworkViewManager 
networkViewManager, final CyEventHelper eventHelper) {
-       this.networkViewManager = networkViewManager;
-       this.eventHelper = eventHelper;
-    }
+       public DeselectAllNodesTaskFactory(final UndoSupport undoSupport,
+                                          final CyNetworkViewManager 
networkViewManager,
+                                          final CyEventHelper eventHelper)
+       {
+               this.undoSupport        = undoSupport;
+               this.networkViewManager = networkViewManager;
+               this.eventHelper        = eventHelper;
+       }
 
-    public TaskIterator getTaskIterator() {
-       return new TaskIterator(new DeselectAllNodesTask(network, 
networkViewManager, eventHelper));
-    }
+       public TaskIterator getTaskIterator() {
+               return new TaskIterator(new DeselectAllNodesTask(undoSupport, 
network,
+                                                                
networkViewManager, eventHelper));
+       }
 }

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllTask.java
    2011-07-27 22:01:36 UTC (rev 26295)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllTask.java
    2011-07-27 22:40:56 UTC (rev 26296)
@@ -1,7 +1,7 @@
 /*
  File: DeselectAllTask.java
 
- Copyright (c) 2006, 2010, The Cytoscape Consortium (www.cytoscape.org)
+ Copyright (c) 2006, 2010-2011, The Cytoscape Consortium (www.cytoscape.org)
 
  This library is free software; you can redistribute it and/or modify it
  under the terms of the GNU Lesser General Public License as published
@@ -26,24 +26,37 @@
  You should have received a copy of the GNU Lesser General Public License
  along with this library; if not, write to the Free Software Foundation,
  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
+*/
 package org.cytoscape.task.internal.select;
 
+
 import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.model.CyNetwork;
+import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.work.undo.UndoSupport;
 
+
 public class DeselectAllTask extends AbstractSelectTask {
+       private final UndoSupport undoSupport;
 
-    public DeselectAllTask(final CyNetwork net, final CyNetworkViewManager 
networkViewManager,
-           final CyEventHelper eventHelper) {
-       super(net, networkViewManager, eventHelper);
-    }
+       public DeselectAllTask(final UndoSupport undoSupport, final CyNetwork 
net,
+                              final CyNetworkViewManager networkViewManager,
+                              final CyEventHelper eventHelper)
+       {
+               super(net, networkViewManager, eventHelper);
+               this.undoSupport = undoSupport;
+       }
 
-    public void run(TaskMonitor tm) {
-       selectUtils.setSelectedEdges(network.getEdgeList(), false);
-       selectUtils.setSelectedNodes(network.getNodeList(), false);
-       updateView();
-    }
+       public void run(final TaskMonitor tm) {
+               final CyNetworkView view = 
networkViewManager.getNetworkView(network.getSUID());
+               undoSupport.getUndoableEditSupport().postEdit(
+                       new SelectionEdit(eventHelper, "Deselect All Nodes and 
Edges", network, view,
+                                         
SelectionEdit.SelectionFilter.NODES_AND_EDGES));
+
+               selectUtils.setSelectedEdges(network.getEdgeList(), false);
+               selectUtils.setSelectedNodes(network.getNodeList(), false);
+               updateView();
+       }
 }

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllTaskFactory.java
     2011-07-27 22:01:36 UTC (rev 26295)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllTaskFactory.java
     2011-07-27 22:40:56 UTC (rev 26296)
@@ -1,7 +1,7 @@
 /*
  File: DeselectAllTaskFactory.java
 
- Copyright (c) 2006, 2010, The Cytoscape Consortium (www.cytoscape.org)
+ Copyright (c) 2006, 2010-2011, The Cytoscape Consortium (www.cytoscape.org)
 
  This library is free software; you can redistribute it and/or modify it
  under the terms of the GNU Lesser General Public License as published
@@ -26,24 +26,33 @@
  You should have received a copy of the GNU Lesser General Public License
  along with this library; if not, write to the Free Software Foundation,
  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
+*/
 package org.cytoscape.task.internal.select;
 
+
 import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.task.AbstractNetworkTaskFactory;
 import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.work.TaskIterator;
+import org.cytoscape.work.undo.UndoSupport;
 
+
 public class DeselectAllTaskFactory extends AbstractNetworkTaskFactory {
-    private CyNetworkViewManager networkViewManager;
-    private final CyEventHelper eventHelper;
+       private final UndoSupport undoSupport;
+       private CyNetworkViewManager networkViewManager;
+       private final CyEventHelper eventHelper;
 
-    public DeselectAllTaskFactory(final CyNetworkViewManager 
networkViewManager, final CyEventHelper eventHelper) {
-       this.networkViewManager = networkViewManager;
-       this.eventHelper = eventHelper;
-    }
+       public DeselectAllTaskFactory(final UndoSupport undoSupport,
+                                     final CyNetworkViewManager 
networkViewManager,
+                                     final CyEventHelper eventHelper)
+       {
+               this.undoSupport        = undoSupport;
+               this.networkViewManager = networkViewManager;
+               this.eventHelper        = eventHelper;
+       }
 
-    public TaskIterator getTaskIterator() {
-       return new TaskIterator(new DeselectAllTask(network, 
networkViewManager, eventHelper));
-    }
+       public TaskIterator getTaskIterator() {
+               return new TaskIterator(new DeselectAllTask(undoSupport, 
network, networkViewManager,
+                                                           eventHelper));
+       }
 }

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/SelectionEdit.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/SelectionEdit.java
      2011-07-27 22:01:36 UTC (rev 26295)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/SelectionEdit.java
      2011-07-27 22:40:56 UTC (rev 26296)
@@ -2,11 +2,12 @@
 
 
 import java.util.Collection;
+import java.util.ArrayList;
+import java.util.List;
 
 import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyRow;
-import org.cytoscape.model.CyTable;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.util.swing.CyAbstractEdit;
 
@@ -21,8 +22,8 @@
        private final CyNetwork network;
        private final CyNetworkView view;
        private final SelectionFilter filter;
-       private Collection<CyRow> nodeRows;
-       private Collection<CyRow> edgeRows;
+       private List<RowAndSelectionState> nodeRows;
+       private List<RowAndSelectionState> edgeRows;
 
        SelectionEdit(final CyEventHelper eventHelper, final String description,
                      final CyNetwork network, final CyNetworkView view,
@@ -40,45 +41,61 @@
 
        public void redo() {
                super.redo();
-
-               saveSelectionState();
-               restoreSelectionState();
-
-               eventHelper.flushPayloadEvents();
-               view.updateView();
+               saveAndRestoreState();
        }
 
        public void undo() {
                super.undo();
+               saveAndRestoreState();
+       }
 
-               restoreSelectionState();
+       private void saveAndRestoreState() {
+               final List<RowAndSelectionState> oldNodeRows = nodeRows;
+               final List<RowAndSelectionState> oldEdgeRows = edgeRows;
+
                saveSelectionState();
 
-               eventHelper.flushPayloadEvents();
-               view.updateView();
-       }
-
-       private void restoreSelectionState() {
                if (filter == SelectionFilter.NODES_ONLY || filter == 
SelectionFilter.NODES_AND_EDGES) {
-                       for (final CyRow row : nodeRows)
-                               row.set(CyNetwork.SELECTED, 
Boolean.valueOf(true));
+                       for (final RowAndSelectionState rowAndState : 
oldNodeRows)
+                               rowAndState.getRow().set(CyNetwork.SELECTED, 
rowAndState.isSelected());
                }
 
                if (filter == SelectionFilter.EDGES_ONLY || filter == 
SelectionFilter.NODES_AND_EDGES) {
-                       for (final CyRow row : edgeRows)
-                               row.set(CyNetwork.SELECTED, 
Boolean.valueOf(true));
+                       for (final RowAndSelectionState rowAndState : 
oldEdgeRows)
+                               rowAndState.getRow().set(CyNetwork.SELECTED, 
rowAndState.isSelected());
                }
+
+               eventHelper.flushPayloadEvents();
+               view.updateView();
        }
 
        private void saveSelectionState() {
                if (filter == SelectionFilter.NODES_ONLY || filter == 
SelectionFilter.NODES_AND_EDGES) {
-                       final CyTable nodeTable = network.getDefaultNodeTable();
-                       nodeRows = 
nodeTable.getMatchingRows(CyNetwork.SELECTED, Boolean.valueOf(true));
+                       final Collection<CyRow> rows = 
network.getDefaultNodeTable().getAllRows();
+                       nodeRows = new 
ArrayList<RowAndSelectionState>(rows.size());
+                       for (final CyRow row : rows)
+                               nodeRows.add(new RowAndSelectionState(row, 
row.get(CyNetwork.SELECTED, Boolean.class)));
                }
 
                if (filter == SelectionFilter.EDGES_ONLY || filter == 
SelectionFilter.NODES_AND_EDGES) {
-                       final CyTable edgeTable = network.getDefaultEdgeTable();
-                       edgeRows = 
edgeTable.getMatchingRows(CyNetwork.SELECTED, Boolean.valueOf(true));
+                       final Collection<CyRow> rows = 
network.getDefaultEdgeTable().getAllRows();
+                       edgeRows = new 
ArrayList<RowAndSelectionState>(rows.size());
+                       for (final CyRow row : rows)
+                               edgeRows.add(new RowAndSelectionState(row, 
row.get(CyNetwork.SELECTED, Boolean.class)));
                }
        }
 }
+
+
+final class RowAndSelectionState {
+       private final CyRow row;
+       private final Boolean selected;
+
+       RowAndSelectionState(final CyRow row, final Boolean selected) {
+               this.row      = row;
+               this.selected = selected;
+       }
+
+       CyRow getRow() { return row; }
+       Boolean isSelected() { return selected; }
+}
\ No newline at end of file

Modified: 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2011-07-27 22:01:36 UTC (rev 26295)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2011-07-27 22:40:56 UTC (rev 26296)
@@ -124,6 +124,7 @@
 
        <bean id="deselectAllTaskFactory"
                
class="org.cytoscape.task.internal.select.DeselectAllTaskFactory">
+               <constructor-arg ref="undoSupportServiceRef" />
                <constructor-arg ref="cyNetworkViewManagerServiceRef" />
                <constructor-arg ref="cyEventHelperRef" />
        </bean>
@@ -137,6 +138,7 @@
 
        <bean id="deselectAllNodesTaskFactory"
                
class="org.cytoscape.task.internal.select.DeselectAllNodesTaskFactory">
+               <constructor-arg ref="undoSupportServiceRef" />
                <constructor-arg ref="cyNetworkViewManagerServiceRef" />
                <constructor-arg ref="cyEventHelperRef" />
        </bean>

Modified: 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/AllFactoryTest.java
===================================================================
--- 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/AllFactoryTest.java
     2011-07-27 22:01:36 UTC (rev 26295)
+++ 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/AllFactoryTest.java
     2011-07-27 22:40:56 UTC (rev 26296)
@@ -72,12 +72,12 @@
 
        @Test
        public void testDeselectAllNodesTaskFactory() {
-               executeTest(new DeselectAllNodesTaskFactory(networkViewManager, 
eventHelper));
+               executeTest(new DeselectAllNodesTaskFactory(undoSupport, 
networkViewManager, eventHelper));
        }
 
        @Test
        public void testDeselectAllTaskFactory() {
-               executeTest(new DeselectAllTaskFactory(networkViewManager, 
eventHelper));
+               executeTest(new DeselectAllTaskFactory(undoSupport, 
networkViewManager, eventHelper));
        }
 
        @Test

Modified: 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/DeselectAllNodesTaskTest.java
===================================================================
--- 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/DeselectAllNodesTaskTest.java
   2011-07-27 22:01:36 UTC (rev 26295)
+++ 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/DeselectAllNodesTaskTest.java
   2011-07-27 22:40:56 UTC (rev 26296)
@@ -1,5 +1,5 @@
 /*
-  Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
+  Copyright (c) 2010-2011, The Cytoscape Consortium (www.cytoscape.org)
 
   This library is free software; you can redistribute it and/or modify it
   under the terms of the GNU Lesser General Public License as published
@@ -24,31 +24,45 @@
   You should have received a copy of the GNU Lesser General Public License
   along with this library; if not, write to the Free Software Foundation,
   Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-
+*/
 package org.cytoscape.task.internal.select;
 
+
+import javax.swing.undo.UndoableEditSupport;
+
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
+import org.cytoscape.model.CyTable;
 import org.cytoscape.work.Task;
+import org.cytoscape.work.undo.UndoSupport;
+
 import org.junit.Before;
 import org.junit.Test;
 
+
 public class DeselectAllNodesTaskTest extends AbstractSelectTaskTester {
-    @Before
-    public void setUp() throws Exception {
-       super.setUp();
-    }
+       @Before
+       public void setUp() throws Exception {
+               super.setUp();
+       }
 
-    @Test
-    public void testRun() throws Exception {
-       // run the task
-       Task t = new DeselectAllNodesTask(net, networkViewManager, eventHelper);
-       t.run(tm);
+       @Test
+       public void testRun() throws Exception {
+               final CyTable nodeTable = mock(CyTable.class);
+               when(net.getDefaultNodeTable()).thenReturn(nodeTable);
+               UndoableEditSupport undoableEditSupport = 
mock(UndoableEditSupport.class);
+               UndoSupport undoSupport = mock(UndoSupport.class);
+               
when(undoSupport.getUndoableEditSupport()).thenReturn(undoableEditSupport);
 
-       // check that the expected rows were set
-       verify(r3, times(1)).set("selected", false);
-       verify(r4, times(1)).set("selected", false);
-    }
+               // run the task
+               Task t = new DeselectAllNodesTask(undoSupport, net, 
networkViewManager, eventHelper);
+               t.run(tm);
+
+               // check that the expected rows were set
+               verify(r3, times(1)).set("selected", false);
+               verify(r4, times(1)).set("selected", false);
+       }
 }

Modified: 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/DeselectAllTaskTest.java
===================================================================
--- 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/DeselectAllTaskTest.java
        2011-07-27 22:01:36 UTC (rev 26295)
+++ 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/DeselectAllTaskTest.java
        2011-07-27 22:40:56 UTC (rev 26296)
@@ -1,5 +1,5 @@
 /*
-  Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
+  Copyright (c) 2010-2011, The Cytoscape Consortium (www.cytoscape.org)
 
   This library is free software; you can redistribute it and/or modify it
   under the terms of the GNU Lesser General Public License as published
@@ -24,33 +24,49 @@
   You should have received a copy of the GNU Lesser General Public License
   along with this library; if not, write to the Free Software Foundation,
   Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-
+*/
 package org.cytoscape.task.internal.select;
 
+
+import javax.swing.undo.UndoableEditSupport;
+
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
+import org.cytoscape.model.CyTable;
 import org.cytoscape.work.Task;
+import org.cytoscape.work.undo.UndoSupport;
+
 import org.junit.Before;
 import org.junit.Test;
 
+
 public class DeselectAllTaskTest extends AbstractSelectTaskTester {
-    @Before
-    public void setUp() throws Exception {
-       super.setUp();
-    }
+       @Before
+       public void setUp() throws Exception {
+               super.setUp();
+       }
 
-    @Test
-    public void testRun() throws Exception {
-       // run the task
-       Task t = new DeselectAllTask(net, networkViewManager, eventHelper);
-       t.run(tm);
+       @Test
+       public void testRun() throws Exception {
+               final CyTable nodeTable = mock(CyTable.class);
+               when(net.getDefaultNodeTable()).thenReturn(nodeTable);
+               final CyTable edgeTable = mock(CyTable.class);
+               when(net.getDefaultEdgeTable()).thenReturn(edgeTable);
+               UndoableEditSupport undoableEditSupport = 
mock(UndoableEditSupport.class);
+               UndoSupport undoSupport = mock(UndoSupport.class);
+               
when(undoSupport.getUndoableEditSupport()).thenReturn(undoableEditSupport);
 
-       // check that the expected rows were set
-       verify(r1, times(1)).set("selected", false);
-       verify(r2, times(1)).set("selected", false);
-       verify(r3, times(1)).set("selected", false);
-       verify(r4, times(1)).set("selected", false);
-    }
+               // run the task
+               Task t = new DeselectAllTask(undoSupport, net, 
networkViewManager, eventHelper);
+               t.run(tm);
+
+               // check that the expected rows were set
+               verify(r1, times(1)).set("selected", false);
+               verify(r2, times(1)).set("selected", false);
+               verify(r3, times(1)).set("selected", false);
+               verify(r4, times(1)).set("selected", false);
+       }
 }

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to