[
http://jira.jboss.com/jira/browse/JBSEAM-1907?page=all ]
Christian Bauer reopened JBSEAM-1907:
-------------------------------------
Breaks simple form submits:
javax.faces.FacesException: javax.el.ELException: /docDisplay_d.xhtml @17,91
rendered="#{s:hasPermission('Node', 'create',
documentHome.instance.parent)}": Error reading 'instance' on type
org.jboss.seam.wiki.core.action.DocumentHome_$$_javassist_17
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:373)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:993)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1001)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1001)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1001)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:493)
at org.ajax4jsf.component.AjaxViewRoot.access$001(AjaxViewRoot.java:59)
at org.ajax4jsf.component.AjaxViewRoot$1.invokeRoot(AjaxViewRoot.java:262)
at
org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:56)
at
org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.java:173)
at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:278)
at
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
The cause:
I have a page with an <h:form> on it (the Login form). When I submit this form, the
following APPLY REQUEST VALUES phase throws this exception because Ajax4JSF tries to
"decode" the whole view and calls the rendered="" expressions on my
whole view. These expressions can however only be called after the page action is called,
hence the exception (no page action called at this point).
If I use <h:form><a:region><a:commandLink> instead, only that region is
decoded and the APPLY REQUEST VALUES and all other phases pass. Of course I get another
exception in RENDER RESPONSE:
(http-192.168.0.4-8080-1hread) 09:55:48,028 TRACE [SeamPhaseListener] before phase:
RENDER_RESPONSE 6
(http-192.168.0.4-8080-1hread) 09:55:48,029 DEBUG [SeamPhaseListener] beginning
transaction prior to phase: RENDER_RESPONSE 6
(http-192.168.0.4-8080-1hread) 09:55:48,029 DEBUG [UTTransaction] beginning JTA
transaction
(http-192.168.0.4-8080-1hread) 09:55:48,029 TRACE [RootInterceptor] intercepted:
documentHome.POST_CONSTRUCT
(http-192.168.0.4-8080-1hread) 09:55:48,029 TRACE [RootInterceptor] intercepted:
documentHome.create
(http-192.168.0.4-8080-1hread) 09:55:48,030 TRACE [RootInterceptor] intercepted:
feedDAO.POST_CONSTRUCT
(http-192.168.0.4-8080-1hread) 09:55:48,030 TRACE [RootInterceptor] intercepted:
nodeDAO.POST_CONSTRUCT
(http-192.168.0.4-8080-1hread) 09:55:48,031 DEBUG [SessionImpl] opened session at
timestamp: 11891517480
(http-192.168.0.4-8080-1hread) 09:55:48,031 DEBUG [ManagedPersistenceContext] created seam
managed persistence context from EntityManagerFactory
(http-192.168.0.4-8080-1hread) 09:55:48,032 TRACE [RootInterceptor] intercepted:
documentHome.init
(http-192.168.0.4-8080-1hread) 09:55:48,033 DEBUG [DocumentHome] initializing node home
(http-192.168.0.4-8080-1hread) 09:55:48,033 DEBUG [Navigator] redirecting to: /wiki.xhtml
(http-192.168.0.4-8080-1hread) 09:55:48,033 TRACE [RootInterceptor] intercepted:
wikiRequestResolver.POST_CONSTRUCT
(http-192.168.0.4-8080-1hread) 09:55:48,033 TRACE [RootInterceptor] intercepted:
wikiRequestResolver.getNodeId
(http-192.168.0.4-8080-1hread) 09:55:48,034 TRACE [RootInterceptor] intercepted:
wikiRequestResolver.getAreaName
(http-192.168.0.4-8080-1hread) 09:55:48,040 TRACE [RootInterceptor] intercepted:
wikiRequestResolver.getNodeName
(http-192.168.0.4-8080-1hread) 09:55:48,040 TRACE [RootInterceptor] intercepted:
wikiRequestResolver.getMessage
(http-192.168.0.4-8080-1hread) 09:55:48,041 DEBUG [FacesManager] redirecting to:
/wiki/wiki.seam?cid=30
(http-192.168.0.4-8080-1hread) 09:55:48,041 TRACE [RootInterceptor] intercepted:
wikiRequestResolver.getNodeId
(http-192.168.0.4-8080-1hread) 09:55:48,041 TRACE [RootInterceptor] intercepted:
wikiRequestResolver.getAreaName
(http-192.168.0.4-8080-1hread) 09:55:48,042 TRACE [RootInterceptor] intercepted:
wikiRequestResolver.getNodeName
(http-192.168.0.4-8080-1hread) 09:55:48,042 TRACE [RootInterceptor] intercepted:
wikiRequestResolver.getMessage
(http-192.168.0.4-8080-1hread) 09:55:48,043 DEBUG [SeamPhaseListener] committing
transaction after phase: INVOKE_APPLICATION 5
(http-192.168.0.4-8080-1hread) 09:55:48,043 DEBUG [UTTransaction] committing JTA
transaction
(http-192.168.0.4-8080-1hread) 09:55:48,045 WARN [lifecycle] phase(RENDER_RESPONSE
6,com.sun.faces.context.FacesContextImpl@289b21) threw exception:
java.lang.NullPointerException null
org.ajax4jsf.context.AjaxContextImpl.saveViewState(AjaxContextImpl.java:497)
org.ajax4jsf.event.AjaxPhaseListener.afterPhase(AjaxPhaseListener.java:81)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
This exception is swallowed!
Upgrade Ajax4jsf and Richfaces to Richfaces 3.1rc5
--------------------------------------------------
Key: JBSEAM-1907
URL:
http://jira.jboss.com/jira/browse/JBSEAM-1907
Project: JBoss Seam
Issue Type: Task
Components: JSF
Affects Versions: 2.0.0.BETA1
Reporter: Pete Muir
Assigned To: Pete Muir
Fix For: 2.0.0.CR1
Upgrade to rc5 now, GA once it is out
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira