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

svn commit: r1091797 - /lucene/dev/trunk/solr/src/java/org/apache/solr/response/PageTool.java

Author: yonik
Date: Wed Apr 13 14:24:12 2011
New Revision: 1091797

URL: http://svn.apache.org/viewvc?rev=1091797&view=rev
Log:
SOLR-1566: fix /browse wrt pseudo fields

Modified:
    lucene/dev/trunk/solr/src/java/org/apache/solr/response/PageTool.java

Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/response/PageTool.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/response/PageTool.java?rev=1091797&r1=1091796&r2=1091797&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/response/PageTool.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/response/PageTool.java Wed Apr 13 14:24:12 2011
@@ -19,8 +19,10 @@ package org.apache.solr.response;
 
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.response.SolrQueryResponse;
+import org.apache.solr.search.DocList;
 import org.apache.solr.search.DocSlice;
 import org.apache.solr.common.SolrDocumentList;
+import org.apache.solr.common.SolrException;
 
 public class PageTool {
   private long start;
@@ -42,10 +44,16 @@ public class PageTool {
         DocSlice doc_slice = (DocSlice) docs;
         results_found = doc_slice.matches();
         start = doc_slice.offset();
-      } else {
+      } else if(docs instanceof ResultContext) {
+        DocList dl = ((ResultContext) docs).docs;
+        results_found = dl.matches();
+        start = dl.offset();
+      } else if(docs instanceof SolrDocumentList) {
         SolrDocumentList doc_list = (SolrDocumentList) docs;
         results_found = doc_list.getNumFound();
         start = doc_list.getStart();
+      } else {
+	  throw new SolrException(SolrException.ErrorCode.UNKNOWN, "Unknown response type "+docs+". Expected one of DocSlice, ResultContext or SolrDocumentList");
       }
     }