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 2007/08/16 19:04:59 UTC
svn commit: r566778 - in /jackrabbit/trunk/jackrabbit-core/src:
main/java/org/apache/jackrabbit/core/query/lucene/LazyQueryResultImpl.java
test/java/org/apache/jackrabbit/core/query/LimitAndOffsetTest.java
Author: ckiehl
Date: Thu Aug 16 10:04:58 2007
New Revision: 566778
URL: http://svn.apache.org/viewvc?view=rev&rev=566778
Log:
JCR-989: Fixed getSize() to take a possible limit into account
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LazyQueryResultImpl.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/LazyQueryResultImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LazyQueryResultImpl.java?view=diff&rev=566778&r1=566777&r2=566778
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LazyQueryResultImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LazyQueryResultImpl.java Thu Aug 16 10:04:58 2007
@@ -396,7 +396,12 @@
* nodes or the session does not have access to a node.
*/
public long getSize() {
- return numResults - invalid;
+ int totalSize = numResults - invalid;
+ if (limit > 0 && totalSize > limit) {
+ return limit;
+ } else {
+ return totalSize;
+ }
}
/**
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?view=diff&rev=566778&r1=566777&r2=566778
==============================================================================
--- 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 Thu Aug 16 10:04:58 2007
@@ -95,4 +95,17 @@
assertTrue(nodes.nextNode() == node3);
}
+ public void testOffsetAndLimitWithGetSize() throws Exception {
+ query.setOffset(1);
+ QueryResult result = query.execute();
+ NodeIterator nodes = result.getNodes();
+ assertEquals(2, nodes.getSize());
+
+ query.setOffset(1);
+ query.setLimit(1);
+ result = query.execute();
+ nodes = result.getNodes();
+ assertEquals(1, nodes.getSize());
+ }
+
}