Author: ruschein
Date: 2011-07-27 10:58:30 -0700 (Wed, 27 Jul 2011)
New Revision: 26288

Added:
   
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/table/CopyValueToEntireColumnEdit.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/DeleteTableEdit.java
Modified:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/AbstractSelectTask.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllEdgesTask.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllEdgesTaskFactory.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/CopyValueToEntireColumnTask.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/CopyValueToEntireColumnTaskFactory.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/DeselectAllEdgesTaskTest.java
Log:
Added undo/redo for deletion of tables, deselecting of all edges and copying of 
a value in a CyTable to an entire column.

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/AbstractSelectTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/AbstractSelectTask.java
 2011-07-27 17:47:30 UTC (rev 26287)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/AbstractSelectTask.java
 2011-07-27 17:58:30 UTC (rev 26288)
@@ -1,7 +1,7 @@
 /*
  File: AbstractSelectTask.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,7 +26,7 @@
  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;  
 
 
@@ -38,9 +38,7 @@
 
 
 public abstract class AbstractSelectTask extends AbstractNetworkTask {
-       
-       private final CyNetworkViewManager networkViewManager;
-       
+       protected final CyNetworkViewManager networkViewManager;
        protected final SelectUtils selectUtils;
        protected final CyEventHelper eventHelper;
 

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllEdgesTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllEdgesTask.java
       2011-07-27 17:47:30 UTC (rev 26287)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllEdgesTask.java
       2011-07-27 17:58:30 UTC (rev 26288)
@@ -1,7 +1,7 @@
 /*
  File: DeselectAllEdgesTask.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,23 +26,36 @@
  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 DeselectAllEdgesTask extends AbstractSelectTask {
-       public DeselectAllEdgesTask(final CyNetwork net, final 
CyNetworkViewManager networkViewManager, final CyEventHelper eventHelper) {
+       private final UndoSupport undoSupport;
+
+       public DeselectAllEdgesTask(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);
+               final CyNetworkView view = 
networkViewManager.getNetworkView(network.getSUID());
+               undoSupport.getUndoableEditSupport().postEdit(
+                       new SelectionEdit(eventHelper, "Deselect All Edges", 
network, view,
+                                         
SelectionEdit.SelectionFilter.EDGES_ONLY));
+
+               selectUtils.setSelectedEdges(network.getEdgeList(), false);
                updateView();
        } 
 }

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllEdgesTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllEdgesTaskFactory.java
        2011-07-27 17:47:30 UTC (rev 26287)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/DeselectAllEdgesTaskFactory.java
        2011-07-27 17:58:30 UTC (rev 26288)
@@ -1,7 +1,7 @@
 /*
  File: DeselectAllEdgesTaskFactory.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,27 +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.task.AbstractNetworkTaskFactory;
 import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.work.TaskFactory;
 import org.cytoscape.work.TaskIterator;
 import org.cytoscape.event.CyEventHelper;
-import org.cytoscape.task.AbstractNetworkTaskFactory;
+import org.cytoscape.work.undo.UndoSupport;
 
 
 public class DeselectAllEdgesTaskFactory extends AbstractNetworkTaskFactory {
+       private final UndoSupport undoSupport;
        private CyNetworkViewManager networkViewManager;
        private final CyEventHelper eventHelper;
 
-       public DeselectAllEdgesTaskFactory(final CyNetworkViewManager 
networkViewManager, final CyEventHelper eventHelper) {
+       public DeselectAllEdgesTaskFactory(final UndoSupport undoSupport,
+                                          final CyNetworkViewManager 
networkViewManager,
+                                          final CyEventHelper eventHelper)
+       {
+               this.undoSupport        = undoSupport;
                this.networkViewManager = networkViewManager;
-               this.eventHelper = eventHelper;
+               this.eventHelper        = eventHelper;
        }
 
        public TaskIterator getTaskIterator() {
-               return new TaskIterator(new DeselectAllEdgesTask(network, 
networkViewManager, eventHelper));
+               return new TaskIterator(
+                       new DeselectAllEdgesTask(undoSupport, network, 
networkViewManager,
+                                                eventHelper));
        } 
 }

Copied: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/SelectionEdit.java
 (from rev 26241, 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/RenameColumnEdit.java)
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/SelectionEdit.java
                              (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/select/SelectionEdit.java
      2011-07-27 17:58:30 UTC (rev 26288)
@@ -0,0 +1,84 @@
+package org.cytoscape.task.internal.select;
+
+
+import java.util.Collection;
+
+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;
+
+
+/** An undoable edit that will undo and redo selection of nodes and edges. */
+final class SelectionEdit extends CyAbstractEdit {
+       public static enum SelectionFilter {
+               NODES_ONLY, EDGES_ONLY, NODES_AND_EDGES;
+       }
+
+       private final CyEventHelper eventHelper;
+       private final CyNetwork network;
+       private final CyNetworkView view;
+       private final SelectionFilter filter;
+       private Collection<CyRow> nodeRows;
+       private Collection<CyRow> edgeRows;
+
+       SelectionEdit(final CyEventHelper eventHelper, final String description,
+                     final CyNetwork network, final CyNetworkView view,
+                     final SelectionFilter filter)
+       {
+               super(description);
+
+               this.eventHelper = eventHelper;
+               this.network     = network;
+               this.view        = view;
+               this.filter      = filter;
+
+               saveSelectionState();
+       }
+
+       public void redo() {
+               super.redo();
+
+               saveSelectionState();
+               restoreSelectionState();
+
+               eventHelper.flushPayloadEvents();
+               view.updateView();
+       }
+
+       public void undo() {
+               super.undo();
+
+               restoreSelectionState();
+               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));
+               }
+
+               if (filter == SelectionFilter.EDGES_ONLY || filter == 
SelectionFilter.NODES_AND_EDGES) {
+                       for (final CyRow row : edgeRows)
+                               row.set(CyNetwork.SELECTED, 
Boolean.valueOf(true));
+               }
+       }
+
+       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));
+               }
+
+               if (filter == SelectionFilter.EDGES_ONLY || filter == 
SelectionFilter.NODES_AND_EDGES) {
+                       final CyTable edgeTable = network.getDefaultEdgeTable();
+                       edgeRows = 
edgeTable.getMatchingRows(CyNetwork.SELECTED, Boolean.valueOf(true));
+               }
+       }
+}

