Uploaded image for project: 'MyFaces Extensions Validator'
  1. MyFaces Extensions Validator
  2. EXTVAL-121

ClassCastException when dynamically loading Renderer and using myfaces-extval-generic-support

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 1.2.4
    • None
    • Generic Support
    • None
    • Mac OS X 10.6, Java 6, Glassfish 3.0.1

    Description

      This problem is also described here:
      https://issues.apache.org/jira/browse/TRINIDAD-1959

      Hi,
      when I try to deploy my web application on my Glassfish server. I get a deployment exception. This is based on a class cast exception which is the following:

      [#|2010-11-11T11:13:22.704+0100|SEVERE|glassfish3.0.1|org.apache.catalina.core.ContainerBase|_ThreadID=32;_ThreadName=Thread-1;|ContainerBase.addChild: start:
      org.apache.catalina.LifecycleException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! java.lang.String cannot be cast to javax.faces.render.Renderer
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:5289)
      at com.sun.enterprise.web.WebModule.start(WebModule.java:499)
      at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:928)
      at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:912)
      at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:694)
      at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1947)
      at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1619)
      at com.sun.enterprise.web.WebApplication.start(WebApplication.java:90)
      at org.glassfish.internal.data.EngineRef.start(EngineRef.java:126)
      at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:241)
      at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:236)
      at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:339)
      at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183)
      at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:305)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1224)
      at org.glassfish.admingui.common.util.LocalDeploymentFacility$LocalDFCommandRunner.run(LocalDeploymentFacility.java:138)
      at org.glassfish.deployment.client.AbstractDeploymentFacility.deploy(AbstractDeploymentFacility.java:350)
      at org.glassfish.admingui.common.util.DeployUtil.invokeDeploymentFacility(DeployUtil.java:89)
      at org.glassfish.admingui.common.util.DeployUtil.deploy(DeployUtil.java:66)
      at org.glassfish.admingui.common.handlers.DeploymentHandler.deploy(DeploymentHandler.java:186)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handler.java:442)
      at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:420)
      at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:394)
      at com.sun.jsftemplating.layout.event.CommandActionListener.invokeCommandHandlers(CommandActionListener.java:150)
      at com.sun.jsftemplating.layout.event.CommandActionListener.processAction(CommandActionListener.java:98)
      at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
      at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:772)
      at javax.faces.component.UICommand.broadcast(UICommand.java:300)
      at com.sun.webui.jsf.component.WebuiCommand.broadcast(WebuiCommand.java:166)
      at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775)
      at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1267)
      at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
      at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
      at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
      at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:223)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
      at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
      at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
      at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:322)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
      at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:239)
      at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
      at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
      at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
      at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
      at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
      at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
      at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
      at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
      at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
      at java.lang.Thread.run(Thread.java:680)
      Caused by: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! java.lang.String cannot be cast to javax.faces.render.Renderer
      at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:354)
      at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:223)
      at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:4664)
      at com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:535)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:5266)
      ... 73 more
      Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to javax.faces.render.Renderer
      at org.apache.myfaces.extensions.validator.generic.renderkit.ExtValGenericRenderKit.intercept(ExtValGenericRenderKit.java:68)
      at org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderKit$$EnhancerByCGLIB$$d599753c.addRenderer(<generated>)
      at org.apache.myfaces.trinidadinternal.renderkit.RenderKitBase._loadRenderKitMap(RenderKitBase.java:258)
      at org.apache.myfaces.trinidadinternal.renderkit.RenderKitBase.<init>(RenderKitBase.java:56)
      at org.apache.myfaces.trinidadinternal.renderkit.RenderKitDecorator.<init>(RenderKitDecorator.java:39)
      at org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderKit.<init>(CoreRenderKit.java:168)
      at org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderKit$$EnhancerByCGLIB$$d599753c.<init>(<generated>)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      at net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:228)
      at net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:220)
      at net.sf.cglib.core.ReflectUtils.newInstance(ReflectUtils.java:216)
      at net.sf.cglib.proxy.Enhancer.createUsingReflection(Enhancer.java:640)
      at net.sf.cglib.proxy.Enhancer.firstInstance(Enhancer.java:538)
      at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:225)
      at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:377)
      at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:285)
      at org.apache.myfaces.extensions.validator.generic.renderkit.ExtValGenericRenderKit.newInstance(ExtValGenericRenderKit.java:56)
      at org.apache.myfaces.extensions.validator.generic.renderkit.GenericRenderKitWrapperFactory.createWrapper(GenericRenderKitWrapperFactory.java:45)
      at org.apache.myfaces.extensions.validator.core.renderkit.DefaultRenderKitWrapperFactory.createWrapper(DefaultRenderKitWrapperFactory.java:54)
      at org.apache.myfaces.extensions.validator.core.renderkit.ExtValRenderKitFactory.getRenderKit(ExtValRenderKitFactory.java:84)
      at org.apache.myfaces.trinidadinternal.renderkit.CoreRenderKitFactory.getRenderKit(CoreRenderKitFactory.java:55)
      at com.sun.faces.config.processor.RenderKitConfigProcessor.process(RenderKitConfigProcessor.java:170)
      at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
      at com.sun.faces.config.processor.ManagedBeanConfigProcessor.process(ManagedBeanConfigProcessor.java:270)
      at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
      at com.sun.faces.config.processor.ValidatorConfigProcessor.process(ValidatorConfigProcessor.java:120)
      at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
      at com.sun.faces.config.processor.ConverterConfigProcessor.process(ConverterConfigProcessor.java:126)
      at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
      at com.sun.faces.config.processor.ComponentConfigProcessor.process(ComponentConfigProcessor.java:117)
      at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
      at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:337)
      at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
      at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:116)
      at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
      at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:223)
      at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:335)
      ... 77 more

      #]

      I check out the most recent version of myfaces-extval-generic-support and create a patch for the file src/main/java/org/apache/myfaces/extensions/validator/generic/renderkit/ExtValGenericRenderKit.java

      I will attach a patch which solves this problem.

      /Manuel

      Attachments

        1. AddRenderAlsoForStringStringString.patch
          3 kB
          Manuel Blechschmidt

        Issue Links

          Activity

            People

              Unassigned Unassigned
              manuel_b Manuel Blechschmidt
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: