activiti7 获取流程图各节点信息

网上都是5或者6版本的 获取流程图节点,连线列表的信息。
我想知道用activiti7版本的怎么获取流程图各节点信息,
因为我想查出连线和节点信息去设置一些自定义的信息。

``` // 查询当前的流程实例
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());
//获取当前流程的流程定义processDefinitionEntity,然后根据流程定义获得所有的节点
ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) repositoryService.createProcessDefinitionQuery()
.processDefinitionId(processInstance.getProcessDefinitionId()).singleResult();

    processDefinitionEntity.getActivities()
最主要的是 processDefinitionEntity.getActivities() 再activiti7版本没有这个get方法了。就不知道怎么用了。求教各位大神,帮我研究下。
  /**
   * 获取流程节点
   *
   * @param definitionId 流程定义ID
   * @param processId 流程ID(可能为子流程),也就是流程定义Key
   * @return
   */
  protected List<FlowElement> getProcessDefinitionNodes(String definitionId, String processId) {
    BpmnModel bpmnModel = repositoryService.getBpmnModel(definitionId);

    List<Process> processes = Lists.newArrayList();

    if (StrUtil.isNotEmpty(processId)) {
      processes.add(bpmnModel.getProcessById(processId));
    } else {
      processes = bpmnModel.getProcesses();
    }

    List<FlowElement> flowElements = Lists.newArrayList();
    processes.forEach(process -> flowElements.addAll(process.getFlowElements()));

    return flowElements;
  }  

@GetMapping(value = "process/def/nodes/userTask")
  public AppResult getUserTaskNodes(
      @RequestParam(value = "id") String definitionId,
      @RequestParam(value = "processId", required = false) String processId) {

    List<FlowElement> flowElements = getProcessDefinitionNodes(definitionId, processId);
    List<UserTask> userTasks = Lists.newArrayList();
    flowElements.forEach(
        node -> {
          if (node instanceof UserTask) {
            userTasks.add((UserTask) node);
          }
        });

    return buildSuccess(userTasks);
  }

// 返回数据格式(节点)

{
	"code": 200,
	"message": "操作成功",
	"data": [
		{
			"id": "Activity_14xmp0o",
			"xmlRowNumber": 7,
			"xmlColumnNumber": 5,
			"name": "一级审批",
			"asynchronous": false,
			"notExclusive": false,
			"incomingFlows": [
				{
					"id": "Flow_1s2ypsj",
					"xmlRowNumber": 20,
					"xmlColumnNumber": 5,
					"sourceRef": "StartEvent_1",
					"targetRef": "Activity_14xmp0o",
					"waypoints": [
						238,
						470,
						350,
						470
					]
				}
			],
			"outgoingFlows": [
				{
					"id": "Flow_1xbbtsl",
					"xmlRowNumber": 21,
					"xmlColumnNumber": 5,
					"sourceRef": "Activity_14xmp0o",
					"targetRef": "Gateway_0astncq",
					"waypoints": [
						450,
						470,
						555,
						470
					]
				}
			],
			"forCompensation": false,
			"formKey": "one-level",
			"candidateGroups": [
				"one-approval"
			],
			"extended": false,
			"exclusive": true
		},
		{
			"id": "Activity_19kus41",
			"xmlRowNumber": 11,
			"xmlColumnNumber": 5,
			"name": "二级审批",
			"asynchronous": false,
			"notExclusive": false,
			"incomingFlows": [
				{
					"id": "Flow_101i5h2",
					"xmlRowNumber": 34,
					"xmlColumnNumber": 5,
					"name": "通过",
					"conditionExpression": "${gateway==true}",
					"sourceRef": "Gateway_0astncq",
					"targetRef": "Activity_19kus41",
					"waypoints": [
						580,
						445,
						580,
						340,
						670,
						340
					]
				}
			],
			"outgoingFlows": [
				{
					"id": "Flow_0zdqnmv",
					"xmlRowNumber": 42,
					"xmlColumnNumber": 5,
					"sourceRef": "Activity_19kus41",
					"targetRef": "Gateway_0jvvxgy",
					"waypoints": [
						770,
						340,
						875,
						340
					]
				}
			],
			"forCompensation": false,
			"formKey": "two-level",
			"candidateGroups": [
				"two-approval"
			],
			"extended": false,
			"exclusive": true
		}
	]
}

正好看到了,你可以这样做

博主,你这个问题解决了吗

 

https://blog.csdn.net/fh1810038/article/details/80967446

一个能打的都没有