You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2010/06/01 21:06:17 UTC

svn commit: r950207 - in /lucene/dev/trunk/solr/src/java/org/apache/solr/response: TextResponseWriter.java XMLWriter.java

Author: yonik
Date: Tue Jun  1 19:06:17 2010
New Revision: 950207

URL: http://svn.apache.org/viewvc?rev=950207&view=rev
Log:
SOLR-1933: 2 space indenting for responses

Modified:
    lucene/dev/trunk/solr/src/java/org/apache/solr/response/TextResponseWriter.java
    lucene/dev/trunk/solr/src/java/org/apache/solr/response/XMLWriter.java

Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/response/TextResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/response/TextResponseWriter.java?rev=950207&r1=950206&r2=950207&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/response/TextResponseWriter.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/response/TextResponseWriter.java Tue Jun  1 19:06:17 2010
@@ -71,28 +71,16 @@ public abstract class TextResponseWriter
   /** returns the Writer that the response is being written to */
   public Writer getWriter() { return writer; }
 
-  // use a combination of tabs and spaces to minimize the size of an indented response.
-  private static final String[] indentArr = new String[] {
-    "\n",
-    "\n ",
-    "\n  ",
-    "\n\t",
-    "\n\t ",
-    "\n\t  ",  // could skip this one (the only 3 char seq)
-    "\n\t\t",
-    "\n\t\t "};
 
   public void indent() throws IOException {
      if (doIndent) indent(level);
   }
 
   public void indent(int lev) throws IOException {
-    int arrsz = indentArr.length-1;
-    // power-of-two intent array (gratuitous optimization :-)
-    String istr = indentArr[lev & (indentArr.length-1)];
-    writer.write(istr);
+    writer.write(XMLWriter.indentChars, 0, Math.min((lev<<1)+1, XMLWriter.indentChars.length));
   }
 
+
   //
   // Functions to manipulate the current logical nesting level.
   // Any indentation will be partially based on level.

Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/response/XMLWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/response/XMLWriter.java?rev=950207&r1=950206&r2=950207&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/response/XMLWriter.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/response/XMLWriter.java Tue Jun  1 19:06:17 2010
@@ -283,24 +283,20 @@ final public class XMLWriter {
     }
   }
 
-  private static final String[] indentArr = new String[] {
-    "\n",
-    "\n ",
-    "\n  ",
-    "\n\t",
-    "\n\t ",
-    "\n\t  ",  // could skip this one (the only 3 char seq)
-    "\n\t\t" };
+
+  // indent up to 40 spaces
+  static final char[] indentChars = new char[81];
+  static {
+    Arrays.fill(indentChars,' ');
+    indentChars[0] = '\n';  // start with a newline
+  }
 
   public void indent() throws IOException {
      indent(level);
   }
 
   public void indent(int lev) throws IOException {
-    int arrsz = indentArr.length-1;
-    // another option would be lev % arrsz (wrap around)
-    String istr = indentArr[ lev > arrsz ? arrsz : lev ];
-    writer.write(istr);
+    writer.write(indentChars, 0, Math.min((lev<<1)+1, indentChars.length));
   }
 
   private static final Comparator fieldnameComparator = new Comparator() {