PackageCom.tabchanj.activiti;Importjava.util.List;ImportOrg.activiti.engine.HistoryService;ImportOrg.activiti.engine.ProcessEngine;ImportOrg.activiti.engine.ProcessEngines;ImportOrg.activiti.engine.RepositoryService;ImportOrg.activiti.engine.RuntimeService;ImportOrg.activiti.engine.TaskService;Importorg.activiti.engine.history.HistoricActivityInstance;ImportOrg.activiti.engine.history.HistoricActivityInstanceQuery;ImportOrg.activiti.engine.repository.DeploymentBuilder;Importorg.activiti.engine.runtime.ProcessInstance;ImportOrg.activiti.engine.task.Task;ImportOrg.activiti.engine.task.TaskQuery;Importorg.junit.Test;/*** Test Process rule creation and release Activiti overall idea: * 1. Get the core Processengine object 2. According to the requirements, obtain the corresponding service object * 3. Use the method of the service object to complete the corresponding function Activiti query ideas: 1. Get demand Acquisition corresponding Service Object 2. Adapting the service object to create a Query object 3. Set query Criteria * 3. Use Query object to find * *@authorTab **/ Public classFlowtest {PrivateProcessengine engine =Processengines.getdefaultprocessengine (); /*** Create rules: Use warehouse objects for storing rules * *@throwsException*/@Test Public voidTestdeployprocess ()throwsException {//1, get the Warehouse service objectRepositoryservice rs =Engine.getrepositoryservice (); //--------Complete the function------------------Deploymentbuilder builder = rs.createdeployment ();//To create a deployment Build object//get process rule diagramBuilder.addclasspathresource ("LEAVEFLOW.BPMN"); Builder.addclasspathresource ("Leaveflow.png"); //DeploymentBuilder.deploy (); } /*** Open a process * *@throwsException*/@Test Public voidTeststartprocess ()throwsException {//Get startup serviceRuntimeservice Run =Engine.getruntimeservice (); //Open ProcessString Processdefinitionid = "Leaveflow:1:4"; ProcessInstance instance=Run.startprocessinstancebyid (Processdefinitionid); System.out.println ("instance==" +instance); } @SuppressWarnings ("Deprecation") @Test Public voidTestquerytask ()throwsException {//Get task Service objectTaskservice ts =Engine.gettaskservice (); //To Create a query objectTaskquery TQ =Ts.createtaskquery (); //Set Filter CriteriaString assignee = "Zhang San Manager"; Tq.taskassignee (Assignee). Orderbytaskcreatetime (). ASC (); //Execute Querylist<task> tasks =tq.list (); System.out.println ("========================" +assignee+ "Task List ==================="); for(Task task:tasks) {System.out.println ("Performer:" +task.getassignee () + "task ID:" +task.getid () + ", Task Name:" +task.getname () + ", Task settling time:" +task.getcreatetime (). toLocaleString ()); } } /*** Processing Task *@throwsException*/@Test Public voidTestexecutetask ()throwsException {//Get task Service objectTaskservice ts =Engine.gettaskservice (); //Perform Tasks//ts.complete ("7502");Ts.complete ("10002"); Testquerytask (); } /*** Query History task *@throwsException*/@Test Public voidTesthistory ()throwsException {//Get historical Service objectsHistoryservice HS =Engine.gethistoryservice (); //Create a History query objectHistoricactivityinstancequery ha =Hs.createhistoricactivityinstancequery (); //Set FilterString processinstanceid= "2501"; List<HistoricActivityInstance> Hiss =Ha.processinstanceid (Processinstanceid). Orderbyhistoricactivityinstanceendtime (). DESC (). list (); System.out.println (Hiss.size ()); for(historicactivityinstance Historicactivityinstance:hiss) {System.out.println (historicactivityinstance); } }}
"Activiti" A simple single-line process of rule deployment, process initiation, Process execution, task query, task processing throughout the process