jbpm中的流程变量

package com.njupt.jbpm;

import java.util.Map;
import java.util.Set;

import org.jbpm.api.Configuration;
import org.jbpm.api.ExecutionService;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.TaskService;
import org.junit.Test;

public class ProcessVariableTest {

	private ProcessEngine processEngine = Configuration.getProcessEngine();
	private ExecutionService executionService = processEngine.getExecutionService();
	private TaskService taskService = processEngine.getTaskService();

	// 启动流程实例
	@Test
	public void testStartProcessInstance() throws Exception {
		ProcessInstance pi = processEngine.getExecutionService().startProcessInstanceByKey("test");
		System.out.println("id=" + pi.getId() + ", processDefinitionId=" + pi.getProcessDefinitionId());
	}

	// 设置流程变量
	@Test
	public void testSetVariable() throws Exception {
		String executionId = "test.110001";
		// processEngine.getExecutionService().setVariable(executionId, "请假天数", new Integer(3));

		Form form = new Form();
		form.setId(1L); // 通过设置id让其与数据库中的id为1的记录对应
		form.setTitle("张三要请假3天");
		processEngine.getExecutionService().setVariable(executionId, "form", form);

		// 通过Execution设置流程变量
		// executionService.setVariable(executionId, name, value); // 设置一个
		// executionService.setVariables(executionId, variablesMap); // 设置多个

		// 通过Task设置流程变量
		// taskService.setVariables(taskId, variablesMap); // 设置多个

		// 在启动流程实例时,同时设置一些流程变量
		// executionService.startProcessInstanceByKey(key);
		// executionService.startProcessInstanceByKey(key, variablesMap);

		// 在完成任务时,同时设置一些流程变量
		// taskService.completeTask(taskId);
		// taskService.completeTask(taskId, variablesMap);
	}

	// 获取流程变量
	@Test
	public void testGetVariable() throws Exception {
		String executionId = "test.110001";
		// Integer days = (Integer) processEngine.getExecutionService().getVariable(executionId, "请假天数");
		// System.out.println("请假天数 = " + days);

		Form form = (Form) processEngine.getExecutionService().getVariable(executionId, "form");
		System.out.println(form);

		// // 通过Execution获取流程变量
		// Object value = executionService.getVariable(executionId, variableName); // 获取一个
		// Set<String> namesSet = executionService.getVariableNames(executionId); // 获取所有变量的名称
		// Map<String, Object> map = executionService.getVariables(executionId, variableNamesSet); // 获取多个

		// 通过Task获取流程变量
		// taskService.getVariable(taskId, variableName);
		// taskService.getVariableNames(taskId);
		// taskService.getVariables(taskId, variableNames);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅气的东哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值