public DdmSignableTaskDto getTaskById()

in ddm-bpm-rest/src/main/java/com/epam/digital/data/platform/bpms/rest/service/UserTaskService.java [161:189]


  public DdmSignableTaskDto getTaskById(String id) {
    log.info("Getting user task with id {}", id);

    var taskDto = getTask(id);
    var signableUserTaskDto = taskMapper.toSignableUserTaskDto(taskDto);
    log.trace("Camunda task has been found");

    var processDefinition = getProcessDefinitionById(taskDto.getProcessDefinitionId());
    signableUserTaskDto.setProcessDefinitionName(processDefinition.getName());
    log.trace("Task was filled with process definition name");

    var processInstance = getProcessInstanceOrThrow(taskDto.getProcessInstanceId());
    var rootProcessInstanceId = getRootProcessInstance(processInstance).getId();
    signableUserTaskDto.setRootProcessInstanceId(rootProcessInstanceId);
    log.trace("Found user task root process-instance id {}", rootProcessInstanceId);

    var properties = getTaskProperties(id);
    signableUserTaskDto.setESign(Boolean.parseBoolean(properties.get(SIGN_PROPERTY)));
    signableUserTaskDto.setFormVariables(
        getTaskFormVariables(id, properties.get(FORM_VARIABLES_PROPERTY)));
    var allowedSubjects = Arrays.stream(Subject.values())
        .filter(subject -> Boolean.parseBoolean(properties.get(subject.name())))
        .collect(Collectors.toSet());
    signableUserTaskDto.setSignatureValidationPack(allowedSubjects);
    log.trace("Task was filled with extension properties");

    log.info("User task with id {} found", id);
    return signableUserTaskDto;
  }