Author: jm
Date: 2012-05-04 13:09:49 -0700 (Fri, 04 May 2012)
New Revision: 29115
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/model/NodeInteractionFilter.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/util/SelectUtil.java
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/IndexAndSearchTask.java
Log:
References #945: More optimizations for filter-impl and search-impl
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/model/NodeInteractionFilter.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/model/NodeInteractionFilter.java
2012-05-04 20:08:39 UTC (rev 29114)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/model/NodeInteractionFilter.java
2012-05-04 20:09:49 UTC (rev 29115)
@@ -85,16 +85,16 @@
passFilter.apply();
}
- List<CyNode> nodes_list = null;
+ List<CyNode> nodes_list = network.getNodeList();
+ List<CyEdge> edges = network.getEdgeList();
// NodeInteractionFilter will select node only
- nodes_list = network.getNodeList();
int objectCount = nodes_list.size();
nodeBits = new BitSet(objectCount); // all the bits are false
at very beginning
if ((nodeType !=
NODE_UNDEFINED)&&(!passFilter.getName().equalsIgnoreCase("None"))) {
for (int i=0; i<objectCount; i++) {
- if (isHit(nodes_list.get(i))) {
+ if (isHit(nodes_list.get(i), edges)) {
nodeBits.set(i);
}
}
@@ -108,7 +108,7 @@
}
- private boolean isHit(CyNode pNode) {
+ private boolean isHit(CyNode pNode, List<CyEdge> edges) {
// Get the list of relevant edges for this node
List<CyEdge> adjacentEdges = null;
@@ -134,7 +134,7 @@
int edgeIndex = -1;
for (int i=0; i < adjacentEdges.size(); i++) {
- edgeIndex =
network.getEdgeList().indexOf(adjacentEdges.get(i));
+ edgeIndex = edges.indexOf(adjacentEdges.get(i));
if (passFilter_edgeBits.get(edgeIndex) == true) {
return true;
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/util/SelectUtil.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/util/SelectUtil.java
2012-05-04 20:08:39 UTC (rev 29114)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/util/SelectUtil.java
2012-05-04 20:09:49 UTC (rev 29115)
@@ -44,40 +44,17 @@
}
public static void selectAllNodes(CyNetwork cyNetwork) {
- selectAll(cyNetwork,cyNetwork.getNodeList());
+ selectAll(cyNetwork, CyTableUtil.getNodesInState(cyNetwork,
CyNetwork.SELECTED, false));
}
public static void selectAllEdges(CyNetwork cyNetwork) {
- selectAll(cyNetwork,cyNetwork.getEdgeList());
+ selectAll(cyNetwork, CyTableUtil.getEdgesInState(cyNetwork,
CyNetwork.SELECTED, false));
}
static <T extends CyIdentifiable> void selectAll(CyNetwork network,
Collection<T> items) {
for (T item : items) {
CyRow row = network.getRow(item);
- if (!row.get(CyNetwork.SELECTED, Boolean.class)) {
- row.set(CyNetwork.SELECTED, Boolean.TRUE);
- }
+ row.set(CyNetwork.SELECTED, Boolean.TRUE);
}
}
-
- public static int getSelectedNodeCount(CyNetwork cyNetwork) {
- return countSelected(cyNetwork, cyNetwork.getNodeList());
- }
-
- public static int getSelectedEdgeCount(CyNetwork cyNetwork) {
- return countSelected(cyNetwork, cyNetwork.getNodeList());
- }
-
- static <T extends CyIdentifiable> int countSelected(CyNetwork network,
Collection<T> items) {
- int count = 0;
- for (T item : items) {
- CyRow row = network.getRow(item);
- if (row.get(CyNetwork.SELECTED, Boolean.class)) {
- count++;
- }
- }
- return count;
- }
-
-
}
Modified:
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/IndexAndSearchTask.java
===================================================================
---
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/IndexAndSearchTask.java
2012-05-04 20:08:39 UTC (rev 29114)
+++
core3/impl/trunk/search-impl/src/main/java/org/cytoscape/search/internal/IndexAndSearchTask.java
2012-05-04 20:09:49 UTC (rev 29115)
@@ -40,6 +40,7 @@
import org.cytoscape.model.CyEdge;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyTableUtil;
import org.cytoscape.task.AbstractNetworkTask;
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.CyNetworkViewManager;
@@ -151,11 +152,11 @@
return;
}
- List<CyNode> nodeList = network.getNodeList();
+ List<CyNode> nodeList = CyTableUtil.getNodesInState(network,
CyNetwork.SELECTED, true);
for (CyNode n : nodeList) {
network.getRow(n).set(CyNetwork.SELECTED,false);
}
- List<CyEdge> edgeList = network.getEdgeList();
+ List<CyEdge> edgeList = CyTableUtil.getEdgesInState(network,
CyNetwork.SELECTED, true);
for (CyEdge e : edgeList) {
network.getRow(e).set(CyNetwork.SELECTED, false);
}
--
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.