Merge pull request #3340 from dataease/pr@v1.15@checkExtraParams

fix(数据源): 添加数据源时,校验参数
This commit is contained in:
xuwei-fit2cloud
2022-10-12 15:17:34 +08:00
committed by GitHub

View File

@@ -7,6 +7,7 @@ import io.dataease.commons.utils.LogUtil;
import io.dataease.dto.datasource.*;
import io.dataease.exception.DataEaseException;
import io.dataease.i18n.Translator;
import io.dataease.plugins.common.base.domain.Datasource;
import io.dataease.plugins.common.base.domain.DeDriver;
import io.dataease.plugins.common.base.mapper.DeDriverMapper;
import io.dataease.plugins.common.constants.DatasourceTypes;
@@ -742,5 +743,35 @@ public class JdbcProvider extends DefaultJdbcProvider {
}
}
@Override
public void checkConfiguration(Datasource datasource)throws Exception{
if (StringUtils.isEmpty(datasource.getConfiguration())){
throw new Exception("Datasource configuration is empty");
}
try {
JdbcConfiguration jdbcConfiguration = new Gson().fromJson(datasource.getConfiguration(), JdbcConfiguration.class);
if(jdbcConfiguration.getQueryTimeout() < 0){
throw new Exception("Querytimeout cannot be less than zero." );
}
}catch (Exception e){
throw new Exception("Invalid configuration: " + e.getMessage());
}
DatasourceTypes datasourceType = DatasourceTypes.valueOf(datasource.getType());
switch (datasourceType) {
case mysql:
case mariadb:
case engine_doris:
case engine_mysql:
case ds_doris:
case TiDB:
case StarRocks:
MysqlConfiguration mysqlConfiguration = new Gson().fromJson(datasource.getConfiguration(), MysqlConfiguration.class);
mysqlConfiguration.getJdbc();
default:
break;
}
}
}