Author: mes
Date: 2011-12-05 14:15:26 -0800 (Mon, 05 Dec 2011)
New Revision: 27699

Modified:
   
core3/api/trunk/application-api/src/main/java/org/cytoscape/application/CyApplicationManager.java
   
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
   
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/creation/AbstractNetworkFromSelectionTask.java
   
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/setcurrent/SetCurrentNetworkTask.java
   
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/setcurren/SetCurrentNetworkTaskTest.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/util/NetworkUtil.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
   
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
Log:
refactored CyApplication to work with CyNetworks and CyNetworkViews instead of 
suids

Modified: 
core3/api/trunk/application-api/src/main/java/org/cytoscape/application/CyApplicationManager.java
===================================================================
--- 
core3/api/trunk/application-api/src/main/java/org/cytoscape/application/CyApplicationManager.java
   2011-12-05 22:14:54 UTC (rev 27698)
+++ 
core3/api/trunk/application-api/src/main/java/org/cytoscape/application/CyApplicationManager.java
   2011-12-05 22:15:26 UTC (rev 27699)
@@ -52,10 +52,10 @@
        public CyNetwork getCurrentNetwork();
 
        /**
-        * Sets the current network to the one with the provided network SUID.
-        * @param network_id  must be the SUID of a network
+        * Sets the current network to the specified network. 
+        * @param net The network that will become the current network. 
         */
-       public void setCurrentNetwork(final long network_id);
+       public void setCurrentNetwork(final CyNetwork net);
 
        /**
         * Returns the current network view.
@@ -65,11 +65,10 @@
        public CyNetworkView getCurrentNetworkView();
 
        /**
-        * Sets the current network view based on the specified ID.
-        * @param view_id The <i>network</i> SUID of the network view to
-        * be made current.
+        * Sets the current network view to the specified network view.
+        * @param netView The network view to become the current network view. 
         */
-       public void setCurrentNetworkView(final long view_id);
+       public void setCurrentNetworkView(final CyNetworkView netView);
 
        /**
         * Returns the list of selected networks.  
@@ -84,18 +83,16 @@
        public List<CyNetworkView> getSelectedNetworkViews();
 
        /**
-        * Sets the network views associated with the specified network 
-        * IDs as selected.
-        * @param modelIDs The <i>model</i> SUIDs of the networks that have 
-        * been selected.
+        * Sets the specified network views as selected. 
+        * @param views The list of network views to be selected.
         */
-       public void setSelectedNetworkViews(final List<Long> modelIDs);
+       public void setSelectedNetworkViews(final List<CyNetworkView> views);
 
        /**
-        * Sets the networks associated with the specified IDs as selected.
-        * @param ids The SUIDs of the networks that have been selected.
+        * Sets the networks specified as selected.
+        * @param nets The networks to be selected.
         */
-       public void setSelectedNetworks(final List<Long> ids);
+       public void setSelectedNetworks(final List<CyNetwork> nets);
 
        /**
         * Returns the rendering engine associated with the current network 
view.

Modified: 
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
===================================================================
--- 
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
    2011-12-05 22:14:54 UTC (rev 27698)
+++ 
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
    2011-12-05 22:15:26 UTC (rev 27699)
@@ -29,268 +29,264 @@
  */
 package org.cytoscape.application.internal;
 
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
 import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.application.events.SetCurrentNetworkEvent;
 import org.cytoscape.application.events.SetCurrentNetworkViewEvent;
 import org.cytoscape.application.events.SetCurrentRenderingEngineEvent;
 import org.cytoscape.application.events.SetSelectedNetworkViewsEvent;
 import org.cytoscape.application.events.SetSelectedNetworksEvent;
+
 import org.cytoscape.event.CyEventHelper;
+
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNetworkManager;
 import org.cytoscape.model.CyTable;
 import org.cytoscape.model.events.NetworkAboutToBeDestroyedEvent;
 import org.cytoscape.model.events.NetworkAboutToBeDestroyedListener;
+
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.view.model.events.NetworkViewAboutToBeDestroyedEvent;
 import org.cytoscape.view.model.events.NetworkViewAboutToBeDestroyedListener;
 import org.cytoscape.view.presentation.RenderingEngine;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
+
 /**
  * An implementation of CyApplicationManager.
  */
