[ 
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

        

Reply via email to