`
man1900
  • 浏览: 429168 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

取得任务节点的对外所有跳转Transition对象

    博客分类:
  • JBPM
 
阅读更多

在流程的任务里,我们需要把当前的任务节点的下一步的跳转选择显示出来,让用户方便选择跳转。如果我们拿到的是TaskId,又如何显示其对应的下一步跳转节点呢。

 

我们知道taskService里有一个方法可以取得其所有跳转的名称,如下所示:

 

Set<String>outcomes=taskService.getOutcomes(taskId);

 

 

而有时我们需要更方便的信息显示,我们不仅需要使用当前节点的跳转路径,同时希望显示给用户当前节点的对应下面的跳转的节点是什么名称。这样我们需要扩展一下,如下所示:

 

public List<Transition> getTransitionsByTaskId(String taskId){
		TaskImpl task = (TaskImpl) taskService.getTask(taskId);
		EnvironmentFactory environmentFactory = (EnvironmentFactory) processEngine;
		Environment env = environmentFactory.openEnvironment();
		try {
			ProcessDefinitionImpl pd = (ProcessDefinitionImpl) task
					.getProcessInstance().getProcessDefinition();
			ActivityImpl activityFind = pd.findActivity(task.getActivityName());

			if (activityFind != null) {
				return activityFind.getOutgoingTransitions();
			}

		} finally {
			env.close();
		}
		return null;
	 }

 

其效果可以如下所示:

  • 大小: 36.9 KB
3
2
分享到:
评论
1 楼 houyongbo03 2010-08-04  
请作者能不能谈谈,查看流程图时的红框是怎么实现的

相关推荐

Global site tag (gtag.js) - Google Analytics