Author: lukaszlenart Date: Sat Apr 10 12:47:01 2010 New Revision: 932712 URL: http://svn.apache.org/viewvc?rev=932712&view=rev Log: Resolved WW-3325 - do not serialize added by Javassist properties
Modified: struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java Modified: struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java?rev=932712&r1=932711&r2=932712&view=diff ============================================================================== --- struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java (original) +++ struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java Sat Apr 10 12:47:01 2010 @@ -20,6 +20,10 @@ */ package org.apache.struts2.json; +import com.opensymphony.xwork2.util.logging.Logger; +import com.opensymphony.xwork2.util.logging.LoggerFactory; +import org.apache.struts2.json.annotations.JSON; + import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; @@ -38,11 +42,6 @@ import java.util.Map; import java.util.Stack; import java.util.regex.Pattern; -import org.apache.struts2.json.annotations.JSON; - -import com.opensymphony.xwork2.util.logging.Logger; -import com.opensymphony.xwork2.util.logging.LoggerFactory; - /** * <p> * Serializes an object into JavaScript Object Notation (JSON). If cyclic @@ -198,6 +197,14 @@ class JSONWriter { } catch (Exception ex) { LOG.debug(ex.getMessage(), ex); } + } else if (clazz.getName().indexOf("$$_javassist") > -1) { + try { + baseAccessor = Class.forName( + clazz.getName().substring(0, clazz.getName().indexOf("_$$"))) + .getMethod(accessor.getName(), accessor.getParameterTypes()); + } catch (Exception ex) { + LOG.debug(ex.getMessage(), ex); + } } else baseAccessor = accessor;