/** * @param startTime the startTime to set */ public void setStartTime(long startTime) { this.setCreateTime(startTime); }
@Override public String createWorkflow(Workflow workflow) { workflow.setCreateTime(System.currentTimeMillis()); return insertOrUpdateWorkflow(workflow, false); }
@Override public String createWorkflow(Workflow workflow) { workflow.setCreateTime(System.currentTimeMillis()); return insertOrUpdateWorkflow(workflow, false); }
@Override public String createWorkflow(Workflow workflow) { try { workflow.setCreateTime(System.currentTimeMillis()); List<Task> tasks = workflow.getTasks(); workflow.setTasks(new LinkedList<>()); String payload = toJson(workflow); recordCassandraDaoRequests("createWorkflow", "n/a", workflow.getWorkflowName()); recordCassandraDaoPayloadSize("createWorkflow", payload.length(), "n/a", workflow.getWorkflowName()); session.execute(insertWorkflowStatement.bind(UUID.fromString(workflow.getWorkflowId()), 1, "", payload, 0, 1)); workflow.setTasks(tasks); return workflow.getWorkflowId(); } catch (Exception e) { Monitors.error(CLASS_NAME, "createWorkflow"); String errorMsg = String.format("Error creating workflow: %s", workflow.getWorkflowId()); LOGGER.error(errorMsg, e); throw new ApplicationException(ApplicationException.Code.BACKEND_ERROR, errorMsg, e); } }
@Test public void testSearchArchivableWorkflows() { String workflowId = "search-workflow-id"; workflow.setWorkflowId(workflowId); workflow.setStatus(Workflow.WorkflowStatus.COMPLETED); workflow.setCreateTime(new Date().getTime()); workflow.setUpdateTime(new Date().getTime()); workflow.setEndTime(new Date().getTime()); indexDAO.indexWorkflow(workflow); await() .atMost(3, TimeUnit.SECONDS) .untilAsserted( () -> { List<String> searchIds = indexDAO.searchArchivableWorkflows("conductor",10); assertEquals(1, searchIds.size()); assertEquals(workflowId, searchIds.get(0)); } ); }
@Test public void testSearchRecentRunningWorkflows() { workflow.setWorkflowId("completed-workflow"); workflow.setStatus(Workflow.WorkflowStatus.COMPLETED); indexDAO.indexWorkflow(workflow); String workflowId = "recent-running-workflow-id"; workflow.setWorkflowId(workflowId); workflow.setStatus(Workflow.WorkflowStatus.RUNNING); workflow.setCreateTime(new Date().getTime()); workflow.setUpdateTime(new Date().getTime()); workflow.setEndTime(new Date().getTime()); indexDAO.indexWorkflow(workflow); await() .atMost(3, TimeUnit.SECONDS) .untilAsserted( () -> { List<String> searchIds = indexDAO.searchRecentRunningWorkflows(1,0); assertEquals(1, searchIds.size()); assertEquals(workflowId, searchIds.get(0)); } ); }
@Test public void testSearchRecentRunningWorkflows() { workflow.setWorkflowId("completed-workflow"); workflow.setStatus(Workflow.WorkflowStatus.COMPLETED); indexDAO.indexWorkflow(workflow); String workflowId = "recent-running-workflow-id"; workflow.setWorkflowId(workflowId); workflow.setStatus(Workflow.WorkflowStatus.RUNNING); workflow.setCreateTime(new Date().getTime()); workflow.setUpdateTime(new Date().getTime()); workflow.setEndTime(new Date().getTime()); indexDAO.indexWorkflow(workflow); await() .atMost(3, TimeUnit.SECONDS) .untilAsserted( () -> { List<String> searchIds = indexDAO.searchRecentRunningWorkflows(1,0); assertEquals(1, searchIds.size()); assertEquals(workflowId, searchIds.get(0)); } ); }
@Test public void testSearchArchivableWorkflows() throws IOException { String workflowId = "search-workflow-id"; Long time = DateTime.now().minusDays(2).toDate().getTime(); workflow.setWorkflowId(workflowId); workflow.setStatus(Workflow.WorkflowStatus.COMPLETED); workflow.setCreateTime(time); workflow.setUpdateTime(time); workflow.setEndTime(time); indexDAO.indexWorkflow(workflow); assertTrue(indexExists("conductor")); await() .atMost(3, TimeUnit.SECONDS) .untilAsserted( () -> { List<String> searchIds = indexDAO.searchArchivableWorkflows("conductor",1); assertEquals(1, searchIds.size()); assertEquals(workflowId, searchIds.get(0)); } ); }
@Test public void testCaseStatement() { WorkflowDef def = createConditionalWF(); Workflow wf = new Workflow(); wf.setWorkflowDefinition(def); wf.setCreateTime(0L); wf.setWorkflowId("a"); wf.setCorrelationId("b"); wf.setStatus(WorkflowStatus.RUNNING); DeciderOutcome outcome = deciderService.decide(wf); List<Task> scheduledTasks = outcome.tasksToBeScheduled; assertNotNull(scheduledTasks); assertEquals(2, scheduledTasks.size()); assertEquals(Status.IN_PROGRESS, scheduledTasks.get(0).getStatus()); assertEquals(Status.SCHEDULED, scheduledTasks.get(1).getStatus()); }
workflow.setParentWorkflowTaskId(parentWorkflowTaskId); workflow.setOwnerApp(WorkflowContext.get().getClientApp()); workflow.setCreateTime(System.currentTimeMillis()); workflow.setUpdatedBy(null); workflow.setUpdateTime(null);
/** * @param startTime the startTime to set */ public void setStartTime(long startTime) { this.setCreateTime(startTime); }
@Override public String createWorkflow(Workflow workflow) { workflow.setCreateTime(System.currentTimeMillis()); return insertOrUpdateWorkflow(workflow, false); }
workflow.setParentWorkflowTaskId(parentWorkflowTaskId); workflow.setOwnerApp(WorkflowContext.get().getClientApp()); workflow.setCreateTime(System.currentTimeMillis()); workflow.setUpdatedBy(null); workflow.setUpdateTime(null);