}
UserTask userTask = (UserTask) baseElement;
logger.info("bpmnParse : {}, userTask : {}", bpmnParse, userTask);
TaskDefinition taskDefinition = (TaskDefinition) bpmnParse
.getCurrentActivity().getProperty(
UserTaskParseHandler.PROPERTY_TASK_DEFINITION);
ActivitiListener activitiListener = new ActivitiListener();
activitiListener.setEvent(TaskListener.EVENTNAME_ASSIGNMENT);
activitiListener
.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION);
activitiListener.setImplementation("#{delegateTaskListener}");
taskDefinition
.addTaskListener(TaskListener.EVENTNAME_ASSIGNMENT, bpmnParse
.getListenerFactory()
.createDelegateExpressionTaskListener(activitiListener));
// candidateuser 或者group 包含被代理人, 则添加代理人为candidateuser
ActivitiListener delegateActivitiCandidateListener = new ActivitiListener();
delegateActivitiCandidateListener
.setEvent(TaskListener.EVENTNAME_CREATE);
delegateActivitiCandidateListener
.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION);
delegateActivitiCandidateListener
.setImplementation("#{delegateTaskCreateListener}");
taskDefinition.addTaskListener(
TaskListener.EVENTNAME_CREATE,
bpmnParse.getListenerFactory()
.createDelegateExpressionTaskListener(
delegateActivitiCandidateListener));
}