private Transition parseElse(IfModel ifModel) { TargetStateResolver stateResolver = (TargetStateResolver) fromStringTo(TargetStateResolver.class).execute( ifModel.getElse()); return getLocalContext().getFlowArtifactFactory().createTransition(stateResolver, null, null, null); }
private Transition parseThen(IfModel ifModel) { Expression test = getLocalContext().getExpressionParser().parseExpression(ifModel.getTest(), new FluentParserContext().evaluate(RequestContext.class).expectResult(Boolean.class)); TransitionCriteria matchingCriteria = new DefaultTransitionCriteria(test); TargetStateResolver targetStateResolver = (TargetStateResolver) fromStringTo(TargetStateResolver.class) .execute(ifModel.getThen()); return getLocalContext().getFlowArtifactFactory().createTransition(targetStateResolver, matchingCriteria, null, null); }
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); }
/** * Creates a new transition. * @param matchingCriteria the criteria that determines when the transition matches * @param targetStateResolver the resolver of the transition's target state * @return the transition */ protected Transition transition(TransitionCriteria matchingCriteria, TargetStateResolver targetStateResolver) { return getFlowArtifactFactory().createTransition(targetStateResolver, matchingCriteria, null, null); }
/** * Creates a new transition. * @param matchingCriteria the criteria that determines when the transition matches * @param targetStateResolver the resolver of the transition's target state * @param executionCriteria the criteria that determines if a matched transition is allowed to execute * @return the transition */ protected Transition transition(TransitionCriteria matchingCriteria, TargetStateResolver targetStateResolver, TransitionCriteria executionCriteria) { return getFlowArtifactFactory() .createTransition(targetStateResolver, matchingCriteria, executionCriteria, null); }
/** * Creates a new transition. * @param matchingCriteria the criteria that determines when the transition matches * @param targetStateResolver the resolver of the transition's target state * @param executionCriteria the criteria that determines if a matched transition is allowed to execute * @param attributes transition attributes * @return the transition */ protected Transition transition(TransitionCriteria matchingCriteria, TargetStateResolver targetStateResolver, TransitionCriteria executionCriteria, AttributeMap attributes) { return getFlowArtifactFactory().createTransition(targetStateResolver, matchingCriteria, executionCriteria, attributes); }
private Transition parseElse(Element element) { TargetStateResolver targetStateResolver = (TargetStateResolver) fromStringTo(TargetStateResolver.class) .execute(element.getAttribute(ELSE_ATTRIBUTE)); return getFlowArtifactFactory().createTransition(targetStateResolver, null, null, null); }
private Transition parseThen(Element element) { Expression expression = getLocalFlowServiceLocator().getExpressionParser().parseExpression( element.getAttribute(TEST_ATTRIBUTE)); TransitionCriteria matchingCriteria = new BooleanExpressionTransitionCriteria(expression); TargetStateResolver targetStateResolver = (TargetStateResolver) fromStringTo(TargetStateResolver.class) .execute(element.getAttribute(THEN_ATTRIBUTE)); return getFlowArtifactFactory().createTransition(targetStateResolver, matchingCriteria, null, null); }
/** * Adds a decision state to the flow built by this builder. * @param stateId the state identifier * @param decisionCriteria the criteria that defines the decision * @param trueStateId the target state on a "true" decision * @param falseStateId the target state on a "false" decision * @return the fully constructed decision state instance */ protected State addDecisionState(String stateId, TransitionCriteria decisionCriteria, String trueStateId, String falseStateId) { Transition thenTransition = getFlowArtifactFactory().createTransition(to(trueStateId), decisionCriteria, null, null); Transition elseTransition = getFlowArtifactFactory().createTransition(to(falseStateId), null, null, null); return getFlowArtifactFactory().createDecisionState(stateId, getFlow(), null, new Transition[] { thenTransition, elseTransition }, null, null, null); }
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)); }
private Transition parseElse(IfModel ifModel) { TargetStateResolver stateResolver = (TargetStateResolver) fromStringTo(TargetStateResolver.class).execute( ifModel.getElse()); return getLocalContext().getFlowArtifactFactory().createTransition(stateResolver, null, null, null); }
private Transition parseElse(IfModel ifModel) { TargetStateResolver stateResolver = (TargetStateResolver) fromStringTo(TargetStateResolver.class).execute( ifModel.getElse()); return getLocalContext().getFlowArtifactFactory().createTransition(stateResolver, null, null, null); }
private Transition parseThen(IfModel ifModel) { Expression test = getLocalContext().getExpressionParser().parseExpression(ifModel.getTest(), new FluentParserContext().evaluate(RequestContext.class).expectResult(Boolean.class)); TransitionCriteria matchingCriteria = new DefaultTransitionCriteria(test); TargetStateResolver targetStateResolver = (TargetStateResolver) fromStringTo(TargetStateResolver.class) .execute(ifModel.getThen()); return getLocalContext().getFlowArtifactFactory().createTransition(targetStateResolver, matchingCriteria, null, null); }
private Transition parseThen(IfModel ifModel) { Expression test = getLocalContext().getExpressionParser().parseExpression(ifModel.getTest(), new FluentParserContext().evaluate(RequestContext.class).expectResult(Boolean.class)); TransitionCriteria matchingCriteria = new DefaultTransitionCriteria(test); TargetStateResolver targetStateResolver = (TargetStateResolver) fromStringTo(TargetStateResolver.class) .execute(ifModel.getThen()); return getLocalContext().getFlowArtifactFactory().createTransition(targetStateResolver, matchingCriteria, null, null); }
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); }
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); }