You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ck...@apache.org on 2008/01/18 19:41:06 UTC

svn commit: r613221 - in /jackrabbit/trunk/jackrabbit-core/src: main/java/org/apache/jackrabbit/core/query/lucene/QueryResultImpl.java test/java/org/apache/jackrabbit/core/query/LimitAndOffsetTest.java

Author: ckiehl
Date: Fri Jan 18 10:40:56 2008
New Revision: 613221

URL: http://svn.apache.org/viewvc?rev=613221&view=rev
Log:
JCR-1323: Fixed and test case added

Modified:
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryResultImpl.java
    jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/LimitAndOffsetTest.java

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryResultImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryResultImpl.java?rev=613221&r1=613220&r2=613221&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryResultImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryResultImpl.java Fri Jan 18 10:40:56 2008
@@ -411,11 +411,11 @@
          * nodes or the session does not have access to a node.
          */
         public long getSize() {
-            int totalSize = getTotalSize();
-            if (limit > 0 && totalSize > limit) {
+            long size = getTotalSize() - offset;
+            if (limit > 0 && size > limit) {
                 return limit;
             } else {
-                return totalSize - offset;
+                return size;
             }
         }
 

Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/LimitAndOffsetTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/LimitAndOffsetTest.java?rev=613221&r1=613220&r2=613221&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/LimitAndOffsetTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/LimitAndOffsetTest.java Fri Jan 18 10:40:56 2008
@@ -63,6 +63,10 @@
         return (QueryImpl) queryManager.createQuery(xpath, Query.XPATH);
     }
 
+    protected void checkResult(QueryResult result, Node[] expectedNodes) throws RepositoryException {
+        assertEquals(expectedNodes.length, result.getNodes().getSize());
+    }
+    
     public void testLimit() throws Exception {
         query.setLimit(1);
         QueryResult result = query.execute();
@@ -111,6 +115,12 @@
         query.setLimit(2);
         result = query.execute();
         checkResult(result, new Node[] { node1, node2 });
+
+        // Added for JCR-1323
+        query.setOffset(0);
+        query.setLimit(4);
+        result = query.execute();
+        checkResult(result, new Node[] { node1, node2, node3 });
     }
 
     public void testOffsetAndSkip() throws Exception {