/** * @return the version */ @Deprecated public int getVersion() { return getWorkflowVersion(); }
public List<String> getWorkflows(String name, Integer version, Long startTime, Long endTime) { List<Workflow> workflowsByType = executionDAOFacade.getWorkflowsByName(name, startTime, endTime); return workflowsByType.stream() .filter(workflow -> workflow.getWorkflowVersion() == version) .map(Workflow::getWorkflowId) .collect(Collectors.toList()); }
@Override public String toString() { return getWorkflowName() + "." + getWorkflowVersion() + "/" + workflowId + "." + status; }
@Override public void start(Workflow workflow, Task task, WorkflowExecutor provider) { Map<String, Object> payload = new HashMap<>(task.getInputData()); payload.put("workflowInstanceId", workflow.getWorkflowId()); payload.put("workflowType", workflow.getWorkflowName()); payload.put("workflowVersion", workflow.getWorkflowVersion()); payload.put("correlationId", workflow.getCorrelationId()); String payloadJson; try { payloadJson = objectMapper.writeValueAsString(payload); } catch (JsonProcessingException e) { String msg = String.format("Error serializing JSON payload for task: %s, workflow: %s", task.getTaskId(), workflow.getWorkflowId()); throw new ApplicationException(INTERNAL_ERROR, msg); } Message message = new Message(task.getTaskId(), payloadJson, task.getTaskId()); ObservableQueue queue = getQueue(workflow, task); if(queue != null) { queue.publish(Collections.singletonList(message)); task.getOutputData().putAll(payload); task.setStatus(Status.COMPLETED); } else { task.setReasonForIncompletion("No queue found to publish."); task.setStatus(Status.FAILED); } }
this.version = workflow.getWorkflowVersion(); this.workflowId = workflow.getWorkflowId(); this.correlationId = workflow.getCorrelationId();
workflowParams.put("parentWorkflowTaskId", workflow.getParentWorkflowTaskId()); workflowParams.put("workflowType", workflow.getWorkflowName()); workflowParams.put("version", workflow.getWorkflowVersion()); workflowParams.put("correlationId", workflow.getCorrelationId()); workflowParams.put("reasonForIncompletion", workflow.getReasonForIncompletion());
public Workflow populateWorkflowWithDefinitions(Workflow workflow) { WorkflowDef workflowDefinition = Optional.ofNullable(workflow.getWorkflowDefinition()) .orElseGet(() -> { WorkflowDef wd = lookupForWorkflowDefinition(workflow.getWorkflowName(), workflow.getWorkflowVersion()); workflow.setWorkflowDefinition(wd); return wd; }); workflowDefinition.collectTasks().forEach( workflowTask -> { if (shouldPopulateDefinition(workflowTask)) { workflowTask.setTaskDefinition(metadataDAO.getTaskDef(workflowTask.getName())); } else if (workflowTask.getType().equals(TaskType.SUB_WORKFLOW.name())) { populateVersionForSubWorkflow(workflowTask); } } ); checkNotEmptyDefinitions(workflowDefinition); return workflow; }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Workflow workflow = (Workflow) o; return getEndTime() == workflow.getEndTime() && getWorkflowVersion() == workflow.getWorkflowVersion() && getSchemaVersion() == workflow.getSchemaVersion() && getStatus() == workflow.getStatus() && Objects.equals(getWorkflowId(), workflow.getWorkflowId()) && Objects.equals(getParentWorkflowId(), workflow.getParentWorkflowId()) && Objects.equals(getParentWorkflowTaskId(), workflow.getParentWorkflowTaskId()) && Objects.equals(getTasks(), workflow.getTasks()) && Objects.equals(getInput(), workflow.getInput()) && Objects.equals(getOutput(), workflow.getOutput()) && Objects.equals(getWorkflowName(), workflow.getWorkflowName()) && Objects.equals(getCorrelationId(), workflow.getCorrelationId()) && Objects.equals(getReRunFromWorkflowId(), workflow.getReRunFromWorkflowId()) && Objects.equals(getReasonForIncompletion(), workflow.getReasonForIncompletion()) && Objects.equals(getEvent(), workflow.getEvent()) && Objects.equals(getTaskToDomain(), workflow.getTaskToDomain()) && Objects.equals(getFailedReferenceTaskNames(), workflow.getFailedReferenceTaskNames()) && Objects.equals(getExternalInputPayloadStoragePath(), workflow.getExternalInputPayloadStoragePath()) && Objects.equals(getExternalOutputPayloadStoragePath(), workflow.getExternalOutputPayloadStoragePath()) && Objects.equals(getWorkflowDefinition(), workflow.getWorkflowDefinition()); }
} else { workflowDef = Optional.ofNullable(workflow.getWorkflowDefinition()) .orElseGet(() -> metadataDAO.get(workflow.getWorkflowName(), workflow.getWorkflowVersion()) .orElseThrow(() -> new ApplicationException(NOT_FOUND, String.format("Unable to find definition for %s", workflowId))) );
when(metadataDAO.get(workflow.getWorkflowName(), workflow.getWorkflowVersion())).thenReturn(Optional.of(workflowDef)); when(metadataDAO.getTaskDef(workflowTask.getName())).thenReturn(new TaskDef()); when(executionDAOFacade.updateWorkflow(any())).thenReturn("");
@Override public int hashCode() { return Objects.hash( getStatus(), getEndTime(), getWorkflowId(), getParentWorkflowId(), getParentWorkflowTaskId(), getTasks(), getInput(), getOutput(), getWorkflowName(), getWorkflowVersion(), getCorrelationId(), getReRunFromWorkflowId(), getReasonForIncompletion(), getSchemaVersion(), getEvent(), getTaskToDomain(), getFailedReferenceTaskNames(), getWorkflowDefinition(), getExternalInputPayloadStoragePath(), getExternalOutputPayloadStoragePath() ); } }
Workflow parent = executionDAOFacade.getWorkflowById(workflow.getParentWorkflowId(), false); WorkflowDef parentDef = Optional.ofNullable(parent.getWorkflowDefinition()) .orElseGet(() -> metadataDAO.get(parent.getWorkflowName(), parent.getWorkflowVersion()) .orElseThrow(() -> new ApplicationException(NOT_FOUND, String.format("Unable to find parent workflow definition for %s", wf.getWorkflowId()))) );
/** * @return the version */ @Deprecated public int getVersion() { return getWorkflowVersion(); }
public List<String> getWorkflows(String name, Integer version, Long startTime, Long endTime) { List<Workflow> workflowsByType = executionDAOFacade.getWorkflowsByName(name, startTime, endTime); return workflowsByType.stream() .filter(workflow -> workflow.getWorkflowVersion() == version) .map(Workflow::getWorkflowId) .collect(Collectors.toList()); }
@Override public String toString() { return getWorkflowName() + "." + getWorkflowVersion() + "/" + workflowId + "." + status; }
@Override public void start(Workflow workflow, Task task, WorkflowExecutor provider) { Map<String, Object> payload = new HashMap<>(task.getInputData()); payload.put("workflowInstanceId", workflow.getWorkflowId()); payload.put("workflowType", workflow.getWorkflowName()); payload.put("workflowVersion", workflow.getWorkflowVersion()); payload.put("correlationId", workflow.getCorrelationId()); String payloadJson; try { payloadJson = objectMapper.writeValueAsString(payload); } catch (JsonProcessingException e) { String msg = String.format("Error serializing JSON payload for task: %s, workflow: %s", task.getTaskId(), workflow.getWorkflowId()); throw new ApplicationException(INTERNAL_ERROR, msg); } Message message = new Message(task.getTaskId(), payloadJson, task.getTaskId()); ObservableQueue queue = getQueue(workflow, task); if(queue != null) { queue.publish(Collections.singletonList(message)); task.getOutputData().putAll(payload); task.setStatus(Status.COMPLETED); } else { task.setReasonForIncompletion("No queue found to publish."); task.setStatus(Status.FAILED); } }
this.version = workflow.getWorkflowVersion(); this.workflowId = workflow.getWorkflowId(); this.correlationId = workflow.getCorrelationId();
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Workflow workflow = (Workflow) o; return getEndTime() == workflow.getEndTime() && getWorkflowVersion() == workflow.getWorkflowVersion() && getSchemaVersion() == workflow.getSchemaVersion() && getStatus() == workflow.getStatus() && Objects.equals(getWorkflowId(), workflow.getWorkflowId()) && Objects.equals(getParentWorkflowId(), workflow.getParentWorkflowId()) && Objects.equals(getParentWorkflowTaskId(), workflow.getParentWorkflowTaskId()) && Objects.equals(getTasks(), workflow.getTasks()) && Objects.equals(getInput(), workflow.getInput()) && Objects.equals(getOutput(), workflow.getOutput()) && Objects.equals(getWorkflowName(), workflow.getWorkflowName()) && Objects.equals(getCorrelationId(), workflow.getCorrelationId()) && Objects.equals(getReRunFromWorkflowId(), workflow.getReRunFromWorkflowId()) && Objects.equals(getReasonForIncompletion(), workflow.getReasonForIncompletion()) && Objects.equals(getEvent(), workflow.getEvent()) && Objects.equals(getTaskToDomain(), workflow.getTaskToDomain()) && Objects.equals(getFailedReferenceTaskNames(), workflow.getFailedReferenceTaskNames()) && Objects.equals(getExternalInputPayloadStoragePath(), workflow.getExternalInputPayloadStoragePath()) && Objects.equals(getExternalOutputPayloadStoragePath(), workflow.getExternalOutputPayloadStoragePath()) && Objects.equals(getWorkflowDefinition(), workflow.getWorkflowDefinition()); }
public Workflow populateWorkflowWithDefinitions(Workflow workflow) { WorkflowDef workflowDefinition = Optional.ofNullable(workflow.getWorkflowDefinition()) .orElseGet(() -> { WorkflowDef wd = lookupForWorkflowDefinition(workflow.getWorkflowName(), workflow.getWorkflowVersion()); workflow.setWorkflowDefinition(wd); return wd; }); workflowDefinition.collectTasks().forEach( workflowTask -> { if (shouldPopulateDefinition(workflowTask)) { workflowTask.setTaskDefinition(metadataDAO.getTaskDef(workflowTask.getName())); } else if (workflowTask.getType().equals(TaskType.SUB_WORKFLOW.name())) { populateVersionForSubWorkflow(workflowTask); } } ); checkNotEmptyDefinitions(workflowDefinition); return workflow; }
@Override public int hashCode() { return Objects.hash( getStatus(), getEndTime(), getWorkflowId(), getParentWorkflowId(), getParentWorkflowTaskId(), getTasks(), getInput(), getOutput(), getWorkflowName(), getWorkflowVersion(), getCorrelationId(), getReRunFromWorkflowId(), getReasonForIncompletion(), getSchemaVersion(), getEvent(), getTaskToDomain(), getFailedReferenceTaskNames(), getWorkflowDefinition(), getExternalInputPayloadStoragePath(), getExternalOutputPayloadStoragePath() ); } }