private boolean getFilterJsonSetInfo(HttpServletRequest req, boolean isAddOp,
            BaseEntity defOpEntity, StringBuilder sBuffer,
            ProcessResult result) {
        if (!WebParameterUtils.getJsonArrayParamValue(req,
                WebFieldDef.FILTERJSONSET, true, null, result)) {
            return result.isSuccess();
        }
        List<Map<String, String>> groupJsonArray =
                (List<Map<String, String>>) result.getRetData();
        GroupConsumeCtrlEntity itemEntity;
        Map<String, GroupConsumeCtrlEntity> addRecordMap = new HashMap<>();
        Set<String> configuredTopicSet =
                defMetaDataService.getDeployedTopicSet();
        for (Map<String, String> itemValueMap : groupJsonArray) {
            // check and get operation info
            if (!WebParameterUtils.getAUDBaseInfo(itemValueMap,
                    isAddOp, defOpEntity, sBuffer, result)) {
                return result.isSuccess();
            }
            final BaseEntity itemOpEntity = (BaseEntity) result.getRetData();
            // get group configure info
            if (!WebParameterUtils.getStringParamValue(itemValueMap,
                    WebFieldDef.GROUPNAME, true, "", sBuffer, result)) {
                return result.isSuccess();
            }
            final String groupName = (String) result.getRetData();
            if (!WebParameterUtils.getStringParamValue(itemValueMap,
                    WebFieldDef.TOPICNAME, true, "", sBuffer, result)) {
                return result.isSuccess();
            }
            String topicName = (String) result.getRetData();
            if (!configuredTopicSet.contains(topicName)) {
                result.setFailResult(sBuffer
                        .append(WebFieldDef.TOPICNAME.name)
                        .append(" ").append(topicName)
                        .append(" is not configure, please configure first!").toString());
                sBuffer.delete(0, sBuffer.length());
                return result.isSuccess();
            }
            // check and get condStatus field
            if (!getCondStatusParamValue(req, false,
                    (isAddOp ? EnableStatus.STATUS_DISABLE : null), sBuffer, result)) {
                return result.isSuccess();
            }
            EnableStatus filterEnable = (EnableStatus) result.getRetData();
            // get filterConds info
            if (!WebParameterUtils.getFilterCondString(req,
                    false, isAddOp, sBuffer, result)) {
                return result.isSuccess();
            }
            String filterCondStr = (String) result.getRetData();
            itemEntity =
                    new GroupConsumeCtrlEntity(itemOpEntity, groupName, topicName);
            itemEntity.updModifyInfo(itemOpEntity.getDataVerId(),
                    null, null, filterEnable, filterCondStr);
            addRecordMap.put(itemEntity.getRecordKey(), itemEntity);
        }
        // check result
        if (addRecordMap.isEmpty()) {
            result.setFailResult(sBuffer
                    .append("Not found record info in ")
                    .append(WebFieldDef.FILTERJSONSET.name)
                    .append(" parameter!").toString());
            sBuffer.delete(0, sBuffer.length());
            return result.isSuccess();
        }
        result.setSuccResult(addRecordMap);
        return result.isSuccess();
    }
Inner method: add group filter info in batch

@param req       Http Servlet Request
@param sBuffer   string buffer
@param result    process result
@param isAddOp   whether add operation
@return    process result
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebAdminGroupCtrlHandler.java