in seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/DatasourceServiceImpl.java [381:438]
public PageInfo<DatasourceRes> queryDatasourceList(
Integer userId, String searchVal, String pluginName, Integer pageNo, Integer pageSize) {
funcPermissionCheck(SeatunnelFuncPermissionKeyConstant.DATASOURCE_LIST, userId);
Page<Datasource> page = new Page<>(pageNo, pageSize);
PageInfo<DatasourceRes> pageInfo = new PageInfo<>();
List<Long> ids =
availableResourceRange(
SeatunnelResourcePermissionModuleEnum.DATASOURCE.name(), userId);
if (org.springframework.util.CollectionUtils.isEmpty(ids)) {
return pageInfo;
}
IPage<Datasource> datasourcePage =
datasourceDao.selectDatasourceByParam(page, ids, searchVal, pluginName);
pageInfo = new PageInfo<>();
pageInfo.setPageNo((int) datasourcePage.getPages());
pageInfo.setPageSize((int) datasourcePage.getSize());
pageInfo.setTotalCount((int) datasourcePage.getTotal());
if (CollectionUtils.isEmpty(datasourcePage.getRecords())) {
pageInfo.setData(new ArrayList<>());
return pageInfo;
}
List<Integer> userIds = new ArrayList<>();
datasourcePage
.getRecords()
.forEach(
datasource -> {
userIds.add(datasource.getCreateUserId());
userIds.add(datasource.getUpdateUserId());
});
List<DatasourceRes> datasourceResList =
datasourcePage.getRecords().stream()
.map(
datasource -> {
DatasourceRes datasourceRes = new DatasourceRes();
datasourceRes.setId(datasource.getId().toString());
datasourceRes.setDatasourceName(datasource.getDatasourceName());
datasourceRes.setPluginName(datasource.getPluginName());
datasourceRes.setPluginVersion(datasource.getPluginVersion());
datasourceRes.setDescription(datasource.getDescription());
datasourceRes.setCreateTime(datasource.getCreateTime());
datasourceRes.setUpdateTime(datasource.getUpdateTime());
Map<String, String> datasourceConfig =
JsonUtils.toMap(
datasource.getDatasourceConfig(),
String.class,
String.class);
datasourceRes.setDatasourceConfig(datasourceConfig);
datasourceRes.setCreateUserId(datasource.getCreateUserId());
datasourceRes.setUpdateUserId(datasource.getUpdateUserId());
datasourceRes.setUpdateTime(datasource.getUpdateTime());
return datasourceRes;
})
.collect(Collectors.toList());
pageInfo.setData(datasourceResList);
return pageInfo;
}