You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2015/06/24 16:39:24 UTC

svn commit: r1687300 - in /lucene/dev/branches/branch_5x: ./ lucene/ solr/ solr/core/ solr/core/src/java/org/apache/solr/core/ solr/core/src/java/org/apache/solr/response/ solr/core/src/test/org/apache/solr/request/ solr/core/src/test/org/apache/solr/s...

Author: noble
Date: Wed Jun 24 14:39:23 2015
New Revision: 1687300

URL: http://svn.apache.org/r1687300
Log:
SOLR-7651: New response format added wt=smile

Added:
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/response/SmileResponseWriter.java
      - copied unchanged from r1687256, lucene/dev/trunk/solr/core/src/java/org/apache/solr/response/SmileResponseWriter.java
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/request/SmileWriterTest.java
      - copied unchanged from r1687256, lucene/dev/trunk/solr/core/src/test/org/apache/solr/request/SmileWriterTest.java
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestSmileRequest.java
      - copied unchanged from r1687256, lucene/dev/trunk/solr/core/src/test/org/apache/solr/search/TestSmileRequest.java
    lucene/dev/branches/branch_5x/solr/licenses/jackson-annotations-2.5.4.jar.sha1
      - copied unchanged from r1687256, lucene/dev/trunk/solr/licenses/jackson-annotations-2.5.4.jar.sha1
    lucene/dev/branches/branch_5x/solr/licenses/jackson-core-2.5.4.jar.sha1
      - copied unchanged from r1687256, lucene/dev/trunk/solr/licenses/jackson-core-2.5.4.jar.sha1
    lucene/dev/branches/branch_5x/solr/licenses/jackson-databind-2.5.4.jar.sha1
      - copied unchanged from r1687256, lucene/dev/trunk/solr/licenses/jackson-databind-2.5.4.jar.sha1
    lucene/dev/branches/branch_5x/solr/licenses/jackson-dataformat-smile-2.5.4.jar.sha1
      - copied unchanged from r1687256, lucene/dev/trunk/solr/licenses/jackson-dataformat-smile-2.5.4.jar.sha1
    lucene/dev/branches/branch_5x/solr/licenses/jackson-dataformat-smile-LICENSE-ASL.txt
      - copied unchanged from r1687256, lucene/dev/trunk/solr/licenses/jackson-dataformat-smile-LICENSE-ASL.txt
    lucene/dev/branches/branch_5x/solr/licenses/jackson-dataformat-smile-NOTICE.txt
      - copied unchanged from r1687256, lucene/dev/trunk/solr/licenses/jackson-dataformat-smile-NOTICE.txt
Removed:
    lucene/dev/branches/branch_5x/solr/licenses/jackson-annotations-2.3.1.jar.sha1
    lucene/dev/branches/branch_5x/solr/licenses/jackson-core-2.3.1.jar.sha1
    lucene/dev/branches/branch_5x/solr/licenses/jackson-databind-2.3.1.jar.sha1
Modified:
    lucene/dev/branches/branch_5x/   (props changed)
    lucene/dev/branches/branch_5x/lucene/   (props changed)
    lucene/dev/branches/branch_5x/lucene/ivy-versions.properties   (contents, props changed)
    lucene/dev/branches/branch_5x/solr/   (props changed)
    lucene/dev/branches/branch_5x/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/branch_5x/solr/core/   (props changed)
    lucene/dev/branches/branch_5x/solr/core/ivy.xml
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/SolrCore.java
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/response/TextResponseWriter.java
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/json/TestJsonRequest.java
    lucene/dev/branches/branch_5x/solr/licenses/   (props changed)
    lucene/dev/branches/branch_5x/solr/test-framework/   (props changed)
    lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/SolrTestCaseHS.java

Modified: lucene/dev/branches/branch_5x/lucene/ivy-versions.properties
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/ivy-versions.properties?rev=1687300&r1=1687299&r2=1687300&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/ivy-versions.properties (original)
+++ lucene/dev/branches/branch_5x/lucene/ivy-versions.properties Wed Jun 24 14:39:23 2015
@@ -20,10 +20,11 @@ com.codahale.metrics.version = 3.0.1
 /com.cybozu.labs/langdetect = 1.1-20120112
 /com.drewnoakes/metadata-extractor = 2.6.2
 
-com.fasterxml.jackson.core.version = 2.3.1
+com.fasterxml.jackson.core.version = 2.5.4
 /com.fasterxml.jackson.core/jackson-annotations = ${com.fasterxml.jackson.core.version}
 /com.fasterxml.jackson.core/jackson-core = ${com.fasterxml.jackson.core.version}
 /com.fasterxml.jackson.core/jackson-databind = ${com.fasterxml.jackson.core.version}
+/com.fasterxml.jackson.dataformat/jackson-dataformat-smile = ${com.fasterxml.jackson.core.version}
 
 /com.google.guava/guava = 14.0.1
 