-public class CyApplicationManagerImpl implements CyApplicationManager, 
NetworkAboutToBeDestroyedListener,
-       NetworkViewAboutToBeDestroyedListener {
-    
-    private static final Logger logger = 
LoggerFactory.getLogger(CyApplicationManagerImpl.class);
+public class CyApplicationManagerImpl implements CyApplicationManager,
+                                                 
NetworkAboutToBeDestroyedListener,
+                                                 
NetworkViewAboutToBeDestroyedListener {
+       private static final Logger logger = 
LoggerFactory.getLogger(CyApplicationManagerImpl.class);
+       private final CyEventHelper cyEventHelper;
+       private final CyNetworkManager networkManager;
+       private final CyNetworkViewManager networkViewManager;
+       private final List<CyNetworkView> selectedNetworkViews;
+       private final List<CyNetwork> selectedNetworks;
 
-    private final CyEventHelper cyEventHelper;
-    private final CyNetworkManager networkManager;
-    private final CyNetworkViewManager networkViewManager;
+       // Trackers for current network object
+       private CyNetwork currentNetwork;
+       private CyNetworkView currentNetworkView;
+       private RenderingEngine<CyNetwork> currentRenderer;
+       private CyTable currentTable;
 
-    private final List<CyNetworkView> selectedNetworkViews;
-    private final List<CyNetwork> selectedNetworks;
+       public CyApplicationManagerImpl(final CyEventHelper cyEventHelper,
+                                       final CyNetworkManager networkManager,
+                                       final CyNetworkViewManager 
networkViewManager) {
+               this.cyEventHelper = cyEventHelper;
+               this.networkManager = networkManager;
+               this.networkViewManager = networkViewManager;
 
-    // Trackers for current network object
-    private CyNetwork currentNetwork;
-    private CyNetworkView currentNetworkView;
-    private RenderingEngine<CyNetwork> currentRenderer;
+               selectedNetworkViews = new LinkedList<CyNetworkView>();
+               selectedNetworks = new LinkedList<CyNetwork>();
 
-       private CyTable currentTable;
+               currentNetwork = null;
+               currentNetworkView = null;
+               this.currentRenderer = null;
+       }
 
-    /**
-     * 
-     * @param cyEventHelper
-     */
-    public CyApplicationManagerImpl(final CyEventHelper cyEventHelper, final 
CyNetworkManager networkManager,
-           final CyNetworkViewManager networkViewManager) {
-       this.cyEventHelper = cyEventHelper;
-       this.networkManager = networkManager;
-       this.networkViewManager = networkViewManager;
+       public void handleEvent(final NetworkAboutToBeDestroyedEvent event) {
+               final CyNetwork toBeDestroyed = event.getNetwork();
+               boolean changed = false;
 
-       selectedNetworkViews = new LinkedList<CyNetworkView>();
-       selectedNetworks = new LinkedList<CyNetwork>();
+               synchronized (this) {
+                       if (toBeDestroyed == currentNetwork) {
+                               changed = true;
+                               currentNetwork = null;
+                               currentNetworkView = null;
 
-       currentNetwork = null;
-       currentNetworkView = null;
-       this.currentRenderer = null;
-    }
+                               final Set<CyNetworkView> networkViews = 
networkViewManager.getNetworkViewSet();
 
-    public void handleEvent(final NetworkAboutToBeDestroyedEvent event) {
-       final CyNetwork toBeDestroyed = event.getNetwork();
-       boolean changed = false;
-       synchronized (this) {
-           if (toBeDestroyed == currentNetwork) {
-               changed = true;
-               currentNetwork = null;
-               currentNetworkView = null;
+                               for (final CyNetworkView view : networkViews) {
+                                       if (view.getModel() != toBeDestroyed) {
+                                               currentNetworkView = view;
+                                               currentNetwork = 
view.getModel();
 
-               final Set<CyNetworkView> networkViews = 
networkViewManager.getNetworkViewSet();
-               for (final CyNetworkView view : networkViews) {
-                   if (view.getModel() != toBeDestroyed) {
-                       currentNetworkView = view;
-                       currentNetwork = view.getModel();
-                       break;
-                   }
-               }
+                                               break;
+                                       }
+                               }
 
-               if (currentNetwork == null) {
-                   final Set<CyNetwork> networks = 
networkManager.getNetworkSet();
-                   for (final CyNetwork network : networks) {
-                       if (network != toBeDestroyed) {
-                           currentNetwork = network;
-                           break;
+                               if (currentNetwork == null) {
+                                       final Set<CyNetwork> networks = 
networkManager.getNetworkSet();
+
+                                       for (final CyNetwork network : 
networks) {
+                                               if (network != toBeDestroyed) {
+                                                       currentNetwork = 
network;
+
+                                                       break;
+                                               }
+                                       }
+                               }
                        }
-                   }
                }
-           }
+
+               if (changed) {
+                       cyEventHelper.fireEvent(new 
SetCurrentNetworkViewEvent(this, currentNetworkView));
+               }
        }
-       if (changed) {
-           cyEventHelper.fireEvent(new SetCurrentNetworkViewEvent(this, 
currentNetworkView));
-       }
 
-    }
+       public void handleEvent(final NetworkViewAboutToBeDestroyedEvent event) 
{
+               final CyNetworkView toBeDestroyed = event.getNetworkView();
+               boolean changed = false;
 
-    public void handleEvent(final NetworkViewAboutToBeDestroyedEvent event) {
-       final CyNetworkView toBeDestroyed = event.getNetworkView();
-       boolean changed = false;
-       synchronized (this) {
-           if (toBeDestroyed == currentNetworkView) {
-               changed = true;
-               currentNetworkView = null;
+               synchronized (this) {
+                       if (toBeDestroyed == currentNetworkView) {
+                               changed = true;
+                               currentNetworkView = null;
 
-               final Set<CyNetworkView> networkViews = 
networkViewManager.getNetworkViewSet();
-               for (final CyNetworkView view : networkViews) {
-                   if (view != toBeDestroyed) {
-                       currentNetworkView = view;
-                       currentNetwork = view.getModel();
-                       break;
-                   }
-               }
+                               final Set<CyNetworkView> networkViews = 
networkViewManager.getNetworkViewSet();
 
-               if (currentNetwork == null) {
-                   final Set<CyNetwork> networks = 
networkManager.getNetworkSet();
-                   for (final CyNetwork network : networks) {
-                       if (network != toBeDestroyed.getModel()) {
-                           currentNetwork = network;
-                           break;
+                               for (final CyNetworkView view : networkViews) {
+                                       if (view != toBeDestroyed) {
+                                               currentNetworkView = view;
+                                               currentNetwork = 
view.getModel();
+
+                                               break;
+                                       }
+                               }
+
+                               if (currentNetwork == null) {
+                                       final Set<CyNetwork> networks = 
networkManager.getNetworkSet();
+
+                                       for (final CyNetwork network : 
networks) {
+                                               if (network != 
toBeDestroyed.getModel()) {
+                                                       currentNetwork = 
network;
+
+                                                       break;
+                                               }
+                                       }
+                               }
                        }
-                   }
                }
-           }
+
+               if (changed) {
+                       cyEventHelper.fireEvent(new 
SetCurrentNetworkViewEvent(this, currentNetworkView));
+               }
        }
-       if (changed) {
-           cyEventHelper.fireEvent(new SetCurrentNetworkViewEvent(this, 
currentNetworkView));
+
+       public synchronized CyNetwork getCurrentNetwork() {
+               return currentNetwork;
        }
-    }
 
-    public synchronized CyNetwork getCurrentNetwork() {
-       return currentNetwork;
-    }
+       public void setCurrentNetwork(final CyNetwork network) {
+               final long networkId = network.getSUID();
+               synchronized (this) {
+                       if (!networkManager.networkExists(networkId))
+                               throw new IllegalArgumentException("Network is 
not registered in this ApplicationManager: ID = "
+                                                                  + networkId);
 
-    public void setCurrentNetwork(final long networkId) {
-       synchronized (this) {
-           if (!networkManager.networkExists(networkId))
-               throw new IllegalArgumentException("Network is not registered 
in this ApplicationManager: ID = "
-                       + networkId);
+                       logger.info("Set current network called.  Current 
network ID = " + networkId);
+                       currentNetwork = network; 
+                       currentNetworkView = 
networkViewManager.getNetworkView(networkId);
 
-           logger.info("Set current network called.  Current network ID = " + 
networkId);
-           currentNetwork = networkManager.getNetwork(networkId);
-           currentNetworkView = networkViewManager.getNetworkView(networkId);
+                       // reset selected networks
+                       selectedNetworks.clear();
+                       selectedNetworks.add(currentNetwork);
+               }
 
-           // reset selected networks
-           selectedNetworks.clear();
-           selectedNetworks.add(currentNetwork);
+               logger.debug("Current network is set.  Firing 
SetCurrentNetworkEvent: Network ID = "
+                            + networkId);
+               cyEventHelper.fireEvent(new SetCurrentNetworkEvent(this, 
currentNetwork));
        }
 
-       logger.debug("Current network is set.  Firing SetCurrentNetworkEvent: 
Network ID = " + networkId);
-       cyEventHelper.fireEvent(new SetCurrentNetworkEvent(this, 
currentNetwork));
-    }
+       public synchronized CyNetworkView getCurrentNetworkView() {
+               return currentNetworkView;
+       }
 
-    public synchronized CyNetworkView getCurrentNetworkView() {
-       return currentNetworkView;
-    }
+       public void setCurrentNetworkView(final CyNetworkView view) {
+               if (view == null) {
+                       logger.warn("View was null - not setting current 
network view.");
+                       return;
+               }
 
-    
-    // FIXME: THIS IS WRONG! we can have multiple view model, so this parameter
-    // should be model SUID.
-    public void setCurrentNetworkView(final long modelID) {
-       final CyNetworkView view;
-       synchronized (this) {
-           if (!networkManager.networkExists(modelID))
-               throw new IllegalArgumentException("network is not recognized 
by this ApplicationManager");
+               synchronized (this) {
+                       if 
(!networkManager.networkExists(view.getModel().getSUID()))
+                               throw new IllegalArgumentException("network is 
not recognized by this ApplicationManager");
 
-           view = networkViewManager.getNetworkView(modelID);
-           if (view == null) {
-               logger.warn("View was not in the NetworkViewManager.");
-               return;
-           }
-           
-           logger.debug("Set current network view called: View ID = " + 
view.getSUID());
+                       logger.debug("Set current network view called: View ID 
= " + view.getSUID());
 
-           setCurrentNetwork(modelID);
+                       setCurrentNetwork(view.getModel());
 
-           // reset selected network views
-           selectedNetworkViews.clear();
-           selectedNetworkViews.add(currentNetworkView);
+                       // reset selected network views
+                       selectedNetworkViews.clear();
+                       selectedNetworkViews.add(currentNetworkView);
+               }
+
+               logger.debug("Current network view is set.  Firing 
SetCurrentNetworkViewEvent: View ID = "
+                            + view.getSUID());
+               cyEventHelper.fireEvent(new SetCurrentNetworkViewEvent(this, 
currentNetworkView));
        }
 
-       logger.debug("Current network view is set.  Firing 
SetCurrentNetworkViewEvent: View ID = " + view.getSUID());
-       cyEventHelper.fireEvent(new SetCurrentNetworkViewEvent(this, 
currentNetworkView));
-    }
+       public synchronized List<CyNetworkView> getSelectedNetworkViews() {
+               return new ArrayList<CyNetworkView>(selectedNetworkViews);
+       }
 
-    public synchronized List<CyNetworkView> getSelectedNetworkViews() {
-       return new ArrayList<CyNetworkView>(selectedNetworkViews);
-    }
+       public void setSelectedNetworkViews(final List<CyNetworkView> 
networkViews) {
+               if (networkViews == null)
+                       return;
 
-    public void setSelectedNetworkViews(final List<Long> modelIDs) {
-       if (modelIDs == null)
-           return;
+               synchronized (this) {
+                       selectedNetworkViews.clear();
+                       selectedNetworkViews.addAll(networkViews);
 
-       synchronized (this) {
+                       CyNetworkView cv = getCurrentNetworkView();
 
-           selectedNetworkViews.clear();
+                       if (!selectedNetworkViews.contains(cv)) {
+                               selectedNetworkViews.add(cv);
+                       }
+               }
 
-           for (final long id : modelIDs) {
-               final CyNetworkView view = 
networkViewManager.getNetworkView(id);
-               if (view != null)
-                   selectedNetworkViews.add(view);
-           }
+               cyEventHelper.fireEvent(new SetSelectedNetworkViewsEvent(this,
+                                                                        new 
ArrayList<CyNetworkView>(selectedNetworkViews)));
+       }
 
-           CyNetworkView cv = getCurrentNetworkView();
-
-           if (!selectedNetworkViews.contains(cv)) {
-               selectedNetworkViews.add(cv);
-           }
+       public synchronized List<CyNetwork> getSelectedNetworks() {
+               return new ArrayList<CyNetwork>(selectedNetworks);
        }
 
-       cyEventHelper.fireEvent(new SetSelectedNetworkViewsEvent(this, new 
ArrayList<CyNetworkView>(
-               selectedNetworkViews)));
-    }
+       public void setSelectedNetworks(final List<CyNetwork> networks) {
+               if (networks == null)
+                       return;
 
-    public synchronized List<CyNetwork> getSelectedNetworks() {
-       return new ArrayList<CyNetwork>(selectedNetworks);
-    }
+               synchronized (this) {
+                       selectedNetworks.clear();
+                       selectedNetworks.addAll(networks);
 
-    public void setSelectedNetworks(final List<Long> ids) {
-       if (ids == null)
-           return;
+                       CyNetwork cn = currentNetwork;
 
-       synchronized (this) {
-           selectedNetworks.clear();
+                       if (!selectedNetworks.contains(cn))
+                               selectedNetworks.add(cn);
+               }
 
-           for (Long id : ids) {
-               CyNetwork n = networkManager.getNetwork(id);
-               if (n != null)
-                   selectedNetworks.add(n);
-           }
+               cyEventHelper.fireEvent(new SetSelectedNetworksEvent(this,
+                                                                    new 
ArrayList<CyNetwork>(selectedNetworks)));
+       }
 
-           CyNetwork cn = currentNetwork;
-
-           if (!selectedNetworks.contains(cn))
-               selectedNetworks.add(cn);
+       public RenderingEngine<CyNetwork> getCurrentRenderingEngine() {
+               return currentRenderer;
        }
 
-       cyEventHelper.fireEvent(new SetSelectedNetworksEvent(this,
-               new ArrayList<CyNetwork>(selectedNetworks)));
-    }
+       public void setCurrentRenderingEngine(RenderingEngine<CyNetwork> 
engine) {
+               this.currentRenderer = engine;
 
-    public RenderingEngine<CyNetwork> getCurrentRenderingEngine() {
-       return currentRenderer;
-    }
+               cyEventHelper.fireEvent(new 
SetCurrentRenderingEngineEvent(this, this.currentRenderer));
+       }
 
-    public void setCurrentRenderingEngine(RenderingEngine<CyNetwork> engine) {
-       this.currentRenderer = engine;
+       @Override
+       public CyTable getCurrentTable() {
+               return currentTable;
+       }
 
-       cyEventHelper.fireEvent(new SetCurrentRenderingEngineEvent(this, 
this.currentRenderer));
-
-    }
-    
-    @Override
-    public CyTable getCurrentTable() {
-       return currentTable;
-    }
-    
-    @Override
-    public void setCurrentTable(CyTable table) {
-       currentTable = table;
-    }
+       @Override
+       public void setCurrentTable(CyTable table) {
+               currentTable = table;
+       }
 }

Modified: 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/creation/AbstractNetworkFromSelectionTask.java
===================================================================
--- 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/creation/AbstractNetworkFromSelectionTask.java
    2011-12-05 22:14:54 UTC (rev 27698)
+++ 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/creation/AbstractNetworkFromSelectionTask.java
    2011-12-05 22:15:26 UTC (rev 27699)
@@ -53,6 +53,8 @@
 import org.cytoscape.view.vizmap.VisualStyle;
 import org.cytoscape.work.TaskMonitor;
 import org.cytoscape.work.undo.UndoSupport;
+import org.cytoscape.work.AbstractTask;
+import org.cytoscape.work.Task;
 
 
 abstract class AbstractNetworkFromSelectionTask extends AbstractCreationTask {
@@ -122,16 +124,20 @@
                networkManager.addNetwork(newNet);
                tm.setProgress(0.6);
 
-               appManager.setCurrentNetwork(newNet.getSUID());
+               appManager.setCurrentNetwork(newNet);
 
                if (curView == null) {
-                       // Create view for the new network.
-                       final CreateNetworkViewTask createViewTask =
-                               new CreateNetworkViewTask(undoSupport, newNet, 
viewFactory,
-                                                         networkViewManager, 
null, eventHelper);
+               
+                       // inserted first, happens second
+                       final Task setCurrentNetworkView = new 
SetCurrentNetworkViewTask(newNet.getSUID()); 
+                       insertTasksAfterCurrentTask(setCurrentNetworkView);
+
+                       
+                       // inserted second, happens first
+                       final Task createViewTask = new 
CreateNetworkViewTask(undoSupport, newNet, viewFactory,
+                                                                             
networkViewManager, null, eventHelper);
                        insertTasksAfterCurrentTask(createViewTask);
 
-                       appManager.setCurrentNetworkView(newNet.getSUID());
                        return;
                }
                tm.setProgress(0.7);
@@ -165,7 +171,22 @@
                style.apply(newView);
                newView.fitContent();
 
-               appManager.setCurrentNetworkView(newView.getModel().getSUID());
+               appManager.setCurrentNetworkView(newView);
                tm.setProgress(1.0);
        }
+
+       private class SetCurrentNetworkViewTask extends AbstractTask {
+               long netId;
+               SetCurrentNetworkViewTask(long netId) {
+                       this.netId = netId;
+               }
+               public void run(TaskMonitor tm) {
+                       tm.setProgress(0.0);
+                       CyNetworkView view = 
networkViewManager.getNetworkView(netId);                  
+                       tm.setProgress(0.5);
+                       if ( view != null )
+                               appManager.setCurrentNetworkView( view );
+                       tm.setProgress(1.0);
+               }
+       }
 }

Modified: 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/setcurrent/SetCurrentNetworkTask.java
===================================================================
--- 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/setcurrent/SetCurrentNetworkTask.java
     2011-12-05 22:14:54 UTC (rev 27698)
+++ 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/setcurrent/SetCurrentNetworkTask.java
     2011-12-05 22:15:26 UTC (rev 27699)
@@ -33,7 +33,7 @@
                taskMonitor.setProgress(0.0);
                Object[] setNetworks = networkManager.getNetworkSet().toArray();
                taskMonitor.setProgress(0.3);
-               applicationManager.setCurrentNetwork(((CyNetwork) 
setNetworks[setNetworks.length-1]).getSUID());
+               applicationManager.setCurrentNetwork(((CyNetwork) 
setNetworks[setNetworks.length-1]));
                taskMonitor.setProgress(1.0);
        }
 }

Modified: 
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/setcurren/SetCurrentNetworkTaskTest.java
===================================================================
--- 
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/setcurren/SetCurrentNetworkTaskTest.java
  2011-12-05 22:14:54 UTC (rev 27698)
+++ 
core3/impl/trunk/core-task-impl/src/test/java/org/cytoscape/task/internal/setcurren/SetCurrentNetworkTaskTest.java
  2011-12-05 22:15:26 UTC (rev 27699)
@@ -31,6 +31,6 @@
                SetCurrentNetworkTask t = new 
SetCurrentNetworkTask(applicationManager, netmgr);
                t.run(tm);
 
-               verify(applicationManager, 
times(1)).setCurrentNetwork(net.getSUID());
+               verify(applicationManager, times(1)).setCurrentNetwork(net);
        }
 }

Modified: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/util/NetworkUtil.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/util/NetworkUtil.java
      2011-12-05 22:14:54 UTC (rev 27698)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/util/NetworkUtil.java
      2011-12-05 22:15:26 UTC (rev 27699)
@@ -246,6 +246,6 @@
         //view.addNodeContextMenuListener(nodeContextMenuListener);
 
         // set focus current
-        
factory.getCyApplicationManager().setCurrentNetworkView(cyNetwork.getSUID());
+        factory.getCyApplicationManager().setCurrentNetworkView(view);
        }
 }

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
 2011-12-05 22:14:54 UTC (rev 27698)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
 2011-12-05 22:15:26 UTC (rev 27699)
@@ -429,7 +429,7 @@
                logger.debug("Network view added to NetworkPanel: " + 
nde.getNetworkView().getModel().getSUID());
 
                // Set current network view to the new one.
-               
appManager.setCurrentNetworkView(nde.getNetworkView().getModel().getSUID());
+               appManager.setCurrentNetworkView(nde.getNetworkView());
                
this.treeNodeMap.get(nde.getNetworkView().getModel().getSUID()).setNodeColor(Color.black);
                treeTable.getTree().updateUI();
        }
@@ -536,22 +536,22 @@
                if (node.getNetwork() == null)
                        return;
 
-               appManager.setCurrentNetwork(node.getNetwork().getSUID());
+               appManager.setCurrentNetwork(node.getNetwork());
 
                // creates a list of all selected networks
-               List<Long> networkList = new LinkedList<Long>();
+               List<CyNetwork> networkList = new LinkedList<CyNetwork>();
                try {
                        for (int i = mtree.getMinSelectionRow(); i <= 
mtree.getMaxSelectionRow(); i++) {
                                NetworkTreeNode n = (NetworkTreeNode) 
mtree.getPathForRow(i).getLastPathComponent();
                                if (n != null && n.getUserObject() != null && 
mtree.isRowSelected(i))
-                                       
networkList.add(n.getNetwork().getSUID());
+                                       networkList.add(n.getNetwork());
                        }
                } catch (Exception ex) {
                        ex.printStackTrace();
                }
 
                if (networkList.size() > 0)
-                       appManager.setSelectedNetworkViews(networkList);
+                       appManager.setSelectedNetworks(networkList);
        }
 
        /**

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
   2011-12-05 22:14:54 UTC (rev 27698)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
   2011-12-05 22:15:26 UTC (rev 27699)
@@ -111,13 +111,13 @@
        private final JDesktopPane desktopPane;
 
        // Key is MODEL ID
-       private final Map<Long, JInternalFrame> presentationContainerMap;
-       private final Map<Long, RenderingEngine<CyNetwork>> presentationMap;
+       private final Map<CyNetworkView, JInternalFrame> 
presentationContainerMap;
+       private final Map<CyNetworkView, RenderingEngine<CyNetwork>> 
presentationMap;
 
-       private final Map<JInternalFrame, Long> iFrameMap;
+       private final Map<JInternalFrame, CyNetworkView> iFrameMap;
        private final Properties props;
 
-       private Long currentPresentationContainerID;
+       private CyNetworkView currentView;
 
        // Supports multiple presentations
        private final Map<String, RenderingEngineFactory<CyNetwork>> factories;
@@ -159,10 +159,10 @@
                // add Help hooks
                help.getHelpBroker().enableHelp(desktopPane, 
"network-view-manager", null);
 
-               presentationContainerMap = new HashMap<Long, JInternalFrame>();
-               presentationMap = new HashMap<Long, 
RenderingEngine<CyNetwork>>();
-               iFrameMap = new HashMap<JInternalFrame, Long>();
-               currentPresentationContainerID = null;
+               presentationContainerMap = new HashMap<CyNetworkView, 
JInternalFrame>();
+               presentationMap = new HashMap<CyNetworkView, 
RenderingEngine<CyNetwork>>();
+               iFrameMap = new HashMap<JInternalFrame, CyNetworkView>();
+               currentView = null;
 
                nameTables = new HashMap<CyTable, CyNetwork>();
        }
@@ -219,22 +219,22 @@
                }
 
                // outta here
-               return presentationContainerMap.get(view.getModel().getSUID());
+               return presentationContainerMap.get(view);
        }
 
        /**
         * View switched
         */
        public void internalFrameActivated(InternalFrameEvent e) {
-               final Long networkId = iFrameMap.get(e.getInternalFrame());
-               if (networkId == null)
+               final CyNetworkView view = iFrameMap.get(e.getInternalFrame());
+               if (view == null)
                        return;
 
                final RenderingEngine<CyNetwork> currentEngine = 
applicationManager.getCurrentRenderingEngine();
-               applicationManager.setCurrentNetworkView(networkId);
+               applicationManager.setCurrentNetworkView(view);
 
-               if (currentEngine == null || 
currentEngine.getViewModel().getModel().getSUID() != networkId)
-                       
applicationManager.setCurrentRenderingEngine(presentationMap.get(networkId));
+               if (currentEngine == null || currentEngine.getViewModel() != 
view)
+                       
applicationManager.setCurrentRenderingEngine(presentationMap.get(view));
        }
 
        /**
@@ -253,7 +253,7 @@
                }
 
                logger.info("Attempting to set current network view model: View 
Model ID = " + e.getNetworkView().getSUID());
-               setFocus(e.getNetworkView().getModel().getSUID());
+               setFocus(e.getNetworkView());
        }
 
        public void handleEvent(SetCurrentNetworkEvent e) {
@@ -263,7 +263,7 @@
                }
 
                logger.info("Attempting to set current network model: Model ID 
= " + e.getNetwork().getSUID());
-               setFocus(e.getNetwork().getSUID());
+               
setFocus(networkViewManager.getNetworkView(e.getNetwork().getSUID()));
        }
 
        public void handleEvent(NetworkViewAboutToBeDestroyedEvent nvde) {
@@ -313,9 +313,9 @@
 
        protected void removeView(final CyNetworkView view) {
                try {
-                       final JInternalFrame frame = 
presentationContainerMap.get(view.getModel().getSUID());
+                       final JInternalFrame frame = 
presentationContainerMap.get(view);
                        if (frame != null) {
-                               RenderingEngine<CyNetwork> removed = 
this.presentationMap.remove(view.getModel().getSUID());
+                               RenderingEngine<CyNetwork> removed = 
this.presentationMap.remove(view);
                                logger.debug("#### Removing rendering engine: " 
+ removed);
                                removed = null;
                                frame.dispose();
@@ -324,7 +324,7 @@
                        logger.error("Network View unable to be killed", e);
                }
 
-               presentationContainerMap.remove(view.getModel().getSUID());
+               presentationContainerMap.remove(view);
                nameTables.remove(view.getModel().getDefaultNetworkTable());
 
                logger.debug("Network View Model removed.");
@@ -335,10 +335,8 @@
         * 
         */
        private void render(final CyNetworkView view) {
-               final Long modelID = view.getModel().getSUID();
-
                // If already registered in this manager, do not render.
-               if (presentationContainerMap.containsKey(modelID))
+               if (presentationContainerMap.containsKey(view))
                        return;
 
                // Create a new InternalFrame and put the CyNetworkView 
Component into
@@ -372,14 +370,14 @@
                });
 
                desktopPane.add(iframe);
-               presentationContainerMap.put(modelID, iframe);
-               iFrameMap.put(iframe, modelID);
+               presentationContainerMap.put(view, iframe);
+               iFrameMap.put(iframe, view);
 
                final long start = System.currentTimeMillis();
                logger.debug("Rendering start: view model = " + view.getSUID());
                final RenderingEngine<CyNetwork> renderingEngine = 
currentRenderingEngineFactory.createRenderingEngine(iframe, view);
                logger.debug("Rendering finished in " + 
(System.currentTimeMillis() - start) + " m sec.");
-               presentationMap.put(modelID, renderingEngine);
+               presentationMap.put(view, renderingEngine);
 
                iframe.pack();
 
@@ -422,7 +420,7 @@
                } else {
                        int w = 
view.getVisualProperty(MinimalVisualLexicon.NETWORK_WIDTH).intValue();
                        int h = 
view.getVisualProperty(MinimalVisualLexicon.NETWORK_HEIGHT).intValue();
-                       updateNetworkSize(modelID, w, h);
+                       updateNetworkSize(view, w, h);
                }
 
                // Display it and add listeners
@@ -439,25 +437,25 @@
                        return;
                
                final String title = n.getCyRow().get(CyTableEntry.NAME, 
String.class);
-               updateNetworkTitle(n.getSUID(), title);
+               updateNetworkTitle(n, title);
        }
        
        @Override
        public void handleEvent(NetworkViewChangedEvent e) {
                for ( ViewChangeRecord<CyNetwork> record : 
e.getPayloadCollection()) {
-                       Long id = record.getView().getModel().getSUID();
-                       JInternalFrame iframe = 
presentationContainerMap.get(id);
+                       CyNetworkView view = (CyNetworkView)(record.getView());
+                       JInternalFrame iframe = 
presentationContainerMap.get(view);
                        if ( iframe == null )
                                return;
                        
                        if 
(record.getVisualProperty().equals(MinimalVisualLexicon.NETWORK_WIDTH)) {
                                int w = ((Double) record.getValue()).intValue();
                                int h = iframe.getSize().height;
-                               updateNetworkSize(id, w, h);
+                               updateNetworkSize(view, w, h);
                        } else if 
(record.getVisualProperty().equals(MinimalVisualLexicon.NETWORK_HEIGHT)) {
                                int w = iframe.getSize().width;
                                int h = ((Double) record.getValue()).intValue();
-                               updateNetworkSize(id, w, h);
+                               updateNetworkSize(view, w, h);
                        }
                }
        }
@@ -521,17 +519,21 @@
        }
     }
        
-       private void updateNetworkTitle(Long networkModelID, String title) {
-               JInternalFrame frame = 
presentationContainerMap.get(networkModelID);
+       private void updateNetworkTitle(CyNetwork net, String title) {
+               CyNetworkView view = 
networkViewManager.getNetworkView(net.getSUID());
+               if ( view == null )
+                       return;
 
-               if (frame != null) {
-                       frame.setTitle(title);
-                       frame.repaint();
-               }
+               JInternalFrame frame = presentationContainerMap.get(view);
+               if (frame == null) 
+                       return;
+
+               frame.setTitle(title);
+               frame.repaint();
        }
 
-       private void updateNetworkSize(final Long networkModelID, int width, 
int height) {
-               final JInternalFrame frame = 
presentationContainerMap.get(networkModelID);
+       private void updateNetworkSize(final CyNetworkView view, int width, int 
height) {
+               final JInternalFrame frame = presentationContainerMap.get(view);
 
                if (frame == null)
                        return;
@@ -540,25 +542,19 @@
                        frame.setSize(new Dimension(width, height));
        }
 
-       private void setFocus(Long networkModelID) {
-               if (networkModelID == null) {
-                       logger.warn("Set Focus method got a null as target 
ID.");
-                       return;
-               }
-
-               final CyNetworkView targetViewModel = 
networkViewManager.getNetworkView(networkModelID);
+       private void setFocus(CyNetworkView targetViewModel) {
                if (targetViewModel == null) {
-                       logger.debug("View model does not exist for model ID: " 
+ networkModelID);
+                       logger.warn("Set Focus method got a null vew.");
                        return;
                }
 
                // make sure we're not redundant
-               if (currentPresentationContainerID != null && 
currentPresentationContainerID.equals(networkModelID)) {
-                       logger.debug("Same as current focus.  No need to update 
focus: model ID = " + networkModelID);
+               if (currentView != null && currentView.equals(targetViewModel)) 
{
+                       logger.debug("Same as current focus.  No need to update 
focus view model: " + targetViewModel);
                        return;
                }
 
-               currentPresentationContainerID = networkModelID;
+               currentView = targetViewModel;
 
                // Reset focus on frames
                for (JInternalFrame f : presentationContainerMap.values()) {
@@ -570,10 +566,10 @@
                }
 
                // Set focus
-               if (presentationContainerMap.containsKey(networkModelID)) {
+               if (presentationContainerMap.containsKey(targetViewModel)) {
                        try {
                                logger.debug("Updating JInternalFrame 
selection");
-                               final JInternalFrame curr = 
presentationContainerMap.get(networkModelID);
+                               final JInternalFrame curr = 
presentationContainerMap.get(targetViewModel);
 
                                curr.setIcon(false);
                                curr.show();

Modified: 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
===================================================================
--- 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
   2011-12-05 22:14:54 UTC (rev 27698)
+++ 
core3/impl/trunk/table-browser-impl/src/main/java/org/cytoscape/browser/internal/DefaultTableBrowser.java
   2011-12-05 22:15:26 UTC (rev 27699)
@@ -101,7 +101,7 @@
                if (network == null || currentNetwork == network)
                        return;
                
-               applicationManager.setCurrentNetwork(network.getSUID());
+               applicationManager.setCurrentNetwork(network);
        }
 
        @Override

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