org.flowable.bpmn.model.UserTask.getTaskListeners()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(5.1k)|赞(0)|评价(0)|浏览(444)

本文整理了Java中org.flowable.bpmn.model.UserTask.getTaskListeners()方法的一些代码示例,展示了UserTask.getTaskListeners()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。UserTask.getTaskListeners()方法的具体详情如下:
包路径:org.flowable.bpmn.model.UserTask
类名称:UserTask
方法名:getTaskListeners

UserTask.getTaskListeners介绍

暂无

代码示例

代码示例来源:origin: org.flowable/flowable-bpmn-converter

@Override
  public void addListenerToParent(FlowableListener listener, BaseElement parentElement) {
    if (parentElement instanceof UserTask) {
      ((UserTask) parentElement).getTaskListeners().add(listener);
    }
  }
}

代码示例来源:origin: org.flowable/flowable-process-validation

@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 (FlowableListener 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");
        }
      }
    }
  }
}

代码示例来源:origin: org.flowable/flowable-bpmn-converter

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 usertask, 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;
}

代码示例来源:origin: org.flowable/flowable-engine

/**
 * Similar to {@link #getFieldExpression(DelegateExecution, String)}, but for use within a {@link TaskListener}.
 */
public static Expression getFieldExpression(DelegateTask task, String fieldName) {
  String eventHandlerId = task.getEventHandlerId();
  if (eventHandlerId != null && task.getProcessDefinitionId() != null) {
    org.flowable.bpmn.model.Process process = ProcessDefinitionUtil.getProcess(task.getProcessDefinitionId());
    UserTask userTask = (UserTask) process.getFlowElementMap().get(task.getTaskDefinitionKey());
    
    FlowableListener flowableListener = null;
    for (FlowableListener f : userTask.getTaskListeners()) {
      if (f.getId() != null && f.getId().equals(eventHandlerId)) {
        flowableListener = f;
      }
    }
    
    if (flowableListener != null) {
      List<FieldExtension> fieldExtensions = flowableListener.getFieldExtensions();
      if (fieldExtensions != null && fieldExtensions.size() > 0) {
        for (FieldExtension fieldExtension : fieldExtensions) {
          if (fieldName.equals(fieldExtension.getFieldName())) {
            return createExpressionForField(fieldExtension);
          }
        }
      }
    }
  }
  return null;
}

代码示例来源:origin: org.flowable/flowable-json-converter

} else if (element instanceof UserTask) {
  if (isTaskListener) {
    ((UserTask) element).getTaskListeners().add(listener);
  } else {
    ((UserTask) element).getExecutionListeners().add(listener);

代码示例来源:origin: org.flowable/flowable-bpmn-model

if (otherElement.getTaskListeners() != null && !otherElement.getTaskListeners().isEmpty()) {
  for (FlowableListener listener : otherElement.getTaskListeners()) {
    taskListeners.add(listener.clone());

代码示例来源:origin: org.ow2.petals.flowable/flowable-bpmn-model

if (otherElement.getTaskListeners() != null && !otherElement.getTaskListeners().isEmpty()) {
  for (FlowableListener listener : otherElement.getTaskListeners()) {
    taskListeners.add(listener.clone());

代码示例来源:origin: org.flowable/flowable-engine

public void executeTaskListeners(UserTask userTask, TaskEntity taskEntity, String eventType) {
  for (FlowableListener listener : userTask.getTaskListeners()) {
    String event = listener.getEvent();
    if (event.equals(eventType) || event.equals(TaskListener.EVENTNAME_ALL_EVENTS)) {
      BaseTaskListener taskListener = createTaskListener(listener);
      if (listener.getOnTransaction() != null) {
        planTransactionDependentTaskListener(ExecutionHelper.getExecution(taskEntity.getExecutionId()), (TransactionDependentTaskListener) taskListener, listener);
      } else {
        taskEntity.setEventName(eventType);
        taskEntity.setEventHandlerId(listener.getId());
        
        try {
          CommandContextUtil.getProcessEngineConfiguration().getDelegateInterceptor()
              .handleInvocation(new TaskListenerInvocation((TaskListener) taskListener, taskEntity));
        } catch (Exception e) {
          throw new FlowableException("Exception while invoking TaskListener: " + e.getMessage(), e);
        } finally {
          taskEntity.setEventName(null);
        }
      }
    }
  }
}

代码示例来源:origin: org.flowable/flowable-json-converter

BpmnJsonConverterUtil.convertListenersToJson(((UserTask) activity).getTaskListeners(), false, propertiesNode);

代码示例来源:origin: org.flowable/flowable5-engine

for (FlowableListener taskListener : userTask.getTaskListeners()) {
  taskDefinition.addTaskListener(taskListener.getEvent(), createTaskListener(bpmnParse, taskListener, userTask.getId()));

相关文章