fix(数据源): 添加数据源时,校验参数

This commit is contained in:
taojinlong 2022-10-12 15:14:39 +08:00
parent e94834b87c
commit fc06d14c24

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;
}
}
}