diff --git a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPConnectionConfiguration.java b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPConnectionConfiguration.java index 8308104dab6266fec1cefbc0d35d672b4358e3aa..c75e65f220e83f59fc7bc47142c83043f6c4ebb9 100644 --- a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPConnectionConfiguration.java +++ b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPConnectionConfiguration.java @@ -41,6 +41,8 @@ public class DBPConnectionConfiguration implements DBPObject @NotNull private final Map properties; @NotNull + private final Map providerProperties; + @NotNull private final Map events; @NotNull private final List handlers; @@ -53,6 +55,7 @@ public class DBPConnectionConfiguration implements DBPObject { this.connectionType = DBPConnectionType.DEFAULT_TYPE; this.properties = new HashMap<>(); + this.providerProperties = new HashMap<>(); this.events = new HashMap<>(); this.handlers = new ArrayList<>(); this.bootstrap = new DBPConnectionBootstrap(); @@ -71,6 +74,7 @@ public class DBPConnectionConfiguration implements DBPObject this.clientHomeId = info.clientHomeId; this.connectionType = info.connectionType; this.properties = new HashMap<>(info.properties); + this.providerProperties = new HashMap<>(info.properties); this.events = new HashMap<>(info.events.size()); for (Map.Entry entry : info.events.entrySet()) { this.events.put(entry.getKey(), new DBRShellCommand(entry.getValue())); @@ -163,6 +167,9 @@ public class DBPConnectionConfiguration implements DBPObject this.userPassword = userPassword; } + //////////////////////////////////////////////////// + // Properties (connection properties, usually used by driver) + public Object getProperty(Object name) { return properties.get(name); @@ -185,6 +192,33 @@ public class DBPConnectionConfiguration implements DBPObject this.properties.putAll(properties); } + //////////////////////////////////////////////////// + // Provider properties (extra configuration parameters) + + public Object getProviderProperty(Object name) + { + return providerProperties.get(name); + } + + public void setProviderProperty(Object name, Object value) + { + providerProperties.put(name, value); + } + + @NotNull + public Map getProviderProperties() { + return providerProperties; + } + + public void setProviderProperties(@NotNull Map properties) + { + this.providerProperties.clear(); + this.providerProperties.putAll(properties); + } + + //////////////////////////////////////////////////// + // Events + public DBRShellCommand getEvent(DBPConnectionEventType eventType) { return events.get(eventType); @@ -205,6 +239,9 @@ public class DBPConnectionConfiguration implements DBPObject return eventTypes.toArray(new DBPConnectionEventType[eventTypes.size()]); } + //////////////////////////////////////////////////// + // Network handlers + public List getDeclaredHandlers() { return handlers; @@ -246,6 +283,9 @@ public class DBPConnectionConfiguration implements DBPObject return null; } + //////////////////////////////////////////////////// + // Misc + public DBPConnectionType getConnectionType() { return connectionType;