DataScroller causes ClassCastException when actionListener is used.
-------------------------------------------------------------------
Key: TOMAHAWK-734
URL: http://issues.apache.org/jira/browse/TOMAHAWK-734
Project: MyFaces Tomahawk
Issue Type: Bug
Affects Versions: 1.1.5-SNAPSHOT
Environment: facelets 1.1.11
jsf ri 1.2.03 (recent nightly)
jboss 4.0.4 ga
Reporter: reind
Here's my facelets code:
<t:dataScroller id="dataScroller" for="selectTable"
styleClass="dataScroller" paginatorTableClass="paginator"
paginatorActiveColumnClass="paginatorActive"
pageIndexVar="pageIndex" pageCountVar="pageCount"
paginator="true" paginatorMaxPages="9"
actionListener="#{players$list.changeRowsPerPage}"
rendered="#{players$list.playersDataModel.rowCount >
players$list.rowsPerPage}">
<f:facet name="first"><span>|<</span></f:facet>
<f:facet name="last"><span>>|</span></f:facet>
<f:facet name="previous"><span><</span></f:facet>
<f:facet name="next"><span>></span></f:facet>
</t:dataScroller>
then the action method:
public void scroll(ActionEvent event) {
log.info("scroll");
}
This causes the following exception to be thrown:
javax.servlet.ServletException:
org.apache.myfaces.custom.datascroller.HtmlDataScroller
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
org.apache.shale.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:267)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
root cause
java.lang.ClassCastException:
org.apache.myfaces.custom.datascroller.HtmlDataScroller
com.sun.facelets.tag.jsf.ActionSourceRule$ActionListenerMapper2.applyMetadata(ActionSourceRule.java:98)
com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:62)
com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:140)
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:295)
com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:165)
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
com.sun.facelets.tag.ui.DefineHandler.apply(DefineHandler.java:58)
com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:128)
com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:306)
com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:279)
com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
com.sun.facelets.tag.ui.DefineHandler.apply(DefineHandler.java:58)
com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:128)
com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:306)
com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:279)
com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)
com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)
com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:510)
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:553)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:134)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
org.apache.shale.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:267)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira