[
https://issues.jboss.org/browse/RF-11423?page=com.atlassian.jira.plugin.s...
]
Lukáš Fryč updated RF-11423:
----------------------------
Workaround Description: Use {{javax.faces.PARTIAL_STATE_SAVING=true}} in {{web.xml}}.
Workaround: Workaround Exists
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, 4.1.0.Milestone4
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
Assignee: Lukáš Fryč
Priority: Critical
Labels: regression
Fix For: 4.1.0.CR1
Attachments: rf410test.tar.bz2
When there is any of UIDataAdaptor components on page and we do regular form submit or
ajax re-render then we get NullPointerException.
{code}
java.lang.NullPointerException
at
javax.faces.component.UIComponent$ComponentSystemEventListenerAdapter.processEvent(UIComponent.java:2477)
at javax.faces.event.SystemEvent.processListener(SystemEvent.java:106)
at
com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2102)
at
com.sun.faces.application.ApplicationImpl.invokeComponentListenersFor(ApplicationImpl.java:2050)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:287)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:245)
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:313)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
at
org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:161)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
at
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.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(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(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$ComponentSystemEventListenerAdapter is not restored properly in restoreState
method (the UIComponent .getCurrentComponent(context) call returns null).
{code:title=Attached facelet file to reproduce}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<f:view>
<h:head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8"/>
<title>RF 4.1.0 test</title>
</h:head>
<h:body>
<h:form>
<a4j:commandLink value="Re-render self"
render="jLT"/>
|
<a4j:commandLink value="Re-render table"
render="jLT"/>
|
<h:commandLink value="Regular submit"/>
<!--jLT=jobLineTable-->
<rich:dataTable id="jLT" value="#{bean.titles}"
var="title" rowClasses="even,odd">
<rich:column>
<f:facet name="header">Hero</f:facet>
#{title}
</rich:column>
</rich:dataTable>
</h:form>
</h:body>
</f:view>
</html>
{code}
--
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