@Override
    public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
        ApplyGroupProcessForm form = (ApplyGroupProcessForm) context.getProcessForm();
        List<String> groupList = Arrays.asList(form.getInlongGroupId().split(InlongConstants.COMMA));
        for (String groupId : groupList) {
            log.info("begin to execute ApproveApplyProcessListener for groupId={}", groupId);

            InlongGroupInfo groupInfo = groupService.get(groupId);
            GroupResourceProcessForm processForm = new GroupResourceProcessForm();
            processForm.setGroupInfo(groupInfo);
            List<InlongStreamInfo> streamList = streamService.list(groupId);
            processForm.setStreamInfos(streamList);

            // may run for long time, make it async processing
            UserInfo userInfo = LoginUserUtils.getLoginUser();
            EXECUTOR_SERVICE.execute(
                    () -> workflowService.startAsync(ProcessName.CREATE_GROUP_RESOURCE, userInfo, processForm));
            log.info("success to execute ApproveApplyProcessListener for groupId={}", groupId);
        }
        return ListenerResult.success();
    }
The listener that approves to apply for InlongGroup.
<p/>
After approval, start other follow-up processes.
inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/listener/group/apply/ApproveApplyProcessListener.java