You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ry...@apache.org on 2015/04/01 02:25:23 UTC

svn commit: r1670524 - in /lucene/dev/branches/branch_5x: lucene/suggest/src/test/org/apache/lucene/search/suggest/document/SuggestFieldTest.java solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java

Author: ryan
Date: Wed Apr  1 00:25:22 2015
New Revision: 1670524

URL: http://svn.apache.org/r1670524
Log:
SOLR-7331: make HttpShardHandler easier to extent

Modified:
    lucene/dev/branches/branch_5x/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/SuggestFieldTest.java
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java

Modified: lucene/dev/branches/branch_5x/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/SuggestFieldTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/SuggestFieldTest.java?rev=1670524&r1=1670523&r2=1670524&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/SuggestFieldTest.java (original)
+++ lucene/dev/branches/branch_5x/lucene/suggest/src/test/org/apache/lucene/search/suggest/document/SuggestFieldTest.java Wed Apr  1 00:25:22 2015
@@ -291,7 +291,7 @@ public class SuggestFieldTest extends Lu
       Document doc = reader.document(docID);
       IndexableField[] weights = doc.getFields("weight_fld");
       assertThat(weights.length, equalTo(1));
-      int weight = (int) weights[0].numericValue();
+      int weight = weights[0].numericValue().intValue();
       if (weight != 1) {
         assertTrue(iw.tryDeleteDocument(reader, docID));
       }

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java?rev=1670524&r1=1670523&r2=1670524&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java Wed Apr  1 00:25:22 2015
@@ -199,9 +199,7 @@ public class HttpShardHandler extends Sh
           params.remove(CommonParams.WT); // use default (currently javabin)
           params.remove(CommonParams.VERSION);
 
-          // SolrRequest req = new QueryRequest(SolrRequest.METHOD.POST, "/select");
-          // use generic request to avoid extra processing of queries
-          QueryRequest req = new QueryRequest(params);
+          QueryRequest req = makeQueryRequest(sreq, params, shard);
           req.setMethod(SolrRequest.METHOD.POST);
 
           // no need to set the response parser as binary is the default
@@ -239,12 +237,29 @@ public class HttpShardHandler extends Sh
 
         ssr.elapsedTime = TimeUnit.MILLISECONDS.convert(System.nanoTime() - startTime, TimeUnit.NANOSECONDS);
 
-        return srsp;
+        return transfomResponse(sreq, srsp, shard);
       }
     };
 
     pending.add( completionService.submit(task) );
   }
+  
+  /**
+   * Subclasses could modify the request based on the shard
+   */
+  protected QueryRequest makeQueryRequest(final ShardRequest sreq, ModifiableSolrParams params, String shard)
+  {
+    // use generic request to avoid extra processing of queries
+    return new QueryRequest(params);
+  }
+  
+  /**
+   * Subclasses could modify the Response based on the the shard
+   */
+  protected ShardResponse transfomResponse(final ShardRequest sreq, ShardResponse rsp, String shard)
+  {
+    return rsp;
+  }
 
   /** returns a ShardResponse of the last response correlated with a ShardRequest.  This won't 
    * return early if it runs into an error.