private void completeWorkflowIfCompleted()

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);
                    }
                }
            }
        }
    }