package org.apache.el;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.el.ELContext;
ve2.setValue(context, o1);
assertEquals(o1, ve2.getValue(context));
}
+
+ public void testBug51177ObjectList() {
+ ExpressionFactory factory = ExpressionFactory.newInstance();
+ ELContext context = new ELContextImpl();
+
+ Object o1 = "String value";
+ Object o2 = new Integer(32);
+
+ List<Object> list = new ArrayList<Object>();
+ list.add(0, o1);
+ list.add(1, o2);
+
+ ValueExpression var =
+ factory.createValueExpression(list, List.class);
+ context.getVariableMapper().setVariable("list", var);
+
+ ValueExpression ve1 = factory.createValueExpression(
+ context, "${list[0]}", Object.class);
+ ve1.setValue(context, o2);
+ assertEquals(o2, ve1.getValue(context));
+
+ ValueExpression ve2 = factory.createValueExpression(
+ context, "${list[1]}", Object.class);
+ ve2.setValue(context, o1);
+ assertEquals(o1, ve2.getValue(context));
+ }
+
}