Author: clopes
Date: 2012-07-13 14:27:07 -0700 (Fri, 13 Jul 2012)
New Revision: 29895

Modified:
   
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/util/MCODEUtil.java
Log:
Fixed bug that would delete subnetworks created from MCODE clusters after 
running the analysis again.

Modified: 
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/util/MCODEUtil.java
===================================================================
--- 
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/util/MCODEUtil.java
 2012-07-13 20:39:42 UTC (rev 29894)
+++ 
csplugins/trunk/toronto/clopes/mcode/src/main/java/org/cytoscape/mcode/internal/util/MCODEUtil.java
 2012-07-13 21:27:07 UTC (rev 29895)
@@ -214,20 +214,19 @@
        }       
        
        public void removeUnusedSubNetworks(CyNetwork network, MCODECluster[] 
clusters) {
-               Set<CySubNetwork> clusterNetworks = new HashSet<CySubNetwork>();
+               Map<CySubNetwork, Boolean> clusterNetworks = new 
HashMap<CySubNetwork, Boolean>();
                
                if (clusters != null && clusters.length > 0) {
-                       for (MCODECluster c : clusters) {
-                               clusterNetworks.add(c.getNetwork());
-                       }
+                       for (MCODECluster c : clusters)
+                               clusterNetworks.put(c.getNetwork(), 
Boolean.TRUE);
                }
                
                CyRootNetwork rootNet = rootNetworkMgr.getRootNetwork(network);
                
-               for (CySubNetwork subNet : subNetworks) {
-                       if (!clusterNetworks.contains(subNet)) {
-                               rootNet.removeSubNetwork(subNet);
-                       }
+               for (CySubNetwork sn : subNetworks) {
+                       // Only remove the subnetwork if it is not registered
+                       if (!clusterNetworks.containsKey(sn) && 
!networkMgr.networkExists(sn.getSUID()))
+                               rootNet.removeSubNetwork(sn);
                }
                
                subNetworks.clear();

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