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 b7f4812d9 [INLONG-8136][Manager] Support obtaining resource 
information used by the current group (#8137)
b7f4812d9 is described below

commit b7f4812d9698da98671beef8ce6b14c2aa311ee5
Author: fuweng11 <[email protected]>
AuthorDate: Thu Jun 1 17:38:08 2023 +0800

    [INLONG-8136][Manager] Support obtaining resource information used by the 
current group (#8137)
---
 .../service/cluster/AbstractClusterOperator.java   |  8 ++++
 .../service/cluster/AgentClusterOperator.java      | 19 ++++++++
 .../service/cluster/DataProxyClusterOperator.java  | 19 ++++++++
 .../cluster/ElasticsearchClusterOperator.java      | 11 +++++
 .../service/cluster/InlongClusterOperator.java     |  2 +
 .../service/cluster/KafkaClusterOperator.java      | 10 ++++
 .../service/cluster/PulsarClusterOperator.java     | 12 +++++
 .../service/cluster/TubeClusterOperator.java       | 11 +++++
 .../service/group/AbstractGroupOperator.java       | 55 ++++++++++++++++++++++
 .../manager/service/group/InlongGroupOperator.java | 20 ++++++++
 .../service/group/InlongGroupOperator4NoneMQ.java  |  8 ++++
 .../manager/service/group/InlongGroupService.java  |  7 +++
 .../service/group/InlongGroupServiceImpl.java      |  7 +++
 .../web/controller/InlongGroupController.java      |  9 ++++
 14 files changed, 198 insertions(+)

diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/AbstractClusterOperator.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/AbstractClusterOperator.java
index 88937fa45..ca8c78c73 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/AbstractClusterOperator.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/AbstractClusterOperator.java
@@ -23,6 +23,7 @@ import 
org.apache.inlong.manager.common.exceptions.BusinessException;
 import org.apache.inlong.manager.common.util.CommonBeanUtils;
 import org.apache.inlong.manager.dao.entity.InlongClusterEntity;
 import org.apache.inlong.manager.dao.mapper.InlongClusterEntityMapper;
+import org.apache.inlong.manager.dao.mapper.InlongClusterNodeEntityMapper;
 import org.apache.inlong.manager.pojo.cluster.ClusterRequest;
 
 import org.slf4j.Logger;
@@ -40,6 +41,8 @@ public abstract class AbstractClusterOperator implements 
InlongClusterOperator {
 
     @Autowired
     protected InlongClusterEntityMapper clusterMapper;
+    @Autowired
+    protected InlongClusterNodeEntityMapper clusterNodeEntityMapper;
 
     @Override
     @Transactional(rollbackFor = Throwable.class)
@@ -84,4 +87,9 @@ public abstract class AbstractClusterOperator implements 
InlongClusterOperator {
                 
String.format(ErrorCodeEnum.CLUSTER_TYPE_NOT_SUPPORTED.getMessage(), 
request.getType()));
     }
 
+    @Override
+    public Object getClusterInfo(InlongClusterEntity entity) {
+        return null;
+    }
+
 }
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/AgentClusterOperator.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/AgentClusterOperator.java
index 2777a8ac5..e9ea244ce 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/AgentClusterOperator.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/AgentClusterOperator.java
@@ -22,6 +22,7 @@ import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
 import org.apache.inlong.manager.common.util.CommonBeanUtils;
 import org.apache.inlong.manager.dao.entity.InlongClusterEntity;
+import org.apache.inlong.manager.dao.entity.InlongClusterNodeEntity;
 import org.apache.inlong.manager.pojo.cluster.ClusterInfo;
 import org.apache.inlong.manager.pojo.cluster.ClusterRequest;
 import org.apache.inlong.manager.pojo.cluster.agent.AgentClusterDTO;
@@ -36,6 +37,11 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Agent cluster operator.
  */
@@ -89,4 +95,17 @@ public class AgentClusterOperator extends 
AbstractClusterOperator {
         }
     }
 
+    @Override
+    public Object getClusterInfo(InlongClusterEntity entity) {
+        List<InlongClusterNodeEntity> clusterNodeEntityList =
+                clusterNodeEntityMapper.selectByParentId(entity.getId(), null);
+        Map<String, Object> map = new HashMap<>();
+        List<String> urlList = new ArrayList<>();
+        for (InlongClusterNodeEntity clusterNodeEntity : 
clusterNodeEntityList) {
+            urlList.add(clusterNodeEntity.getIp() + ":" + 
clusterNodeEntity.getPort());
+        }
+        map.put("urls", urlList);
+        return map;
+    }
+
 }
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/DataProxyClusterOperator.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/DataProxyClusterOperator.java
index d8ac91673..0d81afcd9 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/DataProxyClusterOperator.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/DataProxyClusterOperator.java
@@ -22,6 +22,7 @@ import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
 import org.apache.inlong.manager.common.util.CommonBeanUtils;
 import org.apache.inlong.manager.dao.entity.InlongClusterEntity;
