Author: kono
Date: 2011-11-17 16:52:47 -0800 (Thu, 17 Nov 2011)
New Revision: 27522
Modified:
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkTreeTableModel.java
Log:
Some NPE bugs are fixed.
Modified:
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
===================================================================
---
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
2011-11-18 00:15:27 UTC (rev 27521)
+++
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
2011-11-18 00:52:47 UTC (rev 27522)
@@ -52,6 +52,7 @@
import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.KeyStroke;
+import javax.swing.SwingUtilities;
import javax.swing.ToolTipManager;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
@@ -300,15 +301,20 @@
*/
public void removeNetwork(final Long network_id) {
final NetworkTreeNode node = getNetworkNode(network_id);
+ if(node == null)
+ return;
+
final Enumeration<?> children = node.children();
- final List<NetworkTreeNode> removed_children = new
ArrayList<NetworkTreeNode>();
+ if (children.hasMoreElements()) {
+ final List<NetworkTreeNode> removed_children = new
ArrayList<NetworkTreeNode>();
- while (children.hasMoreElements())
- removed_children.add((NetworkTreeNode)
children.nextElement());
+ while (children.hasMoreElements())
+ removed_children.add((NetworkTreeNode)
children.nextElement());
- for (NetworkTreeNode child : removed_children) {
- child.removeFromParent();
- root.add(child);
+ for (NetworkTreeNode child : removed_children) {
+ child.removeFromParent();
+ root.add(child);
+ }
}
final NetworkTreeNode parentNode = (NetworkTreeNode)
node.getParent();
@@ -319,8 +325,9 @@
parentNode.removeFromParent();
}
- treeTable.getTree().updateUI();
+ treeTable.updateUI();
treeTable.doLayout();
+ treeTable.repaint();
}
/**
Modified:
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkTreeTableModel.java
===================================================================
---
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkTreeTableModel.java
2011-11-18 00:15:27 UTC (rev 27521)
+++
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkTreeTableModel.java
2011-11-18 00:52:47 UTC (rev 27522)
@@ -84,11 +84,16 @@
return node.getUserObject();
else if (column == 1) {
final CyNetwork cyNetwork =
this.networkPanel.netmgr.getNetwork(node.getNetworkID());
+ if(cyNetwork == null)
+ return null;
+
return "" + cyNetwork.getNodeCount() + "("
+
cyNetwork.getDefaultNodeTable().getMatchingRows(CyNetwork.SELECTED,
true).size() + ")";
} else if (column == 2) {
- CyNetwork cyNetwork =
this.networkPanel.netmgr.getNetwork(((NetworkTreeNode) node).getNetworkID());
-
+ final CyNetwork cyNetwork =
this.networkPanel.netmgr.getNetwork(((NetworkTreeNode) node).getNetworkID());
+ if(cyNetwork == null)
+ return null;
+
return "" + cyNetwork.getEdgeCount() + "("
+
cyNetwork.getDefaultEdgeTable().getMatchingRows(CyNetwork.SELECTED,
true).size() + ")";
}
--
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.