1 /**
2 *
3 */
4 package com.opensymphony.xwork2.ognl.accessor;
5
6 import java.util.Map;
7
8 import ognl.ObjectPropertyAccessor;
9 import ognl.OgnlException;
10
11 import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
12 import com.opensymphony.xwork2.ognl.OgnlValueStack;
13 import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
14
15 public class ObjectAccessor extends ObjectPropertyAccessor {
16 public Object getProperty(Map map, Object o, Object o1) throws OgnlException {
17 Object obj = super.getProperty(map, o, o1);
18 OgnlValueStack.link(map, o.getClass(), (String) o1);
19
20 map.put(XWorkConverter.LAST_BEAN_CLASS_ACCESSED, o.getClass());
21 map.put(XWorkConverter.LAST_BEAN_PROPERTY_ACCESSED, o1.toString());
22 ReflectionContextState.updateCurrentPropertyPath(map, o1);
23 return obj;
24 }
25
26 public void setProperty(Map map, Object o, Object o1, Object o2) throws OgnlException {
27 super.setProperty(map, o, o1, o2);
28 }
29 }