java測試1,java測試

來源:互聯網
上載者:User

java測試1,java測試

發大水

package com.java1234.activiti.variable;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngines;import org.activiti.engine.TaskService;import org.activiti.engine.repository.Deployment;import org.activiti.engine.runtime.ProcessInstance;import org.activiti.engine.task.Task;import org.junit.Test;import com.java1234.activiti.model.Student;public class VariableTest {/** * 擷取預設流程引擎執行個體,預設讀取設定檔activiti.cfg.xml */private ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();/** * 1.部署流程定義. */@Testpublic void deployWidthClassPath(){Deployment deployment=processEngine.getRepositoryService()// 部署相關service.createDeployment()//建立部署對象.addClasspathResource("diagrams/StudentLeaveProcess.bpmn")//載入資源檔.addClasspathResource("diagrams/StudentLeaveProcess.png") //載入資源圖片.name("學生請假流程")//設定名稱.deploy();//部署System.out.println("流程部署Id:"+deployment.getId());System.out.println("流程部署Name:"+deployment.getName());/*流程部署Id:15001流程部署Name:學生請假流程-------------------## 流程部署表select * from act_re_deployment;## 流程定義表select * from act_re_procdef;## 資源檔表select * from act_ge_bytearray; */}/** * 1.1查詢所以流程部署,名稱查詢,like查詢 */@Test public void findDeploy(){//processEngine.getRepositoryService().get}/** * 2.啟動流程執行個體 */@Testpublic void start(){  ProcessInstance pi=processEngine.getRuntimeService() //運行服務.startProcessInstanceByKey("studentLeaveProcess"); //資料庫中act_re_procdef的key_欄位    System.out.println("流程執行個體ID:"+pi.getId());  System.out.println("流程定義ID:"+pi.getProcessDefinitionId());//流程定義ID/*流程執行個體ID:17501 ,30001流程定義ID:studentLeaveProcess:1:15004 */}/** * 3.查詢任務 * */@Testpublic void findTask(){List<Task> taskList=processEngine.getTaskService() //任務服務執行個體.createTaskQuery()//建立任務查詢.taskAssignee("王五")// 查詢  張三 ,李四,後歐洲王五.list();for(Task task:taskList){// act_ru_task; 欄位  裡面的資訊System.out.println("任務Id:"+task.getId());System.out.println("任務Name:"+task.getName());System.out.println("任務建立時間:"+task.getCreateTime());System.out.println("任務委派人:"+task.getAssignee());System.out.println("任務執行個體ID:"+task.getProcessInstanceId());}/*列印結果:  任務Id:17504,  30004任務Name:學生請假申請任務建立時間:Thu Jul 28 15:24:50 CST 2016任務委派人:張三任務執行個體ID:17501,30001 */}/** * 4.完成任務,讓張三完成任務 */@Testpublic void completeTask(){processEngine.getTaskService()//任務伺服器.complete("50002");  //使用上面: 任務Id:(17504)System.out.println("任務完成!");}/** * 設定流程變數資料 * 42504,47502,如果再用42504會出現異常! */private String taskId="47502";@Testpublic void setVariableValues(){/* # 運行時參數設定 , 先這個表的資料會在任務結束的時候被清空select * from act_ru_variable; */TaskService taskService=processEngine.getTaskService(); //任務服務執行個體//String taskId="";taskService.setVariable(taskId, "days", 2);taskService.setVariable(taskId, "date", new Date());taskService.setVariable(taskId, "reason","發燒了");Student student=new Student();student.setId(1);student.setName("張三");taskService.setVariable(taskId, "student", student);System.out.println("設定完成!");}@Testpublic void getVariableValues(){TaskService taskService=processEngine.getTaskService(); //任務服務執行個體//String taskId="";/** * 當任務提交的時候,下一個人可以根據自己的任務id擷取 到這些變數值 * 使用 42504 設定參數,使用47502也可擷取到 */Integer days = (Integer) taskService.getVariable(taskId, "days");Date date = (Date) taskService.getVariable(taskId, "date");String reason= (String) taskService.getVariable(taskId, "reason");Student student=(Student) taskService.getVariable(taskId, "student");System.out.println("days:"+days+"");System.out.println("date:"+date);System.out.println("reason:"+reason);System.out.println("student:"+student);System.out.println("------查詢完成!");/*days:2date:Thu Jul 28 17:52:45 CST 2016reason:發燒了student:Student [id=1, name=張三] */}/** * 這種設定會覆蓋資料! */@Testpublic void setVariableMap(){TaskService taskService=processEngine.getTaskService(); //任務服務執行個體Map<String,  Object> variables =new HashMap<String, Object>();variables.put("days", 3);variables.put("date", new Date());variables.put("reason","發燒了22");Student student=new Student();student.setId(2);student.setName("張三1");variables.put("student", student);/** *這種設定方法會覆蓋task資料! */taskService.setVariables(taskId, variables);System.out.println("設定完成!");}@Testpublic void getVariableMap(){TaskService taskService=processEngine.getTaskService(); //任務服務執行個體//String taskId="";/** * 當任務提交的時候,下一個人可以根據自己的任務id擷取 到這些變數值 * 使用 42504 設定參數,使用47502也可擷取到 */Map<String ,Object> variables = (Map<String, Object>) taskService.getVariables(taskId);System.out.println(variables);System.out.println("------查詢完成!");}}

  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.