[
http://jira.jboss.com/jira/browse/JBSEAM-1586?page=all ]
Gavin King closed JBSEAM-1586.
------------------------------
Fix Version/s: 2.0.0.CR1
Resolution: Done
Assignee: Gavin King
Fixed, thanks.
Redirect filter fails to redirect propertly when handing a redirect
before seam is full initialized for a request.
------------------------------------------------------------------------------------------------------------------
Key: JBSEAM-1586
URL:
http://jira.jboss.com/jira/browse/JBSEAM-1586
Project: JBoss Seam
Issue Type: Bug
Components: Core
Affects Versions: 1.3.0.ALPHA
Reporter: Chris Rudd
Assigned To: Gavin King
Fix For: 2.0.0.CR1
When using an Ajax4jsf ajax request where the view cannot be restored, the
AjaxViewHandler issues a redirect. The Seam Redirect filter intercepts this and does some
seam stuffs. This fails in Manager.beforeRedirect while doing something with the
conversation.
In terms of the JSF lifecycle, this occures during the restore view phase (seam before
restore_view processing has already occured). It looks like the code in
Manager.beforeRedirect requires some additional conversation state setup, which seems to
occur in the after restore_view process.
java.lang.IllegalArgumentException: Stack must not be null
at org.jboss.seam.core.ConversationEntry.<init>(ConversationEntry.java:40)
at
org.jboss.seam.core.ConversationEntries.createConversationEntry(ConversationEntries.java:52)
at org.jboss.seam.core.Manager.createConversationEntry(Manager.java:685)
at org.jboss.seam.core.Manager.beforeRedirect(Manager.java:834)
at org.jboss.seam.core.Manager.beforeRedirect(Manager.java:852)
at
org.jboss.seam.core.Manager.appendConversationIdFromRedirectFilter(Manager.java:1095)
at org.jboss.seam.web.RedirectFilter$1.sendRedirect(RedirectFilter.java:66)
at com.sun.faces.context.ExternalContextImpl.redirect(ExternalContextImpl.java:419)
at org.ajax4jsf.framework.ajax.AjaxViewHandler.restoreView(AjaxViewHandler.java:180)
at org.jboss.seam.jsf.SeamViewHandler.restoreView(SeamViewHandler.java:84)
at com.sun.facelets.FaceletViewHandler.restoreView(FaceletViewHandler.java:317)
at org.ajax4jsf.framework.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:116)
at org.ajax4jsf.framework.ajax.AjaxViewHandler.restoreView(AjaxViewHandler.java:150)
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:141)
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)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:70)
at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:64)
at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:60)
at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:60)
at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:81)
at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:47)
at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
at
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
at org.jboss.seam.web.AbstractAjax4jsfFilter.doFilter(AbstractAjax4jsfFilter.java:35)
at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:127)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
--
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