Raimund Hölle created ODFTOOLKIT-442:
----------------------------------------
Summary: Table.getRowIterator() out of sync without calling
hasNext()
Key: ODFTOOLKIT-442
URL: https://issues.apache.org/jira/browse/ODFTOOLKIT-442
Project: ODF Toolkit
Issue Type: Bug
Components: simple api
Affects Versions: 0.6.2-incubating
Reporter: Raimund Hölle
Priority: Minor
Calling next() of the iterator Table.getRowIterator() delivers the same row
repeatedly if no prior call of hasNext() occurs.
Given a spreadsheet with the following rows:
row0
row1
row2
Then the following code delivers the following:
row0
row1
row1
Iterator<Row> rowIter = table.getRowIterator();
for (int n = 0; n < table.getRowCount(); n++) {
Row = rowIter.next();
...
}
In some complex scenarios such usage of an iterator may occur (e. g., when
querying several iterators in parallel for comparing to sheets).
SimpleRowIterator should work as any other iterators, hasNext() shouldn't have
any side effects.
The appended patch contains a test class for the problem and a fix.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)