You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2022/08/26 04:59:26 UTC

[inlong] 04/09: [INLONG-5678][Manager] Provide source info for group status (#5679)

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

dockerzhang pushed a commit to branch release-1.3.0
in repository https://gitbox.apache.org/repos/asf/inlong.git

commit cd807f6db6936aca32529ca27aa370bc5aa55ca2
Author: woofyzhao <49...@qq.com>
AuthorDate: Thu Aug 25 10:46:48 2022 +0800

    [INLONG-5678][Manager] Provide source info for group status (#5679)
    
    Co-authored-by: woofyzhao <wo...@tencent.com>
---
 .../manager/client/api/InlongGroupContext.java     | 24 ++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupContext.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupContext.java
index c930d4846..3ba3a0aec 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupContext.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupContext.java
@@ -28,6 +28,7 @@ import org.apache.inlong.manager.common.enums.SimpleSourceStatus;
 import org.apache.inlong.manager.client.api.inner.InnerGroupContext;
 import org.apache.inlong.manager.pojo.group.InlongGroupExtInfo;
 import org.apache.inlong.manager.pojo.group.InlongGroupInfo;
+import org.apache.inlong.manager.pojo.group.InlongGroupStatusInfo;
 import org.apache.inlong.manager.pojo.source.StreamSource;
 import org.apache.inlong.manager.common.util.Preconditions;
 
@@ -57,6 +58,8 @@ public class InlongGroupContext implements Serializable {
 
     private SimpleGroupStatus status;
 
+    private InlongGroupStatusInfo statusInfo;
+
     public InlongGroupContext(InnerGroupContext groupContext) {
         InlongGroupInfo groupInfo = groupContext.getGroupInfo();
         Preconditions.checkNotNull(groupInfo, "inlong group info cannot be null");
@@ -66,6 +69,11 @@ public class InlongGroupContext implements Serializable {
         this.inlongStreamMap = groupContext.getStreamMap();
         this.status = SimpleGroupStatus.parseStatusByCode(groupInfo.getStatus());
         recheckState();
+        this.statusInfo = InlongGroupStatusInfo.builder()
+                .inlongGroupId(groupInfo.getInlongGroupId())
+                .originalStatus(groupInfo.getStatus())
+                .simpleGroupStatus(this.status)
+                .streamSources(getGroupSources()).build();
         this.extensions = Maps.newHashMap();
         List<InlongGroupExtInfo> extInfos = groupInfo.getExtList();
         if (CollectionUtils.isNotEmpty(extInfos)) {
@@ -75,6 +83,22 @@ public class InlongGroupContext implements Serializable {
         }
     }
 
+    private List<StreamSource> getGroupSources() {
+        List<StreamSource> groupSources = Lists.newArrayList();
+        this.inlongStreamMap.values().forEach(inlongStream -> {
+            Map<String, StreamSource> sources = inlongStream.getSources();
+            if (MapUtils.isNotEmpty(sources)) {
+                for (Map.Entry<String, StreamSource> entry : sources.entrySet()) {
+                    StreamSource source = entry.getValue();
+                    if (source != null) {
+                        groupSources.add(source);
+                    }
+                }
+            }
+        });
+        return groupSources;
+    }
+
     private void recheckState() {
         if (MapUtils.isEmpty(this.inlongStreamMap)) {
             return;