Author: laylaoesper
Date: 2010-07-09 09:58:32 -0700 (Fri, 09 Jul 2010)
New Revision: 20869
Modified:
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummary.jar
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummaryParameters.java
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/UpdateCloudAction.java
Log:
Make checks for changed networks/selected nodes more efficient by using
HashSets.
Modified:
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummary.jar
===================================================================
(Binary files differ)
Modified:
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummaryParameters.java
===================================================================
---
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummaryParameters.java
2010-07-09 16:42:03 UTC (rev 20868)
+++
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/SemanticSummaryParameters.java
2010-07-09 16:58:32 UTC (rev 20869)
@@ -26,6 +26,7 @@
import java.util.HashMap;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -274,8 +275,17 @@
Boolean isChanged = false;
List<String> oldNames = this.getNetworkNodes();
+ //Create a hash set to make this call more efficient when check
for contains
+ HashSet<String> oldNamesHash = new HashSet<String>();
+
+ for (int i = 0; i < oldNames.size(); i++)
+ {
+ String curNode = oldNames.get(i);
+ oldNamesHash.add(curNode);
+ }
+
//If lists are different size, they can't be the same
- if (oldNames.size() != nodes.size())
+ if (oldNamesHash.size() != nodes.size())
return true;
else
@@ -284,7 +294,7 @@
for (Iterator<CyNode> iter = nodes.iterator();
iter.hasNext();)
{
String nodeName = iter.next().getIdentifier();
- if (!oldNames.contains(nodeName))
+ if (!oldNamesHash.contains(nodeName))
{
isChanged = true;
break;
Modified:
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/UpdateCloudAction.java
===================================================================
---
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/UpdateCloudAction.java
2010-07-09 16:42:03 UTC (rev 20868)
+++
csplugins/trunk/soc/layla/SemanticSummary/src/cytoscape/csplugins/semanticsummary/UpdateCloudAction.java
2010-07-09 16:58:32 UTC (rev 20869)
@@ -175,8 +175,17 @@
Boolean isChanged = false;
List<String> oldNames = params.getSelectedNodes();
+ //Create a hash set to make this call more efficient when check
for contains
+ HashSet<String> oldNamesHash = new HashSet<String>();
+
+ for (int i = 0; i < oldNames.size(); i++)
+ {
+ String curNode = oldNames.get(i);
+ oldNamesHash.add(curNode);
+ }
+
//If lists are different size, they can't be the same
- if (oldNames.size() != nodes.size())
+ if (oldNamesHash.size() != nodes.size())
return true;
else
@@ -185,7 +194,7 @@
for (Iterator<CyNode> iter = nodes.iterator();
iter.hasNext();)
{
String nodeName = iter.next().getIdentifier();
- if (!oldNames.contains(nodeName))
+ if (!oldNamesHash.contains(nodeName))
{
isChanged = true;
break;
--
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.