Hi,
I have a problem that i don’t understand and i hope you can help me with.
I migrate from Tomcat 6.0.20 to Tomcat 6.0.26 and suddenly i get an exception like this:
05-Jul-2010 16:22:50 org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet jsp threw exception javax.el.ELException: Cannot convert CREATION_TIME of type class com.docbox.tag.DocboxListColumn to class com.owt.tag.ListContent.GenericListColumn at org.apache.el.lang.ELSupport.coerceToEnum(ELSupport.java:155) at org.apache.el.lang.ELSupport.equals(ELSupport.java:110) at org.apache.el.parser.AstNotEqual.getValue(AstNotEqual.java:39) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:935) at org.apache.jsp.owt.list_005fcontent_jsp._jspx_meth_c_005fwhen_005f1(list_005fcontent_jsp.java:876) at org.apache.jsp.owt.list_005fcontent_jsp._jspx_meth_c_005fchoose_005f1(list_005fcontent_jsp.java:846) at org.apache.jsp.owt.list_005fcontent_jsp._jspService(list_005fcontent_jsp.java:282) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) etc etc……………………………..
What i don’t understand is why, with the same code , Tomcat 6.0.20 didn’t complain. Is the type check in ELSupport stronger now? In my case i try to compare two different enums: DocboxListColumn and GenericListColumn, but they both implement interface ListColumn.
I hope you can help me with an answer
Thanks in advanced
Roxana Frunza
Have you read to EL specification to see what the correct behaviour should be?
Have you looked at the changelog to see if there are any changes between 6.0.20 and 6.0.26 that might apply (Hint: EL related changes will be in the Jasper sections)?
This is *open* source. Have you looked at the svn commit messages to see if there are any relevant changes? (Hint: tomcat.markmail.org ha a nice UI that makes this fairly easy. The EL implementation is in the org.apache.el package)
See above and you should be able to find the answer yourself.
I’m fairly sure this is an application bug but without a concrete example, it is hard to be certain.
Mark