Copied: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/CopyValueToEntireColumnEdit.java
 (from rev 26244, 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/DeleteColumnEdit.java)
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/CopyValueToEntireColumnEdit.java
                         (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/CopyValueToEntireColumnEdit.java
 2011-07-27 17:58:30 UTC (rev 26288)
@@ -0,0 +1,47 @@
+package org.cytoscape.task.internal.table;
+
+
+import java.util.Collection;
+
+import org.cytoscape.model.CyColumn;
+import org.cytoscape.model.CyRow;
+import org.cytoscape.model.CyTable;
+import org.cytoscape.util.swing.CyAbstractEdit;
+
+
+/** An undoable edit that will undo and redo the copying of a value to an 
entire column. */
+final class CopyValueToEntireColumnEdit extends CyAbstractEdit {
+       private final CyTable table;
+       private final String columnName;
+       private final Class<?> columnType;
+       private final Object value;
+       private SaveColumn savedColumn;
+
+       CopyValueToEntireColumnEdit(final CyColumn column, final Object value) {
+               super("Copy Value to Entire Column");
+
+               this.table       = column.getTable();
+               this.columnName  = column.getName();
+               this.columnType  = column.getType();
+               this.value       = value;
+               this.savedColumn = new SaveColumn(table, columnName);
+               
+       }
+
+       public void redo() {
+               super.redo();
+
+               savedColumn = new SaveColumn(table, columnName);
+
+               final Collection<CyRow> rows = table.getAllRows();
+               for (final CyRow row : rows)
+                       row.set(columnName, value);
+       }
+
+       public void undo() {
+               super.undo();
+
+               savedColumn.restoreColumn(table, columnName);
+               savedColumn = null;
+       }
+}

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/CopyValueToEntireColumnTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/CopyValueToEntireColumnTask.java
 2011-07-27 17:47:30 UTC (rev 26287)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/CopyValueToEntireColumnTask.java
 2011-07-27 17:58:30 UTC (rev 26288)
@@ -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
@@ -35,11 +35,17 @@
 import org.cytoscape.model.CyRow;
 import org.cytoscape.task.AbstractTableCellTask;
 import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.work.undo.UndoSupport;
 
 
 final class CopyValueToEntireColumnTask extends AbstractTableCellTask {
-       CopyValueToEntireColumnTask(final CyColumn column, final Object 
primaryKeyValue) {
+       private final UndoSupport undoSupport;
+
+       CopyValueToEntireColumnTask(final UndoSupport undoSupport, final 
CyColumn column,
+                                   final Object primaryKeyValue)
+       {
                super(column, primaryKeyValue);
+               this.undoSupport = undoSupport;
        }
 
        @Override
@@ -50,6 +56,9 @@
                final String columnName = column.getName();
                final Object sourceValue = sourceRow.getRaw(columnName);
 
+               undoSupport.getUndoableEditSupport().postEdit(
+                       new CopyValueToEntireColumnEdit(column, sourceValue));
+
                final List<CyRow> rows = column.getTable().getAllRows();
                final int total = rows.size() - 1;
                int count = 0;

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/CopyValueToEntireColumnTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/CopyValueToEntireColumnTaskFactory.java
  2011-07-27 17:47:30 UTC (rev 26287)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/CopyValueToEntireColumnTaskFactory.java
  2011-07-27 17:58:30 UTC (rev 26288)
@@ -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
@@ -31,15 +31,23 @@
 import org.cytoscape.model.CyColumn;
 import org.cytoscape.task.AbstractTableCellTaskFactory;
 import org.cytoscape.work.TaskIterator;
+import org.cytoscape.work.undo.UndoSupport;
 
 
 final class CopyValueToEntireColumnTaskFactory extends 
AbstractTableCellTaskFactory {
+       private final UndoSupport undoSupport;
+
+       public CopyValueToEntireColumnTaskFactory(final UndoSupport 
undoSupport) {
+               this.undoSupport = undoSupport;
+       }
+
        @Override
        public TaskIterator getTaskIterator() {
                if (column == null)
                        throw new IllegalStateException("\"column\" was not 
set!");
                if (primaryKeyValue == null)
                        throw new IllegalStateException("\"primaryKeyValue\" 
was not set!");
-               return new TaskIterator(new CopyValueToEntireColumnTask(column, 
primaryKeyValue));
+               return new TaskIterator(new 
CopyValueToEntireColumnTask(undoSupport, column,
+                                                                       
primaryKeyValue));
        }
 }
\ No newline at end of file

Copied: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/DeleteTableEdit.java
 (from rev 26237, 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/RenameColumnEdit.java)
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/DeleteTableEdit.java
                             (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/table/DeleteTableEdit.java
     2011-07-27 17:58:30 UTC (rev 26288)
@@ -0,0 +1,51 @@
+package org.cytoscape.task.internal.table;
+
+
+import org.cytoscape.model.CyTable;
+import org.cytoscape.model.CyTableFactory;
+import org.cytoscape.model.CyTableManager;
+import org.cytoscape.util.swing.CyAbstractEdit;
+
+
+/** An undoable edit that will undo and redo the deletion of a table. */
+final class DeleteTableEdit extends CyAbstractEdit {
+       private CyTable table;
+       private final CyTableManager tableManager;
+       private final CyTableFactory tableFactory;
+
+       DeleteTableEdit(final CyTable table, final CyTableManager tableManager,
+                       final CyTableFactory tableFactory)
+       {
+               super("Delete Table");
+
+               this.table = tableFactory.createTable(table.getTitle(), 
table.getPrimaryKey().getName(),
+                                                     
table.getPrimaryKey().getType(),
+                                                     /* public = */ false, /* 
isMutable = */ true);
+               this.table.swap(table);
+               this.tableManager = tableManager;
+               this.tableFactory = tableFactory;
+       }
+
+       public void redo() {
+               super.redo();
+
+               final CyTable newTable =
+                       tableFactory.createTable(table.getTitle(), 
table.getPrimaryKey().getName(),
+                                                
table.getPrimaryKey().getType(), /* public = */ false,
+                                                /* isMutable = */ true);
+               table.swap(newTable);
+               tableManager.deleteTable(table.getSUID());
+               table = newTable;
+       }
+
+       public void undo() {
+               super.undo();
+
+               final CyTable newTable =
+                       tableFactory.createTable(table.getTitle(), 
table.getPrimaryKey().getName(),
+                                                
table.getPrimaryKey().getType(), /* public = */ false,
+                                                /* isMutable = */ true);
+               table.swap(newTable);
+               table = newTable;
+       }
+}

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 17:47:30 UTC (rev 26287)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2011-07-27 17:58:30 UTC (rev 26288)
@@ -130,6 +130,7 @@
 
        <bean id="deselectAllEdgesTaskFactory"
                
class="org.cytoscape.task.internal.select.DeselectAllEdgesTaskFactory">
+               <constructor-arg ref="undoSupportServiceRef" />
                <constructor-arg ref="cyNetworkViewManagerServiceRef" />
                <constructor-arg ref="cyEventHelperRef" />
        </bean>
@@ -351,6 +352,7 @@
 
        <bean id="copyValueToEntireColumnTaskFactory"
                
class="org.cytoscape.task.internal.table.CopyValueToEntireColumnTaskFactory">
+               <constructor-arg ref="undoSupportServiceRef" />
        </bean>
 
        <bean id="deleteTableTaskFactory"

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 17:47:30 UTC (rev 26287)
+++ 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/AllFactoryTest.java
     2011-07-27 17:58:30 UTC (rev 26288)
@@ -24,104 +24,116 @@
   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 static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
+
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.CyTable;
 import org.cytoscape.task.NetworkTaskFactory;
 import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.work.Task;
 import org.cytoscape.work.TaskIterator;
+import org.cytoscape.work.undo.UndoSupport;
+
 import org.junit.Before;
 import org.junit.Test;
 
+
 public class AllFactoryTest {
-    CyNetworkManager netmgr;
-    CyNetworkViewManager networkViewManager;
-    CyNetwork net;
-    CyEventHelper eventHelper;
+       CyNetworkManager netmgr;
+       CyNetworkViewManager networkViewManager;
+       CyNetwork net;
+       CyTable edgeTable;
+       CyEventHelper eventHelper;
+       UndoSupport undoSupport;
 
-    @Before
-    public void setUp() throws Exception {
-       net = mock(CyNetwork.class);
-       netmgr = mock(CyNetworkManager.class);
-       networkViewManager = mock(CyNetworkViewManager.class);
-       eventHelper = mock(CyEventHelper.class);
-    }
+       @Before
+       public void setUp() throws Exception {
+               net = mock(CyNetwork.class);
+               edgeTable = mock(CyTable.class);
+               when(net.getDefaultEdgeTable()).thenReturn(edgeTable);
+               netmgr = mock(CyNetworkManager.class);
+               networkViewManager = mock(CyNetworkViewManager.class);
+               eventHelper = mock(CyEventHelper.class);
+               UndoSupport undoSupport = mock(UndoSupport.class);
+       }
 
-    @Test
-    public void testDeselectAllEdgesTaskFactory() {
-       executeTest(new DeselectAllEdgesTaskFactory(networkViewManager, 
eventHelper));
-    }
+       @Test
+       public void testDeselectAllEdgesTaskFactory() {
+               executeTest(new DeselectAllEdgesTaskFactory(undoSupport, 
networkViewManager, eventHelper));
+       }
 
-    @Test
-    public void testDeselectAllNodesTaskFactory() {
-       executeTest(new DeselectAllNodesTaskFactory(networkViewManager, 
eventHelper));
-    }
+       @Test
+       public void testDeselectAllNodesTaskFactory() {
+               executeTest(new DeselectAllNodesTaskFactory(networkViewManager, 
eventHelper));
+       }
 
-    @Test
-    public void testDeselectAllTaskFactory() {
-       executeTest(new DeselectAllTaskFactory(networkViewManager, 
eventHelper));
-    }
+       @Test
+       public void testDeselectAllTaskFactory() {
+               executeTest(new DeselectAllTaskFactory(networkViewManager, 
eventHelper));
+       }
 
-    @Test
-    public void testInvertSelectedEdgesTaskFactory() {
-       executeTest(new InvertSelectedEdgesTaskFactory(networkViewManager, 
eventHelper));
-    }
+       @Test
+       public void testInvertSelectedEdgesTaskFactory() {
+               executeTest(new 
InvertSelectedEdgesTaskFactory(networkViewManager, eventHelper));
+       }
 
-    @Test
-    public void testInvertSelectedNodesTaskFactory() {
-       final CyEventHelper eventHelper = mock(CyEventHelper.class);
-       executeTest(new InvertSelectedNodesTaskFactory(networkViewManager, 
eventHelper));
-    }
+       @Test
+       public void testInvertSelectedNodesTaskFactory() {
+               final CyEventHelper eventHelper = mock(CyEventHelper.class);
+               executeTest(new 
InvertSelectedNodesTaskFactory(networkViewManager, eventHelper));
+       }
 
-    @Test
-    public void testSelectAdjacentEdgesTaskFactory() {
-       executeTest(new SelectAdjacentEdgesTaskFactory(networkViewManager, 
eventHelper));
-    }
+       @Test
+       public void testSelectAdjacentEdgesTaskFactory() {
+               executeTest(new 
SelectAdjacentEdgesTaskFactory(networkViewManager, eventHelper));
+       }
 
-    @Test
-    public void testSelectAllEdgesTaskFactory() {
-       executeTest(new SelectAllEdgesTaskFactory(networkViewManager, 
eventHelper));
-    }
+       @Test
+       public void testSelectAllEdgesTaskFactory() {
+               executeTest(new SelectAllEdgesTaskFactory(networkViewManager, 
eventHelper));
+       }
 
-    @Test
-    public void testSelectAllNodesTaskFactory() {
-       executeTest(new SelectAllNodesTaskFactory(networkViewManager, 
eventHelper));
-    }
+       @Test
+       public void testSelectAllNodesTaskFactory() {
+               executeTest(new SelectAllNodesTaskFactory(networkViewManager, 
eventHelper));
+       }
 
-    @Test
-    public void testSelectAllTaskFactory() {
-       executeTest(new SelectAllTaskFactory(networkViewManager, eventHelper));
-    }
+       @Test
+       public void testSelectAllTaskFactory() {
+               executeTest(new SelectAllTaskFactory(networkViewManager, 
eventHelper));
+       }
 
-    @Test
-    public void testSelectConnectedNodesTaskFactory() {
-       executeTest(new SelectConnectedNodesTaskFactory(networkViewManager, 
eventHelper));
-    }
+       @Test
+       public void testSelectConnectedNodesTaskFactory() {
+               executeTest(new 
SelectConnectedNodesTaskFactory(networkViewManager, eventHelper));
+       }
 
-    @Test
-    public void testSelectFirstNeighborsTaskFactory() {
-       executeTest(new SelectFirstNeighborsTaskFactory(networkViewManager, 
eventHelper));
-    }
+       @Test
+       public void testSelectFirstNeighborsTaskFactory() {
+               executeTest(new 
SelectFirstNeighborsTaskFactory(networkViewManager, eventHelper));
+       }
 
-    @Test
-    public void testSelectFromFileListTaskFactory() {
-       executeTest(new SelectFromFileListTaskFactory(networkViewManager, 
eventHelper));
-    }
+       @Test
+       public void testSelectFromFileListTaskFactory() {
+               executeTest(new 
SelectFromFileListTaskFactory(networkViewManager, eventHelper));
+       }
 
-    private void executeTest(NetworkTaskFactory ntf) {
-       ntf.setNetwork(net);
-       TaskIterator ti = ntf.getTaskIterator();
-       assertNotNull(ti);
-       assertTrue(ti.hasNext());
-       Task t = ti.next();
-       assertNotNull(t);
-    }
+       private void executeTest(NetworkTaskFactory ntf) {
+               ntf.setNetwork(net);
+               TaskIterator ti = ntf.getTaskIterator();
+               assertNotNull(ti);
+               assertTrue(ti.hasNext());
+               Task t = ti.next();
+               assertNotNull(t);
+       }
 }

Modified: 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/DeselectAllEdgesTaskTest.java
===================================================================
--- 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/DeselectAllEdgesTaskTest.java
   2011-07-27 17:47:30 UTC (rev 26287)
+++ 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/select/DeselectAllEdgesTaskTest.java
   2011-07-27 17:58:30 UTC (rev 26288)
@@ -1,13 +1,6 @@
 /*
-  Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
+  Copyright (c) 2010-2011, The Cytoscape Consortium (www.cytoscape.org)
 
-  The Cytoscape Consortium is:
-  - Institute for Systems Biology
-  - University of California San Diego
-  - Memorial Sloan-Kettering Cancer Center
-  - Institut Pasteur
-  - Agilent Technologies
-
   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
   by the Free Software Foundation; either version 2.1 of the License, or
@@ -31,32 +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 DeselectAllEdgesTaskTest extends AbstractSelectTaskTester {
+       @Before
+       public void setUp() throws Exception {
+               super.setUp();
+       }
 
-    @Before
-    public void setUp() throws Exception {
-       super.setUp();
-    }
+       @Test
+       public void testRun() throws Exception {
+               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);
 
-    @Test
-    public void testRun() throws Exception {
-       // run the task
-       Task t = new DeselectAllEdgesTask(net, networkViewManager, eventHelper);
-       t.run(tm);
+               // run the task
+               Task t = new DeselectAllEdgesTask(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);
-    }
+               // check that the expected rows were set
+               verify(r1, times(1)).set("selected", false);
+               verify(r2, 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