Author: kono
Date: 2009-11-23 13:53:33 -0800 (Mon, 23 Nov 2009)
New Revision: 18544
Added:
cytoscape/trunk/tests/cytoscape/util/NestedNetworkImageManagerTest.java
cytoscape/trunk/tests/cytoscape/util/TestUtil.java
Modified:
cytoscape/trunk/src/cytoscape/util/NestedNetworkImageManager.java
cytoscape/trunk/tests/cytoscape/data/readers/NNFReaderTest.java
Log:
Test code for Nested Network Image generator had been added.
Modified: cytoscape/trunk/src/cytoscape/util/NestedNetworkImageManager.java
===================================================================
--- cytoscape/trunk/src/cytoscape/util/NestedNetworkImageManager.java
2009-11-23 20:17:59 UTC (rev 18543)
+++ cytoscape/trunk/src/cytoscape/util/NestedNetworkImageManager.java
2009-11-23 21:53:33 UTC (rev 18544)
@@ -22,7 +22,7 @@
private static NestedNetworkImageManager networkImageGenerator;
- private final Map<CyNetwork, Image> networkToImageMap;
+ private final Map<CyNetwork, ImageAndReferenceCount> networkToImageMap;
static {
networkImageGenerator = new NestedNetworkImageManager();
@@ -34,31 +34,75 @@
}
private NestedNetworkImageManager() {
- networkToImageMap = new HashMap<CyNetwork, Image>();
+ networkToImageMap = new HashMap<CyNetwork,
ImageAndReferenceCount>();
}
public Image getImage(final CyNetwork network) {
- return networkToImageMap.get(network);
+ return networkToImageMap.get(network).getImage();
}
+
+ public int getImageCount() {
+ return this.networkToImageMap.size();
+ }
public void propertyChange(final PropertyChangeEvent evt) {
+ final CyNetwork network = (CyNetwork) evt.getNewValue();
if
(evt.getPropertyName().equals(Cytoscape.NESTED_NETWORK_CREATED)) {
- final CyNetwork network = (CyNetwork) evt.getNewValue();
+ if (this.networkToImageMap.containsKey(network)) {
+
this.networkToImageMap.get(network).incRefCount();
+ return;
+ }
+
final CyNetworkView view =
Cytoscape.getNetworkView(network.getIdentifier());
-
if (view == Cytoscape.getNullNetworkView()) {
// View does not exist
- networkToImageMap.put(network, DEF_IMAGE);
+ networkToImageMap.put(network, new
ImageAndReferenceCount(DEF_IMAGE));
} else {
// Create image from this view.
final DGraphView dView = (DGraphView) view;
- networkToImageMap.put(network,
dView.createImage(DEF_WIDTH, DEF_HEIGHT, 1.0));
+ networkToImageMap.put(network, new
ImageAndReferenceCount(dView.createImage(DEF_WIDTH, DEF_HEIGHT, 1.0)));
}
} else if
(evt.getPropertyName().equals(Cytoscape.NESTED_NETWORK_DESTROYED)) {
- // ?
+ final ImageAndReferenceCount imageAndRefCount =
networkToImageMap.get(network);
+ imageAndRefCount.decRefCount();
+ if (imageAndRefCount.getRefCount() == 0) {
+ this.networkToImageMap.remove(network);
+ }
}
}
+
+ static class ImageAndReferenceCount {
+ private Image image;
+ private int refCount;
+
+
+ public ImageAndReferenceCount(final Image image) {
+ this.image = image;
+ this.refCount = 1;
+ }
+
+
+ public void incRefCount() {
+ this.refCount++;
+ }
+
+
+ public void decRefCount() {
+ this.refCount--;
+ }
+
+
+ public int getRefCount() {
+ return refCount;
+ }
+
+
+ public Image getImage() {
+ return image;
+ }
+ }
+
}
Modified: cytoscape/trunk/tests/cytoscape/data/readers/NNFReaderTest.java
===================================================================
--- cytoscape/trunk/tests/cytoscape/data/readers/NNFReaderTest.java
2009-11-23 20:17:59 UTC (rev 18543)
+++ cytoscape/trunk/tests/cytoscape/data/readers/NNFReaderTest.java
2009-11-23 21:53:33 UTC (rev 18544)
@@ -9,6 +9,7 @@
import cytoscape.CyNetwork;
import cytoscape.CyNode;
import cytoscape.Cytoscape;
+import cytoscape.util.TestUtil;
import junit.framework.TestCase;
@@ -35,19 +36,8 @@
}
- /**
- * Destroys all networks in the root graph. Please note that the nodes
and edges of said networks are also being destroyed.
- */
- private static void destroyNetworksEdgesAndNodes() {
- final Set<CyNetwork> networks = Cytoscape.getNetworkSet();
- for (final CyNetwork network : networks) {
- Cytoscape.destroyNetwork(network, /* destroy_unique =
*/true);
- }
- }
-
-
public void testGood1() throws Exception {
- destroyNetworksEdgesAndNodes();
+ TestUtil.destroyNetworksEdgesAndNodes();
final NNFReader reader = new NNFReader(FILE_LOCATION +
"good1.nnf");
reader.read();
@@ -58,7 +48,7 @@
public void testGood2() throws Exception {
- destroyNetworksEdgesAndNodes();
+ TestUtil.destroyNetworksEdgesAndNodes();
final NNFReader reader = new NNFReader(FILE_LOCATION +
"good2.nnf");
reader.read();
@@ -69,7 +59,7 @@
public void testGood3() throws Exception {
- destroyNetworksEdgesAndNodes();
+ TestUtil.destroyNetworksEdgesAndNodes();
final NNFReader reader = new NNFReader(FILE_LOCATION +
"good3.nnf");
reader.read();
@@ -94,7 +84,7 @@
public void testGood4() throws Exception {
- destroyNetworksEdgesAndNodes();
+ TestUtil.destroyNetworksEdgesAndNodes();
final NNFReader reader = new NNFReader(FILE_LOCATION +
"good4.nnf");
reader.read();
@@ -127,7 +117,7 @@
public void testGood5() throws Exception {
- destroyNetworksEdgesAndNodes();
+ TestUtil.destroyNetworksEdgesAndNodes();
final NNFReader reader = new NNFReader(FILE_LOCATION +
"good5.nnf");
reader.read();
@@ -138,7 +128,7 @@
public void testGood6() throws Exception {
- destroyNetworksEdgesAndNodes();
+ TestUtil.destroyNetworksEdgesAndNodes();
final NNFReader reader = new NNFReader(FILE_LOCATION +
"good6.nnf");
reader.read();
@@ -149,7 +139,7 @@
public void testBad1() throws Exception {
- destroyNetworksEdgesAndNodes();
+ TestUtil.destroyNetworksEdgesAndNodes();
final NNFReader reader = new NNFReader(FILE_LOCATION +
"bad1.nnf");
try {
@@ -166,7 +156,7 @@
public void testBad2() throws Exception {
- destroyNetworksEdgesAndNodes();
+ TestUtil.destroyNetworksEdgesAndNodes();
final NNFReader reader = new NNFReader(FILE_LOCATION +
"bad2.nnf");
try {
@@ -182,7 +172,7 @@
}
public void testMultipleFiles() throws Exception {
- destroyNetworksEdgesAndNodes();
+ TestUtil.destroyNetworksEdgesAndNodes();
final NNFReader reader1 = new NNFReader(FILE_LOCATION +
"good3.nnf");
reader1.read();
Added: cytoscape/trunk/tests/cytoscape/util/NestedNetworkImageManagerTest.java
===================================================================
--- cytoscape/trunk/tests/cytoscape/util/NestedNetworkImageManagerTest.java
(rev 0)
+++ cytoscape/trunk/tests/cytoscape/util/NestedNetworkImageManagerTest.java
2009-11-23 21:53:33 UTC (rev 18544)
@@ -0,0 +1,29 @@
+package cytoscape.util;
+
+import cytoscape.data.readers.NNFReader;
+import junit.framework.TestCase;
+
+public class NestedNetworkImageManagerTest extends TestCase {
+
+ private static final String FILE_LOCATION = "testData/NNFData/";
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ public void testNestedNetworkImageManager() throws Exception {
+ // Load nested network
+ TestUtil.destroyNetworksEdgesAndNodes();
+
+ final NNFReader reader = new NNFReader(FILE_LOCATION +
"good3.nnf");
+ reader.read();
+
+ assertEquals(3,
NestedNetworkImageManager.getNetworkImageGenerator().getImageCount());
+
+ }
+
+}
Added: cytoscape/trunk/tests/cytoscape/util/TestUtil.java
===================================================================
--- cytoscape/trunk/tests/cytoscape/util/TestUtil.java
(rev 0)
+++ cytoscape/trunk/tests/cytoscape/util/TestUtil.java 2009-11-23 21:53:33 UTC
(rev 18544)
@@ -0,0 +1,20 @@
+package cytoscape.util;
+
+import java.util.Set;
+
+import cytoscape.CyNetwork;
+import cytoscape.Cytoscape;
+
+
+public class TestUtil {
+ /**
+ * Destroys all networks in the root graph. Please note that the nodes
and edges of said networks are also being destroyed.
+ */
+ public static void destroyNetworksEdgesAndNodes() {
+ final Set<CyNetwork> networks = Cytoscape.getNetworkSet();
+ for (final CyNetwork network : networks) {
+ Cytoscape.destroyNetwork(network, /* destroy_unique =
*/true);
+ }
+ }
+
+}
--
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=.