Opened 14 years ago
Closed 14 years ago
#1548 closed defect (fixed)
java.lang.ClassCastException on biowells list page when the [Biomtrl] Registered column is hidden
Reported by: | Nicklas Nordborg | Owned by: | Nicklas Nordborg |
---|---|---|---|
Priority: | minor | Milestone: | BASE 2.16.1 |
Component: | web | Version: | |
Keywords: | Cc: |
Description
The error is only visible in the log file and never shows up on the web page itself. The error goes away if the [Biomtrl] Registered
is made visible.
The interesting part of the stacktrace in the log file is:
java.lang.ClassCastException: java.sql.Date cannot be cast to java.lang.Integer at net.sf.basedb.util.formatter.WellCoordinateFormatter.format(WellCoordinateFormatter.java:37) at net.sf.basedb.clients.web.taglib.table.Cell.doEndTag(Cell.java:283) at org.apache.jsp.biomaterials.bioplates.wells.list_005fbiowells_jsp._jspService(list_005fbiowells_jsp.java:1507) ....
We have identified the problem to the <tbl:cell> taglib. There is an incomplete check if the column is visible or hidden in the Cell.doEndTag()
method. This causes the code to continue instead of returning. In this particular case (and because taglib objects are re-used) there happens to be a formatter for the Row/Column coordinate present in the formatter
variable, which of course fails with the above exception.
Change History (3)
comment:1 by , 14 years ago
comment:2 by , 14 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:3 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
(In [5493]) Fixes #1548: java.lang.ClassCastException on biowells list page when the [Biomtrl] Registered column is hidden
I guess the same thing can happen on other list pages that have columns with more than one type of formatter. But it only seems to happen on hidden columns, so it should not affect users at all.