From 4e6f9917c024d8152cdb5f98f2f543dee8ac09f5 Mon Sep 17 00:00:00 2001 From: Samikshya Chand Date: Fri, 11 Oct 2024 16:37:07 +0530 Subject: [PATCH 1/2] Make userAgent compatible with SQL Drivers --- .../src/main/java/com/databricks/sdk/core/UserAgent.java | 2 +- .../test/java/com/databricks/sdk/core/UserAgentTest.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java index 91d32c7b1..6424c8bcc 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java @@ -47,7 +47,7 @@ public static void withProduct(String product, String productVersion) { private static final Pattern regexpSemVer = Pattern.compile("^" + semVerCore + semVerPrerelease + semVerBuildmetadata + "$"); - private static final Pattern regexpAlphanum = Pattern.compile("^[0-9A-Za-z_\\.\\+-]+$"); + private static final Pattern regexpAlphanum = Pattern.compile("^[0-9A-Za-z_\\.\\+\\-/ ]+$"); private static final Pattern regexpAlphanumInverse = Pattern.compile("[^0-9A-Za-z_\\.\\+-]"); /** diff --git a/databricks-sdk-java/src/test/java/com/databricks/sdk/core/UserAgentTest.java b/databricks-sdk-java/src/test/java/com/databricks/sdk/core/UserAgentTest.java index b44c07e7c..7e2389c83 100644 --- a/databricks-sdk-java/src/test/java/com/databricks/sdk/core/UserAgentTest.java +++ b/databricks-sdk-java/src/test/java/com/databricks/sdk/core/UserAgentTest.java @@ -56,4 +56,11 @@ public void testUserAgentWithSemverValue() { String userAgent = UserAgent.asString(); Assertions.assertTrue(userAgent.contains("key1/1.0.0-dev+metadata")); } + + @Test + public void testUserAgentWithSQLDriverUserAgent() { + UserAgent.withOtherInfo("Java", "SQLExecHttpClient/HC TEST/42.2.0.2712019"); + String userAgent = UserAgent.asString(); + Assertions.assertTrue(userAgent.contains("Java/SQLExecHttpClient/HC TEST/42.2.0.2712019")); + } } From ec203207f18fcd208a19ebc1315ebc610cc93215 Mon Sep 17 00:00:00 2001 From: Samikshya Chand Date: Mon, 18 Nov 2024 18:09:23 +0530 Subject: [PATCH 2/2] modify sanitise inverse pattern --- .../src/main/java/com/databricks/sdk/core/UserAgent.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java index 911ed0283..d7165d13d 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/UserAgent.java @@ -48,7 +48,7 @@ public static void withProduct(String product, String productVersion) { Pattern.compile("^" + semVerCore + semVerPrerelease + semVerBuildmetadata + "$"); private static final Pattern regexpAlphanum = Pattern.compile("^[0-9A-Za-z_\\.\\+\\-/ ]+$"); - private static final Pattern regexpAlphanumInverse = Pattern.compile("[^0-9A-Za-z_\\.\\+-]"); + private static final Pattern regexpAlphanumInverse = Pattern.compile("[^0-9A-Za-z_\\.\\+\\-/ ]"); /** * Replaces all non-alphanumeric characters with a hyphen. Use this to ensure that the user agent