add custom jdbc

This commit is contained in:
jipengfei-jpf
2023-07-19 21:40:37 +08:00
parent 7be9d37981
commit d0879fa06f
4 changed files with 30 additions and 16 deletions

View File

@ -1,19 +1,17 @@
package ai.chat2db.server.domain.api.param;
import java.util.List;
import ai.chat2db.spi.config.DriverConfig;
import ai.chat2db.spi.model.KeyValue;
import ai.chat2db.spi.model.SSHInfo;
import ai.chat2db.spi.model.SSLInfo;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
* 数据源测试参数
*
@ -89,4 +87,10 @@ public class DataSourceTestParam {
* 扩展信息
*/
private List<KeyValue> extendInfo;
/**
* 驱动配置
*/
private DriverConfig driverConfig;
}

View File

@ -114,19 +114,18 @@ public class DataSourceServiceImpl implements DataSourceService {
@Override
public ActionResult preConnect(DataSourcePreConnectParam param) {
DataSourceTestParam testParam
= dataSourceConverter.param2param(param);
// todo
// DriverConfig driverConfig = new DriverConfig();
// driverConfig.setJdbcDriver(param.getDriver());
// driverConfig.setJdbcDriverClass(param.getDriver());
DriverConfig driverConfig = Chat2DBContext.getDefaultDriverConfig(param.getType());
= dataSourceConverter.param2param(param);
DriverConfig driverConfig = testParam.getDriverConfig();
if (driverConfig == null || !driverConfig.notEmpty()) {
driverConfig = Chat2DBContext.getDefaultDriverConfig(param.getType());
}
DataSourceConnect dataSourceConnect = JdbcUtils.testConnect(testParam.getUrl(), testParam.getHost(),
testParam.getPort(),
testParam.getUsername(), testParam.getPassword(), testParam.getDbType(),
driverConfig, param.getSsh(), KeyValue.toMap(param.getExtendInfo()));
testParam.getPort(),
testParam.getUsername(), testParam.getPassword(), testParam.getDbType(),
driverConfig, param.getSsh(), KeyValue.toMap(param.getExtendInfo()));
if (BooleanUtils.isNotTrue(dataSourceConnect.getSuccess())) {
return ActionResult.fail(dataSourceConnect.getMessage(), dataSourceConnect.getDescription(), dataSourceConnect.getErrorDetail());
return ActionResult.fail(dataSourceConnect.getMessage(), dataSourceConnect.getDescription(),
dataSourceConnect.getErrorDetail());
}
return ActionResult.isSuccess();
}