You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2012/05/16 11:53:26 UTC

svn commit: r1339095 - /myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/JsonResponseWriter.java

Author: lofwyr
Date: Wed May 16 09:53:25 2012
New Revision: 1339095

URL: http://svn.apache.org/viewvc?rev=1339095&view=rev
Log:
TOBAGO-1132: Ajax requests fail if the response contains a backslash character '\'
- minor optimization

Modified:
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/JsonResponseWriter.java

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/JsonResponseWriter.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/JsonResponseWriter.java?rev=1339095&r1=1339094&r2=1339095&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/JsonResponseWriter.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/webapp/JsonResponseWriter.java Wed May 16 09:53:25 2012
@@ -134,7 +134,9 @@ public class JsonResponseWriter extends 
       writer.write(name);
       writer.write("=\\\"");
       // todo: optimize for performance: replace
-      value = value.replace("\\", "\\\\");
+      if (value.contains("\\")) {
+        value = value.replace("\\", "\\\\");
+      }
       if (escape) {
         getHelper().writeAttributeValue(value);
       } else {
@@ -148,7 +150,11 @@ public class JsonResponseWriter extends 
       throws IOException {
     closeOpenTag();
     // todo: optimize for performance: replace
-    getHelper().writeText(findValue(text, property).replace("\\", "\\\\"));
+    String value = findValue(text, property);
+    if (value.contains("\\")) {
+      value = value.replace("\\", "\\\\");
+    }
+    getHelper().writeText(value);
   }
 
 /* TODO: may also encode the backslash \, but will not be used currently