public void test_Get_Source() throws Throwable { ASTProperty p = new ASTProperty(0); p.setIndexedAccess(false); ASTConst pRef = new ASTConst(0); pRef.setValue("nested"); pRef.jjtSetParent(p); p.jjtAddChild(pRef, 0); Map root = new Root().getMap(); OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null); context.setRoot(root); context.setCurrentObject(root); context.setCurrentNode(pRef); assertEquals(".get(\"nested\")", p.toGetSourceString(context, root)); assertEquals(Object.class, context.getCurrentType()); assertEquals(Map.class, context.getCurrentAccessor()); assertEquals(root.getClass(), context.getPreviousType()); assertEquals(null, context.getPreviousAccessor()); assertEquals(root.get("nested"), context.getCurrentObject()); assert Map.class.isAssignableFrom(context.getCurrentAccessor()); assertEquals(root.getClass(), context.getPreviousType()); assertEquals(null, context.getPreviousAccessor()); }
public void test_Get_Value_Body() throws Exception { ASTProperty p = new ASTProperty(0); p.setIndexedAccess(false); ASTConst pRef = new ASTConst(0); pRef.setValue("nested"); pRef.jjtSetParent(p); p.jjtAddChild(pRef, 0); Map root = new Root().getMap(); OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null); context.setRoot(root); context.setCurrentObject(root); context.setCurrentNode(pRef); assertEquals(root.getClass(), context.getCurrentType()); assertEquals(null, context.getPreviousType()); assertEquals(root, context.getCurrentObject()); assertEquals(null, context.getCurrentAccessor()); assertEquals(null, context.getPreviousAccessor()); Object value = p.getValue(context, root); assertEquals(root.get("nested"), value); assertEquals(root.getClass(), context.getCurrentType()); assertEquals(null, context.getPreviousType()); assertEquals(null, context.getCurrentAccessor()); assertEquals(null, context.getPreviousAccessor()); }
public void test_Set_Chain_Indexed_Property() throws Exception { Root root = new Root(); OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null); context.setRoot(root); context.setCurrentObject(root); SimpleNode node = (SimpleNode) Ognl.parseExpression("tab.searchCriteriaSelections[index1][index2]"); node.setValue(context, root, Boolean.FALSE); }
public void test_Set_Get_Multiple_Generic_Types_Property() throws Exception { BaseGeneric<GameGenericObject, Long> root = new GameGeneric(); OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null); context.setRoot(root); context.setCurrentObject(root); SimpleNode node = (SimpleNode) Ognl.parseExpression("ids"); node.setValue(context, root, new String[] {"0", "20", "43"}); isEqual(new Long[] {new Long(0), new Long(20), new Long(43)}, root.getIds()); isEqual(node.getValue(context, root), root.getIds()); }
public void test_Get_Generic_Property() throws Exception { GenericRoot root = new GenericRoot(); OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null); context.setRoot(root); context.setCurrentObject(root); SimpleNode node = (SimpleNode) Ognl.parseExpression("cracker.param"); node.setValue(context, root, "0"); assertEquals(new Integer(0), node.getValue(context, root)); node.setValue(context, root, "10"); assertEquals(new Integer(10), node.getValue(context, root)); }
public void test_Indexed_Object_Type() throws Throwable { // ASTChain chain = new ASTChain(0); ASTProperty listp = new ASTProperty(0); listp.setIndexedAccess(false); // listp.jjtSetParent(chain); ASTConst listc = new ASTConst(0); listc.setValue("list"); listc.jjtSetParent(listp); listp.jjtAddChild(listc, 0); // chain.jjtAddChild(listp, 0); ASTProperty p = new ASTProperty(0); p.setIndexedAccess(true); ASTProperty pindex = new ASTProperty(0); ASTConst pRef = new ASTConst(0); pRef.setValue("genericIndex"); pRef.jjtSetParent(pindex); pindex.jjtAddChild(pRef, 0); p.jjtAddChild(pindex, 0); // chain.jjtAddChild(p, 1); Root root = new Root(); OgnlContext context = (OgnlContext) Ognl.createDefaultContext(null); context.setRoot(root); context.setCurrentObject(root); context.setCurrentNode(listp); assertEquals(".getList()", listp.toGetSourceString(context, root)); assertEquals(List.class, context.getCurrentType()); assertEquals(Root.class, context.getCurrentAccessor()); assertEquals(null, context.getPreviousAccessor()); assertEquals(root.getClass(), context.getPreviousType()); assertEquals(root.getList(), context.getCurrentObject()); // re test with chain context = (OgnlContext) Ognl.createDefaultContext(null); context.setRoot(root); context.setCurrentObject(root); ASTChain chain = new ASTChain(0); listp.jjtSetParent(chain); chain.jjtAddChild(listp, 0); context.setCurrentNode(chain); assertEquals(".getList()", chain.toGetSourceString(context, root)); assertEquals(List.class, context.getCurrentType()); assertEquals(Root.class, context.getCurrentAccessor()); assertEquals(null, context.getPreviousAccessor()); assertEquals(Root.class, context.getPreviousType()); assertEquals(root.getList(), context.getCurrentObject()); // test with only getIndex assertEquals( ".get(ognl.OgnlOps#getIntValue(((org.ognl.test.objects.Root)$2)..getGenericIndex().toString()))", p.toGetSourceString(context, root.getList())); assertEquals(root.getArray(), context.getCurrentObject()); assertEquals(Object.class, context.getCurrentType()); }