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.