Author: clopes
Date: 2012-09-12 15:40:43 -0700 (Wed, 12 Sep 2012)
New Revision: 30358

Modified:
   
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
   
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy252SimpleSessionLodingTest.java
   
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy263SimpleSessionLodingTest.java
   
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy270SimpleSessionLodingTest.java
   
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy283ComplexSessionLodingTest.java
   
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3SimpleSessionLodingTest.java
Log:
Fixes #1434 (CyTableManager.getAllTables does not return some CyRootNetwork 
tables)
--Also updates related integrated tests

Modified: 
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
===================================================================
--- 
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
   2012-09-12 22:06:19 UTC (rev 30357)
+++ 
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
   2012-09-12 22:40:43 UTC (rev 30358)
@@ -57,6 +57,7 @@
 import org.cytoscape.model.CyTableManager;
 import org.cytoscape.model.CyTableMetadata;
 import org.cytoscape.model.SavePolicy;
+import org.cytoscape.model.subnetwork.CyRootNetwork;
 import org.cytoscape.model.subnetwork.CyRootNetworkManager;
 import org.cytoscape.property.CyProperty;
 import org.cytoscape.property.bookmark.Bookmarks;
@@ -372,15 +373,34 @@
                appMgr.setSelectedNetworkViews(selectedViews);
        }
 
-       private void restoreTables(CySession sess) {
-               // Register all tables, if not already registered
-               for (CyTableMetadata metadata : sess.getTables()) {
-                       final CyTable tbl = metadata.getTable();
+       private void restoreTables(final CySession sess) {
+               final Set<CyTable> allTables = new HashSet<CyTable>();
+               
+               // Register all tables sent through the CySession, if not 
already registered
+               for (final CyTableMetadata metadata : sess.getTables()) {
+                       allTables.add(metadata.getTable());
+               }
+               
+               // There may be other network tables in the 
CyNetworkTableManager that were not serialized in the session file
+               // (e.g. Table Facades), so it's necessary to add them to 
CyTableManager as well
+               for (final CyNetwork net : sess.getNetworks()) {
+                       allTables.addAll(netTblMgr.getTables(net, 
CyNetwork.class).values());
+                       allTables.addAll(netTblMgr.getTables(net, 
CyNode.class).values());
+                       allTables.addAll(netTblMgr.getTables(net, 
CyEdge.class).values());
                        
-                       if (tblMgr.getTable(tbl.getSUID()) == null) {
-                               tblMgr.addTable(tbl);
+                       if (!(net instanceof CyRootNetwork)) {
+                               final CyRootNetwork root = 
rootNetMgr.getRootNetwork(net);
+                               allTables.addAll(netTblMgr.getTables(root, 
CyNetwork.class).values());
+                               allTables.addAll(netTblMgr.getTables(root, 
CyNode.class).values());
+                               allTables.addAll(netTblMgr.getTables(root, 
CyEdge.class).values());
                        }
                }
+               
+               // Register all tables sent through the CySession, if not 
already registered
+               for (final CyTable tbl : allTables) {
+                       if (tblMgr.getTable(tbl.getSUID()) == null)
+                               tblMgr.addTable(tbl);
+               }
        }
        
        private void restoreVisualStyles(final CySession sess) {

Modified: 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy252SimpleSessionLodingTest.java
===================================================================
--- 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy252SimpleSessionLodingTest.java
        2012-09-12 22:06:19 UTC (rev 30357)
+++ 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy252SimpleSessionLodingTest.java
        2012-09-12 22:40:43 UTC (rev 30358)
@@ -62,7 +62,6 @@
                CyNetwork network = itr.next();
 
                checkNetwork(network);
-
        }
 
        private void checkGlobalStatus() {
@@ -72,9 +71,10 @@
                // Since this test runs in headless mode, this should be zero.
                assertEquals(0, 
renderingEngineManager.getAllRenderingEngines().size());
 
-               assertEquals(9, tableManager.getAllTables(true).size());
+               // 3 public tables per registered subnetwork
                assertEquals(3, tableManager.getAllTables(false).size());
-
+               // 15 regular tables + 9 table facades (sub+root-networks)
+               assertEquals(24, tableManager.getAllTables(true).size());
        }
 
        private void checkNetwork(final CyNetwork network) {
@@ -194,5 +194,4 @@
                                BasicVisualLexicon.NODE_WIDTH);
                assertEquals(Double.valueOf(80.0d), nodeWidth);
        }
-
 }

Modified: 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy263SimpleSessionLodingTest.java
===================================================================
--- 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy263SimpleSessionLodingTest.java
        2012-09-12 22:06:19 UTC (rev 30357)
+++ 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy263SimpleSessionLodingTest.java
        2012-09-12 22:40:43 UTC (rev 30358)
@@ -80,19 +80,20 @@
        }
 
        private void checkGlobalStatus() {
-               assertEquals(7, networkManager.getNetworkSet().size());
-               assertEquals(7, viewManager.getNetworkViewSet().size());
+               final int ROOTNET_COUNT = 1;
+               final int SUBNET_COUNT = 7;
+               
+               assertEquals(SUBNET_COUNT, 
networkManager.getNetworkSet().size());
+               assertEquals(SUBNET_COUNT, 
viewManager.getNetworkViewSet().size());
 
                // Since this test runs in headless mode, this should be zero.
                assertEquals(0, 
renderingEngineManager.getAllRenderingEngines().size());
 
-               assertEquals(63, tableManager.getAllTables(true).size());
-               assertEquals(21, tableManager.getAllTables(false).size());
-
+               assertEquals(3*SUBNET_COUNT, 
tableManager.getAllTables(false).size());
+               assertEquals((9*SUBNET_COUNT) + (15*ROOTNET_COUNT), 
tableManager.getAllTables(true).size());
        }
 
        private void checkVisualStyles() {
-
                Set<VisualStyle> vsSet = vmm.getAllVisualStyles();
                
                VisualStyle gda_geneCentric = null;
@@ -121,7 +122,6 @@
                checkVisualStyle(gda_wholeNetwork);             
        }
        
