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:40:46 UTC
svn commit: r1646418 - in
/lucene/dev/trunk/solr/core/src/java/org/apache/solr:
handler/BlobHandler.java request/SolrQueryRequest.java
request/SolrQueryRequestBase.java
Author: noble
Date: Thu Dec 18 09:40:46 2014
New Revision: 1646418
URL: http://svn.apache.org/r1646418
Log:
SOLR-6787 refactored a method out
Modified:
lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/request/SolrQueryRequest.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/BlobHandler.java?rev=1646418&r1=1646417&r2=1646418&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/BlobHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/BlobHandler.java Thu Dec 18 09:40:46 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/trunk/solr/core/src/java/org/apache/solr/request/SolrQueryRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/request/SolrQueryRequest.java?rev=1646418&r1=1646417&r2=1646418&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/request/SolrQueryRequest.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/request/SolrQueryRequest.java Thu Dec 18 09:40:46 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/trunk/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java?rev=1646418&r1=1646417&r2=1646418&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java Thu Dec 18 09:40:46 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);
+ }
+
+ }
+
}