`

Activiti获得下一个节点

 
阅读更多
PvmTransition表示箭头的类。而这些类是从
List<PvmTransition> list = ActivityImpl.getOutgoingTransitions() ;


从任务id获得指向外面的连接线


ProcessDefinitionEntity.getActivities()



Task currentTask = (Task) taskService.createTaskQuery().taskId(taskId)
				.singleResult();


/**
	 * 
	 *@User :Test
	 *@date :2014-6-26 下午02:45:34
	 *@return :Execution 
	 *@userFor :获得执行节点 ExecutionEntity.getActivityId() 获得节点id
     *currentTask.getExecutionId()
	 */
  private ExecutionEntity getExecution(String executionId) {
		ExecutionEntity execution = (ExecutionEntity) (Execution) runtimeService
				.createExecutionQuery().executionId(executionId).singleResult();
		return execution;
	}



	/**
	 * 
	 *@User   :Test
	 *@date   :2014-6-26 下午02:38:39
	 *@return :ActivityImpl
	 *@userFor :根据flowId获得下一个节点 ExecutionEntity.getActivityId()
	 */
	private ActivityImpl getNextTask(ProcessDefinitionEntity processDefinition,
			String activitiId, String flowId) {
		ActivityImpl result = null;
		boolean breakFlag = false;
		List activitiList = processDefinition.getActivities();
		for (Iterator iterator = activitiList.iterator(); iterator.hasNext();) {
			ActivityImpl activityImpl = (ActivityImpl) iterator.next();
			if (breakFlag)
				break;
			String id = activityImpl.getId();
			if (activitiId.equals(id)) {
				List outTransitions = activityImpl.getOutgoingTransitions();
				for (Iterator iterator1 = outTransitions.iterator(); iterator1
						.hasNext();) {
					PvmTransition pvm = (PvmTransition) iterator1.next();
					if (flowId.length() > 0 && pvm.getId().equals(flowId)) {
						result = (ActivityImpl) pvm.getDestination();
						breakFlag = true;
						break;
					}
				}

			}
		}
		return result;
	}


从一个节点转向另一个节点 最后还是得需要执行taskService.complete(taskId,varies);
// 获取当前节点的所以出口(这个方法做的不好,应该返回List<TransitionImpl>才对的,这样就不用下面的强转换了,我想以后版本会改了这点)
		List<PvmTransition> pvmTransitionList = activeActivity
				.getOutgoingTransitions();
		for (PvmTransition pvmTransition : pvmTransitionList) {
			TransitionImpl transitionImpl = (TransitionImpl) pvmTransition;// 强转为TransitionImpl
			transitionImpl.setDestination(endActivity);
		}
        //最后还是得需要执行complete方法
	taskService.complete(taskId);
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Activiti6.0教程例子下载

    4. TaskService: 在Activiti中业务流程定义中的每一个执行节点被称为一个Task,对流程中的数据存取,状态变更等操作均需要在Task中完成。TaskService提供了对用户Task 和Form相关的操作。它提供了运行时任务查询、...

    Activiti5.13用户手册.zip

    获得一个分支的所有活动节点 - URL参数 15.93. 获得一个分支的所有活动节点 - 响应码 15.94. 获取分支列表 - URL参数 15.95. 获取分支列表 - 响应码 15.96. 查询分支 - 响应码 15.97. 获取分支的变量列表 - ...

    java开源包1

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包11

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包2

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包3

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包6

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包5

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包10

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包4

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包8

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包7

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包9

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包101

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    Java资源包01

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    JAVA上百实例源码以及开源项目

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    JAVA上百实例源码以及开源项目源代码

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

Global site tag (gtag.js) - Google Analytics