Details
Description
Ha, I'm surprised nobody has run into this one before. I have a table in my database with zero rows, and I'm using an <ice:dataPaginator/> in conjunction with an <ice:dataTable/>. When I try and view the page in the browser, I get an ArithmeticException on an integer divide-by-zero.
Here's the offending code on or about line 267 of DataPaginator.java:
if (uiData.getFirst() % rows > 0) {
pageIndex++;
}
As you can see, if rows=0, then a divide-by-zero will occur.
Here is my recommended fix (worked for me at least):
if (rows == 0) {
pageIndex = 1;
}
else if (uiData.getFirst() % rows > 0) {
pageIndex++;
}
Here's the offending code on or about line 267 of DataPaginator.java:
if (uiData.getFirst() % rows > 0) {
pageIndex++;
}
As you can see, if rows=0, then a divide-by-zero will occur.
Here is my recommended fix (worked for me at least):
if (rows == 0) {
pageIndex = 1;
}
else if (uiData.getFirst() % rows > 0) {
pageIndex++;
}
Issue Links
- is duplicated by
-
ICE-2154 DataPaginator.getPageIndex performs division by 0
- Closed
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Changes applied as suggested.