/** Retorna a instância de fluxo a que pertence essa potencia transição. */ @Nonnull public FlowInstance getFlowInstance() { return originTaskInstance.getFlowInstance(); }
/** * Recupera a petição associada a task informada ou dispara exception senão encontrar. */ @Nonnull public RI getRequirementInstance(@Nonnull TaskInstance taskInstance) { Objects.requireNonNull(taskInstance); return getRequirementInstance(taskInstance.getFlowInstance()); }
/** * Recupera a petição associada a tarefa informada. */ @Nonnull public RI getRequirement(@Nonnull TaskInstance taskInstance) { Objects.requireNonNull(taskInstance); return getRequirement(taskInstance.getFlowInstance()); }
/** * Recupera a petição associada a task informada ou dispara exception senão encontrar. */ @Nonnull public RI getRequirementInstance(@Nonnull TaskInstance taskInstance) { Objects.requireNonNull(taskInstance); FlowInstance flowInstance = taskInstance.getFlowInstance(); return getRequirementInstance(flowInstance); }
/** * Recupera a petição associada a tarefa informada. */ @Nonnull public RI getRequirement(@Nonnull TaskInstance taskInstance) { Objects.requireNonNull(taskInstance); return getRequirement(taskInstance.getFlowInstance()); }
public String getFlowName() { return getFlowInstance().getFlowName(); }
/** * Recupera a petição associada a task informada ou dispara exception senão encontrar. */ @Nonnull public RI getRequirementInstance(@Nonnull TaskInstance taskInstance) { Objects.requireNonNull(taskInstance); return getRequirementInstance(taskInstance.getFlowInstance()); }
/** * Recupera a petição associada a tarefa informada. */ @Nonnull public RI getRequirement(@Nonnull TaskInstance taskInstance) { Objects.requireNonNull(taskInstance); return getRequirement(taskInstance.getFlowInstance()); }
public String getDescription() { return getFlowInstance().getDescription(); }
@Nonnull public boolean isPreviousTransition(@Nonnull TaskInstance taskInstance, @Nonnull String trasitionName) { Optional<STransition> executedTransition = taskInstance.getFlowInstance().getLastFinishedTask().map(TaskInstance::getExecutedTransition).orElse(Optional.<STransition>empty()); if (executedTransition.isPresent()) { STransition transition = executedTransition.get(); return trasitionName.equals(transition.getName()); } return false; }
@Nonnull public boolean isPreviousTransition(@Nonnull TaskInstance taskInstance, @Nonnull String trasitionName) { Optional<STransition> executedTransition = taskInstance.getFlowInstance().getLastFinishedTask().map(TaskInstance::getExecutedTransition).orElse(Optional.<STransition>empty()); if (executedTransition.isPresent()) { STransition transition = executedTransition.get(); return trasitionName.equals(transition.getName()); } return false; }
@Nonnull public boolean isPreviousTransition(@Nonnull TaskInstance taskInstance, @Nonnull String trasitionName) { Optional<STransition> executedTransition = taskInstance.getFlowInstance().getLastFinishedTask().map(TaskInstance::getExecutedTransition).orElse(Optional.<STransition>empty()); if (executedTransition.isPresent()) { STransition transition = executedTransition.get(); return trasitionName.equals(transition.getName()); } return false; }
protected String generateID(TaskInstance taskInstance) { FlowInstance flowInstance = taskInstance.getFlowInstance(); return new StringBuilder(generateID(flowInstance)) .append('.') .append(taskInstance.getId()) .toString(); }
private IPersistenceService<IEntityCategory, IEntityFlowDefinition, IEntityFlowVersion, IEntityFlowInstance, IEntityTaskInstance, IEntityTaskDefinition, IEntityTaskVersion, IEntityVariableInstance, IEntityRoleDefinition, IEntityRoleInstance> getPersistenceService() { return getFlowInstance().getFlowDefinition().getPersistenceService(); }
@Nonnull static TaskInstance executeTransition(@Nonnull TaskInstance currentTask, @Nullable STransition transition, @Nullable VarInstanceMap<?, ?> param) { STransition trans = resolveDefaultTransitionIfNecessary(currentTask, transition); currentTask.endLastAllocation(); return updateState(currentTask.getFlowInstance(), currentTask, trans, trans.getDestination(), param); }
private void notifyStateUpdate() { Flow.notifyListeners(n -> n.notifyStateUpdate(getFlowInstance())); }
SingularFlowInvalidParametersException(@Nonnull TaskInstance taskInstance, @Nonnull STransition transition, ValidationResult result) { this(taskInstance.getFlowInstance().getFlowDefinition(), result, "Erro ao validar os parametros da transição '" + transition.getName() + "' a partir da tarefa '" + taskInstance.getName() + "'"); add(taskInstance); }
@Nonnull public Optional<STask<?>> getFlowTask() { if (flowTask == null) { flowTask = getFlowInstance().getFlowDefinition().getFlowMap().getTaskByAbbreviation(getTaskVersion().getAbbreviation()).orElse(null); } return Optional.ofNullable(flowTask); }
private Set<Integer> getFirstLevelUsersCodWithAccess(@Nonnull STask<?> flowTask) { TaskAccessStrategy<FlowInstance> accessStrategy = flowTask.getAccessStrategy(); IEntityTaskVersion taskVersion = getTaskVersion(); String abbreviation = taskVersion.getAbbreviation(); FlowInstance flowInstance = getFlowInstance(); Objects.requireNonNull(flowTask, "Task com a sigla " + abbreviation + " não encontrada na definição " + flowInstance.getFlowDefinition().getName()); Objects.requireNonNull(accessStrategy,"Estratégia de acesso da task " + abbreviation + " não foi definida"); return accessStrategy.getFirstLevelUsersCodWithAccess(flowInstance); }
/** Adiciona as informações sobre a task na exception. */ public SingularFlowException add(@Nullable TaskInstance task) { if (task != null) { add("task.id", task.getId()); add("task.fullId", () -> task.getFullId()); add("task.name", task.getName()); add("task.abbreviation", task.getAbbreviation()); add(task.getFlowInstance()); } return this; }