*
* @author root
*/
-public class Bookmark {
+public class Bookmark implements Displayable {
public static final int SCHEMA_RULE_USE_ALL = 1;
public static final int SCHEMA_RULE_USE_DEFAULT = 2;
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());
if (!isConnected()) {
throw new NotConnectedException();
}
- return new Database(this);
+ if (this.database == null) {
+ this.database = new Database(this);
+ }
+ return this.database;
}
public DatabaseAdapter getAdapter() {
this.propertyChangeSupport.firePropertyChange("schemas", null, null);
}
}
+
+ 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;
+ }
+ }
}