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
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #15067 | Thu Nov 01 10:47:07 MDT 2007 | yip.ng | Changed to check for zero rows in data table to avoid division by zero. |
Files Changed | ||||
MODIFY
/icefaces/branches/icefaces-1.6/icefaces/component/src/com/icesoft/faces/component/datapaginator/DataPaginator.java
|
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #15066 | Thu Nov 01 10:39:58 MDT 2007 | yip.ng | Changed to check for zero rows in data table to avoid division by zero. |
Files Changed | ||||
MODIFY
/icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/datapaginator/DataPaginator.java
|