You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by he...@apache.org on 2022/05/08 09:02:24 UTC

[incubator-inlong] branch master updated: [INLONG-4118][Manager] It should not return an empty list when paging the auto-push sources (#4127)

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 <45...@users.noreply.github.com>
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;