From commits-return-4426-apmail-jackrabbit-commits-archive=jackrabbit.apache.org@jackrabbit.apache.org Thu Aug 16 17:05:49 2007 Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 18081 invoked from network); 16 Aug 2007 17:05:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Aug 2007 17:05:23 -0000 Received: (qmail 90903 invoked by uid 500); 16 Aug 2007 17:05:21 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 90869 invoked by uid 500); 16 Aug 2007 17:05: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 90860 invoked by uid 99); 16 Aug 2007 17:05:20 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Aug 2007 10:05:20 -0700 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; Thu, 16 Aug 2007 17:05:41 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 221EA1A981A; Thu, 16 Aug 2007 10:05:00 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: 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 Date: Thu, 16 Aug 2007 17:04:59 -0000 To: commits@jackrabbit.apache.org From: ckiehl@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070816170500.221EA1A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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()); + } + }