+import org.apache.inlong.manager.dao.entity.InlongClusterNodeEntity;
 import org.apache.inlong.manager.pojo.cluster.ClusterInfo;
 import org.apache.inlong.manager.pojo.cluster.ClusterRequest;
 import org.apache.inlong.manager.pojo.cluster.dataproxy.DataProxyClusterInfo;
@@ -30,6 +31,11 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * DataProxy cluster operator.
  */
@@ -61,4 +67,17 @@ public class DataProxyClusterOperator extends 
AbstractClusterOperator {
         return CommonBeanUtils.copyProperties(entity, 
DataProxyClusterInfo::new);
     }
 
+    @Override
+    public Object getClusterInfo(InlongClusterEntity entity) {
+        List<InlongClusterNodeEntity> clusterNodeEntityList =
+                clusterNodeEntityMapper.selectByParentId(entity.getId(), null);
+        Map<String, Object> map = new HashMap<>();
+        List<String> urlList = new ArrayList<>();
+        for (InlongClusterNodeEntity clusterNodeEntity : 
clusterNodeEntityList) {
+            urlList.add(clusterNodeEntity.getIp() + ":" + 
clusterNodeEntity.getPort());
+        }
+        map.put("urls", urlList);
+        return map;
+    }
+
 }
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/ElasticsearchClusterOperator.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/ElasticsearchClusterOperator.java
index 6225ecc50..002b28073 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/ElasticsearchClusterOperator.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/ElasticsearchClusterOperator.java
@@ -33,6 +33,9 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * Elasticsearch cluster operator.
  */
@@ -78,4 +81,12 @@ public class ElasticsearchClusterOperator extends 
AbstractClusterOperator {
         }
         return info;
     }
