[
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