This is an automated email from the ASF dual-hosted git repository.

healchow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 238425754 [INLONG-4118][Manager] It should not return an empty list 
when paging the auto-push sources (#4127)
238425754 is described below

commit 2384257548b3b973d0e37f0b325b335ef1da2878
Author: ciscozhou <[email protected]>
AuthorDate: Sun May 8 17:02:19 2022 +0800

    [INLONG-4118][Manager] It should not return an empty list when paging the 
auto-push sources (#4127)
---
 .../manager/service/source/StreamSourceOperation.java       |  4 +---
 .../manager/service/source/StreamSourceServiceImpl.java     |  4 +++-
 .../service/source/autopush/AutoPushSourceOperation.java    | 13 +++++++++++++
 3 files changed, 17 insertions(+), 4 deletions(-)

diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceOperation.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceOperation.java
index 2a069c0f5..c47e9e3e9 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceOperation.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceOperation.java
@@ -71,9 +71,7 @@ public interface StreamSourceOperation {
      * @param entityPage The given entity page.
      * @return Source list response.
      */
-    default PageInfo<? extends SourceListResponse> 
getPageInfo(Page<StreamSourceEntity> entityPage) {
-        return new PageInfo<>();
-    }
+    PageInfo<? extends SourceListResponse> 
getPageInfo(Page<StreamSourceEntity> entityPage);
 
     /**
      * Update the source info.
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java
index 5e3929e17..2fe1a96b4 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java
@@ -132,7 +132,9 @@ public class StreamSourceServiceImpl implements 
StreamSourceService {
             SourceType sourceType = entry.getKey();
             StreamSourceOperation operation = 
operationFactory.getInstance(sourceType);
             PageInfo<? extends SourceListResponse> pageInfo = 
operation.getPageInfo(entry.getValue());
-            responseList.addAll(pageInfo.getList());
+            if (null != pageInfo && 
CollectionUtils.isNotEmpty(pageInfo.getList())) {
+                responseList.addAll(pageInfo.getList());
+            }
         }
         PageInfo<? extends SourceListResponse> pageInfo = 
PageInfo.of(responseList);
 
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/autopush/AutoPushSourceOperation.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/autopush/AutoPushSourceOperation.java
index af4028388..ed2a707de 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/autopush/AutoPushSourceOperation.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/autopush/AutoPushSourceOperation.java
@@ -18,12 +18,17 @@
 package org.apache.inlong.manager.service.source.autopush;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.github.pagehelper.Page;
+import com.github.pagehelper.PageInfo;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.enums.SourceType;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
+import org.apache.inlong.manager.common.pojo.source.SourceListResponse;
 import org.apache.inlong.manager.common.pojo.source.SourceRequest;
 import org.apache.inlong.manager.common.pojo.source.SourceResponse;
 import org.apache.inlong.manager.common.pojo.source.autopush.AutoPushSourceDTO;
+import 
org.apache.inlong.manager.common.pojo.source.autopush.AutoPushSourceListResponse;
 import 
org.apache.inlong.manager.common.pojo.source.autopush.AutoPushSourceRequest;
 import 
org.apache.inlong.manager.common.pojo.source.autopush.AutoPushSourceResponse;
 import org.apache.inlong.manager.common.util.CommonBeanUtils;
@@ -44,6 +49,14 @@ public class AutoPushSourceOperation extends 
AbstractSourceOperation {
     @Autowired
     private ObjectMapper objectMapper;
 
+    @Override
+    public PageInfo<? extends SourceListResponse> 
getPageInfo(Page<StreamSourceEntity> entityPage) {
+        if (CollectionUtils.isEmpty(entityPage)) {
+            return new PageInfo<>();
+        }
+        return entityPage.toPageInfo(entity -> this.getFromEntity(entity, 
AutoPushSourceListResponse::new));
+    }
+
     @Override
     protected void setTargetEntity(SourceRequest request, StreamSourceEntity 
targetEntity) {
         AutoPushSourceRequest sourceRequest = (AutoPushSourceRequest) request;

Reply via email to