From 2df6ee1efbe4aec0f5579315a1b19e247f4115a6 Mon Sep 17 00:00:00 2001 From: geosmart Date: Sun, 18 Jul 2021 21:46:58 +0800 Subject: [PATCH] [fix-5737] [Bug][Datasource] datsource other param check error (#5835) Co-authored-by: wanggang --- .../common/datasource/AbstractDatasourceProcessor.java | 2 +- .../common/datasource/DatasourceUtilTest.java | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/AbstractDatasourceProcessor.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/AbstractDatasourceProcessor.java index d03c13d864..a9d3bcef36 100644 --- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/AbstractDatasourceProcessor.java +++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/datasource/AbstractDatasourceProcessor.java @@ -30,7 +30,7 @@ public abstract class AbstractDatasourceProcessor implements DatasourceProcessor 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\\-\\_\\/]+$"); @Override public void checkDatasourceParam(BaseDataSourceParamDTO baseDataSourceParamDTO) { diff --git a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/datasource/DatasourceUtilTest.java b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/datasource/DatasourceUtilTest.java index 8ebc5b17d4..1b8b59cd99 100644 --- a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/datasource/DatasourceUtilTest.java +++ b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/datasource/DatasourceUtilTest.java @@ -17,6 +17,8 @@ package org.apache.dolphinscheduler.common.datasource; +import java.util.HashMap; +import java.util.Map; import org.apache.dolphinscheduler.common.datasource.mysql.MysqlConnectionParam; import org.apache.dolphinscheduler.common.datasource.mysql.MysqlDatasourceParamDTO; import org.apache.dolphinscheduler.common.datasource.mysql.MysqlDatasourceProcessor; @@ -44,7 +46,11 @@ public class DatasourceUtilTest { MysqlDatasourceParamDTO mysqlDatasourceParamDTO = new MysqlDatasourceParamDTO(); mysqlDatasourceParamDTO.setHost("localhost"); mysqlDatasourceParamDTO.setDatabase("default"); - mysqlDatasourceParamDTO.setOther(null); + Map other = new HashMap<>(); + other.put("serverTimezone", "Asia/Shanghai"); + other.put("queryTimeout", "-1"); + other.put("characterEncoding", "utf8"); + mysqlDatasourceParamDTO.setOther(other); DatasourceUtil.checkDatasourceParam(mysqlDatasourceParamDTO); Assert.assertTrue(true); }