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 30388047b [INLONG-6108][TubeMQ] Added booked consume group query APIs 
(#6109)
30388047b is described below

commit 30388047b957475107ac4c6566a135735c4fd440
Author: Goson Zhang <[email protected]>
AuthorDate: Sun Oct 9 17:51:02 2022 +0800

    [INLONG-6108][TubeMQ] Added booked consume group query APIs (#6109)
---
 .../web/handler/WebGroupConsumeCtrlHandler.java    | 182 +++++++++++++--------
 .../master/web/handler/WebGroupResCtrlHandler.java | 161 +++++++++++-------
 2 files changed, 217 insertions(+), 126 deletions(-)

diff --git 
a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupConsumeCtrlHandler.java
 
b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupConsumeCtrlHandler.java
index 347a46183..a2b60675b 100644
--- 
a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupConsumeCtrlHandler.java
+++ 
b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupConsumeCtrlHandler.java
@@ -42,6 +42,9 @@ public class WebGroupConsumeCtrlHandler extends 
AbstractWebHandler {
         // register query method
         registerQueryWebMethod("admin_query_group_csmctrl_info",
                 "adminQueryGroupConsumeCtrlInfo");
+        registerQueryWebMethod("admin_query_booked_csmctrl_groups",
+                "adminQueryBookedConsumeCtrlGroups");
+
         // register modify method
         registerModifyWebMethod("admin_add_group_csmctrl_info",
                 "adminAddGroupConsumeCtrlInfo");
@@ -57,83 +60,32 @@ public class WebGroupConsumeCtrlHandler extends 
AbstractWebHandler {
                 "adminBatchDelGroupConsumeCtrlInfo");
     }
 
+    /**
+     * query booked consume-control group set
+     *
+     * @param req       Http Servlet Request
+     * @param strBuff   string buffer
+     * @param result    process result
+     * @return    process result
+     */
+    public StringBuilder adminQueryBookedConsumeCtrlGroups(HttpServletRequest 
req,
+                                                           StringBuilder 
strBuff,
+                                                           ProcessResult 
result) {
+        return innQueryGroupConsumeCtrlInfo(req, strBuff, result, true);
+    }
+
     /**
      * query group consume control info
      *
      * @param req       Http Servlet Request
-     * @param sBuffer   string buffer
+     * @param strBuff   string buffer
      * @param result    process result
      * @return    process result
      */
     public StringBuilder adminQueryGroupConsumeCtrlInfo(HttpServletRequest req,
-                                                        StringBuilder sBuffer,
+                                                        StringBuilder strBuff,
                                                         ProcessResult result) {
-        // build query entity
-        GroupConsumeCtrlEntity qryEntity = new GroupConsumeCtrlEntity();
-        // get queried operation info, for createUser, modifyUser, 
dataVersionId
-        if (!WebParameterUtils.getQueriedOperateInfo(req, qryEntity, sBuffer, 
result)) {
-            WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
-            return sBuffer;
-        }
-        // get group list
-        if (!WebParameterUtils.getStringParamValue(req,
-                WebFieldDef.COMPSGROUPNAME, false, null, sBuffer, result)) {
-            WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
-            return sBuffer;
-        }
-        final Set<String> groupSet = (Set<String>) result.getRetData();
-        // check and get topicName field
-        if (!WebParameterUtils.getStringParamValue(req,
-                WebFieldDef.COMPSTOPICNAME, false, null, sBuffer, result)) {
-            WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
-            return sBuffer;
-        }
-        final Set<String> topicNameSet = (Set<String>) result.getRetData();
-        // get consumeEnable info
-        if (!WebParameterUtils.getBooleanParamValue(req,
-                WebFieldDef.CONSUMEENABLE, false, null, sBuffer, result)) {
-            WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
-            return sBuffer;
-        }
-        final Boolean consumeEnable = (Boolean) result.getRetData();
-        // get filterEnable info
-        if (!WebParameterUtils.getBooleanParamValue(req,
-                WebFieldDef.FILTERENABLE, false, null, sBuffer, result)) {
-            WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
-            return sBuffer;
-        }
-        Boolean filterEnable = (Boolean) result.getRetData();
-        // get filterConds info
-        if (!WebParameterUtils.getFilterCondSet(req, false, true, sBuffer, 
result)) {
-            WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
-            return sBuffer;
-        }
-        Set<String> filterCondSet = (Set<String>) result.getRetData();
-        qryEntity.updModifyInfo(qryEntity.getDataVerId(),
-                consumeEnable, null, filterEnable, null);
-        Map<String, List<GroupConsumeCtrlEntity>> qryResultMap =
-                defMetaDataService.getGroupConsumeCtrlConf(groupSet, 
topicNameSet, qryEntity);
-        // build return result
-        int totalCnt = 0;
-        WebParameterUtils.buildSuccessWithDataRetBegin(sBuffer);
-        for (List<GroupConsumeCtrlEntity> consumeCtrlEntityList : 
qryResultMap.values()) {
-            if (consumeCtrlEntityList == null || 
consumeCtrlEntityList.isEmpty()) {
-                continue;
-            }
-            for (GroupConsumeCtrlEntity entity : consumeCtrlEntityList) {
-                if (entity == null
-                        || !WebParameterUtils.isFilterSetFullIncluded(
-                                filterCondSet, entity.getFilterCondStr())) {
-                    continue;
-                }
-                if (totalCnt++ > 0) {
-                    sBuffer.append(",");
-                }
-                entity.toWebJsonStr(sBuffer, true, true);
-            }
-        }
-        WebParameterUtils.buildSuccessWithDataRetEnd(sBuffer, totalCnt);
-        return sBuffer;
+        return innQueryGroupConsumeCtrlInfo(req, strBuff, result, false);
     }
 
     /**
@@ -295,6 +247,100 @@ public class WebGroupConsumeCtrlHandler extends 
AbstractWebHandler {
         return sBuffer;
     }
 
+    /**
+     * query group consume control info
+     *
+     * @param req       Http Servlet Request
+     * @param strBuff   string buffer
+     * @param result    process result
+     * @param onlyRetGroup  only return group name
+     * @return    process result
+     */
+    private StringBuilder innQueryGroupConsumeCtrlInfo(HttpServletRequest req,
+                                                       StringBuilder strBuff,
+                                                       ProcessResult result,
+                                                       boolean onlyRetGroup) {
+        // build query entity
+        GroupConsumeCtrlEntity qryEntity = new GroupConsumeCtrlEntity();
+        // get queried operation info, for createUser, modifyUser, 
dataVersionId
+        if (!WebParameterUtils.getQueriedOperateInfo(req, qryEntity, strBuff, 
result)) {
+            WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+            return strBuff;
+        }
+        // get group list
+        if (!WebParameterUtils.getStringParamValue(req,
+                WebFieldDef.COMPSGROUPNAME, false, null, strBuff, result)) {
+            WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+            return strBuff;
+        }
+        final Set<String> groupSet = (Set<String>) result.getRetData();
+        // check and get topicName field
+        if (!WebParameterUtils.getStringParamValue(req,
+                WebFieldDef.COMPSTOPICNAME, false, null, strBuff, result)) {
+            WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+            return strBuff;
+        }
+        final Set<String> topicNameSet = (Set<String>) result.getRetData();
+        // get consumeEnable info
+        if (!WebParameterUtils.getBooleanParamValue(req,
+                WebFieldDef.CONSUMEENABLE, false, null, strBuff, result)) {
+            WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+            return strBuff;
+        }
+        final Boolean consumeEnable = (Boolean) result.getRetData();
+        // get filterEnable info
+        if (!WebParameterUtils.getBooleanParamValue(req,
+                WebFieldDef.FILTERENABLE, false, null, strBuff, result)) {
+            WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+            return strBuff;
+        }
+        Boolean filterEnable = (Boolean) result.getRetData();
+        // get filterConds info
+        if (!WebParameterUtils.getFilterCondSet(req, false, true, strBuff, 
result)) {
+            WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+            return strBuff;
+        }
+        Set<String> filterCondSet = (Set<String>) result.getRetData();
+        // query matched records
+        qryEntity.updModifyInfo(qryEntity.getDataVerId(),
+                consumeEnable, null, filterEnable, null);
+        Map<String, List<GroupConsumeCtrlEntity>> qryResultMap =
+                defMetaDataService.getGroupConsumeCtrlConf(groupSet, 
topicNameSet, qryEntity);
+        // build return result
+        int totalCnt = 0;
+        WebParameterUtils.buildSuccessWithDataRetBegin(strBuff);
+        if (onlyRetGroup) {
+            for (String groupName : qryResultMap.keySet()) {
+                if (groupName == null) {
+                    continue;
+                }
+                if (totalCnt++ > 0) {
+                    strBuff.append(",");
+                }
+                strBuff.append("\"").append(groupName).append("\"");
+            }
+        } else {
+            for (List<GroupConsumeCtrlEntity> consumeCtrlEntityList : 
qryResultMap.values()) {
+                if (consumeCtrlEntityList == null || 
consumeCtrlEntityList.isEmpty()) {
+                    continue;
+                }
+                for (GroupConsumeCtrlEntity entity : consumeCtrlEntityList) {
+                    if (entity == null
+                            || !WebParameterUtils.isFilterSetFullIncluded(
+                            filterCondSet, entity.getFilterCondStr())) {
+                        continue;
+                    }
+                    if (totalCnt++ > 0) {
+                        strBuff.append(",");
+                    }
+                    entity.toWebJsonStr(strBuff, true, true);
+                }
+            }
+        }
+        WebParameterUtils.buildSuccessWithDataRetEnd(strBuff, totalCnt);
+        return strBuff;
+    }
+
     private StringBuilder innAddOrUpdGroupConsumeCtrlInfo(HttpServletRequest 
req,
                                                           StringBuilder 
sBuffer,
                                                           ProcessResult result,
diff --git 
a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupResCtrlHandler.java
 
b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupResCtrlHandler.java
index 9b23c86a1..6102e93e2 100644
--- 
a/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupResCtrlHandler.java
+++ 
b/inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupResCtrlHandler.java
@@ -44,6 +44,9 @@ public class WebGroupResCtrlHandler extends 
AbstractWebHandler {
         // register query method
         registerQueryWebMethod("admin_query_group_resctrl_info",
                 "adminQueryGroupResCtrlConf");
+        registerQueryWebMethod("admin_query_booked_resctrl_groups",
+                "adminQueryBookedResCtrlGroups");
+
         // register modify method
         registerModifyWebMethod("admin_add_group_resctrl_info",
                 "adminAddGroupResCtrlConf");
@@ -57,72 +60,32 @@ public class WebGroupResCtrlHandler extends 
AbstractWebHandler {
                 "adminDelGroupResCtrlConf");
     }
 
+    /**
+     * query booked resource-control group set
+     *
+     * @param req       Http Servlet Request
+     * @param strBuff   string buffer
+     * @param result    process result
+     * @return    process result
+     */
+    public StringBuilder adminQueryBookedResCtrlGroups(HttpServletRequest req,
+                                                       StringBuilder strBuff,
+                                                       ProcessResult result) {
+        return innQueryGroupResCtrlInfo(req, strBuff, result, true);
+    }
+
     /**
      * query group resource control info
      *
      * @param req       Http Servlet Request
-     * @param sBuffer   string buffer
+     * @param strBuff   string buffer
      * @param result    process result
      * @return    process result
      */
     public StringBuilder adminQueryGroupResCtrlConf(HttpServletRequest req,
-                                                    StringBuilder sBuffer,
+                                                    StringBuilder strBuff,
                                                     ProcessResult result) {
-        // build query entity
-        GroupResCtrlEntity qryEntity = new GroupResCtrlEntity();
-        // get queried operation info, for createUser, modifyUser, 
dataVersionId
-        if (!WebParameterUtils.getQueriedOperateInfo(req, qryEntity, sBuffer, 
result)) {
-            WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
-            return sBuffer;
-        }
-        // get group list
-        if (!WebParameterUtils.getStringParamValue(req,
-                WebFieldDef.COMPSGROUPNAME, false, null, sBuffer, result)) {
-            WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
-            return sBuffer;
-        }
-        final Set<String> inGroupSet = (Set<String>) result.getRetData();
-        // get resCheckStatus info
-        if (!WebParameterUtils.getBooleanParamValue(req,
-                WebFieldDef.RESCHECKENABLE, false, null, sBuffer, result)) {
-            WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
-            return sBuffer;
-        }
-        Boolean resCheckEnable = (Boolean) result.getRetData();
-        // get and valid qryPriorityId info
-        if (!WebParameterUtils.getQryPriorityIdParameter(req,
-                false, TBaseConstants.META_VALUE_UNDEFINED,
-                TServerConstants.QRY_PRIORITY_MIN_VALUE, sBuffer, result)) {
-            WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
-            return sBuffer;
-        }
-        int inQryPriorityId = (int) result.getRetData();
-        // get flowCtrlEnable info
-        if (!WebParameterUtils.getBooleanParamValue(req,
-                WebFieldDef.FLOWCTRLENABLE, false, null, sBuffer, result)) {
-            WebParameterUtils.buildFailResult(sBuffer, result.getErrMsg());
-            return sBuffer;
-        }
-        Boolean flowCtrlEnable = (Boolean) result.getRetData();
-        qryEntity.updModifyInfo(qryEntity.getDataVerId(),
-                resCheckEnable, TBaseConstants.META_VALUE_UNDEFINED, 
inQryPriorityId,
-                flowCtrlEnable, TBaseConstants.META_VALUE_UNDEFINED, null);
-        Map<String, GroupResCtrlEntity> groupResCtrlEntityMap =
-                defMetaDataService.getGroupCtrlConf(inGroupSet, qryEntity);
-        // build return result
-        int totalCnt = 0;
-        WebParameterUtils.buildSuccessWithDataRetBegin(sBuffer);
-        for (GroupResCtrlEntity entity : groupResCtrlEntityMap.values()) {
-            if (entity == null) {
-                continue;
-            }
-            if (totalCnt++ > 0) {
-                sBuffer.append(",");
-            }
-            sBuffer = entity.toWebJsonStr(sBuffer, true, true);
-        }
-        WebParameterUtils.buildSuccessWithDataRetEnd(sBuffer, totalCnt);
-        return sBuffer;
+        return innQueryGroupResCtrlInfo(req, strBuff, result, false);
     }
 
     /**
@@ -214,6 +177,89 @@ public class WebGroupResCtrlHandler extends 
AbstractWebHandler {
         return buildRetInfo(retInfo, sBuffer);
     }
 
+    /**
+     * query resource-control information
+     *
+     * @param req       Http Servlet Request
+     * @param strBuff   string buffer
+     * @param result    process result
+     * @param onlyRetGroup only return group information
+     * @return    process result
+     */
+    private StringBuilder innQueryGroupResCtrlInfo(HttpServletRequest req,
+                                                   StringBuilder strBuff,
+                                                   ProcessResult result,
+                                                   boolean onlyRetGroup) {
+        // build query entity
+        GroupResCtrlEntity qryEntity = new GroupResCtrlEntity();
+        // get queried operation info, for createUser, modifyUser, 
dataVersionId
+        if (!WebParameterUtils.getQueriedOperateInfo(req, qryEntity, strBuff, 
result)) {
+            WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+            return strBuff;
+        }
+        // get group list
+        if (!WebParameterUtils.getStringParamValue(req,
+                WebFieldDef.COMPSGROUPNAME, false, null, strBuff, result)) {
+            WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+            return strBuff;
+        }
+        final Set<String> inGroupSet = (Set<String>) result.getRetData();
+        // get resCheckStatus info
+        if (!WebParameterUtils.getBooleanParamValue(req,
+                WebFieldDef.RESCHECKENABLE, false, null, strBuff, result)) {
+            WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+            return strBuff;
+        }
+        Boolean resCheckEnable = (Boolean) result.getRetData();
+        // get and valid qryPriorityId info
+        if (!WebParameterUtils.getQryPriorityIdParameter(req,
+                false, TBaseConstants.META_VALUE_UNDEFINED,
+                TServerConstants.QRY_PRIORITY_MIN_VALUE, strBuff, result)) {
+            WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+            return strBuff;
+        }
+        int inQryPriorityId = (int) result.getRetData();
+        // get flowCtrlEnable info
+        if (!WebParameterUtils.getBooleanParamValue(req,
+                WebFieldDef.FLOWCTRLENABLE, false, null, strBuff, result)) {
+            WebParameterUtils.buildFailResult(strBuff, result.getErrMsg());
+            return strBuff;
+        }
+        Boolean flowCtrlEnable = (Boolean) result.getRetData();
+        // query matched records
+        qryEntity.updModifyInfo(qryEntity.getDataVerId(),
+                resCheckEnable, TBaseConstants.META_VALUE_UNDEFINED, 
inQryPriorityId,
+                flowCtrlEnable, TBaseConstants.META_VALUE_UNDEFINED, null);
+        Map<String, GroupResCtrlEntity> groupResCtrlEntityMap =
+                defMetaDataService.getGroupCtrlConf(inGroupSet, qryEntity);
+        // build return result
+        int totalCnt = 0;
+        WebParameterUtils.buildSuccessWithDataRetBegin(strBuff);
+        if (onlyRetGroup) {
+            for (GroupResCtrlEntity entity : groupResCtrlEntityMap.values()) {
+                if (entity == null) {
+                    continue;
+                }
+                if (totalCnt++ > 0) {
+                    strBuff.append(",");
+                }
+                
strBuff.append("\"").append(entity.getGroupName()).append("\"");
+            }
+        } else {
+            for (GroupResCtrlEntity entity : groupResCtrlEntityMap.values()) {
+                if (entity == null) {
+                    continue;
+                }
+                if (totalCnt++ > 0) {
+                    strBuff.append(",");
+                }
+                strBuff = entity.toWebJsonStr(strBuff, true, true);
+            }
+        }
+        WebParameterUtils.buildSuccessWithDataRetEnd(strBuff, totalCnt);
+        return strBuff;
+    }
+
     private StringBuilder innAddOrUpdGroupResCtrlConf(HttpServletRequest req,
                                                       StringBuilder sBuffer,
                                                       ProcessResult result,
@@ -412,5 +458,4 @@ public class WebGroupResCtrlHandler extends 
AbstractWebHandler {
         WebParameterUtils.buildSuccessWithDataRetEnd(sBuffer, totalCnt);
         return sBuffer;
     }
-
 }

Reply via email to