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

wenhemin pushed a commit to branch 1.3.7-prepare
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/1.3.7-prepare by this push:
     new a1465cc  [1.3.7-prepare#5737][Datasource] datsource other param check 
error (#5838)
a1465cc is described below

commit a1465cc8269e2ecf77cbc0fc508b685ba1ecf29c
Author: Kirs <[email protected]>
AuthorDate: Mon Jul 19 16:30:07 2021 +0800

    [1.3.7-prepare#5737][Datasource] datsource other param check error (#5838)
---
 .../apache/dolphinscheduler/api/service/DataSourceService.java    | 2 +-
 .../dolphinscheduler/api/service/DataSourceServiceTest.java       | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/DataSourceService.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/DataSourceService.java
index 38ffee0..c3456e2 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/DataSourceService.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/DataSourceService.java
@@ -80,7 +80,7 @@ public class DataSourceService extends BaseService{
 
     private static final Pattern DATABASE_PATTER = 
Pattern.compile("^[a-zA-Z0-9\\_\\-\\.]+$");
 
-    private static final Pattern PARAMS_PATTER = 
Pattern.compile("^[a-zA-Z0-9]+$");
+    private static final Pattern PARAMS_PATTER = 
Pattern.compile("^[a-zA-Z0-9\\-\\_\\/]+$");
 
 
     @Autowired
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataSourceServiceTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataSourceServiceTest.java
index 070160d..367499a 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataSourceServiceTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataSourceServiceTest.java
@@ -102,18 +102,16 @@ public class DataSourceServiceTest {
     @Test
     public void buildParameterWithDecodePassword() {
         PropertyUtils.setValue(Constants.DATASOURCE_ENCRYPTION_ENABLE, "true");
-        String other = 
"{\"autoDeserialize\":\"yes\",\"allowUrlInLocalInfile\":\"true\"}";
+        String other = 
"{\"autoDeserialize\":\"yes\",\"allowUrlInLocalInfile\":\"true\",\"serverTimezone\":\"Asia/Shanghai\",\"queryTimeout\":\"-1\",\"characterEncoding\":\"utf8\"}";
         String param = 
dataSourceService.buildParameter("root","test",DbType.MYSQL, "192.168.9.1", 
"1521", "im"
                 , "", "test", "123456", null, other);
-        String expected = 
"{\"address\":\"jdbc:mysql://192.168.9.1:1521\",\"database\":\"im\",\"jdbcUrl\":\"jdbc:mysql://192.168.9.1:1521/im\","
-                + "\"user\":\"test\",\"password\":\"123456\"}";
+        String expected = 
"{\"address\":\"jdbc:mysql://192.168.9.1:1521\",\"database\":\"im\",\"jdbcUrl\":\"jdbc:mysql://192.168.9.1:1521/im\",\"user\":\"test\",\"password\":\"123456\",\"other\":\"serverTimezone=Asia/Shanghai&queryTimeout=-1&characterEncoding=utf8\"}";
         Assert.assertEquals(expected, param);
 
         PropertyUtils.setValue(Constants.DATASOURCE_ENCRYPTION_ENABLE, 
"false");
         param = dataSourceService.buildParameter("root","test",DbType.MYSQL, 
"192.168.9.1", "1521", "im"
                 , "", "test", "123456", null, other);
-        expected = 
"{\"address\":\"jdbc:mysql://192.168.9.1:1521\",\"database\":\"im\",\"jdbcUrl\":\"jdbc:mysql://192.168.9.1:1521/im\","
-                + "\"user\":\"test\",\"password\":\"123456\"}";
+        expected = 
"{\"address\":\"jdbc:mysql://192.168.9.1:1521\",\"database\":\"im\",\"jdbcUrl\":\"jdbc:mysql://192.168.9.1:1521/im\",\"user\":\"test\",\"password\":\"123456\",\"other\":\"serverTimezone=Asia/Shanghai&queryTimeout=-1&characterEncoding=utf8\"}";
         Assert.assertEquals(expected, param);
     }
 

Reply via email to