You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by is...@apache.org on 2011/01/10 15:03:41 UTC

svn commit: r1057198 - /axis/axis2/java/core/trunk/modules/json/src/org/apache/axis2/json/AbstractJSONDataSource.java

Author: isurues
Date: Mon Jan 10 14:03:41 2011
New Revision: 1057198

URL: http://svn.apache.org/viewvc?rev=1057198&view=rev
Log:
committing an improvement proposed in https://issues.apache.org/jira/browse/AXIS2-4731

Modified:
    axis/axis2/java/core/trunk/modules/json/src/org/apache/axis2/json/AbstractJSONDataSource.java

Modified: axis/axis2/java/core/trunk/modules/json/src/org/apache/axis2/json/AbstractJSONDataSource.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/json/src/org/apache/axis2/json/AbstractJSONDataSource.java?rev=1057198&r1=1057197&r2=1057198&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/json/src/org/apache/axis2/json/AbstractJSONDataSource.java (original)
+++ axis/axis2/java/core/trunk/modules/json/src/org/apache/axis2/json/AbstractJSONDataSource.java Mon Jan 10 14:03:41 2011
@@ -31,6 +31,7 @@ import java.io.IOException;
 import java.io.OutputStream;
 import java.io.Reader;
 import java.io.Writer;
+import java.io.BufferedReader;
 
 /**
  * JSONDataSource keeps the JSON String inside and consumes it when needed. This is to be kept in
@@ -169,12 +170,13 @@ public abstract class AbstractJSONDataSo
             return jsonString;
         } else {
             try {
-                char temp = (char)jsonReader.read();
-                // use a buffer to support long json strings better..
-                StringBuilder sb = new StringBuilder(100);
-                while ((int)temp != 65535) {
-                    sb.append(temp);
-                    temp = (char)jsonReader.read();
+                BufferedReader br = new BufferedReader(jsonReader);
+                StringBuilder sb = new StringBuilder(512);
+                char[] tempBuf = new char[512];
+                int readLen;
+
+                while((readLen = br.read(tempBuf)) != -1) {
+                    sb.append(tempBuf, 0, readLen);
                 }
                 jsonString = sb.toString();
             } catch (IOException e) {