/** * Create a transition criteria chain chaining given list of actions. * @param actions the actions (and their execution properties) to chain together */ public static TransitionCriteria criteriaChainFor(Action... actions) { if (actions == null || actions.length == 0) { return WildcardTransitionCriteria.INSTANCE; } TransitionCriteriaChain chain = new TransitionCriteriaChain(); for (Action action : actions) { chain.add(new ActionTransitionCriteria(action)); } return chain; } }
private Transition parseTransition(TransitionModel transition) { TransitionCriteria matchingCriteria = (TransitionCriteria) fromStringTo(TransitionCriteria.class).execute( transition.getOn()); TargetStateResolver stateResolver = (TargetStateResolver) fromStringTo(TargetStateResolver.class).execute( transition.getTo()); TransitionCriteria executionCriteria = TransitionCriteriaChain.criteriaChainFor(parseActions(transition .getActions())); MutableAttributeMap<Object> attributes = parseMetaAttributes(transition.getAttributes()); if (StringUtils.hasText(transition.getBind())) { attributes.put("bind", fromStringTo(Boolean.class).execute(transition.getBind())); } if (StringUtils.hasText(transition.getValidate())) { attributes.put("validate", fromStringTo(Boolean.class).execute(transition.getValidate())); } if (StringUtils.hasText(transition.getValidationHints())) { attributes.put("validationHints", getLocalContext().getExpressionParser().parseExpression(transition.getValidationHints(), new FluentParserContext().evaluate(RequestContext.class))); } if (StringUtils.hasText(transition.getHistory())) { attributes.put("history", fromStringTo(History.class).execute(transition.getHistory().toUpperCase())); } parseAndPutSecured(transition.getSecured(), attributes); return getLocalContext().getFlowArtifactFactory().createTransition(stateResolver, matchingCriteria, executionCriteria, attributes); }
public void testAllTrue() { TestTransitionCriteria criteria1 = new TestTransitionCriteria(true); TestTransitionCriteria criteria2 = new TestTransitionCriteria(true); TestTransitionCriteria criteria3 = new TestTransitionCriteria(true); chain.add(criteria1); chain.add(criteria2); chain.add(criteria3); assertTrue(chain.test(context)); assertTrue(criteria1.tested); assertTrue(criteria2.tested); assertTrue(criteria3.tested); }
protected void setUp() throws Exception { chain = new TransitionCriteriaChain(); context = new MockRequestContext(); }
public void testEmptyChain() { assertTrue(chain.test(context)); }
private Transition parseTransition(Element element) { TransitionCriteria matchingCriteria = (TransitionCriteria) fromStringTo(TransitionCriteria.class).execute( element.getAttribute(ON_ATTRIBUTE)); TargetStateResolver targetStateResolver = (TargetStateResolver) fromStringTo(TargetStateResolver.class) .execute(element.getAttribute(TO_ATTRIBUTE)); TransitionCriteria executionCriteria = TransitionCriteriaChain.criteriaChainFor(parseAnnotatedActions(element)); return getFlowArtifactFactory().createTransition(targetStateResolver, matchingCriteria, executionCriteria, parseAttributes(element)); }
public void testWithFalse() { TestTransitionCriteria criteria1 = new TestTransitionCriteria(true); TestTransitionCriteria criteria2 = new TestTransitionCriteria(false); TestTransitionCriteria criteria3 = new TestTransitionCriteria(true); chain.add(criteria1); chain.add(criteria2); chain.add(criteria3); assertFalse(chain.test(context)); assertTrue(criteria1.tested); assertTrue(criteria2.tested); assertFalse(criteria3.tested); }
/** * Create a transition criteria chain chaining given list of actions. * @param actions the actions (and their execution properties) to chain together */ public static TransitionCriteria criteriaChainFor(Action... actions) { if (actions == null || actions.length == 0) { return WildcardTransitionCriteria.INSTANCE; } TransitionCriteriaChain chain = new TransitionCriteriaChain(); for (Action action : actions) { chain.add(new ActionTransitionCriteria(action)); } return chain; } }
public void testCriteriaChainForNoActions() { TransitionCriteria actionChain = TransitionCriteriaChain.criteriaChainFor((Action[]) null); assertTrue(actionChain.test(context)); }
/** * Create a transition criteria chain chaining given list of actions. * @param actions the actions (and their execution properties) to chain together */ public static TransitionCriteria criteriaChainFor(Action[] actions) { if (actions == null || actions.length == 0) { return WildcardTransitionCriteria.INSTANCE; } TransitionCriteriaChain chain = new TransitionCriteriaChain(); for (int i = 0; i < actions.length; i++) { chain.add(new ActionTransitionCriteria(actions[i])); } return chain; } }
private Transition parseTransition(TransitionModel transition) { TransitionCriteria matchingCriteria = (TransitionCriteria) fromStringTo(TransitionCriteria.class).execute( transition.getOn()); TargetStateResolver stateResolver = (TargetStateResolver) fromStringTo(TargetStateResolver.class).execute( transition.getTo()); TransitionCriteria executionCriteria = TransitionCriteriaChain.criteriaChainFor(parseActions(transition .getActions())); MutableAttributeMap attributes = parseMetaAttributes(transition.getAttributes()); if (StringUtils.hasText(transition.getBind())) { attributes.put("bind", fromStringTo(Boolean.class).execute(transition.getBind())); } if (StringUtils.hasText(transition.getValidate())) { attributes.put("validate", fromStringTo(Boolean.class).execute(transition.getValidate())); } if (StringUtils.hasText(transition.getHistory())) { attributes.put("history", fromStringTo(History.class).execute(transition.getHistory())); } parseAndPutSecured(transition.getSecured(), attributes); return getLocalContext().getFlowArtifactFactory().createTransition(stateResolver, matchingCriteria, executionCriteria, attributes); }
/** * Create a transition criteria chain chaining given list of actions. * @param actions the actions (and their execution properties) to chain together */ public static TransitionCriteria criteriaChainFor(AnnotatedAction[] actions) { if (actions == null || actions.length == 0) { return WildcardTransitionCriteria.INSTANCE; } TransitionCriteriaChain chain = new TransitionCriteriaChain(); for (int i = 0; i < actions.length; i++) { chain.add(new ActionTransitionCriteria(actions[i])); } return chain; } }
private Transition parseTransition(TransitionModel transition) { TransitionCriteria matchingCriteria = (TransitionCriteria) fromStringTo(TransitionCriteria.class).execute( transition.getOn()); TargetStateResolver stateResolver = (TargetStateResolver) fromStringTo(TargetStateResolver.class).execute( transition.getTo()); TransitionCriteria executionCriteria = TransitionCriteriaChain.criteriaChainFor(parseActions(transition .getActions())); MutableAttributeMap<Object> attributes = parseMetaAttributes(transition.getAttributes()); if (StringUtils.hasText(transition.getBind())) { attributes.put("bind", fromStringTo(Boolean.class).execute(transition.getBind())); } if (StringUtils.hasText(transition.getValidate())) { attributes.put("validate", fromStringTo(Boolean.class).execute(transition.getValidate())); } if (StringUtils.hasText(transition.getValidationHints())) { attributes.put("validationHints", getLocalContext().getExpressionParser().parseExpression(transition.getValidationHints(), new FluentParserContext().evaluate(RequestContext.class))); } if (StringUtils.hasText(transition.getHistory())) { attributes.put("history", fromStringTo(History.class).execute(transition.getHistory().toUpperCase())); } parseAndPutSecured(transition.getSecured(), attributes); return getLocalContext().getFlowArtifactFactory().createTransition(stateResolver, matchingCriteria, executionCriteria, attributes); }
public void testCriteriaChainForActions() { AnnotatedAction[] actions = new AnnotatedAction[] { new AnnotatedAction(new TestAction(true)), new AnnotatedAction(new TestAction(false)) }; TransitionCriteria actionChain = TransitionCriteriaChain.criteriaChainFor(actions); assertFalse(actionChain.test(context)); }