Return-Path: Delivered-To: apmail-openjpa-commits-archive@www.apache.org Received: (qmail 7866 invoked from network); 30 Apr 2009 15:40:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 30 Apr 2009 15:40:07 -0000 Received: (qmail 2603 invoked by uid 500); 30 Apr 2009 15:40:07 -0000 Delivered-To: apmail-openjpa-commits-archive@openjpa.apache.org Received: (qmail 2564 invoked by uid 500); 30 Apr 2009 15:40:07 -0000 Mailing-List: contact commits-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list commits@openjpa.apache.org Received: (qmail 2555 invoked by uid 99); 30 Apr 2009 15:40:07 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 30 Apr 2009 15:40:07 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 30 Apr 2009 15:40:04 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 368A5238899B; Thu, 30 Apr 2009 15:39:43 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r770291 - in /openjpa/branches/1.2.x/openjpa-lib/src: main/java/org/apache/openjpa/lib/rop/ test/java/org/apache/openjpa/lib/rop/ Date: Thu, 30 Apr 2009 15:39:42 -0000 To: commits@openjpa.apache.org From: mikedd@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090430153943.368A5238899B@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: mikedd Date: Thu Apr 30 15:39:42 2009 New Revision: 770291 URL: http://svn.apache.org/viewvc?rev=770291&view=rev Log: OPENJPA-1025 Implementing subList in subclasses of AbstractResultList, based on patch provided by B.J. Reed Modified: openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/AbstractNonSequentialResultList.java openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/LazyForwardResultList.java openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/ListResultList.java openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/ResultListTest.java openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestEagerResultList.java openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestLazyForwardResultList.java openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestListResultList.java Modified: openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/AbstractNonSequentialResultList.java URL: http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/AbstractNonSequentialResultList.java?rev=770291&r1=770290&r2=770291&view=diff ============================================================================== --- openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/AbstractNonSequentialResultList.java (original) +++ openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/AbstractNonSequentialResultList.java Thu Apr 30 15:39:42 2009 @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; +import java.util.List; import java.util.ListIterator; import java.util.NoSuchElementException; @@ -145,6 +146,10 @@ return list.toArray(a); } + public List subList(int fromIndex, int toIndex) { + throw new UnsupportedOperationException(); + } + private class Itr extends AbstractListIterator { private int _idx = 0; Modified: openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/LazyForwardResultList.java URL: http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/LazyForwardResultList.java?rev=770291&r1=770290&r2=770291&view=diff ============================================================================== --- openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/LazyForwardResultList.java (original) +++ openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/LazyForwardResultList.java Thu Apr 30 15:39:42 2009 @@ -152,6 +152,11 @@ return other == this; } + public List subList(int fromIndex, int toIndex) { + assertOpen(); + return _list.subList(fromIndex, toIndex); + } + private class Itr extends AbstractListIterator { private int _idx = 0; Modified: openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/ListResultList.java URL: http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/ListResultList.java?rev=770291&r1=770290&r2=770291&view=diff ============================================================================== --- openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/ListResultList.java (original) +++ openjpa/branches/1.2.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/ListResultList.java Thu Apr 30 15:39:42 2009 @@ -120,4 +120,9 @@ public Object writeReplace() { return _list; } + + public List subList(int fromIndex, int toIndex) { + assertOpen(); + return _list.subList(fromIndex, toIndex); + } } Modified: openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/ResultListTest.java URL: http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/ResultListTest.java?rev=770291&r1=770290&r2=770291&view=diff ============================================================================== --- openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/ResultListTest.java (original) +++ openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/ResultListTest.java Thu Apr 30 15:39:42 2009 @@ -37,9 +37,16 @@ private ResultList[] _lists = null; + protected boolean subListSupported = false; + public ResultListTest(String test) { super(test); } + + public ResultListTest(String test, boolean supportSubList) { + super(test); + subListSupported = supportSubList; + } /** * Return a result list to use with the given provider. @@ -269,4 +276,20 @@ assertTrue(list.isEmpty()); } } + + public void testSubList() { + ResultObjectProvider[] rops = getResultObjectProviders + (Collections.EMPTY_LIST); + for (int i = 0; i < rops.length; i++) { + ResultList list = getResultList(rops[i]); + try { + List subList = list.subList(0, 0); + if (subListSupported == false) + fail("Should not support subList."); + } catch (UnsupportedOperationException e) { + if (subListSupported == true) + fail("Should support subList."); + } + } + } } Modified: openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestEagerResultList.java URL: http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestEagerResultList.java?rev=770291&r1=770290&r2=770291&view=diff ============================================================================== --- openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestEagerResultList.java (original) +++ openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestEagerResultList.java Thu Apr 30 15:39:42 2009 @@ -26,7 +26,7 @@ public class TestEagerResultList extends ResultListTest { public TestEagerResultList(String test) { - super(test); + super(test, true); } protected ResultList getResultList(ResultObjectProvider provider) { Modified: openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestLazyForwardResultList.java URL: http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestLazyForwardResultList.java?rev=770291&r1=770290&r2=770291&view=diff ============================================================================== --- openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestLazyForwardResultList.java (original) +++ openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestLazyForwardResultList.java Thu Apr 30 15:39:42 2009 @@ -26,7 +26,7 @@ public class TestLazyForwardResultList extends ResultListTest { public TestLazyForwardResultList(String test) { - super(test); + super(test, true); } protected ResultList getResultList(ResultObjectProvider provider) { Modified: openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestListResultList.java URL: http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestListResultList.java?rev=770291&r1=770290&r2=770291&view=diff ============================================================================== --- openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestListResultList.java (original) +++ openjpa/branches/1.2.x/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestListResultList.java Thu Apr 30 15:39:42 2009 @@ -26,7 +26,7 @@ public class TestListResultList extends ResultListTest { public TestListResultList(String test) { - super(test); + super(test, true); } protected ResultList getResultList(ResultObjectProvider provider) {