Modified: lucene/dev/branches/branch_5x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/CHANGES.txt?rev=1687300&r1=1687299&r2=1687300&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_5x/solr/CHANGES.txt Wed Jun 24 14:39:23 2015
@@ -79,6 +79,8 @@ New Features
 * SOLR-7182: Make the Schema-API a first class citizen of SolrJ. The new SchemaRequest and its inner
   classes can be used to make requests to the Schema API. (Sven Windisch, Marius Grama via shalin)
 
+* SOLR-7651: New response format added wt=smile (noble)
+
 Bug Fixes
 ----------------------
 

Modified: lucene/dev/branches/branch_5x/solr/core/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/ivy.xml?rev=1687300&r1=1687299&r2=1687300&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/ivy.xml (original)
+++ lucene/dev/branches/branch_5x/solr/core/ivy.xml Wed Jun 24 14:39:23 2015
@@ -53,6 +53,12 @@
     <dependency org="org.objenesis" name="objenesis" rev="${/org.objenesis/objenesis}" conf="test"/>
     <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test"/>
 
+    <dependency org="com.fasterxml.jackson.core" name="jackson-core" rev="${/com.fasterxml.jackson.core/jackson-core}" conf="compile"/>
+    <dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="${/com.fasterxml.jackson.core/jackson-databind}" conf="test"/>
+    <dependency org="com.fasterxml.jackson.core" name="jackson-annotations" rev="${/com.fasterxml.jackson.core/jackson-annotations}" conf="test"/>
+    <dependency org="com.fasterxml.jackson.dataformat" name="jackson-dataformat-smile" rev="${/com.fasterxml.jackson.dataformat/jackson-dataformat-smile}" conf="compile"/>
+
+
     <dependency org="org.apache.hadoop" name="hadoop-common" rev="${/org.apache.hadoop/hadoop-common}" conf="compile.hadoop"/>
     <!--
       hadoop-hdfs, hadoop-annotations and hadoop-auth are runtime dependencies,

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/SolrCore.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/SolrCore.java?rev=1687300&r1=1687299&r2=1687300&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/SolrCore.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/SolrCore.java Wed Jun 24 14:39:23 2015
@@ -103,6 +103,7 @@ import org.apache.solr.response.QueryRes
 import org.apache.solr.response.RawResponseWriter;
 import org.apache.solr.response.RubyResponseWriter;
 import org.apache.solr.response.SchemaXmlResponseWriter;
+import org.apache.solr.response.SmileResponseWriter;
 import org.apache.solr.response.SolrQueryResponse;
 import org.apache.solr.response.SortingResponseWriter;
 import org.apache.solr.response.XMLResponseWriter;
@@ -2160,6 +2161,7 @@ public final class SolrCore implements S
     m.put("csv", new CSVResponseWriter());
     m.put("xsort", new SortingResponseWriter());
     m.put("schema.xml", new SchemaXmlResponseWriter());
+    m.put("smile", new SmileResponseWriter());
     m.put(ReplicationHandler.FILE_STREAM, getFileStreamWriter());
     DEFAULT_RESPONSE_WRITERS = Collections.unmodifiableMap(m);
   }

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java?rev=1687300&r1=1687299&r2=1687300&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java Wed Jun 24 14:39:23 2015
@@ -310,16 +310,6 @@ class JSONWriter extends TextResponseWri
   }
 
 
-  protected static class MultiValueField {
-    final SchemaField sfield;
-    final ArrayList<IndexableField> fields;
-    MultiValueField(SchemaField sfield, IndexableField firstVal) {
-      this.sfield = sfield;
-      this.fields = new ArrayList<>(4);
-      this.fields.add(firstVal);
-    }
-  }
-
   @Override
   public void writeSolrDocument(String name, SolrDocument doc, ReturnFields returnFields, int idx) throws IOException {
     if( idx > 0 ) {

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/response/TextResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/response/TextResponseWriter.java?rev=1687300&r1=1687299&r2=1687300&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/response/TextResponseWriter.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/response/TextResponseWriter.java Wed Jun 24 14:39:23 2015
@@ -68,7 +68,7 @@ public abstract class TextResponseWriter
 
 
   public TextResponseWriter(Writer writer, SolrQueryRequest req, SolrQueryResponse rsp) {
-    this.writer = FastWriter.wrap(writer);
+    this.writer = writer == null ? null: FastWriter.wrap(writer);
     this.schema = req.getSchema();
     this.req = req;
     this.rsp = rsp;
@@ -81,7 +81,7 @@ public abstract class TextResponseWriter
 
   /** done with this ResponseWriter... make sure any buffers are flushed to writer */
   public void close() throws IOException {
-    writer.flushBuffer();
+    if(writer != null) writer.flushBuffer();
   }
 
   /** returns the Writer that the response is being written to */
@@ -132,26 +132,9 @@ public abstract class TextResponseWriter
         writeStr(name, f.stringValue(), true);
       }
     } else if (val instanceof Number) {
-      if (val instanceof Integer) {
-        writeInt(name, val.toString());
-      } else if (val instanceof Long) {
-        writeLong(name, val.toString());
-      } else if (val instanceof Float) {
-        // we pass the float instead of using toString() because
-        // it may need special formatting. same for double.
-        writeFloat(name, ((Float)val).floatValue());
-      } else if (val instanceof Double) {
-        writeDouble(name, ((Double)val).doubleValue());        
-      } else if (val instanceof Short) {
-        writeInt(name, val.toString());
-      } else if (val instanceof Byte) {
-        writeInt(name, val.toString());
-      } else {
-        // default... for debugging only
-        writeStr(name, val.getClass().getName() + ':' + val.toString(), true);
-      }
+      writeNumber(name, (Number)val);
     } else if (val instanceof Boolean) {
-      writeBool(name, val.toString());
+      writeBool(name, (Boolean)val);
     } else if (val instanceof Date) {
       writeDate(name,(Date)val);
     } else if (val instanceof Document) {
@@ -199,6 +182,31 @@ public abstract class TextResponseWriter
     } else {
       // default... for debugging only
       writeStr(name, val.getClass().getName() + ':' + val.toString(), true);
+    }
+  }
+
+  protected void writeBool(String name , Boolean val) throws IOException {
+    writeBool(name, val.toString());
+  }
+
+  protected void writeNumber(String name, Number val) throws IOException {
+    if (val instanceof Integer) {
+      writeInt(name, val.toString());
+    } else if (val instanceof Long) {
+      writeLong(name, val.toString());
+    } else if (val instanceof Float) {
+      // we pass the float instead of using toString() because
+      // it may need special formatting. same for double.
+      writeFloat(name, ((Float)val).floatValue());
+    } else if (val instanceof Double) {
+      writeDouble(name, ((Double)val).doubleValue());
+    } else if (val instanceof Short) {
+      writeInt(name, val.toString());
+    } else if (val instanceof Byte) {
+      writeInt(name, val.toString());
+    } else {
+      // default... for debugging only
+      writeStr(name, val.getClass().getName() + ':' + val.toString(), true);
     }
   }
 

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/json/TestJsonRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/json/TestJsonRequest.java?rev=1687300&r1=1687299&r2=1687300&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/json/TestJsonRequest.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/json/TestJsonRequest.java Wed Jun 24 14:39:23 2015
@@ -66,7 +66,7 @@ public class TestJsonRequest extends Sol
   }
 
 
-  public void doJsonRequest(Client client) throws Exception {
+  public static void doJsonRequest(Client client) throws Exception {
     client.deleteByQuery("*:*", null);
     client.add(sdoc("id", "1", "cat_s", "A", "where_s", "NY"), null);
     client.add(sdoc("id", "2", "cat_s", "B", "where_s", "NJ"), null);

Modified: lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/SolrTestCaseHS.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/SolrTestCaseHS.java?rev=1687300&r1=1687299&r2=1687300&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/SolrTestCaseHS.java (original)
+++ lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/SolrTestCaseHS.java Wed Jun 24 14:39:23 2015
@@ -61,7 +61,7 @@ import java.util.Set;
 
 
 @SolrTestCaseJ4.SuppressSSL
-@LuceneTestCase.SuppressCodecs({"Lucene3x","Lucene40","Lucene41","Lucene42","Lucene45","Appending","Asserting"})
+//@LuceneTestCase.SuppressCodecs({"Lucene3x","Lucene40","Lucene41","Lucene42","Lucene45","Appending","Asserting"})
 public class SolrTestCaseHS extends SolrTestCaseJ4 {
 
   @SafeVarargs
@@ -247,6 +247,13 @@ public class SolrTestCaseHS extends Solr
   public static class Client {
     ClientProvider provider;
     ModifiableSolrParams queryDefaults;
+    public Tester tester = new Tester();
+
+    public static class Tester {
+      public  void assertJQ(SolrClient client, SolrParams args, String... tests) throws Exception {
+        SolrTestCaseHS.assertJQ(client, args, tests);
+      }
+    }
 
     public static Client localClient = new Client(null, 1);
     public static Client localClient() {
@@ -285,7 +292,7 @@ public class SolrTestCaseHS extends Solr
         args = newParams;
       }
       SolrClient client = provider==null ? null : provider.client(null, args);
-      SolrTestCaseHS.assertJQ(client, args, tests);
+      tester.assertJQ(client, args, tests);
     }
 
     public Long add(SolrInputDocument sdoc, ModifiableSolrParams params) throws Exception {