You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Donald Woods (JIRA)" <ji...@apache.org> on 2010/02/24 15:20:28 UTC
[jira] Updated: (OPENJPA-1025) AbstractResultList.subList throws
UnsupportedOperationException
[ https://issues.apache.org/jira/browse/OPENJPA-1025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Donald Woods updated OPENJPA-1025:
----------------------------------
Fix Version/s: (was: 2.0.0)
2.0.0-beta
> AbstractResultList.subList throws UnsupportedOperationException
> ---------------------------------------------------------------
>
> Key: OPENJPA-1025
> URL: https://issues.apache.org/jira/browse/OPENJPA-1025
> Project: OpenJPA
> Issue Type: Bug
> Components: lib
> Affects Versions: 1.2.1, 1.3.0, 2.0.0-M2
> Environment: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/rop/AbstractResultList.java?revision=757278&view=markup,
> Seam 2.0, OpenJPA 1.2.1
> Reporter: Julien Kronegg
> Assignee: B.J. Reed
> Fix For: 1.0.4, 1.2.2, 1.3.0, 2.0.0-beta
>
> Attachments: OPENJPA-1025-withTest.patch, OPENJPA-1025.patch, OPENJPA-1025b.patch
>
> Original Estimate: 4h
> Remaining Estimate: 4h
>
> AbstractResultList implements the basics for readonly result lists. When calling the subList(int,int) method, the following exception is raised:
> java.lang.UnsupportedOperationException
> at org.apache.openjpa.lib.rop.AbstractResultList.subList(AbstractResultList.java:84)
> at org.apache.openjpa.kernel.DelegatingResultList.subList(DelegatingResultList.java:308)
> ...
> Since the subList() method contract is to create a new List from the ResultList, this operation does not modify the original list: it only provides a *view* on the original list (see http://java.sun.com/docs/books/tutorial/collections/interfaces/list.html ).
> This problem is also found by other users: http://n2.nabble.com/DelegatingResultList.subList-not-implemented--td210389.html
> They found the (bad) workaround to build a new List (bad because this is not the same as calling subList()):
> List mySubList = new ArrayList(openjpaList).subList(from, to);
> The AbstractResultList class should be modified by one of this solution (sorted by decreasing preference order):
> 1) the AbstractResultList class should extends java.util.AbstractList and the subList() method should be removed (because implemented by AbstractList)
> 2) the subList() method should be implemented to return a view on the original list. See java.util.AbstractList for an implementation (http://www.koders.com/java/fidCFCB47A1819AB345234CC04B6A1EA7554C2C17C0.aspx?s=iso+3166 )
> 3) the subList() method should throw the exception with the message "this method is not yet implemented. Workaround: new ArrayList(openjpaList).subList(from, to)"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.