private EvaluateModel parseEvaluate(Element element) { EvaluateModel evaluate = new EvaluateModel(element.getAttribute("expression")); evaluate.setResult(element.getAttribute("result")); evaluate.setResultType(element.getAttribute("result-type")); evaluate.setAttributes(parseAttributes(element)); return evaluate; }
public Model createCopy() { EvaluateModel copy = new EvaluateModel(expression); super.fillCopy(copy); copy.setResult(result); copy.setResultType(resultType); return copy; }
private static void createDuoFlowStartActions(final DynamicFlowModelBuilder modelBuilder) { val starts = new ArrayList<AbstractActionModel>(); starts.add(new EvaluateModel(CasWebflowConstants.ACTION_ID_INIT_FLOW_SETUP)); modelBuilder.setOnStartActions(starts); }
private EvaluateModel parseEvaluate(Element element) { EvaluateModel evaluate = new EvaluateModel(element.getAttribute("expression")); evaluate.setResult(element.getAttribute("result")); evaluate.setResultType(element.getAttribute("result-type")); evaluate.addAttributes(parseAttributes(element)); return evaluate; }
private EvaluateModel parseEvaluate(Element element) { EvaluateModel evaluate = new EvaluateModel(element.getAttribute("expression")); evaluate.setResult(element.getAttribute("result")); evaluate.setResultType(element.getAttribute("result-type")); evaluate.setAttributes(parseAttributes(element)); return evaluate; }
private static void createDuoDoNonWebAuthenticationAction(final List<AbstractStateModel> states) { val actModel = new ActionStateModel(STATE_ID_DUO_NON_WEB_AUTHENTICATION); val actions = new LinkedList<AbstractActionModel>(); actions.add(new EvaluateModel(ACTION_DUO_NON_WEB_AUTHENTICATION_ACTION)); actModel.setActions(actions); val trans = new LinkedList<TransitionModel>(); val transModel = new TransitionModel(); transModel.setOn(CasWebflowConstants.TRANSITION_ID_SUCCESS); transModel.setTo(STATE_ID_FINALIZE_AUTHENTICATION); trans.add(transModel); actModel.setTransitions(trans); states.add(actModel); }
private static void createDuoFinalizeAuthenticationAction(final List<AbstractStateModel> states) { val actModel = new ActionStateModel(STATE_ID_FINALIZE_AUTHENTICATION); val actions = new LinkedList<AbstractActionModel>(); actions.add(new EvaluateModel(ACTION_DUO_AUTHENTICATION_WEBFLOW)); actModel.setActions(actions); val trans = new LinkedList<TransitionModel>(); val transModel = new TransitionModel(); transModel.setOn(CasWebflowConstants.TRANSITION_ID_SUCCESS); transModel.setTo(CasWebflowConstants.TRANSITION_ID_SUCCESS); trans.add(transModel); actModel.setTransitions(trans); states.add(actModel); }
private static LinkedList<AbstractActionModel> createDuoInitializeLoginAction(final List<AbstractStateModel> states) { val actModel = new ActionStateModel(CasWebflowConstants.STATE_ID_INIT_LOGIN_FORM); val actions = new LinkedList<AbstractActionModel>(); actions.add(new EvaluateModel("initializeLoginAction")); actModel.setActions(actions); val trans = new LinkedList<TransitionModel>(); val transModel = new TransitionModel(); transModel.setOn(CasWebflowConstants.TRANSITION_ID_SUCCESS); transModel.setTo(STATE_ID_DETERMINE_DUO_USER_ACCOUNT); trans.add(transModel); actModel.setTransitions(trans); states.add(actModel); return actions; }
public Model createCopy() { EvaluateModel copy = new EvaluateModel(expression); super.fillCopy(copy); copy.setResult(result); copy.setResultType(resultType); return copy; }
private static void createDuoDetermineRequestAction(final List<AbstractStateModel> states) { val actModel = new ActionStateModel(STATE_ID_DETERMINE_DUO_REQUEST); val actions = new LinkedList<AbstractActionModel>(); actions.add(new EvaluateModel(ACTION_CHECK_WEB_AUTHENTICATION_REQUEST)); actModel.setActions(actions); val trans = new LinkedList<TransitionModel>(); var transModel = new TransitionModel(); transModel.setOn(CasWebflowConstants.TRANSITION_ID_YES); transModel.setTo(STATE_ID_VIEW_LOGIN_FORM_DUO); trans.add(transModel); transModel = new TransitionModel(); transModel.setOn(CasWebflowConstants.TRANSITION_ID_NO); transModel.setTo(STATE_ID_DUO_NON_WEB_AUTHENTICATION); trans.add(transModel); actModel.setTransitions(trans); states.add(actModel); }
private static void createDuoLoginViewState(final List<AbstractStateModel> states) { val viewState = new ViewStateModel(STATE_ID_VIEW_LOGIN_FORM_DUO); viewState.setView("casDuoLoginView"); viewState.setModel(CasWebflowConstants.VAR_ID_CREDENTIAL); val bm = new BinderModel(); val bindings = new LinkedList<BindingModel>(); val bme = new BindingModel("signedDuoResponse", null, null); bindings.add(bme); bm.setBindings(bindings); viewState.setBinder(bm); val actions = new LinkedList<AbstractActionModel>(); actions.add(new EvaluateModel(ACTION_PREPARE_DUO_WEB_LOGIN_FORM_ACTION)); viewState.setOnEntryActions(actions); val trans = new LinkedList<TransitionModel>(); val transModel = new TransitionModel(); transModel.setOn(CasWebflowConstants.TRANSITION_ID_SUBMIT); transModel.setTo(CasWebflowConstants.STATE_ID_REAL_SUBMIT); transModel.setBind(Boolean.TRUE.toString()); transModel.setValidate(Boolean.FALSE.toString()); trans.add(transModel); viewState.setTransitions(trans); states.add(viewState); }
private static void createDuoAuthenticationWebflowAction(final List<AbstractStateModel> states) { val actModel = new ActionStateModel(CasWebflowConstants.STATE_ID_REAL_SUBMIT); val actions = new LinkedList<AbstractActionModel>(); actions.add(new EvaluateModel(ACTION_DUO_AUTHENTICATION_WEBFLOW)); actModel.setActions(actions); val trans = new LinkedList<TransitionModel>(); var transModel = new TransitionModel(); transModel.setOn(CasWebflowConstants.TRANSITION_ID_SUCCESS); transModel.setTo(CasWebflowConstants.TRANSITION_ID_SUCCESS); trans.add(transModel); transModel = new TransitionModel(); transModel.setOn(CasWebflowConstants.TRANSITION_ID_ERROR); transModel.setTo(CasWebflowConstants.STATE_ID_INIT_LOGIN_FORM); trans.add(transModel); transModel = new TransitionModel(); transModel.setOn(CasWebflowConstants.TRANSITION_ID_DENY); transModel.setTo(CasWebflowConstants.TRANSITION_ID_DENY); trans.add(transModel); transModel = new TransitionModel(); transModel.setOn(CasWebflowConstants.TRANSITION_ID_UNAVAILABLE); transModel.setTo(CasWebflowConstants.TRANSITION_ID_UNAVAILABLE); trans.add(transModel); actModel.setTransitions(trans); states.add(actModel); }
public void testNotMergeable() { EvaluateModel child = new EvaluateModel("name"); assertFalse(child.isMergeableWith(child)); }
private static void createDuoDetermineUserAccountAction(final List<AbstractStateModel> states) { val actModel = new ActionStateModel(CasWebflowConstants.STATE_ID_MFA_PRE_AUTH); val actions = new LinkedList<AbstractActionModel>(); actions.add(new EvaluateModel(ACTION_DETERMINE_DUO_USER_ACCOUNT)); actModel.setActions(actions);
public void testMerge() { ActionStateModel child = new ActionStateModel("child"); ActionStateModel parent = new ActionStateModel("parent"); LinkedList<AbstractActionModel> actions = new LinkedList<>(); EvaluateModel eval = new EvaluateModel("foo.bar"); actions.add(eval); parent.setActions(actions); parent.setSecured(new SecuredModel("secured")); child.merge(parent); assertNotNull(child.getSecured()); assertEquals("foo.bar", ((EvaluateModel) child.getActions().get(0)).getExpression()); }
public void testMergeOnStart() { FlowModel child = new FlowModel(); child.setOnStartActions(asList(new EvaluateModel("expression"), new RenderModel( "expression"), new SetModel("expression", "value"))); FlowModel parent = new FlowModel(); EvaluateModel eval = new EvaluateModel("expression"); eval.setResult("result"); parent.setOnStartActions(asList(eval, new RenderModel("expression"), new SetModel( "expression", "value"))); child.merge(parent); assertEquals(6, child.getOnStartActions().size()); assertNotNull(((EvaluateModel) child.getOnStartActions().get(0)).getResult()); }
public void testMergeOnEnd() { FlowModel child = new FlowModel(); child.setOnEndActions(asList(new EvaluateModel("expression"), new RenderModel("expression"), new SetModel("expression", "value"))); FlowModel parent = new FlowModel(); EvaluateModel eval = new EvaluateModel("expression"); eval.setResult("result"); parent.setOnEndActions(asList(eval, new RenderModel("expression"), new SetModel( "expression", "value"))); child.merge(parent); assertEquals(6, child.getOnEndActions().size()); assertNotNull(((EvaluateModel) child.getOnEndActions().get(0)).getResult()); }
parent.setTransitions(transitions); EvaluateModel eval = new EvaluateModel("foo.bar"); LinkedList<AbstractActionModel> actions = new LinkedList<>(); actions.add(eval);
public void testEvaluateActionWithResultType() throws Exception { EvaluateModel evaluateModel = new EvaluateModel("testBean.getIntegers()"); evaluateModel.setResult("flowScope.stringArray"); evaluateModel.setResultType("java.lang.String[]"); model.setOnStartActions(asList(evaluateModel)); model.setStates(asList(new ViewStateModel("view"))); Flow flow = getFlow(model); AnnotatedAction action = (AnnotatedAction) flow.getStartActionList().get(0); MockRequestContext context = new MockRequestContext(flow); context.getFlowScope().put("testBean", new TestBean()); action.execute(context); String[] expected = (String[]) context.getFlowScope().get("stringArray"); assertEquals("1", expected[0]); assertEquals("2", expected[1]); }
public void testEvaluateActionWithELExpression() throws Exception { EvaluateModel evaluateModel = new EvaluateModel("testBean.getIntegers()"); evaluateModel.setResult("flowScope.stringArray"); evaluateModel.setResultType("java.lang.String[]"); model.setOnStartActions(asList(evaluateModel)); model.setStates(asList(new ViewStateModel("view"))); Flow flow = getFlow(model); AnnotatedAction action = (AnnotatedAction) flow.getStartActionList().get(0); MockRequestContext context = new MockRequestContext(flow); context.getFlowScope().put("testBean", new TestBean()); action.execute(context); String[] expected = (String[]) context.getFlowScope().get("stringArray"); assertEquals("1", expected[0]); assertEquals("2", expected[1]); }