You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by yo...@apache.org on 2008/07/22 04:34:01 UTC

svn commit: r678620 - in /lucene/solr/trunk/src/java/org/apache/solr/handler/component: DebugComponent.java FacetComponent.java HighlightComponent.java QueryComponent.java SearchHandler.java ShardRequest.java ShardResponse.java

Author: yonik
Date: Mon Jul 21 19:34:00 2008
New Revision: 678620

URL: http://svn.apache.org/viewvc?rev=678620&view=rev
Log:
SOLR-642: make ShardResponse public

Added:
    lucene/solr/trunk/src/java/org/apache/solr/handler/component/ShardResponse.java   (with props)
Modified:
    lucene/solr/trunk/src/java/org/apache/solr/handler/component/DebugComponent.java
    lucene/solr/trunk/src/java/org/apache/solr/handler/component/FacetComponent.java
    lucene/solr/trunk/src/java/org/apache/solr/handler/component/HighlightComponent.java
    lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryComponent.java
    lucene/solr/trunk/src/java/org/apache/solr/handler/component/SearchHandler.java
    lucene/solr/trunk/src/java/org/apache/solr/handler/component/ShardRequest.java

Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/component/DebugComponent.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/component/DebugComponent.java?rev=678620&r1=678619&r2=678620&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/component/DebugComponent.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/component/DebugComponent.java Mon Jul 21 19:34:00 2008
@@ -113,7 +113,7 @@
       for (ShardRequest sreq : rb.finished) {
         if ((sreq.purpose & ShardRequest.PURPOSE_GET_DEBUG) == 0) continue;
         for (ShardResponse srsp : sreq.responses) {
-          NamedList sdebug = (NamedList)srsp.rsp.getResponse().get("debug");
+          NamedList sdebug = (NamedList)srsp.getSolrResponse().getResponse().get("debug");
           info = (NamedList)merge(sdebug, info, excludeSet);
 
           NamedList sexplain = (NamedList)sdebug.get("explain");

Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/component/FacetComponent.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/component/FacetComponent.java?rev=678620&r1=678619&r2=678620&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/component/FacetComponent.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/component/FacetComponent.java Mon Jul 21 19:34:00 2008
@@ -198,8 +198,8 @@
     FacetInfo fi = rb._facetInfo;
 
     for (ShardResponse srsp: sreq.responses) {
-      int shardNum = rb.getShardNum(srsp.shard);
-      NamedList facet_counts = (NamedList)srsp.rsp.getResponse().get("facet_counts");
+      int shardNum = rb.getShardNum(srsp.getShard());
+      NamedList facet_counts = (NamedList)srsp.getSolrResponse().getResponse().get("facet_counts");
 
       // handle facet queries
       NamedList facet_queries = (NamedList)facet_counts.get("facet_queries");
@@ -287,7 +287,7 @@
 
     for (ShardResponse srsp: sreq.responses) {
       // int shardNum = rb.getShardNum(srsp.shard);
-      NamedList facet_counts = (NamedList)srsp.rsp.getResponse().get("facet_counts");
+      NamedList facet_counts = (NamedList)srsp.getSolrResponse().getResponse().get("facet_counts");
       NamedList facet_queries = (NamedList)facet_counts.get("facet_queries");
 
       // These are single term queries used to fill in missing counts

Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/component/HighlightComponent.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/component/HighlightComponent.java?rev=678620&r1=678619&r2=678620&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/component/HighlightComponent.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/component/HighlightComponent.java Mon Jul 21 19:34:00 2008
@@ -114,7 +114,7 @@
       for (ShardRequest sreq : rb.finished) {
         if ((sreq.purpose & ShardRequest.PURPOSE_GET_HIGHLIGHTS) == 0) continue;
         for (ShardResponse srsp : sreq.responses) {
-          NamedList hl = (NamedList)srsp.rsp.getResponse().get("highlighting");
+          NamedList hl = (NamedList)srsp.getSolrResponse().getResponse().get("highlighting");
           for (int i=0; i<hl.size(); i++) {
             String id = hl.getName(i);
             ShardDoc sdoc = rb.resultIds.get(id);

Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryComponent.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryComponent.java?rev=678620&r1=678619&r2=678620&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryComponent.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/component/QueryComponent.java Mon Jul 21 19:34:00 2008
@@ -354,7 +354,7 @@
       long numFound = 0;
       Float maxScore=null;
       for (ShardResponse srsp : sreq.responses) {
-        SolrDocumentList docs = (SolrDocumentList)srsp.rsp.getResponse().get("response");
+        SolrDocumentList docs = (SolrDocumentList)srsp.getSolrResponse().getResponse().get("response");
 
         // calculate global maxScore and numDocsFound
         if (docs.getMaxScore() != null) {
@@ -362,7 +362,7 @@
         }
         numFound += docs.getNumFound();
 
-        NamedList sortFieldValues = (NamedList)(srsp.rsp.getResponse().get("sort_values"));
+        NamedList sortFieldValues = (NamedList)(srsp.getSolrResponse().getResponse().get("sort_values"));
 
         // go through every doc in this response, construct a ShardDoc, and
         // put it in the priority queue so it can be ordered.
@@ -370,7 +370,7 @@
           SolrDocument doc = docs.get(i);
           Object id = doc.getFieldValue(uniqueKeyField.getName());
 
-          String prevShard = uniqueDoc.put(id, srsp.shard);
+          String prevShard = uniqueDoc.put(id, srsp.getShard());
           if (prevShard != null) {
             // duplicate detected
             numFound--;
@@ -388,7 +388,7 @@
 
           ShardDoc shardDoc = new ShardDoc();
           shardDoc.id = id;
-          shardDoc.shard = srsp.shard;
+          shardDoc.shard = srsp.getShard();
           shardDoc.orderInShard = i;
           Object scoreObj = doc.getFieldValue("score");
           if (scoreObj != null) {
@@ -502,7 +502,7 @@
 
       assert(sreq.responses.size() == 1);
       ShardResponse srsp = sreq.responses.get(0);
-      SolrDocumentList docs = (SolrDocumentList)srsp.rsp.getResponse().get("response");
+      SolrDocumentList docs = (SolrDocumentList)srsp.getSolrResponse().getResponse().get("response");
 
       String keyFieldName = rb.req.getSchema().getUniqueKeyField().getName();
 

Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/component/SearchHandler.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/component/SearchHandler.java?rev=678620&r1=678619&r2=678620&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/component/SearchHandler.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/component/SearchHandler.java Mon Jul 21 19:34:00 2008
@@ -235,20 +235,20 @@
 
             // Was there an exception?  If so, abort everything and
             // rethrow
-            if (srsp.exception != null) {
+            if (srsp.getException() != null) {
               comm.cancelAll();
-              if (srsp.exception instanceof SolrException) {
-                throw (SolrException)srsp.exception;
+              if (srsp.getException() instanceof SolrException) {
+                throw (SolrException)srsp.getException();
               } else {
-                throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, srsp.exception);
+                throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, srsp.getException());
               }
             }
 
-            rb.finished.add(srsp.req);
+            rb.finished.add(srsp.getShardRequest());
 
             // let the components see the responses to the request
             for(SearchComponent c : components) {
-              c.handleResponses(rb, srsp.req);
+              c.handleResponses(rb, srsp.getShardRequest());
             }
           }
         }
@@ -346,10 +346,10 @@
       public ShardResponse call() throws Exception {
 
         ShardResponse srsp = new ShardResponse();
-        srsp.req = sreq;
-        srsp.shard = shard;
+        srsp.setShardRequest(sreq);
+        srsp.setShard(shard);
         SimpleSolrResponse ssr = new SimpleSolrResponse();
-        srsp.rsp = ssr;
+        srsp.setSolrResponse(ssr);
         long startTime = System.currentTimeMillis();
 
         try {
@@ -370,11 +370,11 @@
 
           ssr.nl = server.request(req);
         } catch (Throwable th) {
-          srsp.exception = th;
+          srsp.setException(th);
           if (th instanceof SolrException) {
-            srsp.rspCode = ((SolrException)th).code();
+            srsp.setResponseCode(((SolrException)th).code());
           } else {
-            srsp.rspCode = -1;
+            srsp.setResponseCode(-1);
           }
         }
 
@@ -394,8 +394,8 @@
         Future<ShardResponse> future = completionService.take();
         pending.remove(future);
         ShardResponse rsp = future.get();
-        rsp.req.responses.add(rsp);
-        if (rsp.req.responses.size() == rsp.req.actualShards.length) {
+        rsp.getShardRequest().responses.add(rsp);
+        if (rsp.getShardRequest().responses.size() == rsp.getShardRequest().actualShards.length) {
           return rsp;
         }
       } catch (InterruptedException e) {
@@ -419,13 +419,13 @@
         Future<ShardResponse> future = completionService.take();
         pending.remove(future);
         ShardResponse rsp = future.get();
-        if (rsp.exception != null) return rsp; // if exception, return immediately
+        if (rsp.getException() != null) return rsp; // if exception, return immediately
         // add response to the response list... we do this after the take() and
         // not after the completion of "call" so we know when the last response
         // for a request was received.  Otherwise we might return the same
         // request more than once.
-        rsp.req.responses.add(rsp);
-        if (rsp.req.responses.size() == rsp.req.actualShards.length) {
+        rsp.getShardRequest().responses.add(rsp);
+        if (rsp.getShardRequest().responses.size() == rsp.getShardRequest().actualShards.length) {
           return rsp;
         }
       } catch (InterruptedException e) {

Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/component/ShardRequest.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/component/ShardRequest.java?rev=678620&r1=678619&r2=678620&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/component/ShardRequest.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/component/ShardRequest.java Mon Jul 21 19:34:00 2008
@@ -16,14 +16,11 @@
  */
 package org.apache.solr.handler.component;
 
-import org.apache.solr.client.solrj.SolrResponse;
-import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.util.NamedList;
-
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.solr.common.params.ModifiableSolrParams;
+
 
 // todo... when finalized make accessors
 public class ShardRequest {
@@ -66,21 +63,3 @@
             + "}";
   }
 }
-
-
-class ShardResponse {
-  public ShardRequest req;
-  public String shard;
-  public String shardAddress;  // the specific shard that this response was received from  
-  public int rspCode;
-  public Throwable exception;
-  public SolrResponse rsp;
-
-  public String toString() {
-    return "ShardResponse:{shard="+shard+",shardAddress="+shardAddress
-            +"\n\trequest=" + req
-            +"\n\tresponse=" + rsp
-            + (exception==null ? "" : "\n\texception="+ SolrException.toStr(exception)) 
-            +"\n}";
-  }
-}
\ No newline at end of file

Added: lucene/solr/trunk/src/java/org/apache/solr/handler/component/ShardResponse.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/component/ShardResponse.java?rev=678620&view=auto
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/component/ShardResponse.java (added)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/component/ShardResponse.java Mon Jul 21 19:34:00 2008
@@ -0,0 +1,66 @@
+package org.apache.solr.handler.component;
+
+import org.apache.solr.client.solrj.SolrResponse;
+import org.apache.solr.common.SolrException;
+
+public final class ShardResponse {
+	  private ShardRequest req;
+	  private String shard;
+	  private String shardAddress;  // the specific shard that this response was received from  
+	  private int rspCode;
+	  private Throwable exception;
+	  private SolrResponse rsp;
+
+	  public String toString() {
+	    return "ShardResponse:{shard="+shard+",shardAddress="+shardAddress
+	            +"\n\trequest=" + req
+	            +"\n\tresponse=" + rsp
+	            + (exception==null ? "" : "\n\texception="+ SolrException.toStr(exception)) 
+	            +"\n}";
+	  }
+	  
+	  public Throwable getException()
+	  {
+		  return exception;
+	  }
+	  
+	  public ShardRequest getShardRequest()
+	  {
+		  return req;
+	  }
+	  
+	  public SolrResponse getSolrResponse()
+	  {
+		  return rsp;
+	  }
+	  
+	  public String getShard()
+	  {
+		  return shard;
+	  }
+	  
+	  void setShardRequest(ShardRequest rsp)
+	  {
+		  this.req = rsp;
+	  }
+	  
+	  void setSolrResponse(SolrResponse rsp)
+	  {
+		  this.rsp = rsp;
+	  }
+	  
+	  void setShard(String shard)
+	  {
+		  this.shard = shard;
+	  }
+	  
+	  void setException(Throwable exception)
+	  {
+		  this.exception = exception;
+	  }
+	  
+	  void setResponseCode(int rspCode)
+	  {
+		  this.rspCode = rspCode;
+	  }
+}

Propchange: lucene/solr/trunk/src/java/org/apache/solr/handler/component/ShardResponse.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: lucene/solr/trunk/src/java/org/apache/solr/handler/component/ShardResponse.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: lucene/solr/trunk/src/java/org/apache/solr/handler/component/ShardResponse.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL