1 /**
2 *
3 */
4 package com.opensymphony.xwork2.ognl.accessor;
5
6 import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
7 import com.opensymphony.xwork2.ognl.OgnlValueStack;
8 import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
9 import ognl.ObjectPropertyAccessor;
10 import ognl.OgnlException;
11
12 import java.util.Map;
13
14 public class ObjectAccessor extends ObjectPropertyAccessor {
15 @Override
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 @Override
27 public void setProperty(Map map, Object o, Object o1, Object o2) throws OgnlException {
28 super.setProperty(map, o, o1, o2);
29 }
30 }