Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-4480

AbstractJSONDataSource#getJSONString() and buffering

Rank to TopRank to BottomAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.5, 1.6.0
    • None
    • modules
    • None

    Description

      The method getJSONString() in AbstractJSONDataSource makes
      use of string concatenation instead of using a buffer (e.g. StringBuilder).

      char temp = (char)jsonReader.read();
      jsonString = "";
      while ((int)temp != 65535)

      { jsonString += temp; temp = (char)jsonReader.read(); }

      A buffer would be nice for printing large JSON-strings (e.g. with 40000 characters)
      or a printing a lot of middle-sized JSON-strings.

      char temp = (char)jsonReader.read();
      StringBuilder sb = new StringBuilder(100); // TODO which initial capacity?
      while ((int)temp != 65535)

      { sb.append(temp); temp = (char)jsonReader.read(); }

      jsonString = sb.toString();

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            isurues Isuru Suriarachchi
            rogmann Sascha Rogmann
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment