手动添加终止结束事件

public void parallel_build_test01() {
        BpmnModelInstance modelInstance = Bpmn.createExecutableProcess("process")
                .startEvent()
                .subProcess()
                .embeddedSubProcess()
                .startEvent()
                .inclusiveGateway("inclusive_open")
                .condition("br_1", "${type=='all' or ids.contains('s01')")
                .serviceTask()
                .exclusiveGateway("exclusive_in")
                .receiveTask()
                .inclusiveGateway("inclusive_close")
                .moveToLastGateway()
                .connectTo("inclusive_close")
                .moveToNode("inclusive_open")
                .condition("br_2", "${type=='all' or ids.contains('u01')")
                .userTask("u01")
                .connectTo("inclusive_close")
                .moveToNode("inclusive_open")
                .condition("br_3", "${type=='all' or ids.contains('u02')")
                .userTask("u02")
                .connectTo("inclusive_close")
                .exclusiveGateway("exclusive_in_out")
                .condition("inclusive_result1", "${localPass==1}")
                .endEvent("sub_end")
                .moveToLastGateway()
                .condition("inclusive_result2", "${localPass==0}")
                .endEvent("terminate_end1")
                .subProcessDone()
                .exclusiveGateway("exclusive_out")
                .condition("out_result1", "${pass==1}")
                .endEvent("process_end")
                .moveToLastGateway()
                .condition("out_result2", "${pass==0}")
                .endEvent("terminate_end2")
                .done();

         创建终止结束事件
        EndEvent terminateEnd1 = modelInstance.getModelElementById("terminate_end1");
        TerminateEventDefinition terminateEventDefinition1 = modelInstance.newInstance(TerminateEventDefinition.class);
        terminateEnd1.addChildElement(terminateEventDefinition1);
        EndEvent terminateEnd2 = modelInstance.getModelElementById("terminate_end2");
        TerminateEventDefinition terminateEventDefinition2 = modelInstance.newInstance(TerminateEventDefinition.class);
        terminateEnd2.addChildElement(terminateEventDefinition2);
        // 验证并写入模型到文件
        Bpmn.validateModel(modelInstance);
        Bpmn.writeModelToFile(new File("parallelBuild.bpmn"), modelInstance);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值