提交 6db08e50 authored 作者: junjie's avatar junjie

feat(数据源):数据源名字校验

上级 e955d2bf
...@@ -47,11 +47,7 @@ public class DatasourceService { ...@@ -47,11 +47,7 @@ public class DatasourceService {
private CommonThreadPool commonThreadPool; private CommonThreadPool commonThreadPool;
public Datasource addDatasource(Datasource datasource) { public Datasource addDatasource(Datasource datasource) {
DatasourceExample example = new DatasourceExample(); checkName(datasource);
example.createCriteria().andNameEqualTo(datasource.getName());
if (CollectionUtils.isNotEmpty(datasourceMapper.selectByExample(example))) {
DEException.throwException(Translator.get("i18n_ds_name_exists"));
}
long currentTimeMillis = System.currentTimeMillis(); long currentTimeMillis = System.currentTimeMillis();
datasource.setId(UUID.randomUUID().toString()); datasource.setId(UUID.randomUUID().toString());
datasource.setUpdateTime(currentTimeMillis); datasource.setUpdateTime(currentTimeMillis);
...@@ -68,7 +64,7 @@ public class DatasourceService { ...@@ -68,7 +64,7 @@ public class DatasourceService {
public List<DatasourceDTO> gridQuery(BaseGridRequest request) { public List<DatasourceDTO> gridQuery(BaseGridRequest request) {
//如果没有查询条件增加一个默认的条件 //如果没有查询条件增加一个默认的条件
if(CollectionUtils.isEmpty(request.getConditions())){ if (CollectionUtils.isEmpty(request.getConditions())) {
ConditionEntity conditionEntity = new ConditionEntity(); ConditionEntity conditionEntity = new ConditionEntity();
conditionEntity.setField("1"); conditionEntity.setField("1");
conditionEntity.setOperator("eq"); conditionEntity.setOperator("eq");
...@@ -85,6 +81,7 @@ public class DatasourceService { ...@@ -85,6 +81,7 @@ public class DatasourceService {
} }
public void updateDatasource(Datasource datasource) { public void updateDatasource(Datasource datasource) {
checkName(datasource);
datasource.setCreateTime(null); datasource.setCreateTime(null);
datasource.setUpdateTime(System.currentTimeMillis()); datasource.setUpdateTime(System.currentTimeMillis());
datasourceMapper.updateByPrimaryKeySelective(datasource); datasourceMapper.updateByPrimaryKeySelective(datasource);
...@@ -136,24 +133,36 @@ public class DatasourceService { ...@@ -136,24 +133,36 @@ public class DatasourceService {
return datasourceMapper.selectByPrimaryKey(id); return datasourceMapper.selectByPrimaryKey(id);
} }
public void initAllDataSourceConnectionPool(){ public void initAllDataSourceConnectionPool() {
List<Datasource> datasources = datasourceMapper.selectByExampleWithBLOBs(new DatasourceExample()); List<Datasource> datasources = datasourceMapper.selectByExampleWithBLOBs(new DatasourceExample());
datasources.forEach(datasource -> { datasources.forEach(datasource -> {
try { try {
commonThreadPool.addTask(() ->{ commonThreadPool.addTask(() -> {
try { try {
DatasourceProvider datasourceProvider = ProviderFactory.getProvider(datasource.getType()); DatasourceProvider datasourceProvider = ProviderFactory.getProvider(datasource.getType());
DatasourceRequest datasourceRequest = new DatasourceRequest(); DatasourceRequest datasourceRequest = new DatasourceRequest();
datasourceRequest.setDatasource(datasource); datasourceRequest.setDatasource(datasource);
datasourceProvider.initDataSource(datasourceRequest); datasourceProvider.initDataSource(datasourceRequest);
LogUtil.info("Succsss to init datasource connection pool: " + datasource.getName()); 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); LogUtil.error("Failed to init datasource connection pool: " + datasource.getName(), e);
} }
}); });
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); 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"));
}
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论