public void addListenerToParent(ActivitiListener listener, BaseElement parentElement) { if (parentElement instanceof UserTask) { ((UserTask) parentElement).getTaskListeners().add(listener); } } }
@Override protected void executeValidation(BpmnModel bpmnModel, Process process, List<ValidationError> errors) { List<UserTask> userTasks = process.findFlowElementsOfType(UserTask.class); for (UserTask userTask : userTasks) { if (userTask.getTaskListeners() != null) { for (ActivitiListener listener : userTask.getTaskListeners()) { if (listener.getImplementation() == null || listener.getImplementationType() == null) { addError(errors, Problems.USER_TASK_LISTENER_IMPLEMENTATION_MISSING, process, userTask, "Element 'class' or 'expression' is mandatory on executionListener"); } } } } }
public static boolean writeListeners(BaseElement element, boolean didWriteExtensionStartElement, XMLStreamWriter xtw) throws Exception { if (element instanceof HasExecutionListeners) { didWriteExtensionStartElement = writeListeners(ELEMENT_EXECUTION_LISTENER, ((HasExecutionListeners) element).getExecutionListeners(), didWriteExtensionStartElement, xtw); } // In case of a usertaks, also add task-listeners if (element instanceof UserTask) { didWriteExtensionStartElement = writeListeners(ELEMENT_TASK_LISTENER, ((UserTask) element).getTaskListeners(), didWriteExtensionStartElement, xtw); } // In case of a process-element, write the event-listeners if (element instanceof Process) { didWriteExtensionStartElement = writeEventListeners(((Process) element).getEventListeners(), didWriteExtensionStartElement, xtw); } return didWriteExtensionStartElement; }
} else if (element instanceof UserTask) { if (isTaskListener) { ((UserTask) element).getTaskListeners().add(listener); } else { ((UserTask) element).getExecutionListeners().add(listener);
public void executeTaskListeners(UserTask userTask, TaskEntity taskEntity, String eventType) { for (ActivitiListener activitiListener : userTask.getTaskListeners()) { String event = activitiListener.getEvent(); if (event.equals(eventType) || event.equals(TaskListener.EVENTNAME_ALL_EVENTS)) { BaseTaskListener taskListener = createTaskListener(activitiListener); if (activitiListener.getOnTransaction() != null) { planTransactionDependentTaskListener(taskEntity.getExecution(), (TransactionDependentTaskListener) taskListener, activitiListener); } else { taskEntity.setEventName(eventType); taskEntity.setCurrentActivitiListener(activitiListener); try { Context.getProcessEngineConfiguration().getDelegateInterceptor() .handleInvocation(new TaskListenerInvocation((TaskListener) taskListener, taskEntity)); } catch (Exception e) { throw new ActivitiException("Exception while invoking TaskListener: " + e.getMessage(), e); } finally { taskEntity.setEventName(null); taskEntity.setCurrentActivitiListener(null); } } } } }
BpmnJsonConverterUtil.convertListenersToJson(((UserTask) activity).getTaskListeners(), false, propertiesNode);
public void addListenerToParent(ActivitiListener listener, BaseElement parentElement) { if (parentElement instanceof UserTask) { ((UserTask) parentElement).getTaskListeners().add(listener); } } }
public void parseChildElement(XMLStreamReader xtr, BaseElement parentElement, BpmnModel model) throws Exception { super.parseChildElement(xtr, parentElement, model); ((UserTask) parentElement).getTaskListeners().add(listener); } }
@Override protected void executeValidation(BpmnModel bpmnModel, Process process, List<ValidationError> errors) { List<UserTask> userTasks = process.findFlowElementsOfType(UserTask.class); for (UserTask userTask : userTasks) { if (userTask.getTaskListeners() != null) { for (ActivitiListener listener : userTask.getTaskListeners()) { if (listener.getImplementation() == null || listener.getImplementationType() == null) { addError(errors, Problems.USER_TASK_LISTENER_IMPLEMENTATION_MISSING, process, userTask, "Element 'class' or 'expression' is mandatory on executionListener"); } } } } }
public static boolean writeListeners(BaseElement element, boolean didWriteExtensionStartElement, XMLStreamWriter xtw) throws Exception { if(element instanceof HasExecutionListeners) { didWriteExtensionStartElement = writeListeners(ELEMENT_EXECUTION_LISTENER, ((HasExecutionListeners) element).getExecutionListeners(), didWriteExtensionStartElement, xtw); } // In case of a usertaks, also add task-listeners if(element instanceof UserTask) { didWriteExtensionStartElement = writeListeners(ELEMENT_TASK_LISTENER, ((UserTask) element).getTaskListeners(), didWriteExtensionStartElement, xtw); } return didWriteExtensionStartElement; }
public static boolean writeListeners(BaseElement element, boolean didWriteExtensionStartElement, XMLStreamWriter xtw) throws Exception { if (element instanceof HasExecutionListeners) { didWriteExtensionStartElement = writeListeners(ELEMENT_EXECUTION_LISTENER, ((HasExecutionListeners) element).getExecutionListeners(), didWriteExtensionStartElement, xtw); } // In case of a usertaks, also add task-listeners if (element instanceof UserTask) { didWriteExtensionStartElement = writeListeners(ELEMENT_TASK_LISTENER, ((UserTask) element).getTaskListeners(), didWriteExtensionStartElement, xtw); } // In case of a process-element, write the event-listeners if (element instanceof Process) { didWriteExtensionStartElement = writeEventListeners(((Process) element).getEventListeners(), didWriteExtensionStartElement, xtw); } return didWriteExtensionStartElement; }
} else if (element instanceof UserTask) { if (isTaskListener) { ((UserTask) element).getTaskListeners().add(listener); } else { ((UserTask) element).getExecutionListeners().add(listener);
if (selectPeopleUserTask.getTaskListeners() == null) selectPeopleUserTask.getTaskListeners().add(taskListener);
public void executeTaskListeners(UserTask userTask, TaskEntity taskEntity, String eventType) { for (ActivitiListener activitiListener : userTask.getTaskListeners()) { String event = activitiListener.getEvent(); if (event.equals(eventType) || event.equals(TaskListener.EVENTNAME_ALL_EVENTS)) { BaseTaskListener taskListener = createTaskListener(activitiListener); if (activitiListener.getOnTransaction() != null) { planTransactionDependentTaskListener(taskEntity.getExecution(), (TransactionDependentTaskListener) taskListener, activitiListener); } else { taskEntity.setEventName(eventType); taskEntity.setCurrentActivitiListener(activitiListener); try { Context.getProcessEngineConfiguration().getDelegateInterceptor() .handleInvocation(new TaskListenerInvocation((TaskListener) taskListener, taskEntity)); } catch (Exception e) { throw new ActivitiException("Exception while invoking TaskListener: " + e.getMessage(), e); } finally { taskEntity.setEventName(null); taskEntity.setCurrentActivitiListener(null); } } } } }
BpmnJsonConverterUtil.convertListenersToJson(((UserTask) activity).getTaskListeners(), false, propertiesNode);
for (ActivitiListener taskListener : userTask.getTaskListeners()) { taskDefinition.addTaskListener(taskListener.getEvent(), createTaskListener(bpmnParse, taskListener, userTask.getId()));