提交 e83510f4 authored 作者: taojinlong's avatar taojinlong

fix: 数据源校验

上级 461f5135
...@@ -38,8 +38,8 @@ public class DatasourceController { ...@@ -38,8 +38,8 @@ public class DatasourceController {
@ApiOperation("验证数据源") @ApiOperation("验证数据源")
@PostMapping("/validate") @PostMapping("/validate")
public void validate(@RequestBody Datasource datasource) throws Exception { public ResultHolder validate(@RequestBody Datasource datasource) throws Exception {
datasourceService.validate(datasource); return datasourceService.validate(datasource);
} }
@ApiOperation("验证数据源") @ApiOperation("验证数据源")
......
...@@ -120,11 +120,17 @@ public class DatasourceService { ...@@ -120,11 +120,17 @@ public class DatasourceService {
checkAndUpdateDatasourceStatus(datasource); checkAndUpdateDatasourceStatus(datasource);
} }
public void validate(Datasource datasource) throws Exception { public ResultHolder validate(Datasource datasource) throws Exception {
DatasourceProvider datasourceProvider = ProviderFactory.getProvider(datasource.getType()); try {
DatasourceRequest datasourceRequest = new DatasourceRequest(); DatasourceProvider datasourceProvider = ProviderFactory.getProvider(datasource.getType());
datasourceRequest.setDatasource(datasource); DatasourceRequest datasourceRequest = new DatasourceRequest();
datasourceProvider.checkStatus(datasourceRequest); datasourceRequest.setDatasource(datasource);
datasourceProvider.checkStatus(datasourceRequest);
return ResultHolder.success("Success");
}catch (Exception e){
return ResultHolder.error("Datasource is invalid: " + e.getMessage());
}
} }
public ResultHolder validate(String datasourceId) { public ResultHolder validate(String datasourceId) {
...@@ -133,7 +139,10 @@ public class DatasourceService { ...@@ -133,7 +139,10 @@ public class DatasourceService {
return ResultHolder.error("Can not find datasource: "+ datasourceId); return ResultHolder.error("Can not find datasource: "+ datasourceId);
} }
try { try {
validate(datasource); DatasourceProvider datasourceProvider = ProviderFactory.getProvider(datasource.getType());
DatasourceRequest datasourceRequest = new DatasourceRequest();
datasourceRequest.setDatasource(datasource);
datasourceProvider.checkStatus(datasourceRequest);
datasource.setStatus("Success"); datasource.setStatus("Success");
return ResultHolder.success("Success"); return ResultHolder.success("Success");
}catch (Exception e){ }catch (Exception e){
......
...@@ -572,7 +572,9 @@ public class ExtractDataService { ...@@ -572,7 +572,9 @@ public class ExtractDataService {
} }
private void extractData(DatasetTable datasetTable, String extractType) throws Exception { private void extractData(DatasetTable datasetTable, String extractType) throws Exception {
datasourceService.validate(datasetTable.getDataSourceId()); if(StringUtils.isNotEmpty(datasetTable.getDataSourceId())){
datasourceService.validate(datasetTable.getDataSourceId());
}
KettleFileRepository repository = CommonBeanFactory.getBean(KettleFileRepository.class); KettleFileRepository repository = CommonBeanFactory.getBean(KettleFileRepository.class);
RepositoryDirectoryInterface repositoryDirectoryInterface = repository.loadRepositoryDirectoryTree(); RepositoryDirectoryInterface repositoryDirectoryInterface = repository.loadRepositoryDirectoryTree();
TransMeta transMeta = null; TransMeta transMeta = null;
......
...@@ -278,7 +278,7 @@ export default { ...@@ -278,7 +278,7 @@ export default {
data.configuration = JSON.stringify(data.configuration) data.configuration = JSON.stringify(data.configuration)
if(data.showModel === 'show' && !this.canEdit){ if(data.showModel === 'show' && !this.canEdit){
validateDsById(data.id).then(res => { validateDsById(data.id).then(res => {
if(res.success === 'true'){ if(res.success){
this.$success(this.$t('datasource.validate_success')) this.$success(this.$t('datasource.validate_success'))
}else { }else {
this.$error(this.$t(res.message)) this.$error(this.$t(res.message))
...@@ -290,7 +290,7 @@ export default { ...@@ -290,7 +290,7 @@ export default {
}else { }else {
validateDs(data).then(res => { validateDs(data).then(res => {
if(res.success === 'true'){ if(res.success){
this.$success(this.$t('datasource.validate_success')) this.$success(this.$t('datasource.validate_success'))
}else { }else {
this.$error(this.$t(res.message)) this.$error(this.$t(res.message))
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论