-       
        private void checkVisualStyle(final VisualStyle style) {
 
                //              Collection<VisualMappingFunction<?, ?>> 
mappings = style.getAllVisualMappingFunctions();

Modified: 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy270SimpleSessionLodingTest.java
===================================================================
--- 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy270SimpleSessionLodingTest.java
        2012-09-12 22:06:19 UTC (rev 30357)
+++ 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy270SimpleSessionLodingTest.java
        2012-09-12 22:40:43 UTC (rev 30358)
@@ -1,6 +1,7 @@
 package org.cytoscape.session;
 
 import static org.junit.Assert.*;
+
 import java.awt.Color;
 import java.awt.Paint;
 import java.io.File;
@@ -69,17 +70,19 @@
        }
 
        private void checkGlobalStatus() {
-               assertEquals(2, networkManager.getNetworkSet().size());
+               final int ROOTNET_COUNT = 1;
+               final int SUBNET_COUNT = 2;
+               
+               assertEquals(SUBNET_COUNT, 
networkManager.getNetworkSet().size());
                assertEquals(1, viewManager.getNetworkViewSet().size());
 
                // Since this test runs in headless mode, this should be zero.
                assertEquals(0, 
renderingEngineManager.getAllRenderingEngines().size());
 
-               assertEquals(18, tableManager.getAllTables(true).size());
-               assertEquals(6, tableManager.getAllTables(false).size());
+               assertEquals(3*SUBNET_COUNT, 
tableManager.getAllTables(false).size());
+               assertEquals((9*SUBNET_COUNT) + (15*ROOTNET_COUNT), 
tableManager.getAllTables(true).size());
        }
 
