in src/main/java/com/amazonaws/services/simpleworkflow/flow/worker/AsyncDecider.java [200:362]
private void processEvent(HistoryEvent event, EventType eventType) throws Throwable {
switch (eventType) {
case ACTIVITY_TASK_CANCELED:
activityClient.handleActivityTaskCanceled(event);
break;
case ACTIVITY_TASK_COMPLETED:
activityClient.handleActivityTaskCompleted(event);
break;
case ACTIVITY_TASK_FAILED:
activityClient.handleActivityTaskFailed(event);
break;
case ACTIVITY_TASK_STARTED:
activityClient.handleActivityTaskStarted(event.activityTaskStartedEventAttributes());
break;
case ACTIVITY_TASK_TIMED_OUT:
activityClient.handleActivityTaskTimedOut(event);
break;
case EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED:
workflowClient.handleChildWorkflowExecutionCancelRequested(event);
break;
case CHILD_WORKFLOW_EXECUTION_CANCELED:
workflowClient.handleChildWorkflowExecutionCanceled(event);
break;
case CHILD_WORKFLOW_EXECUTION_COMPLETED:
workflowClient.handleChildWorkflowExecutionCompleted(event);
break;
case CHILD_WORKFLOW_EXECUTION_FAILED:
workflowClient.handleChildWorkflowExecutionFailed(event);
break;
case CHILD_WORKFLOW_EXECUTION_STARTED:
workflowClient.handleChildWorkflowExecutionStarted(event);
break;
case CHILD_WORKFLOW_EXECUTION_TERMINATED:
workflowClient.handleChildWorkflowExecutionTerminated(event);
break;
case CHILD_WORKFLOW_EXECUTION_TIMED_OUT:
workflowClient.handleChildWorkflowExecutionTimedOut(event);
break;
case DECISION_TASK_COMPLETED:
handleDecisionTaskCompleted(event);
break;
case DECISION_TASK_SCHEDULED:
// NOOP
break;
case DECISION_TASK_STARTED:
handleDecisionTaskStarted(event);
break;
case DECISION_TASK_TIMED_OUT:
// Handled in the processEvent(event)
break;
case EXTERNAL_WORKFLOW_EXECUTION_SIGNALED:
workflowClient.handleExternalWorkflowExecutionSignaled(event);
break;
case SCHEDULE_ACTIVITY_TASK_FAILED:
activityClient.handleScheduleActivityTaskFailed(event);
break;
case SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED:
workflowClient.handleSignalExternalWorkflowExecutionFailed(event);
break;
case START_CHILD_WORKFLOW_EXECUTION_FAILED:
workflowClient.handleStartChildWorkflowExecutionFailed(event);
break;
case START_TIMER_FAILED:
handleStartTimerFailed(event);
break;
case TIMER_FIRED:
handleTimerFired(event);
break;
case WORKFLOW_EXECUTION_CANCEL_REQUESTED:
handleWorkflowExecutionCancelRequested(event);
break;
case WORKFLOW_EXECUTION_SIGNALED:
handleWorkflowExecutionSignaled(event);
break;
case WORKFLOW_EXECUTION_STARTED:
handleWorkflowExecutionStarted(event);
break;
case WORKFLOW_EXECUTION_TERMINATED:
// NOOP
break;
case WORKFLOW_EXECUTION_TIMED_OUT:
// NOOP
break;
case ACTIVITY_TASK_SCHEDULED:
decisionsHelper.handleActivityTaskScheduled(event);
break;
case ACTIVITY_TASK_CANCEL_REQUESTED:
decisionsHelper.handleActivityTaskCancelRequested(event);
break;
case REQUEST_CANCEL_ACTIVITY_TASK_FAILED:
decisionsHelper.handleRequestCancelActivityTaskFailed(event);
break;
case MARKER_RECORDED:
break;
case RECORD_MARKER_FAILED:
break;
case WORKFLOW_EXECUTION_COMPLETED:
break;
case COMPLETE_WORKFLOW_EXECUTION_FAILED:
unhandledDecision = true;
decisionsHelper.handleCompleteWorkflowExecutionFailed(event);
break;
case WORKFLOW_EXECUTION_FAILED:
break;
case FAIL_WORKFLOW_EXECUTION_FAILED:
unhandledDecision = true;
decisionsHelper.handleFailWorkflowExecutionFailed(event);
break;
case WORKFLOW_EXECUTION_CANCELED:
break;
case CANCEL_WORKFLOW_EXECUTION_FAILED:
unhandledDecision = true;
decisionsHelper.handleCancelWorkflowExecutionFailed(event);
break;
case WORKFLOW_EXECUTION_CONTINUED_AS_NEW:
break;
case CONTINUE_AS_NEW_WORKFLOW_EXECUTION_FAILED:
unhandledDecision = true;
decisionsHelper.handleContinueAsNewWorkflowExecutionFailed(event);
break;
case TIMER_STARTED:
handleTimerStarted(event);
break;
case TIMER_CANCELED:
workflowClock.handleTimerCanceled(event);
break;
case LAMBDA_FUNCTION_SCHEDULED:
decisionsHelper.handleLambdaFunctionScheduled(event);
break;
case LAMBDA_FUNCTION_STARTED:
lambdaFunctionClient.handleLambdaFunctionStarted(event.lambdaFunctionStartedEventAttributes());
break;
case LAMBDA_FUNCTION_COMPLETED:
lambdaFunctionClient.handleLambdaFunctionCompleted(event);
break;
case LAMBDA_FUNCTION_FAILED:
lambdaFunctionClient.handleLambdaFunctionFailed(event);
break;
case LAMBDA_FUNCTION_TIMED_OUT:
lambdaFunctionClient.handleLambdaFunctionTimedOut(event);
break;
case START_LAMBDA_FUNCTION_FAILED:
lambdaFunctionClient.handleStartLambdaFunctionFailed(event);
break;
case SCHEDULE_LAMBDA_FUNCTION_FAILED:
lambdaFunctionClient.handleScheduleLambdaFunctionFailed(event);
break;
case SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED:
decisionsHelper.handleSignalExternalWorkflowExecutionInitiated(event);
break;
case REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED:
decisionsHelper.handleRequestCancelExternalWorkflowExecutionInitiated(event);
break;
case REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED:
decisionsHelper.handleRequestCancelExternalWorkflowExecutionFailed(event);
break;
case START_CHILD_WORKFLOW_EXECUTION_INITIATED:
workflowClient.handleChildWorkflowExecutionInitiated(event);
break;
case CANCEL_TIMER_FAILED:
decisionsHelper.handleCancelTimerFailed(event);
}
}