mirror of
https://github.com/dataease/dataease.git
synced 2025-02-25 03:52:59 +08:00
feat(数据源):数据源名字校验
This commit is contained in:
parent
e955d2bfff
commit
6db08e50e9
@ -47,11 +47,7 @@ public class DatasourceService {
|
||||
private CommonThreadPool commonThreadPool;
|
||||
|
||||
public Datasource addDatasource(Datasource datasource) {
|
||||
DatasourceExample example = new DatasourceExample();
|
||||
example.createCriteria().andNameEqualTo(datasource.getName());
|
||||
if (CollectionUtils.isNotEmpty(datasourceMapper.selectByExample(example))) {
|
||||
DEException.throwException(Translator.get("i18n_ds_name_exists"));
|
||||
}
|
||||
checkName(datasource);
|
||||
long currentTimeMillis = System.currentTimeMillis();
|
||||
datasource.setId(UUID.randomUUID().toString());
|
||||
datasource.setUpdateTime(currentTimeMillis);
|
||||
@ -68,7 +64,7 @@ public class DatasourceService {
|
||||
|
||||
public List<DatasourceDTO> gridQuery(BaseGridRequest request) {
|
||||
//如果没有查询条件增加一个默认的条件
|
||||
if(CollectionUtils.isEmpty(request.getConditions())){
|
||||
if (CollectionUtils.isEmpty(request.getConditions())) {
|
||||
ConditionEntity conditionEntity = new ConditionEntity();
|
||||
conditionEntity.setField("1");
|
||||
conditionEntity.setOperator("eq");
|
||||
@ -85,6 +81,7 @@ public class DatasourceService {
|
||||
}
|
||||
|
||||
public void updateDatasource(Datasource datasource) {
|
||||
checkName(datasource);
|
||||
datasource.setCreateTime(null);
|
||||
datasource.setUpdateTime(System.currentTimeMillis());
|
||||
datasourceMapper.updateByPrimaryKeySelective(datasource);
|
||||
@ -136,24 +133,36 @@ public class DatasourceService {
|
||||
return datasourceMapper.selectByPrimaryKey(id);
|
||||
}
|
||||
|
||||
public void initAllDataSourceConnectionPool(){
|
||||
public void initAllDataSourceConnectionPool() {
|
||||
List<Datasource> datasources = datasourceMapper.selectByExampleWithBLOBs(new DatasourceExample());
|
||||
datasources.forEach(datasource -> {
|
||||
try {
|
||||
commonThreadPool.addTask(() ->{
|
||||
commonThreadPool.addTask(() -> {
|
||||
try {
|
||||
DatasourceProvider datasourceProvider = ProviderFactory.getProvider(datasource.getType());
|
||||
DatasourceRequest datasourceRequest = new DatasourceRequest();
|
||||
datasourceRequest.setDatasource(datasource);
|
||||
datasourceProvider.initDataSource(datasourceRequest);
|
||||
LogUtil.info("Succsss to init datasource connection pool: " + datasource.getName());
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
LogUtil.error("Failed to init datasource connection pool: " + datasource.getName(), e);
|
||||
}
|
||||
});
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void checkName(Datasource datasource) {
|
||||
DatasourceExample example = new DatasourceExample();
|
||||
DatasourceExample.Criteria criteria = example.createCriteria();
|
||||
criteria.andNameEqualTo(datasource.getName());
|
||||
if (StringUtils.isNotEmpty(datasource.getId())) {
|
||||
criteria.andIdNotEqualTo(datasource.getId());
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(datasourceMapper.selectByExample(example))) {
|
||||
DEException.throwException(Translator.get("i18n_ds_name_exists"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user