X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/view/bookmark/BookmarkNode.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/view/bookmark/BookmarkNode.java index c74c555..aca7002 100644 --- a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/view/bookmark/BookmarkNode.java +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/view/bookmark/BookmarkNode.java @@ -24,7 +24,7 @@ public class BookmarkNode extends TreeNode implements PropertyChangeListener { this.bookmark.addPropertyChangeListener(this); } - public Object[] getChildren() { + public Object[] getChildren() throws NotConnectedException, SQLException { if (bookmark.isConnected() && this.children.isEmpty()) { initializeChildren(); } @@ -35,7 +35,7 @@ public class BookmarkNode extends TreeNode implements PropertyChangeListener { } } - protected void initializeChildren() { + protected void initializeChildren() throws NotConnectedException, SQLException { boolean changed = false; Map temp = new HashMap(); for (Iterator i = this.children.iterator(); i.hasNext(); ) { @@ -74,7 +74,7 @@ public class BookmarkNode extends TreeNode implements PropertyChangeListener { changed = true; } - if (changed) { + if (temp.size() > 0 || changed ) { firePropertyChange("children", null, null); } } @@ -129,7 +129,13 @@ public class BookmarkNode extends TreeNode implements PropertyChangeListener { } firePropertyChange("connected", event.getOldValue(), event.getNewValue()); } else if ("schemas".equals(event.getPropertyName())) { - initializeChildren(); + try { + initializeChildren(); + } catch (NotConnectedException e) { + this.children.clear(); + } catch (SQLException e) { + this.children.clear(); + } firePropertyChange("children", event.getOldValue(), event.getNewValue()); } else if ("name".equals(event.getPropertyName())) { firePropertyChange("name", event.getOldValue(), event.getNewValue());