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 2014/12/18 10:49:09 UTC

svn commit: r1646419 - in /lucene/dev/branches/branch_5x: ./ solr/ solr/core/ solr/core/src/java/org/apache/solr/handler/ solr/core/src/java/org/apache/solr/request/

Author: noble
Date: Thu Dec 18 09:49:09 2014
New Revision: 1646419

URL: http://svn.apache.org/r1646419
Log:
SOLR-6787 refactored a method out

Modified:
    lucene/dev/branches/branch_5x/   (props changed)
    lucene/dev/branches/branch_5x/solr/   (props changed)
    lucene/dev/branches/branch_5x/solr/core/   (props changed)
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/request/SolrQueryRequest.java
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/BlobHandler.java?rev=1646419&r1=1646418&r2=1646419&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/BlobHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/BlobHandler.java Thu Dec 18 09:49:09 2014
@@ -101,12 +101,11 @@ public class BlobHandler extends Request
         TopDocs duplicate = req.getSearcher().search(new TermQuery(new Term("id", md5)), 1);
         if(duplicate.totalHits >0){
           rsp.add("error", "duplicate entry");
-          SolrParams solrParams = new MapSolrParams((Map) ZkNodeProps.makeMap(
+          req.forward(null,
+              new MapSolrParams((Map) makeMap(
               "q", "id:" + md5,
-              "fl", "id,size,version,timestamp,blobName"));
-          try(LocalSolrQueryRequest r = new LocalSolrQueryRequest(req.getCore(), solrParams)) {
-            req.getCore().getRequestHandler(null).handleRequest(r, rsp);
-          }
+              "fl", "id,size,version,timestamp,blobName")),
+              rsp);
           return;
         }
 
@@ -178,13 +177,12 @@ public class BlobHandler extends Request
         if (blobName != null) q = "blobName" + ":" + blobName;
         if (version > -1) q += " AND version:" + version;
 
-        SolrParams args = new MapSolrParams((Map) ZkNodeProps.makeMap(
-            "q", q,
-            "fl", "id,size,version,timestamp,blobName",
-            "sort", "version desc"));
-        try (LocalSolrQueryRequest r  = new LocalSolrQueryRequest(req.getCore(), args)){
-          req.getCore().getRequestHandler(null).handleRequest(r, rsp);
-        }
+        req.forward(null,
+            new MapSolrParams((Map) makeMap(
+                "q", q,
+                "fl", "id,size,version,timestamp,blobName",
+                "sort", "version desc"))
+            ,rsp);
       }
     }
   }

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/request/SolrQueryRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/request/SolrQueryRequest.java?rev=1646419&r1=1646418&r2=1646419&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/request/SolrQueryRequest.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/request/SolrQueryRequest.java Thu Dec 18 09:49:09 2014
@@ -17,6 +17,7 @@
 
 package org.apache.solr.request;
 
+import org.apache.solr.response.SolrQueryResponse;
 import org.apache.solr.search.SolrIndexSearcher;
 import org.apache.solr.schema.IndexSchema;
 import org.apache.solr.common.params.SolrParams;
@@ -82,6 +83,13 @@ public interface SolrQueryRequest {
    * Suitable for logging.
    */
   public String getParamString();
+
+  /** Forward the request to another handler. DO a return after this call if
+   * no other operations need to be performed
+   * @param handler the name of the handler
+   * @param params The new set of parameter
+   */
+  public void forward(String handler, SolrParams params,  SolrQueryResponse rsp);
 }
 
 

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java?rev=1646419&r1=1646418&r2=1646419&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java Thu Dec 18 09:49:09 2014
@@ -17,6 +17,7 @@
 
 package org.apache.solr.request;
 
+import org.apache.solr.response.SolrQueryResponse;
 import org.apache.solr.search.SolrIndexSearcher;
 import org.apache.solr.util.RefCounted;
 import org.apache.solr.schema.IndexSchema;
@@ -151,4 +152,12 @@ public abstract class SolrQueryRequestBa
     return this.getClass().getSimpleName() + '{' + params + '}';
   }
 
+  @Override
+  public void forward(String handler ,SolrParams params, SolrQueryResponse rsp){
+    try(LocalSolrQueryRequest r = new LocalSolrQueryRequest(getCore(), params)) {
+      getCore().getRequestHandler(handler).handleRequest(r, rsp);
+    }
+
+  }
+
 }