You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tubemq.apache.org by yu...@apache.org on 2021/02/02 02:37:55 UTC

[incubator-tubemq] branch TUBEMQ-421 updated: [TUBEMQ-532] query cluster info (#420)

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

yuanbo pushed a commit to branch TUBEMQ-421
in repository https://gitbox.apache.org/repos/asf/incubator-tubemq.git


The following commit(s) were added to refs/heads/TUBEMQ-421 by this push:
     new 1bbb8c9  [TUBEMQ-532] query cluster info (#420)
1bbb8c9 is described below

commit 1bbb8c998aeb4ce28073b37b90baa69f5aac0ed0
Author: EMsnap <zp...@connect.ust.hk>
AuthorDate: Tue Feb 2 10:37:43 2021 +0800

    [TUBEMQ-532] query cluster info (#420)
---
 .../controller/cluster/ClusterController.java      | 31 +++++++++++++++++-----
 .../tubemq/manager/service/ClusterServiceImpl.java | 12 +++++++++
 .../manager/service/interfaces/ClusterService.java | 15 +++++++++++
 3 files changed, 51 insertions(+), 7 deletions(-)

diff --git a/tubemq-manager/src/main/java/org/apache/tubemq/manager/controller/cluster/ClusterController.java b/tubemq-manager/src/main/java/org/apache/tubemq/manager/controller/cluster/ClusterController.java
index a350913..5d1ea75 100644
--- a/tubemq-manager/src/main/java/org/apache/tubemq/manager/controller/cluster/ClusterController.java
+++ b/tubemq-manager/src/main/java/org/apache/tubemq/manager/controller/cluster/ClusterController.java
@@ -20,23 +20,19 @@ package org.apache.tubemq.manager.controller.cluster;
 import static org.apache.tubemq.manager.service.MasterServiceImpl.TUBE_REQUEST_PATH;
 import static org.apache.tubemq.manager.service.TubeMQHttpConst.ADD;
 import static org.apache.tubemq.manager.service.TubeMQHttpConst.DELETE;
-import static org.apache.tubemq.manager.service.TubeMQHttpConst.REBALANCE_CONSUMER;
-import static org.apache.tubemq.manager.service.TubeMQHttpConst.REBALANCE_CONSUMER_GROUP;
 import static org.apache.tubemq.manager.service.TubeMQHttpConst.SCHEMA;
 import static org.apache.tubemq.manager.service.TubeMQHttpConst.SUCCESS_CODE;
 import static org.apache.tubemq.manager.utils.ConvertUtils.covertMapToQueryString;
 
 import com.google.gson.Gson;
+import java.util.List;
 import java.util.Map;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.tubemq.manager.controller.TubeMQResult;
 import org.apache.tubemq.manager.controller.cluster.request.AddClusterReq;
 import org.apache.tubemq.manager.controller.cluster.request.DeleteClusterReq;
-import org.apache.tubemq.manager.controller.topic.request.BatchAddGroupAuthReq;
-import org.apache.tubemq.manager.controller.topic.request.DeleteGroupReq;
-import org.apache.tubemq.manager.controller.topic.request.RebalanceConsumerReq;
-import org.apache.tubemq.manager.controller.topic.request.RebalanceGroupReq;
+import org.apache.tubemq.manager.entry.ClusterEntry;
 import org.apache.tubemq.manager.entry.NodeEntry;
 import org.apache.tubemq.manager.repository.NodeRepository;
 import org.apache.tubemq.manager.service.interfaces.ClusterService;
@@ -101,7 +97,28 @@ public class ClusterController {
         return new TubeMQResult();
     }
 
-
+    /**
+     * query cluster info, if no clusterId is passed, return all clusters
+     * @param clusterId
+     * @return
+     */
+    @RequestMapping(value = "", method = RequestMethod.GET,
+        produces = MediaType.APPLICATION_JSON_VALUE)
+    public TubeMQResult queryCluster(@RequestParam(required = false) Integer clusterId) {
+        // return all clusters if no clusterId passed
+        TubeMQResult result = new TubeMQResult();
+        if (clusterId == null) {
+            List<ClusterEntry> allClusters = clusterService.getAllClusters();
+            result.setData(gson.toJson(allClusters));
+            return result;
+        }
+        ClusterEntry clusterEntry = clusterService.getOneCluster(clusterId);
+        if (clusterEntry == null) {
+            return TubeMQResult.getErrorResult("no such cluster with id " + clusterId);
+        }
+        result.setData(gson.toJson(clusterEntry));
+        return result;
+    }
 
     /**
      * delete a new cluster
diff --git a/tubemq-manager/src/main/java/org/apache/tubemq/manager/service/ClusterServiceImpl.java b/tubemq-manager/src/main/java/org/apache/tubemq/manager/service/ClusterServiceImpl.java
index 69c6341..67ef3fb 100644
--- a/tubemq-manager/src/main/java/org/apache/tubemq/manager/service/ClusterServiceImpl.java
+++ b/tubemq-manager/src/main/java/org/apache/tubemq/manager/service/ClusterServiceImpl.java
@@ -21,6 +21,7 @@ package org.apache.tubemq.manager.service;
 import static org.apache.tubemq.manager.service.TubeMQHttpConst.DELETE_FAIL;
 
 import java.util.Date;
+import java.util.List;
 import javax.transaction.Transactional;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.tubemq.manager.controller.cluster.request.AddClusterReq;
@@ -69,6 +70,17 @@ public class ClusterServiceImpl implements ClusterService {
         }
     }
 
+    @Override
+    public ClusterEntry getOneCluster(Integer clusterId) {
+        return clusterRepository
+            .findClusterEntryByClusterId(clusterId);
+    }
+
+    @Override
+    public List<ClusterEntry> getAllClusters() {
+        return clusterRepository.findAll();
+    }
+
     private boolean addMasterNode(AddClusterReq req, ClusterEntry clusterEntry) {
         if (clusterEntry == null) {
             return false;
diff --git a/tubemq-manager/src/main/java/org/apache/tubemq/manager/service/interfaces/ClusterService.java b/tubemq-manager/src/main/java/org/apache/tubemq/manager/service/interfaces/ClusterService.java
index aa513ce..1aeb2b4 100644
--- a/tubemq-manager/src/main/java/org/apache/tubemq/manager/service/interfaces/ClusterService.java
+++ b/tubemq-manager/src/main/java/org/apache/tubemq/manager/service/interfaces/ClusterService.java
@@ -18,7 +18,9 @@
 package org.apache.tubemq.manager.service.interfaces;
 
 
+import java.util.List;
 import org.apache.tubemq.manager.controller.cluster.request.AddClusterReq;
+import org.apache.tubemq.manager.entry.ClusterEntry;
 import org.springframework.stereotype.Component;
 
 @Component
@@ -36,4 +38,17 @@ public interface ClusterService {
      * @param clusterId
      */
     void deleteCluster(Integer clusterId);
+
+    /**
+     * get one cluster
+     * @param clusterId
+     * @return
+     */
+    ClusterEntry getOneCluster(Integer clusterId);
+
+    /**
+     * get all clusters
+     * @return
+     */
+    List<ClusterEntry> getAllClusters();
 }