java model监听_Java BpmnModel.getFlowElement方法代码示例

import org.activiti.bpmn.model.BpmnModel; //导入方法依赖的package包/类

/**

* 配置用户任务.

*/

public void processUserTask(Node node, BpmnModel bpmnModel, int priority,

BpmConfBase bpmConfBase) {

BpmConfNodeManager bpmConfNodeManager = getBpmConfNodeManager();

BpmConfNode bpmConfNode = bpmConfNodeManager.findUnique(

"from BpmConfNode where code=? and bpmConfBase=?",

node.getId(), bpmConfBase);

if (bpmConfNode == null) {

bpmConfNode = new BpmConfNode();

bpmConfNode.setCode(node.getId());

bpmConfNode.setName(node.getName());

bpmConfNode.setType(node.getType());

bpmConfNode.setConfUser(0);

bpmConfNode.setConfListener(0);

bpmConfNode.setConfRule(0);

bpmConfNode.setConfForm(0);

bpmConfNode.setConfOperation(0);

bpmConfNode.setConfNotice(0);

bpmConfNode.setPriority(priority);

bpmConfNode.setBpmConfBase(bpmConfBase);

bpmConfNodeManager.save(bpmConfNode);

}

// 配置参与者

UserTask userTask = (UserTask) bpmnModel.getFlowElement(node.getId());

int index = 1;

index = this.processUserTaskConf(bpmConfNode, userTask.getAssignee(),

0, index);

for (String candidateUser : userTask.getCandidateUsers()) {

index = this.processUserTaskConf(bpmConfNode, candidateUser, 1,

index);

}

for (String candidateGroup : userTask.getCandidateGroups()) {

this.processUserTaskConf(bpmConfNode, candidateGroup, 2, index);

}

// 配置监听器

this.processListener(userTask.getExecutionListeners(), bpmConfNode);

this.processListener(userTask.getTaskListeners(), bpmConfNode);

// 配置表单

this.processForm(userTask, bpmConfNode);

// 会签

if (userTask.getLoopCharacteristics() != null) {

BpmConfCountersign bpmConfCountersign = new BpmConfCountersign();

bpmConfCountersign.setType(0);

bpmConfCountersign.setRate(100);

bpmConfCountersign.setBpmConfNode(bpmConfNode);

bpmConfCountersign.setSequential(userTask.getLoopCharacteristics()

.isSequential() ? 1 : 0);

getBpmConfCountersignManager().save(bpmConfCountersign);

}

// 更新TaskDefinition

TaskDefinitionConnector taskDefinitionConnector = this

.getTaskDefinitionConnector();

TaskDefinitionDTO taskDefinitionDto = new TaskDefinitionBuilder()

.setUserTask(userTask)

.setProcessDefinitionId(bpmConfBase.getProcessDefinitionId())

.build();

taskDefinitionConnector.create(taskDefinitionDto);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值