+
+    @Override
+    public Object getClusterInfo(InlongClusterEntity entity) {
+        ElasticsearchClusterInfo elasticsearchClusterInfo = 
(ElasticsearchClusterInfo) this.getFromEntity(entity);
+        Map<String, String> map = new HashMap<>();
+        map.put("url", elasticsearchClusterInfo.getUrl());
+        return map;
+    }
 }
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterOperator.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterOperator.java
index 912279ea1..516f89432 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterOperator.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterOperator.java
@@ -71,4 +71,6 @@ public interface InlongClusterOperator {
      */
     Boolean testConnection(ClusterRequest request);
 
+    Object getClusterInfo(InlongClusterEntity entity);
+
 }
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/KafkaClusterOperator.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/KafkaClusterOperator.java
index fbda5b74b..fc4f113b8 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/KafkaClusterOperator.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/KafkaClusterOperator.java
@@ -40,6 +40,8 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Properties;
 
 /**
@@ -112,4 +114,12 @@ public class KafkaClusterOperator extends 
AbstractClusterOperator {
         }
     }
 
+    @Override
+    public Object getClusterInfo(InlongClusterEntity entity) {
+        KafkaClusterInfo kafkaClusterInfo = (KafkaClusterInfo) 
this.getFromEntity(entity);
+        Map<String, String> map = new HashMap<>();
+        map.put("url", kafkaClusterInfo.getUrl());
+        return map;
+    }
+
 }
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/PulsarClusterOperator.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/PulsarClusterOperator.java
index 4fe971fb3..ef11d9b3d 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/PulsarClusterOperator.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/PulsarClusterOperator.java
@@ -44,6 +44,8 @@ import java.net.InetSocketAddress;
 import java.net.Socket;
 import java.net.SocketAddress;
 import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Pulsar cluster operator.
@@ -108,6 +110,16 @@ public class PulsarClusterOperator extends 
AbstractClusterOperator {
         return testConnectAdminUrl(pulsarInfo);
     }
 
+    @Override
+    public Object getClusterInfo(InlongClusterEntity entity) {
+        PulsarClusterInfo pulsarClusterInfo = (PulsarClusterInfo) 
this.getFromEntity(entity);
+        Map<String, String> map = new HashMap<>();
+        map.put("serverUrl", pulsarClusterInfo.getUrl());
+        map.put("adminUrl", pulsarClusterInfo.getAdminUrl());
+        map.put("defaultTenant", pulsarClusterInfo.getTenant());
+        return map;
+    }
+
     /**
      * Test connect for Pulsar AdminUrl
      *
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/TubeClusterOperator.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/TubeClusterOperator.java
index 82eb0d5ac..5193c87fd 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/TubeClusterOperator.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/TubeClusterOperator.java
@@ -39,6 +39,8 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -113,4 +115,13 @@ public class TubeClusterOperator extends 
AbstractClusterOperator {
         }
     }
 
+    @Override
+    public Object getClusterInfo(InlongClusterEntity entity) {
+        TubeClusterInfo tubeClusterInfo = (TubeClusterInfo) 
this.getFromEntity(entity);
+        Map<String, String> map = new HashMap<>();
+        map.put("RPC Url", tubeClusterInfo.getUrl());
+        map.put("Web url", tubeClusterInfo.getMasterWebUrl());
+        return map;
+    }
+
 }
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/AbstractGroupOperator.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/AbstractGroupOperator.java
index d7bbeafc5..9994c5eda 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/AbstractGroupOperator.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/AbstractGroupOperator.java
@@ -18,25 +18,39 @@
 package org.apache.inlong.manager.service.group;
 
 import org.apache.inlong.manager.common.consts.InlongConstants;
+import org.apache.inlong.manager.common.enums.ClusterType;
 import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.enums.GroupStatus;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
 import org.apache.inlong.manager.common.util.CommonBeanUtils;
+import org.apache.inlong.manager.dao.entity.InlongClusterEntity;
 import org.apache.inlong.manager.dao.entity.InlongGroupEntity;
+import org.apache.inlong.manager.dao.mapper.InlongClusterEntityMapper;
 import org.apache.inlong.manager.dao.mapper.InlongGroupEntityMapper;
 import org.apache.inlong.manager.dao.mapper.InlongGroupExtEntityMapper;
 import org.apache.inlong.manager.dao.mapper.InlongStreamExtEntityMapper;
+import org.apache.inlong.manager.pojo.group.InlongGroupInfo;
 import org.apache.inlong.manager.pojo.group.InlongGroupRequest;
+import org.apache.inlong.manager.service.cluster.InlongClusterOperator;
+import org.apache.inlong.manager.service.cluster.InlongClusterOperatorFactory;
 import org.apache.inlong.manager.service.cluster.InlongClusterService;
 import org.apache.inlong.manager.service.stream.InlongStreamService;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.commons.lang3.StringUtils;
+import org.elasticsearch.common.util.set.Sets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * Default operator of inlong group.
@@ -58,6 +72,10 @@ public abstract class AbstractGroupOperator implements 
InlongGroupOperator {
     protected InlongGroupExtEntityMapper groupExtMapper;
     @Autowired
     protected InlongStreamExtEntityMapper streamExtMapper;
+    @Autowired
+    protected InlongClusterEntityMapper clusterEntityMapper;
+    @Autowired
+    protected InlongClusterOperatorFactory clusterOperatorFactory;
 
     @Override
     @Transactional(rollbackFor = Throwable.class)
@@ -103,4 +121,41 @@ public abstract class AbstractGroupOperator implements 
InlongGroupOperator {
         }
     }
 
+    @Override
+    public Map<String, Object> getDetailInfo(InlongGroupInfo groupInfo) {
+        Map<String, Object> map = new 
HashMap<>(getClusterInfoByTag(groupInfo.getInlongClusterTag()));
+        map.putIfAbsent(groupInfo.getMqType(), getMqInfo(groupInfo));
+        return map;
+    }
+
+    @Override
+    public Map<String, Object> getClusterInfoByTag(String clusterTag) {
+        Map<String, Object> clusterMap = new HashMap<>();
+        Set<String> mqClusters = Sets.newHashSet(ClusterType.PULSAR, 
ClusterType.TUBEMQ, ClusterType.KAFKA);
+        List<InlongClusterEntity> clusterEntities = 
clusterEntityMapper.selectByClusterTag(clusterTag);
+        for (InlongClusterEntity clusterEntity : clusterEntities) {
+            if (mqClusters.contains(clusterEntity.getType())) {
+                continue;
+            }
+            InlongClusterOperator instance = 
clusterOperatorFactory.getInstance(clusterEntity.getType());
+            clusterMap.putIfAbsent(clusterEntity.getType(), 
instance.getClusterInfo(clusterEntity));
+        }
+        return clusterMap;
+    }
+
+    @Override
+    public Object getMqInfo(InlongGroupInfo groupInfo) {
+        InlongClusterOperator instance = 
clusterOperatorFactory.getInstance(groupInfo.getMqType());
+        List<InlongClusterEntity> clusterEntities =
+                
clusterEntityMapper.selectByKey(groupInfo.getInlongClusterTag(), null, 
groupInfo.getMqType());
+        if (CollectionUtils.isEmpty(clusterEntities)) {
+            return null;
+        }
+        List<Object> mqClusterInfo = new ArrayList<>();
+        for (InlongClusterEntity clusterEntity : clusterEntities) {
+            mqClusterInfo.add(instance.getClusterInfo(clusterEntity));
+        }
+        return mqClusterInfo;
+    }
+
 }
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupOperator.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupOperator.java
index 1f1abc814..216f2cd8a 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupOperator.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupOperator.java
@@ -22,6 +22,8 @@ import org.apache.inlong.manager.pojo.group.InlongGroupInfo;
 import org.apache.inlong.manager.pojo.group.InlongGroupRequest;
 import org.apache.inlong.manager.pojo.group.InlongGroupTopicInfo;
 
+import java.util.Map;
+
 /**
  * Interface of the inlong group operator.
  */
