activiti官网实例项目activiti-explorer之获取流程节点

如上图在保存步骤中添加获取节点信息方法nodes();

方法如下:

  //获取所有节点
    JsonNode modelNode = new ObjectMapper().readTree(repositoryService.getModelEditorSource(model.getId()));
    BpmnModel model1 = new BpmnJsonConverter().convertToBpmnModel(modelNode);
    if(model1 != null) {
       Process process = model1.getProcesses().get(0);//process对象封装了全部的节点、连线、以及关口等信息
       Collection<FlowElement> flowElements = process.getFlowElements();//获得所有节点
       for(FlowElement flowElement : flowElements) {
          if(flowElement instanceof SequenceFlow){return;}//此处判断如果是“连线节点”,则跳过处理。
          System.out.println("flowelement id:" + flowElement.getId() + "  name:" + flowElement.getName() + "   class:" + flowElement.getClass().toString());
          if(flowElement instanceof EndEvent){//此处判断是否为结束节点,对应还有StartEvent开始节点
              String idd = "";
                List<SequenceFlow> alowList = ((org.activiti.bpmn.model.FlowNode) flowElement).getIncomingFlows();//获取入线信息-->获取所有上级节点
                List<SequenceFlow> sequenceFlowList = ((org.activiti.bpmn.model.FlowNode) flowElement).getOutgoingFlows();//获取出线信息-->获取所有下级节点
                for (SequenceFlow sequenceFlow : alowList) {//循环并可以获得所有上级节点id(父节点id),用于存储本地数据库
      sequenceFlow.getSourceRef();//对应父节点和子节点的id

      //其余属性可根据自己的需求来进行查看获取
                }

 

转载于:https://www.cnblogs.com/mangwusuozhi/p/10460085.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值