protected String doExecute() throws Exception { final List conditionalResults = getTransition().getConditionalResults(); resultDescriptor = (ConditionalResultDescriptor) conditionalResults.get(resultCount - 1); final StringWriter stringWriter = new StringWriter(); PrintWriter writer = new PrintWriter(stringWriter); resultDescriptor.writeXML(writer, 0); writer.flush(); resultXml = stringWriter.getBuffer().toString(); return super.doExecute(); }
protected void doValidation() { if (getTransition().getConditionalResults() == null) { addErrorMessage(getText("admin.errors.workflows.no.conditional.results.defined")); } else if (resultCount < 1 || resultCount > getTransition().getConditionalResults().size()) { addErrorMessage(getText("admin.errors.workflows.invalid.step.count", ""+ resultCount)); } super.doValidation(); }
for(ResultDescriptor result : (List<ResultDescriptor>) action.getConditionalResults())
@Override public boolean apply(final ActionDescriptor actionDescriptor) { if (actionDescriptor.getConditionalResults() != null && !actionDescriptor.getConditionalResults().isEmpty()) { return true; } ResultDescriptor unconditionalResult = actionDescriptor.getUnconditionalResult(); if (unconditionalResult != null) { if (unconditionalResult.getValidators() != null && !unconditionalResult.getValidators().isEmpty()) { return true; } if (unconditionalResult.getPreFunctions() != null && !unconditionalResult.getPreFunctions().isEmpty()) { return true; } } if (actionDescriptor.getPreFunctions() != null && !actionDescriptor.getPreFunctions().isEmpty()) { return true; } if (actionDescriptor.getPostFunctions() != null && !actionDescriptor.getPostFunctions().isEmpty()) { return true; } return false; } });
public Collection getStepsWithAction(final StepDescriptor stepDescriptor) { // If global Action final Collection actions = getAllActions(); actionloop : for (final Iterator iterator = actions.iterator(); iterator.hasNext();) { final ActionDescriptor actionDescriptor = (ActionDescriptor) iterator.next(); // Check all conditional results for (final Object o : actionDescriptor.getConditionalResults()) { final ResultDescriptor resultDescriptor = (ResultDescriptor) o; if (resultDescriptor.getStep() == stepDescriptor.getId()) { // The step is a destination step for action's conditional result // Leave the action in the collection continue actionloop; } } // Now check the unconditional result if (actionDescriptor.getUnconditionalResult().getStep() != stepDescriptor.getId()) { // If the step is not a destination of any conditional and unconditional result remove the action from the list iterator.remove(); } } return actions; }
public Collection<ActionDescriptor> getActionsWithResult(final StepDescriptor stepDescriptor) { final Collection<ActionDescriptor> actions = getAllActions(); actionloop : for (final Iterator iterator = actions.iterator(); iterator.hasNext();) { final ActionDescriptor actionDescriptor = (ActionDescriptor) iterator.next(); // Check all conditional results for (final Object o : actionDescriptor.getConditionalResults()) { final ResultDescriptor resultDescriptor = (ResultDescriptor) o; if (resultDescriptor.getStep() == stepDescriptor.getId()) { // The step is a destination step for action's conditional result // Leave the action in the collection continue actionloop; } } // Now check the unconditional result if (actionDescriptor.getUnconditionalResult().getStep() != stepDescriptor.getId()) { // If the step is not a destination of any conditional and unconditional result remove the action from the list iterator.remove(); } } return actions; }
public Collection<FunctionDescriptor> getPostFunctionsForTransition(final ActionDescriptor actionDescriptor) { final Collection<FunctionDescriptor> allPostFunctions = Lists.newArrayList(); if ((actionDescriptor.getUnconditionalResult() != null) && (actionDescriptor.getUnconditionalResult().getPostFunctions() != null)) { allPostFunctions.addAll(actionDescriptor.getUnconditionalResult().getPostFunctions()); } final List conditionalResults = actionDescriptor.getConditionalResults(); if (conditionalResults != null) { for (final Object conditionalResult : conditionalResults) { final ResultDescriptor resultDescriptor = (ResultDescriptor) conditionalResult; allPostFunctions.addAll(resultDescriptor.getPostFunctions()); } } if (actionDescriptor.getPostFunctions() != null) { allPostFunctions.addAll(actionDescriptor.getPostFunctions()); } return allPostFunctions; }