MyFaces Core
  1. MyFaces Core
  2. MYFACES-1891

ClassCastException in converter when Hiding / Showing unselected selectOneRadio

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.3
    • Fix Version/s: 1.1.7, 1.2.7
    • Component/s: None
    • Labels:
      None
    • Environment:
      MyFaces 1.2.3, Spring WebFlow 2.0.2, RichFaces 3.2.1, Tomahawk 1.1.6, Facelets 1.1.15.B1, Tomcat 6.0.16

      Description

      See the attached example.

      When the block with the selectOneRadio ist shown, then hidden and then shown again a ClassCastException occurs in the Converter. The selectOneRadio has as submittedValue org.apache.myfaces.shared_impl.renderkit.RendererUtils$1, for which the conversion is done.

      javax.faces.FacesException: Exception while calling encodeEnd on component :

      {Component-Path : [Class: org.ajax4jsf.component.AjaxViewRoot,ViewId: /WEB-INF/pages/schnellerfassung/dea/dea.xhtml][Class: javax.faces.component.html.HtmlForm,Id: form][Class: org.apache.myfaces.custom.div.Div,Id: hideableBlock][Class: javax.faces.component.html.HtmlSelectOneRadio,Id: selectOneRadio]}

      at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:610)
      at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:286)
      at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
      at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:284)
      at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
      at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:284)
      at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:125)
      at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxChildren(AjaxChildrenRenderer.java:68)
      at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:116)
      at org.ajax4jsf.renderkit.AjaxContainerRenderer.encodeAjax(AjaxContainerRenderer.java:123)
      at org.ajax4jsf.component.AjaxViewRoot.encodeAjax(AjaxViewRoot.java:673)
      at org.ajax4jsf.component.AjaxViewRoot.encodeChildren(AjaxViewRoot.java:544)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:239)
      at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
      at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
      at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
      at org.springframework.faces.webflow.JsfView.render(JsfView.java:92)
      at org.springframework.webflow.engine.ViewState.render(ViewState.java:240)
      at org.springframework.webflow.engine.ViewState.resume(ViewState.java:199)
      at org.springframework.webflow.engine.Flow.resume(Flow.java:535)
      at org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:261)
      at org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:153)
      at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:173)
      at org.springframework.webflow.mvc.servlet.FlowController.handleRequest(FlowController.java:172)
      at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
      at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
      at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
      at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
      at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at com.metzler.ec.web.filter.RendererFilter.doFilter(RendererFilter.java:183)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154)
      at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260)
      at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366)
      at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:359)
      at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
      at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
      at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
      at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
      at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
      at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
      at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
      at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
      at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
      at org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
      at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
      at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
      at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
      at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
      at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
      at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:268)
      at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
      at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
      at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:268)
      at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
      at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
      at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:87)
      at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
      at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
      at org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:61)
      at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
      at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
      at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:229)
      at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
      at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
      at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174)
      at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
      at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Thread.java:595)
      Caused by: javax.faces.convert.ConverterException: java.lang.ClassCastException: org.apache.myfaces.shared_impl.renderkit.RendererUtils$1
      at javax.faces.convert.IntegerConverter.getAsString(IntegerConverter.java:85)
      at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getConvertedStringValue(RendererUtils.java:628)
      at org.apache.myfaces.shared_impl.renderkit.html.HtmlRadioRendererBase.encodeEnd(HtmlRadioRendererBase.java:91)
      at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:607)
      ... 87 more
      Caused by: java.lang.ClassCastException: org.apache.myfaces.shared_impl.renderkit.RendererUtils$1
      at javax.faces.convert.IntegerConverter.getAsString(IntegerConverter.java:81)
      ... 90 more

      1. example.zip
        0.8 kB
        Patrick Schmidt
      2. MYFACES-1891-custom-converter.patch
        0.7 kB
        Leonardo Uribe
      3. RendererUtils_1.2.6_patched.java
        40 kB
        Patrick Schmidt
      4. RendererUtils.patch
        1 kB
        Paul Rivera

        Issue Links

          Activity

          Patrick Schmidt created issue -
          Patrick Schmidt made changes -
          Field Original Value New Value
          Attachment example.zip [ 12385706 ]
          Paul Rivera made changes -
          Attachment RendererUtils.patch [ 12385943 ]
          Leonardo Uribe made changes -
          Resolution Fixed [ 1 ]
          Assignee Leonardo Uribe [ lu4242 ]
          Status Open [ 1 ] Closed [ 6 ]
          Leonardo Uribe made changes -
          Fix Version/s  1.1.6-SNAPSHOT [ 12312311 ]
          Fix Version/s 1.2.4-SNAPSHOT [ 12313145 ]
          Leonardo Uribe made changes -
          Fix Version/s  1.1.6-SNAPSHOT [ 12312311 ]
          Fix Version/s 1.1.6 [ 12312312 ]
          Fix Version/s 1.2.4-SNAPSHOT [ 12313145 ]
          Leonardo Uribe made changes -
          Link This issue duplicates MYFACES-1567 [ MYFACES-1567 ]
          Patrick Schmidt made changes -
          Status Closed [ 6 ] Reopened [ 4 ]
          Resolution Fixed [ 1 ]
          Patrick Schmidt made changes -
          Attachment RendererUtils_1.2.6_patched.java [ 12401603 ]
          Leonardo Uribe made changes -
          Attachment MYFACES-1891-custom-converter.patch [ 12408278 ]
          Leonardo Uribe made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Fix Version/s 1.1.7-SNAPSHOT [ 12313362 ]
          Fix Version/s 1.2.7-SNAPSHOT [ 12313612 ]
          Fix Version/s 1.1.6 [ 12312312 ]
          Resolution Fixed [ 1 ]
          Leonardo Uribe made changes -
          Link This issue is duplicated by MYFACES-2152 [ MYFACES-2152 ]
          Leonardo Uribe made changes -
          Fix Version/s 1.2.7 [ 12314012 ]
          Fix Version/s 1.1.7-SNAPSHOT [ 12313362 ]
          Fix Version/s 1.2.7-SNAPSHOT [ 12313612 ]
          Leonardo Uribe made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Leonardo Uribe made changes -
          Fix Version/s 1.1.7 [ 12314015 ]

            People

            • Assignee:
              Leonardo Uribe
              Reporter:
              Patrick Schmidt
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development