private SetModel parseSet(Element element) { SetModel set = new SetModel(element.getAttribute("name"), element.getAttribute("value")); set.setType(element.getAttribute("type")); set.setAttributes(parseAttributes(element)); return set; }
private Action parseSetAction(SetModel set) { Expression nameExpression = getLocalContext().getExpressionParser().parseExpression(set.getName(), new FluentParserContext().evaluate(RequestContext.class)); FluentParserContext valueParserContext = new FluentParserContext().evaluate(RequestContext.class); if (StringUtils.hasText(set.getType())) { valueParserContext.expectResult(toClass(set.getType())); } Expression valueExpression = getLocalContext().getExpressionParser().parseExpression(set.getValue(), valueParserContext); return new SetAction(nameExpression, valueExpression); }
private SetModel parseSet(Element element) { SetModel set = new SetModel(element.getAttribute("name"), element.getAttribute("value")); set.setType(element.getAttribute("type")); set.addAttributes(parseAttributes(element)); return set; }
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 testNotMergeable() { SetModel child = new SetModel("name", "value"); assertFalse(child.isMergeableWith(child)); }
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()); }
private Action parseSetAction(SetModel set) { Expression nameExpression = getLocalContext().getExpressionParser().parseExpression(set.getName(), new FluentParserContext().evaluate(RequestContext.class)); FluentParserContext valueParserContext = new FluentParserContext().evaluate(RequestContext.class); if (StringUtils.hasText(set.getType())) { valueParserContext.expectResult(toClass(set.getType())); } Expression valueExpression = getLocalContext().getExpressionParser().parseExpression(set.getValue(), valueParserContext); return new SetAction(nameExpression, valueExpression); }
private SetModel parseSet(Element element) { SetModel set = new SetModel(element.getAttribute("name"), element.getAttribute("value")); set.setType(element.getAttribute("type")); set.setAttributes(parseAttributes(element)); return set; }
public void testSetActionWithResultType() throws Exception { SetModel setModel = new SetModel("flowScope.stringArray", "intArray"); setModel.setType("java.lang.String[]"); model.setOnStartActions(asList(setModel)); 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("intArray", new int[] { 1, 2 }); action.execute(context); String[] expected = (String[]) context.getFlowScope().get("stringArray"); assertEquals("1", expected[0]); assertEquals("2", expected[1]); }
public void testSetActionWithImplicitTypeConversion() throws Exception { SetModel setModel = new SetModel("testBean.stringArray", "intArray"); model.setOnStartActions(asList(setModel)); ViewStateModel state = new ViewStateModel("view"); model.setStates(asList(state)); Flow flow = getFlow(model); AnnotatedAction action = (AnnotatedAction) flow.getStartActionList().get(0); MockRequestContext context = new MockRequestContext(flow); context.getFlowScope().put("testBean", new TestBean()); context.getFlowScope().put("intArray", new int[] { 1, 2 }); action.execute(context); TestBean expected = (TestBean) context.getFlowScope().get("testBean"); assertEquals("1", expected.stringArray[0]); assertEquals("2", expected.stringArray[1]); }
private Action parseSetAction(SetModel set) { Expression nameExpression = getLocalContext().getExpressionParser().parseExpression(set.getName(), new FluentParserContext().evaluate(RequestContext.class)); Expression valueExpression = getLocalContext().getExpressionParser().parseExpression(set.getValue(), new FluentParserContext().evaluate(RequestContext.class)); Class expectedType = null; if (StringUtils.hasText(set.getType())) { expectedType = toClass(set.getType()); } return new SetAction(nameExpression, valueExpression, expectedType, getLocalContext().getConversionService()); }