-
        private void checkNetworkView(CyNetwork network){
                // View test
                Collection<CyNetworkView> views = 
viewManager.getNetworkViews(network);

Modified: 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy283ComplexSessionLodingTest.java
===================================================================
--- 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy283ComplexSessionLodingTest.java
       2012-09-12 22:06:19 UTC (rev 30357)
+++ 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy283ComplexSessionLodingTest.java
       2012-09-12 22:40:43 UTC (rev 30358)
@@ -73,19 +73,20 @@
        }
 
        private void checkGlobalStatus() {
-               assertEquals(5, networkManager.getNetworkSet().size());
+               final int ROOTNET_COUNT = 1;
+               final int SUBNET_COUNT = 5;
+               
+               assertEquals(SUBNET_COUNT, 
networkManager.getNetworkSet().size());
                assertEquals(4, viewManager.getNetworkViewSet().size());
 
                // Since this test runs in headless mode, this should be zero.
                assertEquals(0, 
renderingEngineManager.getAllRenderingEngines().size());
 
-               // 6 tables per network
-               assertEquals(45, tableManager.getAllTables(true).size());
-               assertEquals(15, tableManager.getAllTables(false).size());
+               assertEquals(3*SUBNET_COUNT, 
tableManager.getAllTables(false).size());
+               assertEquals((9*SUBNET_COUNT) + (15*ROOTNET_COUNT), 
tableManager.getAllTables(true).size());
 
                // Visual Style
                assertEquals(7, vmm.getAllVisualStyles().size());
-
        }
 
        private void checkNetworks() {

Modified: 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3SimpleSessionLodingTest.java
===================================================================
--- 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3SimpleSessionLodingTest.java
  2012-09-12 22:06:19 UTC (rev 30357)
+++ 
core3/impl/trunk/session-impl/integration-test/src/test/java/org/cytoscape/session/Cy3SimpleSessionLodingTest.java
  2012-09-12 22:40:43 UTC (rev 30358)
@@ -82,12 +82,6 @@
                // TODO why not root-network tables?
                final int totalNet = networkTableManager.getNetworkSet().size();
                assertTrue(totalNet >= 2); // At least root+base-network; there 
can be other (private) networks
-               assertEquals(6 * totalNet, 
tableManager.getAllTables(true).size());
-//             assertEquals(totalNet, 
tableManager.getLocalTables(CyNetwork.class).size());
-//             assertEquals(totalNet, 
tableManager.getLocalTables(CyNode.class).size());
-//             assertEquals(totalNet, 
tableManager.getLocalTables(CyEdge.class).size());
-               // No global tables in this example
-               assertEquals(0, tableManager.getGlobalTables().size());
                
                for (CyNetwork net : networkTableManager.getNetworkSet())
                        checkNetworkTables(net);
@@ -172,8 +166,8 @@
                assertNotNull(net.getTable(CyNetwork.class, SHARED_ATTRS));
                
                Set<CyTable> allTables = tableManager.getAllTables(true);
-//             assertTrue(allTables.contains(net.getTable(CyNetwork.class, 
DEFAULT_ATTRS))); // TODO Why does it fail?
-//             assertTrue(allTables.contains(net.getTable(CyNetwork.class, 
SHARED_DEFAULT_ATTRS)));
+               assertTrue(allTables.contains(net.getTable(CyNetwork.class, 
DEFAULT_ATTRS)));
+               assertTrue(allTables.contains(net.getTable(CyNetwork.class, 
SHARED_DEFAULT_ATTRS)));
                assertTrue(allTables.contains(net.getTable(CyNetwork.class, 
LOCAL_ATTRS)));
                assertTrue(allTables.contains(net.getTable(CyNetwork.class, 
HIDDEN_ATTRS)));
                assertTrue(allTables.contains(net.getTable(CyNetwork.class, 
SHARED_ATTRS)));

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