This is an automated email from the ASF dual-hosted git repository.

fanjia pushed a commit to branch cdc-multiple-table
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git


The following commit(s) were added to refs/heads/cdc-multiple-table by this 
push:
     new 6632a4047 [Improve] Improve StarRocks Catalog Base Url (#4215)
6632a4047 is described below

commit 6632a4047373cf64c2fb44bcdff671c378eb2534
Author: Hisoka <[email protected]>
AuthorDate: Sat Feb 25 11:10:04 2023 +0800

    [Improve] Improve StarRocks Catalog Base Url (#4215)
---
 .../starrocks/catalog/StarRocksCatalog.java        | 34 +++++++++++++---------
 1 file changed, 21 insertions(+), 13 deletions(-)

diff --git 
a/seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/catalog/StarRocksCatalog.java
 
b/seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/catalog/StarRocksCatalog.java
index 46fdb12b7..46a6a423f 100644
--- 
a/seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/catalog/StarRocksCatalog.java
+++ 
b/seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/catalog/StarRocksCatalog.java
@@ -62,11 +62,11 @@ import java.util.Set;
 public class StarRocksCatalog implements Catalog {
 
     protected final String catalogName;
-    protected final String defaultDatabase;
+    protected String defaultDatabase = "default";
     protected final String username;
     protected final String pwd;
     protected final String baseUrl;
-    protected final String defaultUrl;
+    protected String defaultUrl;
 
     private static final Set<String> SYS_DATABASES = new HashSet<>();
     private static final Logger LOG = 
LoggerFactory.getLogger(StarRocksCatalog.class);
@@ -87,14 +87,17 @@ public class StarRocksCatalog implements Catalog {
         checkArgument(StringUtils.isNotBlank(defaultUrl));
 
         defaultUrl = defaultUrl.trim();
-        validateJdbcUrlWithDatabase(defaultUrl);
+        if (validateJdbcUrlWithDatabase(defaultUrl)) {
+            String[] strings = splitDefaultUrl(defaultUrl);
+            this.baseUrl = strings[0];
+            this.defaultDatabase = strings[1];
+        } else {
+            this.baseUrl = defaultUrl;
+        }
         this.catalogName = catalogName;
         this.username = username;
         this.pwd = pwd;
         this.defaultUrl = defaultUrl;
-        String[] strings = splitDefaultUrl(defaultUrl);
-        this.baseUrl = strings[0];
-        this.defaultDatabase = strings[1];
     }
 
     public StarRocksCatalog(
@@ -109,13 +112,18 @@ public class StarRocksCatalog implements Catalog {
         checkArgument(StringUtils.isNotBlank(baseUrl));
 
         baseUrl = baseUrl.trim();
-        validateJdbcUrlWithoutDatabase(baseUrl);
+        if (validateJdbcUrlWithoutDatabase(baseUrl)) {
+            this.baseUrl = baseUrl.endsWith("/") ? baseUrl : baseUrl + "/";
+            this.defaultUrl = this.baseUrl + defaultDatabase;
+        } else {
+            String[] strings = splitDefaultUrl(baseUrl);
+            this.baseUrl = strings[0];
+        }
         this.catalogName = catalogName;
         this.defaultDatabase = defaultDatabase;
         this.username = username;
         this.pwd = pwd;
-        this.baseUrl = baseUrl.endsWith("/") ? baseUrl : baseUrl + "/";
-        this.defaultUrl = this.baseUrl + defaultDatabase;
+
     }
 
     @Override
@@ -326,19 +334,19 @@ public class StarRocksCatalog implements Catalog {
      * URL has to be without database, like "jdbc:mysql://localhost:5432/" or
      * "jdbc:mysql://localhost:5432" rather than 
"jdbc:mysql://localhost:5432/db".
      */
-    public static void validateJdbcUrlWithoutDatabase(String url) {
+    public static boolean validateJdbcUrlWithoutDatabase(String url) {
         String[] parts = url.trim().split("\\/+");
 
-        checkArgument(parts.length == 2);
+        return parts.length == 2;
     }
 
     /**
      * URL has to be with database, like "jdbc:mysql://localhost:5432/db" 
rather than "jdbc:mysql://localhost:5432/".
      */
     @SuppressWarnings("MagicNumber")
-    public static void validateJdbcUrlWithDatabase(String url) {
+    public static boolean validateJdbcUrlWithDatabase(String url) {
         String[] parts = url.trim().split("\\/+");
-        checkArgument(parts.length == 3);
+        return parts.length == 3;
     }
 
     /**

Reply via email to