import java.util.Map;
import com.quantum.model.Bookmark;
-import com.quantum.model.ConnectionException;
import com.quantum.model.NotConnectedException;
import com.quantum.model.Schema;
this.bookmark.addPropertyChangeListener(this);
}
- public Object[] getChildren() {
+ public Object[] getChildren() throws NotConnectedException, SQLException {
if (bookmark.isConnected() && this.children.isEmpty()) {
initializeChildren();
}
}
}
- protected void initializeChildren() {
+ protected void initializeChildren() throws NotConnectedException, SQLException {
boolean changed = false;
Map temp = new HashMap();
for (Iterator i = this.children.iterator(); i.hasNext(); ) {
changed = true;
}
- if (changed) {
+ if (temp.size() > 0 || changed ) {
firePropertyChange("children", null, null);
}
}
if (this.bookmark.isConnected()) {
this.bookmark.disconnect();
}
- } catch (ConnectionException e) {
+ } catch (SQLException e) {
}
}
}
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());