Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 57883 invoked from network); 18 Jan 2008 18:41:30 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 18 Jan 2008 18:41:30 -0000 Received: (qmail 63406 invoked by uid 500); 18 Jan 2008 18:41:20 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 63321 invoked by uid 500); 18 Jan 2008 18:41:20 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 63312 invoked by uid 99); 18 Jan 2008 18:41:20 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Jan 2008 10:41:20 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Jan 2008 18:41:15 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 6CB9F1A9832; Fri, 18 Jan 2008 10:41:07 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: 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 Date: Fri, 18 Jan 2008 18:41:06 -0000 To: commits@jackrabbit.apache.org From: ckiehl@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080118184107.6CB9F1A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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 {