@@ -72,6 +74,24 @@ public interface InlongGroupOperator {
      */
     InlongGroupTopicInfo getTopic(InlongGroupInfo groupInfo);
 
+    /**
+     * Get the detail info for the given inlong group.
+     *
+     * @param groupInfo inlong group which need to get topic info
+     * @return detail info
+     */
+    Map<String, Object> getDetailInfo(InlongGroupInfo groupInfo);
+
+    /**
+     * Get the cluster info by cluster tag
+     *
+     * @param clusterTag cluster tag
+     * @return cluster info
+     */
+    Map<String, Object> getClusterInfoByTag(String clusterTag);
+
+    Object getMqInfo(InlongGroupInfo groupInfo);
+
     /**
      * Get backup topic info for the given inlong group if exists.
      *
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupOperator4NoneMQ.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupOperator4NoneMQ.java
index f64c4e610..ff89b2cf5 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupOperator4NoneMQ.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupOperator4NoneMQ.java
@@ -31,6 +31,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import java.util.Map;
+
 /**
  * Inlong group operator without MQ.
  */
@@ -71,4 +73,10 @@ public class InlongGroupOperator4NoneMQ extends 
AbstractGroupOperator {
         return null;
     }
 
+    @Override
+    public Map<String, String> getMqInfo(InlongGroupInfo groupInfo) {
+        LOGGER.info("return null for inlong group without MQ");
+        return null;
+    }
+
 }
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupService.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupService.java
index 7d0a54c94..c344548dd 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupService.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupService.java
@@ -33,6 +33,7 @@ import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * Inlong group service layer interface
@@ -200,4 +201,10 @@ public interface InlongGroupService {
      */
     List<InlongGroupTopicInfo> listTopics(InlongGroupTopicRequest clusterTag);
 
+    /**
+     * List group detail
+     * @return List of inlong group detail, including cluster info and sort 
info
+     */
+    Map<String, Object> detail(String groupId);
+
 }
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 3728ff73d..4c51b7210 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
@@ -537,6 +537,13 @@ public class InlongGroupServiceImpl implements 
InlongGroupService {
         return topicInfos;
     }
 
+    @Override
+    public Map<String, Object> detail(String groupId) {
+        InlongGroupInfo groupInfo = this.get(groupId);
+        InlongGroupOperator instance = 
groupOperatorFactory.getInstance(groupInfo.getMqType());
+        return instance.getDetailInfo(groupInfo);
+    }
+
     @Override
     public InlongGroupInfo doDeleteCheck(String groupId, String operator) {
         InlongGroupInfo groupInfo = this.get(groupId);
diff --git 
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongGroupController.java
 
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongGroupController.java
index a75a03bf6..706f862d9 100644
--- 
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongGroupController.java
+++ 
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongGroupController.java
@@ -52,6 +52,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * Inlong group control layer
@@ -195,4 +196,12 @@ public class InlongGroupController {
         String operator = LoginUserUtils.getLoginUser().getName();
         return 
Response.success(groupProcessOperation.resetGroupStatus(request, operator));
     }
+
+    @RequestMapping(value = "/group/detail/{groupId}", method = 
RequestMethod.GET)
+    @ApiOperation(value = "get group detail")
+    @ApiImplicitParam(name = "groupId", value = "Inlong group id", 
dataTypeClass = String.class, required = true)
+    public Response<Map<String, Object>> detail(@PathVariable String groupId) {
+        return Response.success(groupService.detail(groupId));
+    }
+
 }
\ No newline at end of file

Reply via email to