我正在开发go back
函数。
此go back
函数目前仅适用于用户任务活动。
为清楚起见,我模拟了流程定义。
StartEvent → → →squenceFlow_A→ → →A_UserTask→ → →squenceFlow_B → → →B_UserTask → → → endEvent.
假设当前活动为B_UserTask
此功能需要执行两个步骤:
1。从squenceFlow_A
2。完成上述步骤后,取消B_UserTask活动实例。
但是问题是如何从Java中的BpmnInstance获取squenceFlow_A
的信息?
我的意思是如何从java中的BpmnInstance获取两个活动之间的squenceflow信息?
如果将问题更改为“如何从Java中的BpmnInstance获取给定活动之前的第一个序列流信息?”也许很明显。
在以前的案例中,这个问题是“如何从Java中的BpmnInstance获取B_UserTask
之前的第一个序列流信息?”
我的英语太差了。希望我不会让你们对我感到难过。
顺便谢谢大家。
答案 0 :(得分:1)
我自己找到了解决方法。
这是代码。
String givenActivityId = "activityId";
BpmnModelInstance instance = repositoryService.getBpmnModelInstance("definitionId");
Collection<SequenceFlow> sequenceFlows = instance.getModelElementsByType(SequenceFlow.class);
for (SequenceFlow flow : sequenceFlows) {
if (flow.getTarget().getId().equals(givenActivityId)) {
LOG.info("Founded the sequenceFlow.");
return flow;
}
}
LOG.error("No such sequenceFlow");
欢呼!