commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jochen Wiedmann (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (COLLECTIONS-360) FilterListIterator#hasNext throws exception (associate with JUnit tests)
Date Tue, 01 Mar 2011 22:17:36 GMT

     [ https://issues.apache.org/jira/browse/COLLECTIONS-360?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jochen Wiedmann resolved COLLECTIONS-360.
-----------------------------------------

       Resolution: Fixed
    Fix Version/s: 3.2.2
         Assignee: Jochen Wiedmann

Diagnosis: Agreed that the contract of hasNext() forbids throwing an NPE and this is a bug.
Also agreeing with Igor that the constructors allowing such behaviour are essentially broken.
Nevertheless we have them and so we must support them for binary compatibility.
Hence eliminating the NPE for the FilterListIterator.

Zhang writes that "some of the iterator classes" have this problem. OTOH, this is nowhere
made clear. Feel free to reopen, should you find any more classes in question.


> FilterListIterator#hasNext throws exception (associate with JUnit tests)
> ------------------------------------------------------------------------
>
>                 Key: COLLECTIONS-360
>                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-360
>             Project: Commons Collections
>          Issue Type: Bug
>    Affects Versions: 3.2
>         Environment: ubuntu
>            Reporter: Sai Zhang
>            Assignee: Jochen Wiedmann
>             Fix For: 3.2.2
>
>         Attachments: FilterListIterator.java
>
>
> Hi,
> I found the some of the iterator classes does not fulfill the iterator specification
of JDK.
> e.g. hasNext() should never throw exception.
> Here is an automatically generated junit test (I am now writing a tool)
> {code:java}
> public void test233() throws Throwable {
>     java.lang.Integer var6 = new java.lang.Integer(0);
>     org.apache.commons.collections.list.GrowthList var7 = new org.apache.commons.collections.list.GrowthList(var6);
>     org.apache.commons.collections.Predicate var9 = org.apache.commons.collections.PredicateUtils.anyPredicate((java.util.Collection)var7);
>     java.lang.Long var10 = new java.lang.Long(10L);
>     org.apache.commons.collections.iterators.FilterListIterator var13 = new org.apache.commons.collections.iterators.FilterListIterator(var9);
>     //this line throws exception!
>     var13.hasNext();
> }
> {code}
> could you please check it to confirm whether it is bug or I misunderstand the specification
of apache common collections?
> thanks,

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message