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