Author: jm
Date: 2012-05-03 14:15:42 -0700 (Thu, 03 May 2012)
New Revision: 29096
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/FlagAndSelectionHandler.java
Log:
References #946: Reduced heap allocation frequency in FlagAndSelectionHandler.
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/FlagAndSelectionHandler.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/FlagAndSelectionHandler.java
2012-05-03 21:10:55 UTC (rev 29095)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/FlagAndSelectionHandler.java
2012-05-03 21:15:42 UTC (rev 29096)
@@ -44,6 +44,7 @@
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNode;
import org.cytoscape.model.CyIdentifiable;
+import org.cytoscape.model.CyTableUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -76,37 +77,13 @@
view.addGraphViewChangeListener(this);
}
- private Set<CyNode> getSelectedNodes() {
- final Set<CyNode> selectedNodes = new HashSet<CyNode>();
-
- for (final CyNode n : network.getNodeList()) {
- final Boolean selected =
network.getRow(n).get(CyNetwork.SELECTED, Boolean.class);
- if (selected != null && selected)
- selectedNodes.add(n);
- }
-
- return selectedNodes;
- }
-
- private Set<CyEdge> getSelectedEdges() {
- final Set<CyEdge> selectedEdges = new HashSet<CyEdge>();
-
- for (final CyEdge n : network.getEdgeList()) {
- final Boolean selected =
network.getRow(n).get(CyNetwork.SELECTED, Boolean.class);
- if (selected != null && selected)
- selectedEdges.add(n);
- }
-
- return selectedEdges;
- }
-
/**
* Synchronizes the filter and view of this object by selecting every
object
* that is currently flagged and vice versa.
*/
private void syncFilterAndView() {
- final Set<CyNode> flaggedNodes = getSelectedNodes();
- final Set<CyEdge> flaggedEdges = getSelectedEdges();
+ final List<CyNode> flaggedNodes =
CyTableUtil.getNodesInState(network, CyNetwork.SELECTED, true);
+ final List<CyEdge> flaggedEdges =
CyTableUtil.getEdgesInState(network, CyNetwork.SELECTED, true);
final List<CyNode> selectedNodes = view.getSelectedNodes();
final List<CyEdge> selectedEdges = view.getSelectedEdges();
--
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.