/** * Creates a new exception. * @param state the action state * @param resultEvent the action result event */ public NoMatchingActionResultTransitionException(ActionState state, Event resultEvent) { super(state.getFlow().getId(), state.getId(), resultEvent, "Cannot find a transition matching an action result event; continuing with next action..."); } }
throw new NoMatchingTransitionException(getFlow().getId(), getId(), context.getCurrentEvent(), "No transition was matched on the event(s) signaled by the [" + executionCount + "] action(s) that executed in this action state '" + getId() + "' of flow '" + getFlow().getId() + "'; transitions must be defined to handle action result outcomes -- " + "possible flow configuration error? Note: the eventIds signaled were: '"
/** * Prepend actions to action state execution list. * * @param flow the flow * @param actionStateId the action state id * @param actions the actions */ public void prependActionsToActionStateExecutionList(final Flow flow, final ActionState actionStateId, final EvaluateAction... actions) { addActionsToActionStateExecutionListAt(flow, actionStateId.getId(), 0, actions); }
/** * Prepend actions to action state execution list. * * @param flow the flow * @param actionStateId the action state id * @param actions the actions */ public void prependActionsToActionStateExecutionList(final Flow flow, final ActionState actionStateId, final String... actions) { prependActionsToActionStateExecutionList(flow, actionStateId.getId(), actions); }
private static void configureFlowStartState(final Flow flow, final ActionState terminateSessionActionState) { LOGGER.trace("Setting the start state of the logout webflow identified by [{}] to [{}]", flow.getId(), terminateSessionActionState.getId()); flow.setStartState(terminateSessionActionState); }
/** * Creates a new exception. * @param state the action state * @param resultEvent the action result event */ public NoMatchingActionResultTransitionException(ActionState state, Event resultEvent) { super(state.getFlow().getId(), state.getId(), resultEvent, "Cannot find a transition matching an action result event; continuing with next action..."); } }
/** * Creates a new exception. * @param state the action state * @param resultEvent the action result event */ public NoMatchingActionResultTransitionException(ActionState state, Event resultEvent) { super(state.getFlow().getId(), state.getId(), resultEvent, "Cannot find a transition matching an action result event; continuing with next action..."); } }
/** * Creates a new exception. * @param state the action state * @param resultEvent the action result event */ public NoMatchingActionResultTransitionException(ActionState state, Event resultEvent) { super(state.getFlow().getId(), state.getId(), resultEvent, "Cannot find a transition matching an action result event; continuing with next action..."); } }
/** * Creates a new exception. * @param state the action state * @param resultEvent the action result event */ public NoMatchingActionResultTransitionException(ActionState state, Event resultEvent) { super(state.getFlow().getId(), state.getId(), resultEvent, "Cannot find a transition matching an action result event; continuing with next action..."); } }
/** * Create action state. * * @param flow the flow * @param name the name * @param actions the actions * @return the action state */ protected ActionState createActionState(final Flow flow, final String name, final Action... actions) { final ActionState actionState = new ActionState(flow, name); logger.debug("Created action state {}", actionState.getId()); actionState.getActionList().addAll(actions); logger.debug("Added action to the action state {} list of actions: {}", actionState.getId(), actionState.getActionList()); return actionState; }
@Override public ActionState createActionState(final Flow flow, final String name, final Action... actions) { if (containsFlowState(flow, name)) { LOGGER.trace("Flow [{}] already contains a definition for state id [{}]", flow.getId(), name); return getTransitionableState(flow, name, ActionState.class); } val actionState = new ActionState(flow, name); LOGGER.trace("Created action state [{}]", actionState.getId()); actionState.getActionList().addAll(actions); LOGGER.trace("Added action to the action state [{}] list of actions: [{}]", actionState.getId(), actionState.getActionList()); return actionState; }
/** * Add transition to action state. * * @param actionState the action state * @param criteriaOutcome the criteria outcome * @param targetState the target state */ protected static void addTransitionToActionState(final ActionState actionState, final String criteriaOutcome, final String targetState) { try { final Transition transition = createTransition(criteriaOutcome, targetState); actionState.getTransitionSet().add(transition); LOGGER.debug("Added transition {} to the action state {}", transition.getId(), actionState.getId()); } catch (final Exception e) { LOGGER.error(e.getMessage(), e); } }
/** * Add multi factor outcome transitions to submission action state. * * @param flow the flow * @param flowIds the flow ids */ protected void addMultiFactorOutcomeTransitionsToSubmissionActionState(final Flow flow, final String[] flowIds) { final ActionState actionState = (ActionState) flow.getState(STATE_DEFINITION_ID_REAL_SUBMIT); LOGGER.debug("Retrieved action state {}", actionState.getId()); final Action existingAction = actionState.getActionList().get(0); actionState.getActionList().remove(existingAction); final EvaluateAction action = createEvaluateAction("initiatingAuthenticationViaFormAction"); actionState.getActionList().add(action); LOGGER.debug("Set action {} for action state {}", actionState.getId()); for (final String flowId : flowIds) { addTransitionToActionState(actionState, flowId, flowId); } }
try { final ActionState actionState = new ActionState(flow, "mfaTicketGrantingTicketExistsCheck"); LOGGER.debug("Created action state {}", actionState.getId()); actionState.getActionList().add(createEvaluateAction("validateInitialMfaRequestAction")); LOGGER.debug("Added action to the action state {} list of actions: {}", actionState.getId(), actionState.getActionList()); actionState.getId(), currentStartState.getId()); addTransitionToActionState(actionState, "requireTgt", currentStartState.getId());
throw new NoMatchingTransitionException(getFlow().getId(), getId(), context.getCurrentEvent(), "No transition was matched on the event(s) signaled by the [" + executionCount + "] action(s) that executed in this action state '" + getId() + "' of flow '" + getFlow().getId() + "'; transitions must be defined to handle action result outcomes -- " + "possible flow configuration error? Note: the eventIds signaled were: '"
throw new NoMatchingTransitionException(getFlow().getId(), getId(), context.getLastEvent(), "No transition was matched on the event(s) signaled by the [" + executionCount + "] action(s) that executed in this action state '" + getId() + "' of flow '" + getFlow().getId() + "'; transitions must be defined to handle action result outcomes -- " + "possible flow configuration error? Note: the eventIds signaled were: '"
throw new NoMatchingTransitionException(getFlow().getId(), getId(), context.getCurrentEvent(), "No transition was matched on the event(s) signaled by the [" + executionCount + "] action(s) that executed in this action state '" + getId() + "' of flow '" + getFlow().getId() + "'; transitions must be defined to handle action result outcomes -- " + "possible flow configuration error? Note: the eventIds signaled were: '"