changeset 810:425592a53fcd monetdbs

Add interface to MonetConnection for retrieving connection info as Properties
author Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
date Tue, 12 Dec 2023 12:04:15 +0100 (16 months ago)
parents aa4108a5bc34
children ede3a59ff4f2
files src/main/java/org/monetdb/jdbc/MonetConnection.java src/main/java/org/monetdb/mcl/net/Target.java
diffstat 2 files changed, 19 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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;