⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 firstflowprocesstest.java

📁 一个简单但功能齐备的Jbpm申请借款的实例工程
💻 JAVA
字号:
package com.firstflow;import java.util.Collection;import java.util.Iterator;import java.util.List;import junit.framework.TestCase;import org.jbpm.context.exe.ContextInstance;import org.jbpm.graph.def.ProcessDefinition;import org.jbpm.graph.def.Transition;import org.jbpm.graph.exe.ProcessInstance;import org.jbpm.taskmgmt.exe.TaskInstance;public class FirstFlowProcessTest extends TestCase {		    ProcessDefinition pdf ;    ProcessInstance pi;       	public void test4000YuanApplication() throws Exception {		deployProcessDefinition();		createProcessInstance("linly");		submitApplication(4000);		approveByManager(true);		checkTasks();	}	public void test6000YuanApplication() throws Exception {		deployProcessDefinition();		createProcessInstance("linly");		submitApplication(6000);		approveByManager(true);		approveByPresident(true);		checkTasks();	}		public void test7000YuanApplication() throws Exception {		deployProcessDefinition();		createProcessInstance("linly");		submitApplication(7000);		approveByManager(true);		approveByPresident(false);		checkTasks();	}		/**	 * 部署流程定义	 * @throws Exception	 */    protected void deployProcessDefinition() throws Exception{        System.out.println("==FirstFlowProcessTest.deployProcessDefinition()==");        pdf = ProcessDefinition.parseXmlResource("firstflow/processdefinition.xml");        assertNotNull("Definition should not be null", pdf);            }        /**     * 生成流程实例      */    protected void createProcessInstance(String user){        System.out.println("==FirstFlowProcessTest.createProcessInstance()==");        assertNotNull("Definition should not be null", pdf);        //生成实例    	pi = pdf.createProcessInstance();    	assertNotNull("processInstance should not be null", pi);    	//设置流程发起人    	pi.getContextInstance().createVariable("initiator", user);    	//触发流程转向    	pi.signal();    }        /**     * 填写提交申请单     * @param money     */    protected void submitApplication(int money){    	        System.out.println("==FirstFlowProcessTest.submitApplication()==");                TaskInstance ti = (TaskInstance)pi.getTaskMgmtInstance().getTaskInstances().iterator() .next() ;                System.out.println("ti.actor = " + ti.getActorId());                ContextInstance ci = ti.getContextInstance();        ci.setVariable("money",new Integer(money));        ti.end();    	    }        /**     * 部门经理审批     * @param pass     */        @SuppressWarnings("unchecked")    protected void approveByManager(boolean pass){    	        System.out.println("==FirstFlowProcessTest.approveByManager()==");                Iterator<TaskInstance> it = pi.getTaskMgmtInstance().getTaskInstances().iterator();                for( ;it.hasNext(); ){        	        	TaskInstance ti = it.next();        	        	if(ti.getActorId().equals("DepartmentManager")){                List<Transition> transitions = ti.getToken().getNode().getLeavingTransitions();                for(Transition t : transitions){                	System.out.println("----Transition" + t.getName());                }                assertEquals("DepartmentManager",ti.getActorId());                if(pass){                	 ti.end("部门经理审批通过");    	                }else{                	ti.end("部门经理驳回");                }                return;        	}        }            }        /**     * 总经理审批     * @param pass     */    @SuppressWarnings("unchecked")    protected void approveByPresident(boolean pass){    	   System.out.println("==FirstFlowProcessTest.approveByPresident()==");    	              Iterator<TaskInstance> it = pi.getTaskMgmtInstance().getTaskInstances().iterator();                      for( ;it.hasNext(); ){           		           	TaskInstance ti = it.next();	           		           	if(ti.getActorId().equals("President")){	                List<Transition> transitions = ti.getToken().getNode().getLeavingTransitions();	                for(Transition t : transitions){	                	System.out.println("----Transition" + t.getName());	                }	                assertEquals("President",ti.getActorId());	                if(pass){	                	 ti.end("总经理审批通过");    		                }else{	                	ti.end("总经理驳回");	                }	                return;	           	}           }    }        /**     * 打印任务记录     */    @SuppressWarnings("unchecked")    protected void checkTasks(){               System.out.println("==FirstFlowProcessTest.checkTasks()==");        Collection<TaskInstance> coll = pi.getTaskMgmtInstance().getTaskInstances();        System.out.println("====Process has task:====");        for(TaskInstance ti : coll){               System.out.println("=="+ti.getName()+"==");               System.out.println("=="+ti.getActorId()+"==");               System.out.println("=="+ti.getVariables().toString() +"==");        }        System.out.println("====end====");       }         }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -