Author: mes
Date: 2012-02-16 13:41:17 -0800 (Thu, 16 Feb 2012)
New Revision: 28300
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
Log:
refactored getDEdgeView and getDNodeView to avoid more Integer.valueOfs
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
2012-02-16 21:07:47 UTC (rev 28299)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
2012-02-16 21:41:17 UTC (rev 28300)
@@ -244,8 +244,8 @@
*/
PrintLOD m_printLOD;
- private final Map<Integer, NodeView> m_nodeViewMap;
- private final Map<Integer, EdgeView> m_edgeViewMap;
+ private final Map<CyNode, NodeView> m_nodeViewMap;
+ private final Map<CyEdge, EdgeView> m_edgeViewMap;
/**
*
@@ -479,8 +479,8 @@
m_edgeDetails = new DEdgeDetails(this);
m_nodeViewDefaultSupport = new
NodeViewDefaultSupport(m_nodeDetails, m_lock);
m_edgeViewDefaultSupport = new
EdgeViewDefaultSupport(dingLexicon, m_edgeDetails, m_lock);
- m_nodeViewMap = new HashMap<Integer, NodeView>();
- m_edgeViewMap = new HashMap<Integer, EdgeView>();
+ m_nodeViewMap = new HashMap<CyNode, NodeView>();
+ m_edgeViewMap = new HashMap<CyEdge, EdgeView>();
m_printLOD = new PrintLOD();
m_defaultNodeXMin = 0.0f;
m_defaultNodeYMin = 0.0f;
@@ -606,8 +606,7 @@
m_selectedEdges.empty();
for (int i = 0; i < unselectedEdges.length; i++)
- ((DEdgeView)
getDEdgeView(unselectedEdges[i]))
- .unselectInternal();
+
getDEdgeView(unselectedEdges[i]).unselectInternal();
m_contentChanged = true;
}
@@ -656,14 +655,13 @@
public List<CyNode> getSelectedNodes() {
synchronized (m_lock) {
// all nodes from the btree
- final IntEnumerator elms = m_selectedNodes.searchRange(
- Integer.MIN_VALUE, Integer.MAX_VALUE,
false);
+ final IntEnumerator elms =
m_selectedNodes.searchRange(Integer.MIN_VALUE, Integer.MAX_VALUE, false);
final ArrayList<CyNode> returnThis = new
ArrayList<CyNode>();
while (elms.numRemaining() > 0)
// GINY requires all node indices to be
negative (why?),
// hence the bitwise complement here.
-
returnThis.add(((DNodeView)m_nodeViewMap.get(Integer.valueOf(elms.nextInt()))).getModel());
+ returnThis.add(model.getNode(elms.nextInt()));
return returnThis;
}
@@ -697,7 +695,7 @@
final ArrayList<CyEdge> returnThis = new
ArrayList<CyEdge>();
while (elms.numRemaining() > 0)
-
returnThis.add(m_edgeViewMap.get(Integer.valueOf(elms.nextInt())).getEdge());
+ returnThis.add(model.getEdge(elms.nextInt()));
return returnThis;
}
@@ -779,7 +777,7 @@
// View already exists.
if (newView == null)
- return m_nodeViewMap.get(node.getIndex());
+ return m_nodeViewMap.get(node);
m_contentChanged = true;
}
@@ -799,7 +797,7 @@
*/
private DNodeView addNodeViewInternal(final CyNode node) {
final int nodeInx = node.getIndex();
- final NodeView oldView = m_nodeViewMap.get(nodeInx);
+ final NodeView oldView = m_nodeViewMap.get(node);
if (oldView != null)
return null;
@@ -808,9 +806,8 @@
final DNodeView dNodeView = new DNodeView(dingLexicon, this,
nodeInx, node);
- m_nodeViewMap.put(nodeInx, dNodeView);
- m_spacial.insert(nodeInx, m_defaultNodeXMin, m_defaultNodeYMin,
- m_defaultNodeXMax, m_defaultNodeYMax);
+ m_nodeViewMap.put(node, dNodeView);
+ m_spacial.insert(nodeInx, m_defaultNodeXMin, m_defaultNodeYMin,
m_defaultNodeXMax, m_defaultNodeYMax);
cyEventHelper.addEventPayload((CyNetworkView) this,
(View<CyNode>) dNodeView, AddedNodeViewsEvent.class);
return dNodeView;
@@ -833,7 +830,7 @@
synchronized (m_lock) {
final int edgeInx = edge.getIndex();
- final EdgeView oldView = m_edgeViewMap.get(edgeInx);
+ final EdgeView oldView = m_edgeViewMap.get(edge);
if (oldView != null)
return oldView;
@@ -845,7 +842,7 @@
dEdgeView = new DEdgeView(dingLexicon, this, edgeInx,
edge);
- m_edgeViewMap.put(edgeInx, dEdgeView);
+ m_edgeViewMap.put(edge, dEdgeView);
m_contentChanged = true;
}
@@ -932,7 +929,7 @@
return null;
for (final CyEdge ee : hiddenEdgeInx)
- removeEdgeViewInternal(ee.getIndex());
+ removeEdgeViewInternal(ee);
returnThis = (DNodeView)
m_nodeViewMap.remove(Integer.valueOf(nodeInx));
returnThis.unselectInternal();
@@ -1000,7 +997,7 @@
synchronized (m_lock) {
edge = model.getEdge(edgeInx);
- returnThis = removeEdgeViewInternal(edgeInx);
+ returnThis = removeEdgeViewInternal(edge);
if (returnThis != null) {
m_contentChanged = true;
@@ -1021,25 +1018,18 @@
/**
* Should synchronize around m_lock.
*/
- private DEdgeView removeEdgeViewInternal(int edgeInx) {
- final DEdgeView returnThis = (DEdgeView)
m_edgeViewMap.remove(Integer.valueOf(edgeInx));
+ private DEdgeView removeEdgeViewInternal(CyEdge edge) {
+ final DEdgeView returnThis =
(DEdgeView)m_edgeViewMap.remove(edge);
- CyEdge eedge = model.getEdge(edgeInx);
-
if (returnThis == null) {
return returnThis;
}
returnThis.unselectInternal();
- // If this edge view was hidden, it won't be in m_drawPersp.
- m_drawPersp.removeEdges(Collections.singletonList(eedge));
- // m_structPersp.hideEdge(edgeInx);
- m_edgeDetails.unregisterEdge(eedge);
+ m_drawPersp.removeEdges(Collections.singletonList(edge));
+ m_edgeDetails.unregisterEdge(edge);
- // m_selectedEdges.delete(edgeInx);
- //returnThis.m_view = null;
-
return returnThis;
}
@@ -1191,13 +1181,15 @@
@Override
public DNodeView getDNodeView(final CyNode node) {
- return getDNodeView(node.getIndex());
+ synchronized (m_lock) {
+ return (DNodeView)m_nodeViewMap.get(node);
+ }
}
@Override
public DNodeView getDNodeView(final int nodeInx) {
synchronized (m_lock) {
- return (DNodeView) m_nodeViewMap.get(nodeInx);
+ return getDNodeView(model.getNode(nodeInx));
}
}
@@ -1240,7 +1232,7 @@
Iterator<CyEdge> it = edges.iterator();
while (it.hasNext()) {
- CyEdge e = (CyEdge) it.next();
+ CyEdge e = it.next();
EdgeView ev = getDEdgeView(e);
if (ev != null)
returnThis.add(ev);
@@ -1281,7 +1273,7 @@
@Override
public DEdgeView getDEdgeView(final int edgeInx) {
synchronized (m_lock) {
- return (DEdgeView) m_edgeViewMap.get(edgeInx);
+ return getDEdgeView(model.getEdge(edgeInx));
}
}
@@ -1295,7 +1287,9 @@
@Override
public DEdgeView getDEdgeView(final CyEdge edge) {
- return getDEdgeView(edge.getIndex());
+ synchronized (m_lock) {
+ return (DEdgeView)m_edgeViewMap.get(edge);
+ }
}
@Override
@@ -1352,7 +1346,7 @@
if (edges != null) {
for (CyEdge ee : edges)
-
hideGraphObjectInternal(m_edgeViewMap.get(ee.getIndex()), false);
+
hideGraphObjectInternal(m_edgeViewMap.get(ee), false);
}
nView.unselectInternal();
@@ -1974,7 +1968,7 @@
while (selectedEdges.numRemaining() > 0) {
final int edge = selectedEdges.nextInt();
- CyEdge currEdge = getDEdgeView(edge).getEdge();
+ CyEdge currEdge = model.getEdge(edge);
CyNode source = currEdge.getSource();
int sourceId = source.getIndex();
@@ -2436,8 +2430,7 @@
public EdgeView getPickedEdgeView(Point2D pt) {
EdgeView ev = null;
final IntStack edgeStack = new IntStack();
- queryDrawnEdges((int) pt.getX(), (int) pt.getY(), (int)
pt.getX(),
- (int) pt.getY(), edgeStack);
+ queryDrawnEdges((int) pt.getX(), (int) pt.getY(), (int)
pt.getX(), (int) pt.getY(), edgeStack);
int chosenEdge = 0;
chosenEdge = (edgeStack.size() > 0) ? edgeStack.peek() : -1;
@@ -2495,21 +2488,17 @@
* @return
*/
public boolean setSelected(final CyNode[] nodes) {
-
- final int size = nodes.length;
- for (int i = 0; i < size; i++)
- getDNodeView(nodes[i]).select();
-
+ for ( CyNode node : nodes )
+ getDNodeView(node).select();
+
return true;
}
public boolean setSelected(final CyEdge[] edges) {
+ for ( CyEdge edge : edges )
+ getDEdgeView(edge).select();
- final int size = edges.length;
- for (int i = 0; i < size; i++)
- getDEdgeView(edges[i]).select();
-
return true;
}
--
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.