public void finishWorkflowExecution( WorkflowExecutionResult result, StepExecutionContext executionContext, WorkflowExecutionItem item) { List<Pair<StepContextId, INodeEntry>> currentContext = stepContext.getCurrentContextPairs(); if (null == currentContext || currentContext.size() < 1) { notifyAllWorkflowState( null != result && result.isSuccess() ? ExecutionState.SUCCEEDED : ExecutionState.FAILED, new Date(), null); } else { notifyAllSubWorkflowState( createIdentifier(), null != result && result.isSuccess() ? ExecutionState.SUCCEEDED : ExecutionState.FAILED, new Date(), null); } stepContext.finishContext(); }
public void beginWorkflowExecution( StepExecutionContext executionContext, WorkflowExecutionItem item) { StepContextId currentStep = stepContext.getCurrentStep(); INodeEntry currentNode = stepContext.getCurrentNode(); if (null != currentNode && null != currentStep) { // if already node context, begin a parameterized sub workflow // change step context to include node name parameter for the step id HashMap<String, String> params = new HashMap<String, String>(); params.put("node", currentNode.getNodename()); stepContext.beginStepContext( StateUtils.stepContextId( currentStep.getStep(), !currentStep.getAspect().isMain(), params)); } stepContext.beginContext(); List<Pair<StepContextId, INodeEntry>> currentContext = stepContext.getCurrentContextPairs(); List<String> names = getNodeNames(executionContext); if (null == currentContext) { notifyAllWorkflowState(ExecutionState.RUNNING, new Date(), names); } else { notifyAllSubWorkflowState(createIdentifier(), ExecutionState.RUNNING, new Date(), names); } }