in src/main/java/com/amazonaws/services/simpleworkflow/flow/worker/AsyncDecider.java [383:404]
private void completeWorkflowIfCompleted() {
if (hasCompletedWithoutUnhandledDecision()) {
if (failure != null) {
decisionsHelper.failWorkflowExecution(failure);
} else if (cancelRequested) {
decisionsHelper.cancelWorkflowExecution();
} else {
ContinueAsNewWorkflowExecutionParameters continueAsNewOnCompletion = workflowContext.getContinueAsNewOnCompletion();
if (continueAsNewOnCompletion != null) {
decisionsHelper.continueAsNewWorkflowExecution(continueAsNewOnCompletion);
} else {
Promise<String> output = workflowAsyncScope.getOutput();
if (output != null && output.isReady()) {
String workflowOutput = output.get();
decisionsHelper.completeWorkflowExecution(workflowOutput);
} else {
decisionsHelper.completeWorkflowExecution(null);
}
}
}
}
}