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.

Reply via email to