[ 
https://issues.jboss.org/browse/RF-11809?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fab Mars closed RF-11809.
-------------------------

    Resolution: Rejected


JSF impl issue.
                
> NPE on clearSkinCaches after HttpServletRequest wrapping
> --------------------------------------------------------
>
>                 Key: RF-11809
>                 URL: https://issues.jboss.org/browse/RF-11809
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 4.1.0.CR2
>         Environment: Win7 x86, Glassfish 3.1.2 promoted, JDK 1.6.0u29
>            Reporter: Fab Mars
>              Labels: glassfish_v3, jsf21, richfaces4, skin, waiting_on_user
>
> I have a homemade "pretty URL" mechanism I've been using on JSF1.2 and RF 3.3 
> in the past.
> It uses a phase listener that operates during RESTORE_VIEW/before.
> At the end of its parsing, it computes the "real" viewId to display and does:
>     PrettyUrlRequestWrapper wrapper = new PrettyUrlRequestWrapper(request);
>     wrapper.setViewId(computedViewId);
>     context.getExternalContext().setRequest(wrapper);
> When I don't use it and call directly .jsf pages, all works fine with RF 
> 4.1.0CR2.
> When I use it, I get this error:
> GRAVE: null
> javax.servlet.ServletException
>       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
>       at 
> org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>       at 
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
>       at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
>       at 
> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
>       at 
> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
>       at 
> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
>       at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
>       at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
>       at 
> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
>       at 
> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
>       at 
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
>       at 
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
>       at 
> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
>       at 
> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
>       at 
> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
>       at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
>       at 
> com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
>       at 
> com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
>       at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.NullPointerException
>       at 
> org.richfaces.skin.SkinFactoryImpl.clearSkinCaches(SkinFactoryImpl.java:94)
>       at 
> org.richfaces.skin.SkinFactoryPreRenderViewListener.processEvent(SkinFactoryPreRenderViewListener.java:35)
>       at javax.faces.event.SystemEvent.processListener(SystemEvent.java:106)
>       at 
> com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2168)
>       at 
> com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2144)
>       at 
> com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:302)
>       at 
> com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:246)
>       at 
> javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:670)
>       at 
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
>       at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
>       at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
>       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
>       ... 26 more
> ATTENTION: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() 
> for servlet Faces Servlet threw exception
> java.lang.NullPointerException
>       at 
> org.richfaces.skin.SkinFactoryImpl.clearSkinCaches(SkinFactoryImpl.java:94)
>       at 
> org.richfaces.skin.SkinFactoryPreRenderViewListener.processEvent(SkinFactoryPreRenderViewListener.java:35)
>       at javax.faces.event.SystemEvent.processListener(SystemEvent.java:106)
>       at 
> com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2168)
>       at 
> com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2144)
>       at 
> com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:302)
>       at 
> com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:246)
>       at 
> javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:670)
>       at 
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
>       at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
>       at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
>       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
>       at 
> org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>       at 
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
>       at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
>       at 
> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
>       at 
> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
>       at 
> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
>       at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
>       at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
>       at 
> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
>       at 
> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
>       at 
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
>       at 
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
>       at 
> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
>       at 
> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
>       at 
> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
>       at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
>       at 
> com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
>       at 
> com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
>       at java.lang.Thread.run(Thread.java:662)
> Well, clearSkinCackes uses only FacesContext.
>     static void clearSkinCaches(FacesContext context) {
>         context.getAttributes().remove(BASE_SKIN_KEY);
>         context.getAttributes().remove(SKIN_KEY);
>     }
> If you check on the debugger, FC is indeed null then. That's unexpected and 
> I'm not sure this is normal.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to