public PageInfo queryDatasourceList()

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;
    }