Author: kono
Date: 2011-04-11 12:49:40 -0700 (Mon, 11 Apr 2011)
New Revision: 24740

Modified:
   
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/read/sif/SIFNetworkViewReader.java
Log:
Performance problem caused by lots of RowSet events had been fixed for SIF.  
Probably, there are some more similar bug in this bundle.

Modified: 
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/read/sif/SIFNetworkViewReader.java
===================================================================
--- 
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/read/sif/SIFNetworkViewReader.java
      2011-04-11 19:38:25 UTC (rev 24739)
+++ 
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/read/sif/SIFNetworkViewReader.java
      2011-04-11 19:49:40 UTC (rev 24740)
@@ -131,9 +131,9 @@
 
        tm.setProgress(0.25);
 
-       final CyTable table = network.getDefaultNodeTable();
+       final CyTable nodeTable = network.getDefaultNodeTable();
        try {
-           eventHelper.fireSynchronousEvent(new RowsAboutToChangeEvent(this, 
table));
+           eventHelper.fireSynchronousEvent(new RowsAboutToChangeEvent(this, 
nodeTable));
 
            for (final String nodeName : nodeMap.keySet()) {
                if (cancelled)
@@ -147,7 +147,7 @@
            }
 
        } finally {
-           eventHelper.fireSynchronousEvent(new 
RowsFinishedChangingEvent(this, table));
+           eventHelper.fireSynchronousEvent(new 
RowsFinishedChangingEvent(this, nodeTable));
        }
 
        tm.setProgress(0.65);
@@ -159,18 +159,24 @@
        String interactionType;
        CyEdge edge;
 
-       for (Interaction interaction : interactions) {
-           if (cancelled)
-               return;
+       final CyTable edgeTable = network.getDefaultEdgeTable();
+       try {
+           eventHelper.fireSynchronousEvent(new RowsAboutToChangeEvent(this, 
edgeTable));
+           for (Interaction interaction : interactions) {
+               if (cancelled)
+                   return;
 
-           srcName = interaction.getSource();
-           interactionType = interaction.getType();
+               srcName = interaction.getSource();
+               interactionType = interaction.getType();
 
-           for (String tgtName : interaction.getTargets()) {
-               edge = network.addEdge(nodeMap.get(srcName), 
nodeMap.get(tgtName), true);
-               edge.getCyRow().set(CyTableEntry.NAME, srcName + " (" + 
interactionType + ") " + tgtName);
-               edge.getCyRow().set(INTERACTION, interactionType);
+               for (String tgtName : interaction.getTargets()) {
+                   edge = network.addEdge(nodeMap.get(srcName), 
nodeMap.get(tgtName), true);
+                   edge.getCyRow().set(CyTableEntry.NAME, srcName + " (" + 
interactionType + ") " + tgtName);
+                   edge.getCyRow().set(INTERACTION, interactionType);
+               }
            }
+       } finally {
+           eventHelper.fireSynchronousEvent(new 
RowsFinishedChangingEvent(this, edgeTable));
        }
 
        tm.setProgress(0.90);

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