# HG changeset patch # User Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com> # Date 1702379055 -3600 # Node ID 425592a53fcd5e1cf00a7bb7c1dd0bc171f4bb5d # Parent aa4108a5bc34a8a2df2cf543c0d25b4abf4b932c Add interface to MonetConnection for retrieving connection info as Properties diff --git a/src/main/java/org/monetdb/jdbc/MonetConnection.java b/src/main/java/org/monetdb/jdbc/MonetConnection.java --- a/src/main/java/org/monetdb/jdbc/MonetConnection.java +++ b/src/main/java/org/monetdb/jdbc/MonetConnection.java @@ -1248,6 +1248,10 @@ public class MonetConnection return isValid; } + public Properties getConnectionProperties() { + return target.getProperties(); + } + /** * Returns the value of the client info property specified by name. * This method may return null if the specified client info property diff --git a/src/main/java/org/monetdb/mcl/net/Target.java b/src/main/java/org/monetdb/mcl/net/Target.java --- a/src/main/java/org/monetdb/mcl/net/Target.java +++ b/src/main/java/org/monetdb/mcl/net/Target.java @@ -467,6 +467,21 @@ public class Target { return sb.toString(); } + public Properties getProperties() { + Properties props = new Properties(); + for (Parameter parm: Parameter.values()) { + Object defaultValue = parm.getDefault(); + if (defaultValue == null || defaultValue.equals(getObject(parm))) + continue; + String value = getString(parm); + if (parm == Parameter.HOST) + value = packHost(host); + props.setProperty(parm.name, value); + } + + return props; + } + public class Validated { private final int nbinary;