Author: mes
Date: 2011-09-22 14:17:34 -0700 (Thu, 22 Sep 2011)
New Revision: 26935
Modified:
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/ArrayGraph.java
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/ArraySubGraph.java
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/CyEdgeImpl.java
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/CyNodeImpl.java
Log:
minor performance tweaks
Modified:
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/ArrayGraph.java
===================================================================
---
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/ArrayGraph.java
2011-09-22 20:52:20 UTC (rev 26934)
+++
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/ArrayGraph.java
2011-09-22 21:17:34 UTC (rev 26935)
@@ -387,16 +387,16 @@
// This is the root network.
// Adding a node to the base subnetwork is handled in
ArraySubGraph.
// Likewise we don't fire a added node event here.
- return nodeAdd();
+ return nodeAdd(SUIDFactory.getNextSUID());
}
- CyNodeImpl nodeAdd() {
+ CyNodeImpl nodeAdd(long nodeSUID) {
final NodePointer n;
final CyNodeImpl rootNode;
synchronized (this) {
final int index = nodePointers.size();
- rootNode = new CyNodeImpl(index, nodeTables,
eventHelper);
+ rootNode = new CyNodeImpl(nodeSUID, index, nodeTables,
eventHelper);
n = new NodePointer(index, rootNode);
nodePointers.add(n);
nodeCount++;
@@ -444,11 +444,11 @@
// This is the root network.
// Adding an edge to the base subnetwork is handled in
ArraySubGraph.
// Likewise we don't fire a added edge event here.
- return edgeAdd(s,t,directed,this);
+ return edgeAdd(SUIDFactory.getNextSUID(),s,t,directed,this);
}
// Will be called from ArraySubGraph.
- CyEdgeImpl edgeAdd(final CyNode s, final CyNode t, final boolean
directed, final CyNetwork net) {
+ CyEdgeImpl edgeAdd(long edgeSUID, final CyNode s, final CyNode t, final
boolean directed, final CyNetwork net) {
final EdgePointer e;
final CyEdgeImpl rootEdge;
@@ -469,7 +469,7 @@
final NodePointer target = getNodePointer(rootT);
final int index = edgePointers.size();
- rootEdge = new CyEdgeImpl(rootS, rootT, directed,
index, edgeTables);
+ rootEdge = new CyEdgeImpl(edgeSUID,rootS, rootT,
directed, index, edgeTables);
e = new EdgePointer(source, target, directed, index,
rootEdge);
// adds to the root network, adding to the subnetwork
is handled in ArraySubGraph
Modified:
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/ArraySubGraph.java
===================================================================
---
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/ArraySubGraph.java
2011-09-22 20:52:20 UTC (rev 26934)
+++
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/ArraySubGraph.java
2011-09-22 21:17:34 UTC (rev 26935)
@@ -30,6 +30,10 @@
import org.cytoscape.event.CyEventHelper;
+//import org.cytoscape.model.builder.CyNetworkBuilder;
+//import org.cytoscape.model.builder.CyNodeBuilder;
+//import org.cytoscape.model.builder.CyEdgeBuilder;
+
import org.cytoscape.di.util.DIUtil;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyTable;
@@ -96,7 +100,34 @@
internalEdgeCount = 0;
fireAddedNodesAndEdgesEvents = false;
}
+//
+// public synchronized void initialize(CyNetworkBuilder networkBuilder) {
+// Map<CyNodeBuilder,CyNode> nodeMap = new
HashMap<CyNodeBuilder,CyNode>();
+//
+// for ( CyNodeBuilder nb : networkBuilder.getNodes() ) {
+// CyNodeImpl rootNode = parent.nodeAdd(nb.getSUID());
+// updateNode(rootNode);
+// internalNodeCount++;
+// CySubNodeImpl ret = new
CySubNodeImpl(rootNode,nodeTables);
+// subNodeMap.put(rootNode,ret);
+// nodeMap.put(nb,ret);
+// }
+//
+// for ( CyEdgeBuilder eb : networkBuilder.getEdges() ) {
+// CyEdgeImpl rootEdge =
parent.edgeAdd(eb.getSUID(),nodeMap.get(eb.getSource()),
nodeMap.get(eb.getTarget()), eb.isDirected(), this);
+// updateEdge(rootEdge);
+// internalEdgeCount++;
+// CySubEdgeImpl ret = new
CySubEdgeImpl(rootEdge,edgeTables,subNodeMap);
+// subEdgeMap.put(rootEdge,ret);
+// }
+//
+//
((CyTableImpl)(nodeTables.get(CyNetwork.DEFAULT_ATTRS))).loadData(
networkBuilder.getNodeTable() );
+//
((CyTableImpl)(edgeTables.get(CyNetwork.DEFAULT_ATTRS))).loadData(
networkBuilder.getEdgeTable() );
+//
((CyTableImpl)(netTables.get(CyNetwork.DEFAULT_ATTRS))).loadData(
networkBuilder.getNetworkTable() );
+// }
+//
+
private void updateNode(final CyNode n) {
final NodePointer node = parent.getNodePointer(n);
node.expandTo(internalId);
@@ -137,7 +168,7 @@
public CyNode addNode() {
final CyNode ret;
synchronized (this) {
- CyNodeImpl rootNode = parent.nodeAdd();
+ CyNodeImpl rootNode =
parent.nodeAdd(SUIDFactory.getNextSUID());
updateNode(rootNode);
internalNodeCount++;
ret = new CySubNodeImpl(rootNode,nodeTables);
@@ -158,7 +189,7 @@
final CyEdge ret;
synchronized (this) {
- CyEdgeImpl rootEdge = parent.edgeAdd(source, target,
isDirected, this);
+ CyEdgeImpl rootEdge =
parent.edgeAdd(SUIDFactory.getNextSUID(),source, target, isDirected, this);
updateEdge(rootEdge);
internalEdgeCount++;
ret = new CySubEdgeImpl(rootEdge,edgeTables,subNodeMap);
Modified:
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/CyEdgeImpl.java
===================================================================
---
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/CyEdgeImpl.java
2011-09-22 20:52:20 UTC (rev 26934)
+++
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/CyEdgeImpl.java
2011-09-22 21:17:34 UTC (rev 26935)
@@ -49,8 +49,8 @@
final private int index;
final private boolean directed;
- CyEdgeImpl(CyNode src, CyNode tgt, boolean dir, int ind, final
Map<String,CyTable> table) {
- super(table);
+ CyEdgeImpl(long suid, CyNode src, CyNode tgt, boolean dir, int ind,
final Map<String,CyTable> table) {
+ super(table,suid);
source = src;
target = tgt;
directed = dir;
Modified:
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/CyNodeImpl.java
===================================================================
---
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/CyNodeImpl.java
2011-09-22 20:52:20 UTC (rev 26934)
+++
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/CyNodeImpl.java
2011-09-22 21:17:34 UTC (rev 26935)
@@ -43,8 +43,8 @@
private CyNetwork nestedNet;
final private CyEventHelper eventHelper;
- CyNodeImpl(int ind, final Map<String,CyTable> table, final
CyEventHelper eventHelper) {
- super(table);
+ CyNodeImpl(long suid, int ind, final Map<String,CyTable> table, final
CyEventHelper eventHelper) {
+ super(table,suid);
index = ind;
nestedNet = null;
this.eventHelper = eventHelper;
--
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.