Author: jm
Date: 2012-08-02 07:26:05 -0700 (Thu, 02 Aug 2012)
New Revision: 30069
Modified:
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/SimpleNetwork.java
Log:
Fixes #1302,1336: Fixed a bug in SimpleNetwork where removeEdges/NodesInternal
would bail in the middle of deleting edges/nodes if it finds an edge/node that
doesn't belong to the network.
Modified:
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/SimpleNetwork.java
===================================================================
---
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/SimpleNetwork.java
2012-08-02 03:40:01 UTC (rev 30068)
+++
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/SimpleNetwork.java
2012-08-02 14:26:05 UTC (rev 30069)
@@ -236,10 +236,11 @@
if (nodes == null || nodes.isEmpty())
return false;
+ boolean madeChanges = false;
synchronized (this) {
for ( CyNode n : nodes ) {
if (!containsNode(n))
- return false;
+ continue;
// remove adjacent edges from network
removeEdgesInternal(getAdjacentEdgeList(n,
CyEdge.Type.ANY));
@@ -249,10 +250,11 @@
firstNode = node.remove(firstNode);
nodeCount--;
+ madeChanges = true;
}
}
- return true;
+ return madeChanges;
}
protected CyEdge addEdgeInternal(final CyNode s, final CyNode t, final
boolean directed, final CyEdge edge) {
@@ -289,10 +291,11 @@
if ( edges == null || edges.isEmpty() )
return false;
+ boolean madeChanges = false;
synchronized (this) {
for (CyEdge edge : edges) {
if (!containsEdge(edge))
- return false;
+ continue;
final EdgePointer e =
(EdgePointer)edgePointers.get(edge.getSUID());
edgePointers.removeKey(edge.getSUID());
@@ -300,10 +303,11 @@
e.remove();
edgeCount--;
+ madeChanges = true;
}
}
- return true;
+ return madeChanges;
}
public boolean containsNode(final CyNode node) {
--
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.