You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2010/04/10 14:47:01 UTC

svn commit: r932712 - /struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java

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;