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;