Author: ruschein
Date: 2010-11-19 13:34:56 -0800 (Fri, 19 Nov 2010)
New Revision: 22942

Modified:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteEdit.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
Log:
Greatly simplified the code.

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteEdit.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteEdit.java
 2010-11-19 20:58:51 UTC (rev 22941)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteEdit.java
 2010-11-19 21:34:56 UTC (rev 22942)
@@ -4,7 +4,7 @@
 import static 
org.cytoscape.view.presentation.property.TwoDVisualLexicon.NODE_X_LOCATION;
 import static 
org.cytoscape.view.presentation.property.TwoDVisualLexicon.NODE_Y_LOCATION;
 
-import java.util.Set;
+import java.util.List;
 
 import org.cytoscape.model.CyEdge;
 import org.cytoscape.model.CyNode;
@@ -20,34 +20,34 @@
  * An undoable edit that will undo and redo deletion of nodes and edges.
  */ 
 class DeleteEdit extends CyAbstractEdit {
-       Set<CyNode> nodes;
-       Set<CyEdge> edges;
-       double[] xPos;
-       double[] yPos;
-       final CySubNetwork net;
-       final DeleteSelectedNodesAndEdgesTask deleteAction;
-       final CyNetworkViewManager netViewMgr;
+       final private List<CyNode> nodes;
+       final private List<CyEdge> edges;
+       final private double[] xPos;
+       final private double[] yPos;
+       final private CySubNetwork net;
+       final private DeleteSelectedNodesAndEdgesTask deleteAction;
+       final private CyNetworkViewManager netViewMgr;
        
-       DeleteEdit(CySubNetwork net, Set<CyNode> nodes, Set<CyEdge> edges,
+       DeleteEdit(CySubNetwork net, List<CyNode> nodes, List<CyEdge> edges,
                   final DeleteSelectedNodesAndEdgesTask deleteAction,
                   final CyNetworkViewManager netViewMgr)
        {
                super("Delete");
 
                this.deleteAction = deleteAction;
-               if ( net == null )
+               if (net == null)
                        throw new NullPointerException("network is null");
                this.net = net;
 
-               if ( netViewMgr == null )
+               if (netViewMgr == null)
                        throw new NullPointerException("network manager is 
null");
                this.netViewMgr = netViewMgr;
 
-               if ( nodes == null )
+               if (nodes == null)
                        throw new NullPointerException("nodes is null");
                this.nodes = nodes; 
 
-               if ( edges == null )
+               if (edges == null)
                        throw new NullPointerException("edges is null");
                this.edges = edges; 
 
@@ -55,9 +55,9 @@
                xPos = new double[nodes.size()]; 
                yPos = new double[nodes.size()]; 
                CyNetworkView netView = 
netViewMgr.getNetworkView(net.getSUID());
-               if ( netView != null ) {
+               if (netView != null) {
                        int i = 0;
-                       for ( CyNode n : nodes ) {
+                       for (CyNode n : nodes) {
                                View<CyNode> nv = netView.getNodeView(n);
                                xPos[i] = nv.getVisualProperty(NODE_X_LOCATION);
                                yPos[i] = nv.getVisualProperty(NODE_Y_LOCATION);
@@ -69,9 +69,9 @@
        public void redo() {
                super.redo();
 
-               for ( CyNode n : nodes )
+               for (CyNode n : nodes)
                        net.removeNode(n);
-               for ( CyEdge e : edges )
+               for (CyEdge e : edges)
                        net.removeEdge(e);
 
                CyNetworkView netView = 
netViewMgr.getNetworkView(net.getSUID());
@@ -83,9 +83,9 @@
        public void undo() {
                super.undo();
 
-               for ( CyNode n : nodes )
+               for (CyNode n : nodes)
                        net.addNode(n);
-               for ( CyEdge e : edges )
+               for (CyEdge e : edges)
                        net.addEdge(e);
 
                CyNetworkView netView = 
netViewMgr.getNetworkView(net.getSUID());

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
    2010-11-19 20:58:51 UTC (rev 22941)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
    2010-11-19 21:34:56 UTC (rev 22942)
@@ -55,19 +55,12 @@
 
 
 public class DeleteSelectedNodesAndEdgesTask extends AbstractTask {
-       private final CyTableEntry graphObj;
        private final UndoSupport undoSupport;
        private final CyRootNetworkFactory rootNetworkFactory;
        private final CyApplicationManager applicationManager;
        private final CyNetworkViewManager networkViewManager;
 
-       /**
-        * perform deletion on the input object. if object is a Node, then this 
will
-        * result in also deleting the edges adjacent to the node
-        *
-        * @param obj the object to be deleted
-        */
-       public DeleteSelectedNodesAndEdgesTask(final CyTableEntry obj, final 
UndoSupport undoSupport,
+       public DeleteSelectedNodesAndEdgesTask(final UndoSupport undoSupport,
                                               final CyRootNetworkFactory 
rootNetworkFactory,
                                               final CyApplicationManager 
applicationManager,
                                               final CyNetworkViewManager 
networkViewManager)
@@ -76,64 +69,25 @@
                this.rootNetworkFactory = rootNetworkFactory;
                this.applicationManager = applicationManager;
                this.networkViewManager = networkViewManager;
-               this.graphObj = obj;
        }
 
-       public DeleteSelectedNodesAndEdgesTask(final UndoSupport undoSupport,
-                                              final CyRootNetworkFactory 
rootNetworkFactory,
-                                              final CyApplicationManager 
applicationManager,
-                                              final CyNetworkViewManager 
networkViewManager)
-       {
-               this(null, undoSupport, rootNetworkFactory, applicationManager, 
networkViewManager);
-       }
-
        @Override
        public void run(final TaskMonitor taskMonitor) {
                CyNetworkView myView = 
applicationManager.getCurrentNetworkView();
 
-               // delete from the base CySubNetwork so that our changes can be 
undone 
-               CySubNetwork cyNet = 
rootNetworkFactory.convert(myView.getModel()).getBaseNetwork();
-               List<CyEdge> selEdges = CyTableUtil.getEdgesInState(cyNet, 
"selected", true); 
-               List<CyNode> selNodes = CyTableUtil.getNodesInState(cyNet, 
"selected", true); 
-               CyNode cyNode;
-               CyEdge cyEdge;
+               // Delete from the base network so that our changes can be 
undone:
+               CySubNetwork network = 
rootNetworkFactory.convert(myView.getModel()).getBaseNetwork();
+               final List<CyNode> selectedNodes = 
CyTableUtil.getNodesInState(network, "selected", true); 
+               final List<CyEdge> selectedEdges = 
CyTableUtil.getEdgesInState(network, "selected", true); 
 
-               // if an argument exists, add it to the appropriate list
-               if (graphObj != null ) {
-                       if (graphObj instanceof CyNode) {
-                               cyNode = (CyNode) graphObj;
-                               if (!selNodes.contains(cyNode))
-                                       selNodes.add(cyNode);
-                       } else if (graphObj instanceof CyEdge) {
-                               cyEdge = (CyEdge) graphObj;
-                               if (!selEdges.contains(cyEdge))
-                                       selEdges.add(cyEdge);
-                       }
-               }
-
-               Set<CyEdge> edges = new HashSet<CyEdge>();
-               Set<CyNode> nodes = new HashSet<CyNode>();
-
-               // add all node indices
-               for (int i = 0; i < selNodes.size(); i++) {
-                       cyNode = selNodes.get(i);
-                       nodes.add(cyNode);
-               }
-
-               // add all selected edge indices
-               for (int i = 0; i < selEdges.size(); i++) {
-                       cyEdge = selEdges.get(i); 
-                       edges.add( cyEdge );
-               }
-
                undoSupport.getUndoableEditSupport().postEdit(
-                       new DeleteEdit(cyNet, nodes, edges, this, 
networkViewManager));
+                       new DeleteEdit(network, selectedNodes, selectedEdges, 
this, networkViewManager));
                
-               // delete the actual nodes and edges
-               for (CyNode node : nodes)
-                       cyNet.removeNode(node);
-               for (CyEdge edge : edges)
-                       cyNet.removeEdge(edge);
+               // Delete the actual nodes and edges:
+               for (CyNode selectedNode : selectedNodes)
+                       network.removeNode(selectedNode);
+               for (CyEdge selectedEdge : selectedEdges)
+                       network.removeEdge(selectedEdge);
 
                myView.updateView();
        }

-- 
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