This is an automated email from the ASF dual-hosted git repository.
dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git
The following commit(s) were added to refs/heads/master by this push:
new ddbdb226d9 [INLONG-8447][Manager] Optimize paging logic (#8448)
ddbdb226d9 is described below
commit ddbdb226d9417b7b8d1edc410179c7caaaaec7c2
Author: vernedeng <[email protected]>
AuthorDate: Wed Sep 13 19:10:33 2023 +0800
[INLONG-8447][Manager] Optimize paging logic (#8448)
---
inlong-manager/manager-pojo/pom.xml | 4 ++
.../inlong/manager/pojo/common/PageResult.java | 18 ++++++++
.../service/cluster/InlongClusterServiceImpl.java | 26 ++++-------
.../service/consume/InlongConsumeServiceImpl.java | 3 +-
.../core/impl/WorkflowApproverServiceImpl.java | 6 +--
.../core/impl/WorkflowEventServiceImpl.java | 8 +---
.../service/group/InlongGroupServiceImpl.java | 8 ++--
.../service/heartbeat/HeartbeatServiceImpl.java | 19 +++-----
.../manager/service/node/DataNodeServiceImpl.java | 8 +---
.../manager/service/sink/AbstractSinkOperator.java | 9 +---
.../service/source/AbstractSourceOperator.java | 7 +--
.../service/stream/InlongStreamServiceImpl.java | 52 ++++++++++------------
.../service/tenant/InlongTenantServiceImpl.java | 9 +---
.../transform/StreamTransformServiceImpl.java | 11 ++---
.../manager/service/user/InlongRoleService.java | 5 +--
.../service/user/InlongRoleServiceImpl.java | 7 +--
.../service/user/TenantRoleServiceImpl.java | 6 +--
.../manager/service/user/UserServiceImpl.java | 9 ++--
.../service/workflow/WorkflowServiceImpl.java | 45 +++++++++----------
.../service/user/InlongRoleServiceTest.java | 8 ++--
.../web/controller/InlongRoleController.java | 4 +-
21 files changed, 117 insertions(+), 155 deletions(-)
diff --git a/inlong-manager/manager-pojo/pom.xml
b/inlong-manager/manager-pojo/pom.xml
index 7c8c8f3be4..6b8c54ffd7 100644
--- a/inlong-manager/manager-pojo/pom.xml
+++ b/inlong-manager/manager-pojo/pom.xml
@@ -92,6 +92,10 @@
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>com.github.pagehelper</groupId>
+ <artifactId>pagehelper-spring-boot-starter</artifactId>
+ </dependency>
</dependencies>
</project>
diff --git
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/common/PageResult.java
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/common/PageResult.java
index 9d7bd4c0a0..a8ac47d24f 100644
---
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/common/PageResult.java
+++
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/common/PageResult.java
@@ -18,6 +18,7 @@
package org.apache.inlong.manager.pojo.common;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.github.pagehelper.Page;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -25,6 +26,9 @@ import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.stream.Collectors;
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@@ -68,6 +72,20 @@ public final class PageResult<T> implements Serializable {
this.total = (long) list.size();
}
+ public <R> PageResult<R> map(Function<? super T, ? extends R> mapper) {
+ List<R> newList =
list.stream().map(mapper).collect(Collectors.toList());
+ return new PageResult<>(newList, total, pageNum, pageSize);
+ }
+
+ public PageResult<T> foreach(Consumer<? super T> action) {
+ list.forEach(action);
+ return this;
+ }
+
+ public static <T> PageResult<T> fromPage(Page<T> page) {
+ return new PageResult<>(page.getResult(), page.getTotal(),
page.getPageNum(), page.getPageSize());
+ }
+
public static <T> PageResult<T> empty() {
return new PageResult<>(0L);
}
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceImpl.java
index dede44da6b..a2cbad20f2 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceImpl.java
@@ -232,11 +232,9 @@ public class InlongClusterServiceImpl implements
InlongClusterService {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
Page<InlongClusterTagEntity> entityPage =
(Page<InlongClusterTagEntity>) clusterTagMapper
.selectByCondition(request);
+ PageResult<ClusterTagResponse> pageResult =
PageResult.fromPage(entityPage)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
ClusterTagResponse::new));
- List<ClusterTagResponse> tagList =
CommonBeanUtils.copyListProperties(entityPage, ClusterTagResponse::new);
-
- PageResult<ClusterTagResponse> pageResult = new PageResult<>(tagList,
- entityPage.getTotal(), entityPage.getPageNum(),
entityPage.getPageSize());
LOGGER.debug("success to list cluster tag by {}", request);
return pageResult;
}
@@ -567,16 +565,11 @@ public class InlongClusterServiceImpl implements
InlongClusterService {
public PageResult<ClusterInfo> list(ClusterPageRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
Page<InlongClusterEntity> entityPage = (Page<InlongClusterEntity>)
clusterMapper.selectByCondition(request);
- List<ClusterInfo> list = entityPage.stream()
+ PageResult<ClusterInfo> pageResult = PageResult.fromPage(entityPage)
.map(entity -> {
InlongClusterOperator instance =
clusterOperatorFactory.getInstance(entity.getType());
return instance.getFromEntity(entity);
- })
- .collect(Collectors.toList());
-
- PageResult<ClusterInfo> pageResult = new PageResult<>(
- list, entityPage.getTotal(),
- entityPage.getPageNum(), entityPage.getPageSize());
+ });
LOGGER.debug("success to list inlong cluster by {}", request);
return pageResult;
@@ -926,10 +919,8 @@ public class InlongClusterServiceImpl implements
InlongClusterService {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
Page<InlongClusterNodeEntity> entityPage =
(Page<InlongClusterNodeEntity>)
clusterNodeMapper.selectByCondition(request);
- List<ClusterNodeResponse> nodeList =
CommonBeanUtils.copyListProperties(entityPage, ClusterNodeResponse::new);
-
- PageResult<ClusterNodeResponse> pageResult = new
PageResult<>(nodeList, entityPage.getTotal(),
- entityPage.getPageNum(), entityPage.getPageSize());
+ PageResult<ClusterNodeResponse> pageResult =
PageResult.fromPage(entityPage)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
ClusterNodeResponse::new));
LOGGER.debug("success to list inlong cluster node by {}", request);
return pageResult;
@@ -1501,9 +1492,10 @@ public class InlongClusterServiceImpl implements
InlongClusterService {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
Page<TenantClusterTagEntity> entityPage =
(Page<TenantClusterTagEntity>)
tenantClusterTagMapper.selectByCondition(request);
- List<TenantClusterTagInfo> infoList =
CommonBeanUtils.copyListProperties(entityPage, TenantClusterTagInfo::new);
+ PageResult<TenantClusterTagInfo> pageResult =
PageResult.fromPage(entityPage)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
TenantClusterTagInfo::new));
LOGGER.debug("success to list tenant tag with request={}", request);
- return new PageResult<>(infoList, entityPage.getTotal(),
entityPage.getPageNum(), entityPage.getPageSize());
+ return pageResult;
}
@Override
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/consume/InlongConsumeServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/consume/InlongConsumeServiceImpl.java
index 5f44810632..4225579353 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/consume/InlongConsumeServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/consume/InlongConsumeServiceImpl.java
@@ -178,8 +178,7 @@ public class InlongConsumeServiceImpl implements
InlongConsumeService {
OrderFieldEnum.checkOrderField(request);
OrderTypeEnum.checkOrderType(request);
Page<InlongConsumeBriefInfo> briefInfos =
(Page<InlongConsumeBriefInfo>) consumeMapper.selectBriefList(request);
- PageResult<InlongConsumeBriefInfo> pageResult = new
PageResult<>(briefInfos,
- briefInfos.getTotal(), briefInfos.getPageNum(),
briefInfos.getPageSize());
+ PageResult<InlongConsumeBriefInfo> pageResult =
PageResult.fromPage(briefInfos);
LOGGER.debug("success to list inlong consume for {}", request);
return pageResult;
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowApproverServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowApproverServiceImpl.java
index c2899215fe..656647d800 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowApproverServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowApproverServiceImpl.java
@@ -118,10 +118,8 @@ public class WorkflowApproverServiceImpl implements
WorkflowApproverService {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
Page<WorkflowApproverEntity> page = (Page<WorkflowApproverEntity>)
approverMapper.selectByCondition(request);
- List<ApproverResponse> resultList =
CommonBeanUtils.copyListProperties(page,
- ApproverResponse::new);
-
- return new PageResult<>(resultList, page.getTotal(),
page.getPageNum(), page.getPageSize());
+ return PageResult.fromPage(page)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
ApproverResponse::new));
}
@Override
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowEventServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowEventServiceImpl.java
index 7b1494566b..be4aa7f3c0 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowEventServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowEventServiceImpl.java
@@ -33,8 +33,6 @@ import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.List;
-
/**
* Workflow event related services
*/
@@ -56,10 +54,8 @@ public class WorkflowEventServiceImpl implements
WorkflowEventService {
public PageResult<EventLogResponse> list(EventLogRequest query) {
PageHelper.startPage(query.getPageNum(), query.getPageSize());
Page<WorkflowEventLogEntity> page = (Page<WorkflowEventLogEntity>)
queryService.listEventLog(query);
-
- List<EventLogResponse> viewList =
CommonBeanUtils.copyListProperties(page, EventLogResponse::new);
-
- return new PageResult<>(viewList, page.getTotal(), page.getPageNum(),
page.getPageSize());
+ return PageResult.fromPage(page)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
EventLogResponse::new));
}
@Override
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupServiceImpl.java
index 5be12a3a3a..ed4e122296 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupServiceImpl.java
@@ -316,9 +316,10 @@ public class InlongGroupServiceImpl implements
InlongGroupService {
OrderFieldEnum.checkOrderField(request);
OrderTypeEnum.checkOrderType(request);
Page<InlongGroupEntity> entityPage = (Page<InlongGroupEntity>)
groupMapper.selectByCondition(request);
+ PageResult<InlongGroupBriefInfo> pageResult =
PageResult.fromPage(entityPage)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
InlongGroupBriefInfo::new));
- List<InlongGroupBriefInfo> briefInfos =
CommonBeanUtils.copyListProperties(entityPage,
- InlongGroupBriefInfo::new);
+ List<InlongGroupBriefInfo> briefInfos = pageResult.getList();
// list all related sources
if (request.isListSources() && CollectionUtils.isNotEmpty(briefInfos))
{
@@ -337,9 +338,6 @@ public class InlongGroupServiceImpl implements
InlongGroupService {
});
}
- PageResult<InlongGroupBriefInfo> pageResult = new
PageResult<>(briefInfos,
- entityPage.getTotal(), entityPage.getPageNum(),
entityPage.getPageSize());
-
LOGGER.debug("success to list inlong group for {}", request);
return pageResult;
}
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/heartbeat/HeartbeatServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/heartbeat/HeartbeatServiceImpl.java
index d3f634f769..ec45c3f9ba 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/heartbeat/HeartbeatServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/heartbeat/HeartbeatServiceImpl.java
@@ -278,31 +278,24 @@ public class HeartbeatServiceImpl implements
HeartbeatService {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
Page<ComponentHeartbeatEntity> entityPage =
(Page<ComponentHeartbeatEntity>)
componentHeartbeatMapper.selectByCondition(request);
- List<ComponentHeartbeatResponse> responseList =
CommonBeanUtils.copyListProperties(entityPage,
- ComponentHeartbeatResponse::new);
-
- return new PageResult<>(responseList, entityPage.getTotal());
+ return PageResult.fromPage(entityPage)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
ComponentHeartbeatResponse::new));
}
private PageResult<GroupHeartbeatResponse>
listGroupHeartbeatOpt(HeartbeatPageRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
Page<GroupHeartbeatEntity> entityPage = (Page<GroupHeartbeatEntity>)
groupHeartbeatMapper.selectByCondition(
request);
- List<GroupHeartbeatResponse> responseList =
CommonBeanUtils.copyListProperties(entityPage,
- GroupHeartbeatResponse::new);
-
- return new PageResult<>(responseList,
- entityPage.getTotal(), entityPage.getPageNum(),
entityPage.getPageSize());
+ return PageResult.fromPage(entityPage)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
GroupHeartbeatResponse::new));
}
private PageResult<StreamHeartbeatResponse>
listStreamHeartbeatOpt(HeartbeatPageRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
Page<StreamHeartbeatEntity> entityPage =
(Page<StreamHeartbeatEntity>)
streamHeartbeatMapper.selectByCondition(request);
- List<StreamHeartbeatResponse> responseList =
CommonBeanUtils.copyListProperties(entityPage,
- StreamHeartbeatResponse::new);
-
- return new PageResult<>(responseList, entityPage.getTotal(),
entityPage.getPageNum(), entityPage.getPageSize());
+ return PageResult.fromPage(entityPage)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
StreamHeartbeatResponse::new));
}
}
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/node/DataNodeServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/node/DataNodeServiceImpl.java
index 4de9ef5dd0..4535f14f61 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/node/DataNodeServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/node/DataNodeServiceImpl.java
@@ -147,15 +147,11 @@ public class DataNodeServiceImpl implements
DataNodeService {
public PageResult<DataNodeInfo> list(DataNodePageRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
Page<DataNodeEntity> entityPage = (Page<DataNodeEntity>)
dataNodeMapper.selectByCondition(request);
- List<DataNodeInfo> list = entityPage.stream()
+ PageResult<DataNodeInfo> pageResult = PageResult.fromPage(entityPage)
.map(entity -> {
DataNodeOperator dataNodeOperator =
operatorFactory.getInstance(entity.getType());
return dataNodeOperator.getFromEntity(entity);
- }).collect(Collectors.toList());
-
- PageResult<DataNodeInfo> pageResult = new PageResult<>(list,
entityPage.getTotal(),
- entityPage.getPageNum(), entityPage.getPageSize());
-
+ });
LOGGER.debug("success to list data node by {}", request);
return pageResult;
}
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/sink/AbstractSinkOperator.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/sink/AbstractSinkOperator.java
index 789065951f..44d8a58752 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/sink/AbstractSinkOperator.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/sink/AbstractSinkOperator.java
@@ -47,7 +47,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
-import java.util.stream.Collectors;
/**
* Default operation of stream sink.
@@ -110,13 +109,7 @@ public abstract class AbstractSinkOperator implements
StreamSinkOperator {
if (CollectionUtils.isEmpty(entityPage)) {
return PageResult.empty();
}
-
- List<StreamSink> streamSinks = entityPage.getResult()
- .stream()
- .map(this::getFromEntity)
- .collect(Collectors.toList());
-
- return new PageResult<>(streamSinks, entityPage.getTotal(),
entityPage.getPageNum(), entityPage.getPageSize());
+ return PageResult.fromPage(entityPage).map(this::getFromEntity);
}
@Override
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/AbstractSourceOperator.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/AbstractSourceOperator.java
index 863a5b8038..eaf75c9971 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/AbstractSourceOperator.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/AbstractSourceOperator.java
@@ -48,7 +48,6 @@ import
org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
-import java.util.stream.Collectors;
/**
* Default operator of stream source.
@@ -112,11 +111,7 @@ public abstract class AbstractSourceOperator implements
StreamSourceOperator {
if (CollectionUtils.isEmpty(entityPage)) {
return PageResult.empty();
}
-
- List<StreamSource> streamSources = entityPage.stream()
- .map(this::getFromEntity)
- .collect(Collectors.toList());
- return new PageResult<>(streamSources, entityPage.getTotal(),
entityPage.getPageNum(), entityPage.size());
+ return PageResult.fromPage(entityPage).map(this::getFromEntity);
}
@Override
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/stream/InlongStreamServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/stream/InlongStreamServiceImpl.java
index b9562d5f4e..b9d8ef8d36 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/stream/InlongStreamServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/stream/InlongStreamServiceImpl.java
@@ -365,11 +365,8 @@ public class InlongStreamServiceImpl implements
InlongStreamService {
OrderFieldEnum.checkOrderField(request);
OrderTypeEnum.checkOrderType(request);
Page<InlongStreamEntity> entityPage = (Page<InlongStreamEntity>)
streamMapper.selectByCondition(request);
- List<InlongStreamBriefInfo> streamList =
CommonBeanUtils.copyListProperties(entityPage,
- InlongStreamBriefInfo::new);
-
- PageResult<InlongStreamBriefInfo> pageResult = new
PageResult<>(streamList,
- entityPage.getTotal(), entityPage.getPageNum(),
entityPage.getPageSize());
+ PageResult<InlongStreamBriefInfo> pageResult =
PageResult.fromPage(entityPage)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
InlongStreamBriefInfo::new));
LOGGER.debug("success to list inlong stream info for groupId={}",
request.getInlongGroupId());
return pageResult;
@@ -399,31 +396,28 @@ public class InlongStreamServiceImpl implements
InlongStreamService {
OrderFieldEnum.checkOrderField(request);
OrderTypeEnum.checkOrderType(request);
Page<InlongStreamEntity> page = (Page<InlongStreamEntity>)
streamMapper.selectByCondition(request);
- List<InlongStreamInfo> streamInfoList =
CommonBeanUtils.copyListProperties(page, InlongStreamInfo::new);
-
- // Convert and encapsulate the paged results
- for (InlongStreamInfo streamInfo : streamInfoList) {
- // Set the field information of the inlong stream
- String streamId = streamInfo.getInlongStreamId();
- unpackExtParams(streamInfo);
- List<StreamField> streamFields = getStreamFields(groupId,
streamId);
- streamInfo.setFieldList(streamFields);
- List<InlongStreamExtEntity> extEntities =
streamExtMapper.selectByRelatedId(groupId, streamId);
- List<InlongStreamExtInfo> streamExtInfos =
CommonBeanUtils.copyListProperties(
- extEntities, InlongStreamExtInfo::new);
- streamInfo.setExtList(streamExtInfos);
-
- // query all valid stream sources
- List<StreamSource> sourceList = sourceService.listSource(groupId,
streamId);
- streamInfo.setSourceList(sourceList);
-
- // query all valid stream sinks and its extended info, field info
- List<StreamSink> sinkList = sinkService.listSink(groupId,
streamId);
- streamInfo.setSinkList(sinkList);
- }
- PageResult<InlongStreamInfo> pageResult = new
PageResult<>(streamInfoList, page.getTotal(),
- page.getPageNum(), page.getPageSize());
+ PageResult<InlongStreamInfo> pageResult = PageResult.fromPage(page)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
InlongStreamInfo::new))
+ .foreach(streamInfo -> {
+ // Set the field information of the inlong stream
+ String streamId = streamInfo.getInlongStreamId();
+ unpackExtParams(streamInfo);
+ List<StreamField> streamFields = getStreamFields(groupId,
streamId);
+ streamInfo.setFieldList(streamFields);
+ List<InlongStreamExtEntity> extEntities =
streamExtMapper.selectByRelatedId(groupId, streamId);
+ List<InlongStreamExtInfo> streamExtInfos =
CommonBeanUtils.copyListProperties(
+ extEntities, InlongStreamExtInfo::new);
+ streamInfo.setExtList(streamExtInfos);
+
+ // query all valid stream sources
+ List<StreamSource> sourceList =
sourceService.listSource(groupId, streamId);
+ streamInfo.setSourceList(sourceList);
+
+ // query all valid stream sinks and its extended info,
field info
+ List<StreamSink> sinkList = sinkService.listSink(groupId,
streamId);
+ streamInfo.setSinkList(sinkList);
+ });
LOGGER.debug("success to list full inlong stream info by {}", request);
return pageResult;
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantServiceImpl.java
index 40ceb3391c..321255e342 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantServiceImpl.java
@@ -127,14 +127,9 @@ public class InlongTenantServiceImpl implements
InlongTenantService {
}
PageHelper.startPage(request.getPageNum(), request.getPageSize());
-
Page<InlongTenantEntity> entityPage =
inlongTenantEntityMapper.selectByCondition(request);
-
- List<InlongTenantInfo> tenantList =
CommonBeanUtils.copyListProperties(entityPage, InlongTenantInfo::new);
- PageResult<InlongTenantInfo> pageResult = new PageResult<>(tenantList,
- entityPage.getTotal(), entityPage.getPageNum(),
entityPage.getPageSize());
-
- return pageResult;
+ return PageResult.fromPage(entityPage)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
InlongTenantInfo::new));
}
@Override
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/transform/StreamTransformServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/transform/StreamTransformServiceImpl.java
index 6ffdcd975b..512580c9a4 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/transform/StreamTransformServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/transform/StreamTransformServiceImpl.java
@@ -142,7 +142,6 @@ public class StreamTransformServiceImpl implements
StreamTransformService {
String streamId = request.getInlongStreamId();
LOGGER.debug("begin to fetch transform info by groupId={} and
streamId={} ", groupId, streamId);
PageHelper.startPage(request.getPageNum(), request.getPageSize());
- PageResult<TransformResponse> pageResponse = new PageResult<>();
InlongGroupEntity groupEntity = groupMapper.selectByGroupId(groupId);
if (groupEntity == null) {
throw new BusinessException(ErrorCodeEnum.GROUP_NOT_FOUND,
@@ -151,13 +150,11 @@ public class StreamTransformServiceImpl implements
StreamTransformService {
// query result
List<StreamTransformEntity> entityList =
transformMapper.selectByCondition(request);
- if (CollectionUtils.isEmpty(entityList)) {
- pageResponse.setList(Collections.emptyList());
- return pageResponse;
+ List<TransformResponse> responses = Collections.emptyList();
+ if (!CollectionUtils.isEmpty(entityList)) {
+ responses = getTransformResponse(entityList);
}
-
- pageResponse.setList(getTransformResponse(entityList));
- return pageResponse;
+ return new PageResult<>(responses, (long) responses.size(),
request.getPageNum(), request.getPageSize());
}
@Override
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/InlongRoleService.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/InlongRoleService.java
index 387eed54cb..40af75b867 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/InlongRoleService.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/InlongRoleService.java
@@ -17,15 +17,14 @@
package org.apache.inlong.manager.service.user;
+import org.apache.inlong.manager.pojo.common.PageResult;
import org.apache.inlong.manager.pojo.user.InlongRoleInfo;
import org.apache.inlong.manager.pojo.user.InlongRolePageRequest;
import org.apache.inlong.manager.pojo.user.InlongRoleRequest;
-import com.github.pagehelper.PageInfo;
-
public interface InlongRoleService {
- PageInfo<InlongRoleInfo> listByCondition(InlongRolePageRequest request);
+ PageResult<InlongRoleInfo> listByCondition(InlongRolePageRequest request);
int save(InlongRoleRequest request, String operator);
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/InlongRoleServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/InlongRoleServiceImpl.java
index 59fd417371..31180e7632 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/InlongRoleServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/InlongRoleServiceImpl.java
@@ -24,13 +24,13 @@ import
org.apache.inlong.manager.common.util.CommonBeanUtils;
import org.apache.inlong.manager.common.util.Preconditions;
import org.apache.inlong.manager.dao.entity.InlongUserRoleEntity;
import org.apache.inlong.manager.dao.mapper.InlongUserRoleEntityMapper;
+import org.apache.inlong.manager.pojo.common.PageResult;
import org.apache.inlong.manager.pojo.user.InlongRoleInfo;
import org.apache.inlong.manager.pojo.user.InlongRolePageRequest;
import org.apache.inlong.manager.pojo.user.InlongRoleRequest;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -43,10 +43,11 @@ public class InlongRoleServiceImpl implements
InlongRoleService {
private InlongUserRoleEntityMapper inlongUserMapper;
@Override
- public PageInfo<InlongRoleInfo> listByCondition(InlongRolePageRequest
request) {
+ public PageResult<InlongRoleInfo> listByCondition(InlongRolePageRequest
request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
Page<InlongUserRoleEntity> entityPage =
inlongUserMapper.selectByCondition(request);
- return entityPage.toPageInfo(entity ->
CommonBeanUtils.copyProperties(entity, InlongRoleInfo::new));
+ return PageResult.fromPage(entityPage)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
InlongRoleInfo::new));
}
@Override
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleServiceImpl.java
index f6fba9f411..6b8f6acb67 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleServiceImpl.java
@@ -71,10 +71,8 @@ public class TenantRoleServiceImpl implements
TenantRoleService {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
Page<TenantUserRoleEntity> entityPage =
tenantUserRoleEntityMapper.listByCondition(request);
- List<TenantRoleInfo> tenantRoleInfos =
CommonBeanUtils.copyListProperties(entityPage, TenantRoleInfo::new);
- return new PageResult<>(tenantRoleInfos,
- entityPage.getTotal(),
- entityPage.getPageNum(), entityPage.getPageSize());
+ return PageResult.fromPage(entityPage)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
TenantRoleInfo::new));
}
@Override
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/UserServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/UserServiceImpl.java
index 02388f55d0..a8ac5f4bd7 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/UserServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/UserServiceImpl.java
@@ -77,7 +77,6 @@ import java.time.Duration;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.Date;
-import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
@@ -209,13 +208,11 @@ public class UserServiceImpl implements UserService {
public PageResult<UserInfo> list(UserRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
Page<UserEntity> entityPage = (Page<UserEntity>)
userMapper.selectByCondition(request);
- List<UserInfo> userList =
CommonBeanUtils.copyListProperties(entityPage, UserInfo::new);
+ PageResult<UserInfo> pageResult = PageResult.fromPage(entityPage)
+ .map(entity -> CommonBeanUtils.copyProperties(entity,
UserInfo::new));
// Check whether the user account has expired
- userList.forEach(entity ->
entity.setStatus(entity.getDueDate().after(new Date()) ? "valid" : "invalid"));
-
- PageResult<UserInfo> pageResult = new PageResult<>(userList,
entityPage.getTotal(),
- entityPage.getPageNum(), entityPage.getPageSize());
+ pageResult.foreach(entity ->
entity.setStatus(entity.getDueDate().after(new Date()) ? "valid" : "invalid"));
LOGGER.debug("success to list users for request={}, result size={}",
request, pageResult.getTotal());
return pageResult;
diff --git
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowServiceImpl.java
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowServiceImpl.java
index 2b09ed9b83..0863b8e666 100644
---
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowServiceImpl.java
+++
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/workflow/WorkflowServiceImpl.java
@@ -53,7 +53,6 @@ import org.apache.inlong.manager.workflow.util.WorkflowUtils;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
import com.google.common.collect.Maps;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -137,16 +136,15 @@ public class WorkflowServiceImpl implements
WorkflowService {
public PageResult<ProcessResponse> listProcess(ProcessRequest query) {
PageHelper.startPage(query.getPageNum(), query.getPageSize());
Page<WorkflowProcessEntity> result = (Page<WorkflowProcessEntity>)
queryService.listProcessEntity(query);
- PageInfo<ProcessResponse> pageInfo = result.toPageInfo(entity -> {
- ProcessResponse response =
WorkflowUtils.getProcessResponse(entity);
- if (query.getIncludeShowInList()) {
- response.setShowInList(getShowInList(entity));
- }
- return response;
- });
-
- PageResult<ProcessResponse> pageResult = new
PageResult<>(pageInfo.getList(),
- pageInfo.getTotal(), pageInfo.getPageNum(),
pageInfo.getPageSize());
+ PageResult<ProcessResponse> pageResult =
+ PageResult.fromPage(result)
+ .map(entity -> {
+ ProcessResponse response =
WorkflowUtils.getProcessResponse(entity);
+ if (query.getIncludeShowInList()) {
+ response.setShowInList(getShowInList(entity));
+ }
+ return response;
+ });
if (query.getIncludeCurrentTask()) {
TaskRequest taskQuery = TaskRequest.builder()
@@ -164,10 +162,11 @@ public class WorkflowServiceImpl implements
WorkflowService {
PageHelper.startPage(query.getPageNum(), query.getPageSize());
Page<WorkflowTaskEntity> result = (Page<WorkflowTaskEntity>)
queryService.listTaskEntity(query);
- PageInfo<TaskResponse> pageInfo =
result.toPageInfo(WorkflowUtils::getTaskResponse);
- addShowInListForEachTask(pageInfo.getList());
+ PageResult<TaskResponse> pageInfo = PageResult.fromPage(result)
+ .map(WorkflowUtils::getTaskResponse);
- return new PageResult<>(pageInfo.getList(), pageInfo.getTotal(),
pageInfo.getPageNum(), pageInfo.getPageSize());
+ addShowInListForEachTask(pageInfo.getList());
+ return pageInfo;
}
@Override
@@ -200,13 +199,14 @@ public class WorkflowServiceImpl implements
WorkflowService {
Page<WorkflowProcessEntity> entityPage = (Page<WorkflowProcessEntity>)
queryService.listProcessEntity(
processRequest);
- PageInfo<WorkflowExecuteLog> pageInfo = entityPage.toPageInfo(inst ->
WorkflowExecuteLog.builder()
- .processId(inst.getId())
- .processDisplayName(inst.getDisplayName())
- .status(inst.getStatus())
- .startTime(inst.getStartTime())
- .endTime(inst.getEndTime())
- .build());
+ PageResult<WorkflowExecuteLog> pageInfo =
PageResult.fromPage(entityPage)
+ .map(inst -> WorkflowExecuteLog.builder()
+ .processId(inst.getId())
+ .processDisplayName(inst.getDisplayName())
+ .status(inst.getStatus())
+ .startTime(inst.getStartTime())
+ .endTime(inst.getEndTime())
+ .build());
// According to the process execution log, query the execution log of
each task in the process
for (WorkflowExecuteLog executeLog : pageInfo.getList()) {
@@ -234,8 +234,7 @@ public class WorkflowServiceImpl implements WorkflowService
{
LOGGER.info("success to page list task execute logs for " + query);
- return new PageResult<>(pageInfo.getList(), pageInfo.getTotal(),
pageInfo.getPageNum(),
- pageInfo.getPageSize());
+ return pageInfo;
}
private Consumer<ProcessResponse> addCurrentTask(TaskRequest query) {
diff --git
a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/user/InlongRoleServiceTest.java
b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/user/InlongRoleServiceTest.java
index ea673e4dba..d96fa0f802 100644
---
a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/user/InlongRoleServiceTest.java
+++
b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/user/InlongRoleServiceTest.java
@@ -17,6 +17,7 @@
package org.apache.inlong.manager.service.user;
+import org.apache.inlong.manager.pojo.common.PageResult;
import org.apache.inlong.manager.pojo.user.InlongRoleInfo;
import org.apache.inlong.manager.pojo.user.InlongRolePageRequest;
import org.apache.inlong.manager.pojo.user.InlongRoleRequest;
@@ -25,7 +26,6 @@ import org.apache.inlong.manager.pojo.user.UserInfo;
import org.apache.inlong.manager.pojo.user.UserRoleCode;
import org.apache.inlong.manager.service.ServiceBaseTest;
-import com.github.pagehelper.PageInfo;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Order;
@@ -82,11 +82,11 @@ class InlongRoleServiceTest extends ServiceBaseTest {
}
InlongRolePageRequest pageRequest = new InlongRolePageRequest();
pageRequest.setRoleCode(UserRoleCode.INLONG_OPERATOR);
- PageInfo<InlongRoleInfo> infos =
inlongRoleService.listByCondition(pageRequest);
- Assertions.assertEquals(max, infos.getSize());
+ PageResult<InlongRoleInfo> infos =
inlongRoleService.listByCondition(pageRequest);
+ Assertions.assertEquals(max, infos.getList().size());
pageRequest.setRoleCode(UserRoleCode.INLONG_ADMIN);
infos = inlongRoleService.listByCondition(pageRequest);
- Assertions.assertEquals(1, infos.getSize());
+ Assertions.assertEquals(1, infos.getList().size());
}
}
\ No newline at end of file
diff --git
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongRoleController.java
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongRoleController.java
index dc8ea9fe7e..d209d65bb8 100644
---
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongRoleController.java
+++
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongRoleController.java
@@ -18,6 +18,7 @@
package org.apache.inlong.manager.web.controller;
import org.apache.inlong.manager.common.enums.OperationType;
+import org.apache.inlong.manager.pojo.common.PageResult;
import org.apache.inlong.manager.pojo.common.Response;
import org.apache.inlong.manager.pojo.user.InlongRoleInfo;
import org.apache.inlong.manager.pojo.user.InlongRolePageRequest;
@@ -27,7 +28,6 @@ import org.apache.inlong.manager.pojo.user.UserRoleCode;
import org.apache.inlong.manager.service.operationlog.OperationLog;
import org.apache.inlong.manager.service.user.InlongRoleService;
-import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
@@ -78,7 +78,7 @@ public class InlongRoleController {
@RequestMapping(value = "/role/inlong/list", method = RequestMethod.POST)
@ApiOperation(value = "List inlong roles by paginating")
@RequiresRoles(logical = Logical.OR, value = {UserRoleCode.INLONG_ADMIN,
UserRoleCode.INLONG_OPERATOR})
- public Response<PageInfo<InlongRoleInfo>> listByCondition(@RequestBody
InlongRolePageRequest request) {
+ public Response<PageResult<InlongRoleInfo>> listByCondition(@RequestBody
InlongRolePageRequest request) {
return Response.success(inlongRoleService.listByCondition(request));
}
}