Author: musachy
Date: Fri Mar 20 13:40:51 2009
New Revision: 756461

URL: http://svn.apache.org/viewvc?rev=756461&view=rev
Log:
Use StringEscapeUtils

Modified:
    
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java?rev=756461&r1=756460&r2=756461&view=diff
==============================================================================
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java
 Fri Mar 20 13:40:51 2009
@@ -31,6 +31,7 @@
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.struts2.ServletActionContext;
+import org.apache.commons.lang.xwork.StringEscapeUtils;
 
 import com.opensymphony.xwork2.Action;
 import com.opensymphony.xwork2.ActionInvocation;
@@ -177,7 +178,7 @@
         sb.append("[");
         for (String value : values) {
             sb.append("\"");
-            sb.append(escapeJSON(value));
+            sb.append(StringEscapeUtils.escapeJavaScript(value));
             sb.append("\",");
         }
         if (values.size() > 0)
@@ -185,55 +186,4 @@
         sb.append("]");
         return sb.toString();
     }
-
-    private String escapeJSON(Object obj) {
-        StringBuilder sb = new StringBuilder();
-
-        CharacterIterator it = new StringCharacterIterator(obj.toString());
-
-        for (char c = it.first(); c != CharacterIterator.DONE; c = it.next()) {
-            if (c == '"') {
-                sb.append("\\\"");
-            } else if (c == '\\') {
-                sb.append("\\\\");
-            } else if (c == '/') {
-                sb.append("\\/");
-            } else if (c == '\b') {
-                sb.append("\\b");
-            } else if (c == '\f') {
-                sb.append("\\f");
-            } else if (c == '\n') {
-                sb.append("\\n");
-            } else if (c == '\r') {
-                sb.append("\\r");
-            } else if (c == '\t') {
-                sb.append("\\t");
-            } else if (Character.isISOControl(c)) {
-                sb.append(unicode(c));
-            } else {
-                sb.append(c);
-            }
-        }
-        return sb.toString();
-    }
-
-    /**
-     * Represent as unicode
-     * @param c character to be encoded
-     */
-    private String unicode(char c) {
-        StringBuilder sb = new StringBuilder();
-        sb.append("\\u");
-
-        int n = c;
-
-        for (int i = 0; i < 4; ++i) {
-            int digit = (n & 0xf000) >> 12;
-
-            sb.append(hex[digit]);
-            n <<= 4;
-        }
-        return sb.toString();
-    }
-
 }


Reply via email to