From jira-events at lists.jboss.org Sun Oct 16 21:46:45 2011 Content-Type: multipart/mixed; boundary="===============2165505561333209997==" MIME-Version: 1.0 From: Brian Leathem (Updated) (JIRA) To: richfaces-issues at lists.jboss.org Subject: [richfaces-issues] [JBoss JIRA] (RF-11423) NPE and PreRenderViewEvent in UIDataAdaptor Date: Sun, 16 Oct 2011 21:46:45 -0400 Message-ID: <799558997.479.1318816005301.JavaMail.tomcat@jira02.app.mwc.hst.phx2.redhat.com> In-Reply-To: 832026058.63297.1316627846229.JavaMail.tomcat@jira02.app.mwc.hst.phx2.redhat.com --===============2165505561333209997== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable [ https://issues.jboss.org/browse/RF-11423?page=3Dcom.atlassian.jira.p= lugin.system.issuetabpanels:all-tabpanel ] Brian Leathem updated RF-11423: ------------------------------- Description: = When there is any of UIDataAdaptor components on page and we do regular for= m submit or ajax re-render then we get NullPointerException. {code} java.lang.NullPointerException at javax.faces.component.UIComponent$ComponentSystemEventListenerAdapte= r.processEvent(UIComponent.java:2477) at javax.faces.event.SystemEvent.processListener(SystemEvent.java:106) at com.sun.faces.application.ApplicationImpl.processListeners(Applicati= onImpl.java:2102) at com.sun.faces.application.ApplicationImpl.invokeComponentListenersFo= r(ApplicationImpl.java:2050) at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationIm= pl.java:287) at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationIm= pl.java:245) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePh= ase.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:313) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(App= licationFilterChain.java:329) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Application= FilterChain.java:248) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapper= Valve.java:275) at org.apache.catalina.core.StandardContextValve.__invoke(StandardConte= xtValve.java:161) at org.apache.catalina.core.StandardContextValve.invoke(StandardContext= Valve.java) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(Sec= urityContextAssociationValve.java:139) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentic= atorBase.java:388) at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.= java:154) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.= java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVa= lve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.ja= va:362) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.jav= a:877) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proc= ess(Http11Protocol.java:667) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:9= 52) at java.lang.Thread.run(Thread.java:619) {code} This is due to fact that "wrapped" attribute in UIComponent$ComponentSystem= EventListenerAdapter is not restored properly in restoreState method (the U= IComponent .getCurrentComponent(context) call returns null). {code:title=3DAttached facelet file to reproduce} RF 4.1.0 test | | Hero #{title} {code} was: When there is any of UIDataAdaptor components on page and we do regular for= m submit or ajax re-render then we get NullPointerException. {code} java.lang.NullPointerException at javax.faces.component.UIComponent$ComponentSystemEventListenerAdapte= r.processEvent(UIComponent.java:2477) at javax.faces.event.SystemEvent.processListener(SystemEvent.java:106) at com.sun.faces.application.ApplicationImpl.processListeners(Applicati= onImpl.java:2102) at com.sun.faces.application.ApplicationImpl.invokeComponentListenersFo= r(ApplicationImpl.java:2050) at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationIm= pl.java:287) at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationIm= pl.java:245) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePh= ase.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:313) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(App= licationFilterChain.java:329) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Application= FilterChain.java:248) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapper= Valve.java:275) at org.apache.catalina.core.StandardContextValve.__invoke(StandardConte= xtValve.java:161) at org.apache.catalina.core.StandardContextValve.invoke(StandardContext= Valve.java) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(Sec= urityContextAssociationValve.java:139) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentic= atorBase.java:388) at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.= java:154) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.= java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVa= lve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.ja= va:362) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.jav= a:877) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proc= ess(Http11Protocol.java:667) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:9= 52) at java.lang.Thread.run(Thread.java:619) {code} This is due to fact that "wrapped" attribute in UIComponent$ComponentSystem= EventListenerAdapter is not restored properly in restoreState method (the U= IComponent .getCurrentComponent(context) call returns null). = > NPE and PreRenderViewEvent in UIDataAdaptor > ------------------------------------------- > > Key: RF-11423 > URL: https://issues.jboss.org/browse/RF-11423 > Project: RichFaces > Issue Type: Bug > Security Level: Public(Everyone can see) = > Components: core > Affects Versions: 4.1.0.Milestone2 > Environment: JBoss AS 7.0.1.Final, = > Linux kuna 2.6.27.7-smp #22 SMP PREEMPT Tue Mar 9 22:58:03 CET 2010 i686 = Intel(R) Core(TM)2 Duo CPU P7370 @ 2.00GHz GenuineIntel GNU/Linux > Reporter: Bernard Labno > Priority: Critical > Fix For: 4.1.0.Tracking > > Attachments: rf410test.tar.bz2 > > > When there is any of UIDataAdaptor components on page and we do regular f= orm submit or ajax re-render then we get NullPointerException. > {code} > java.lang.NullPointerException > at javax.faces.component.UIComponent$ComponentSystemEventListenerAdap= ter.processEvent(UIComponent.java:2477) > at javax.faces.event.SystemEvent.processListener(SystemEvent.java:106) > at com.sun.faces.application.ApplicationImpl.processListeners(Applica= tionImpl.java:2102) > at com.sun.faces.application.ApplicationImpl.invokeComponentListeners= For(ApplicationImpl.java:2050) > at com.sun.faces.application.ApplicationImpl.publishEvent(Application= Impl.java:287) > at com.sun.faces.application.ApplicationImpl.publishEvent(Application= Impl.java:245) > at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponse= Phase.java:108) > at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) > at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:13= 9) > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(A= pplicationFilterChain.java:329) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicati= onFilterChain.java:248) > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapp= erValve.java:275) > at org.apache.catalina.core.StandardContextValve.__invoke(StandardCon= textValve.java:161) > at org.apache.catalina.core.StandardContextValve.invoke(StandardConte= xtValve.java) > at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(S= ecurityContextAssociationValve.java:139) > at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authent= icatorBase.java:388) > at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57) > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValv= e.java:154) > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValv= e.java:102) > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngine= Valve.java:109) > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.= java:362) > at org.apache.coyote.http11.Http11Processor.process(Http11Processor.j= ava:877) > at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.pr= ocess(Http11Protocol.java:667) > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java= :952) > at java.lang.Thread.run(Thread.java:619) > {code} > This is due to fact that "wrapped" attribute in UIComponent$ComponentSyst= emEventListenerAdapter is not restored properly in restoreState method (the= UIComponent .getCurrentComponent(context) call returns null). > {code:title=3DAttached facelet file to reproduce} > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > xmlns:rich=3D"http://richfaces.org/rich" xmlns:a4j=3D"http://richfa= ces.org/a4j" xmlns:f=3D"http://java.sun.com/jsf/core" > xmlns:c=3D"http://java.sun.com/jsp/jstl/core"> > > > > RF 4.1.0 test > > > > > | > > | > > > > > Hero > #{title} > > > > > > > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrato= rs: https://issues.jboss.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira =20 --===============2165505561333209997==--