private boolean promptForPassword = false;
private boolean autoCommit = true;
private String autoCommitPreference = IQuantumConstants.autoCommitTrue;
+ private Database database;
public Bookmark() {
this(MultiSQLServer.getInstance());
setPromptForPassword(data.getPromptForPassword());
setAutoCommit(data.isAutoCommit());
setAutoCommitPreference(data.getAutoCommitPreference());
+ setSchemaRule(data.getSchemaRule());
this.schemas.addAll(data.schemas);
this.quickList = new Hashtable(data.quickList);
this.connection = connection;
}
- public void disconnect() throws ConnectionException {
+ public void disconnect() throws SQLException {
boolean isConnected = isConnected();
try {
if (this.connection != null) {
}
} finally {
this.connection = null;
+ this.database = null;
if (isConnected() != isConnected) {
this.propertyChangeSupport.firePropertyChange(
"connected", isConnected, isConnected());
this.propertyChangeSupport.removePropertyChangeListener(listener);
}
- public void addQuickListEntry(String type, String schemaName, String name) {
- Entity entity = EntityFactory.getInstance().create(this, schemaName, name, type);
+ public void addQuickListEntry(String type, String schemaName, String name, boolean isSynonym) {
+ Entity entity = EntityFactory.getInstance().create(this, schemaName, name, type, isSynonym);
this.quickList.put(entity.getQualifiedName(), entity);
this.propertyChangeSupport.firePropertyChange("quickList", null, null);
this.changed = true;
}
public void addQuickListEntry(Entity entity) {
- addQuickListEntry(entity.getType(), entity.getSchema(), entity.getName());
+ addQuickListEntry(entity.getType(), entity.getSchema(), entity.getName(), entity.isSynonym());
}
public void removeQuickListEntry(Entity entity) {
if (!isConnected()) {
throw new NotConnectedException();
}
- return new Database(this);
+ if (this.database == null) {
+ this.database = new Database(this);
+ }
+ return this.database;
}
public DatabaseAdapter getAdapter() {
public String getDisplayName() {
return this.name;
}
+
+ /**
+ * @param query
+ */
+ public void removeQuery(String query) {
+ if (this.queries.remove(query)) {
+ this.propertyChangeSupport.firePropertyChange("queries", null, null);
+ this.changed = true;
+ }
+ }
}