[ http://issues.apache.org/jira/browse/TAPESTRY-855?page=all ]

Raphael Jean updated TAPESTRY-855:
----------------------------------

    Attachment: TAPESTRY-855-patch.txt

Patch for the 4.0 branch that handles PageRedirectException in the portlet page 
renderer. Using code borrowed from AbstractEngine.

> Throwing a PageRedirectException from a portlet causes an NPE
> -------------------------------------------------------------
>
>          Key: TAPESTRY-855
>          URL: http://issues.apache.org/jira/browse/TAPESTRY-855
>      Project: Tapestry
>         Type: Bug
>   Components: Portlet
>     Versions: 4.0
>  Environment: Jetspeed 2.0 final
>     Reporter: Raphael Jean
>  Attachments: TAPESTRY-855-patch.txt
>
> Throwing a PageRedirectException from the pageBeginRender() method in a 
> portlet page doesn't redirect to the given page. Instead a NPE is thrown and 
> the exception page is displayed.
> 2006-02-03 11:11:44,399 WARN [tapestry.error.RequestExceptionReporter] - 
> Unable to process client request: Property 'actionResponse' of <OuterProxy 
> for 
> tapestry.portlet.PortletRequestGlobals(org.apache.tapestry.portlet.PortletRequestGlobals)>
>  is null.
> java.lang.NullPointerException: Property 'actionResponse' of <OuterProxy for 
> tapestry.portlet.PortletRequestGlobals(org.apache.tapestry.portlet.PortletRequestGlobals)>
>  is null.
>       at 
> $ActionResponse_1092f63db2f._targetServiceProperty($ActionResponse_1092f63db2f.java)
>       at 
> $ActionResponse_1092f63db2f.setRenderParameters($ActionResponse_1092f63db2f.java)
>       at 
> $ActionResponse_1092f63db2d.setRenderParameters($ActionResponse_1092f63db2d.java)
>       at 
> org.apache.tapestry.portlet.PortletResponseRenderer.renderResponse(PortletResponseRenderer.java:133)
>       at 
> $ResponseRenderer_1092f63d953.renderResponse($ResponseRenderer_1092f63d953.java)
>       at 
> org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngine.java:203)
>       at 
> org.apache.tapestry.engine.AbstractEngine.handlePageRedirectException(AbstractEngine.java:343)
>       at 
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:254)
>       at 
> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
>       at 
> $WebRequestServicer_1092f63d9a7.service($WebRequestServicer_1092f63d9a7.java)
>       at 
> net.entropysoft.web.auth.TapestryAuthenticationServicerFilter.service(TapestryAuthenticationServicerFilter.java:83)
>       at 
> $WebRequestServicerFilter_1092f63d9a9.service($WebRequestServicerFilter_1092f63d9a9.java)
>       at 
> $WebRequestServicer_1092f63d9ab.service($WebRequestServicer_1092f63d9ab.java)
>       at 
> $WebRequestServicer_1092f63d9a5.service($WebRequestServicer_1092f63d9a5.java)
>       at 
> org.apache.tapestry.portlet.RenderRequestServicerToWebRequestServicerBridge.service(RenderRequestServicerToWebRequestServicerBridge.java:49)
>       at 
> $RenderRequestServicer_1092f63d99f.service($RenderRequestServicer_1092f63d99f.java)
>       at 
> $RenderRequestServicer_1092f63d999.service($RenderRequestServicer_1092f63d999.java)
>       at 
> org.apache.tapestry.portlet.ApplicationPortlet.render(ApplicationPortlet.java:161)
>       at 
> org.apache.jetspeed.factory.JetspeedPortletInstance.render(JetspeedPortletInstance.java:102)
>       at 
> org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContainerServlet.java:230)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
>       at 
> org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:213)
>       at 
> org.apache.jetspeed.container.invoker.ServletPortletInvoker.render(ServletPortletInvoker.java:125)
>       at 
> org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:119)
>       at 
> org.apache.jetspeed.container.JetspeedPortletContainerWrapper.renderPortlet(JetspeedPortletContainerWrapper.java:120)
>       at 
> org.apache.jetspeed.aggregator.impl.RenderingJobImpl.execute(RenderingJobImpl.java:120)
>       at 
> org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletRendererImpl.java:110)
>       at 
> org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRender(PageAggregatorImpl.java:199)
>       at 
> org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRender(PageAggregatorImpl.java:182)
>       at 
> org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggregatorImpl.java:106)
>       at 
> org.apache.jetspeed.aggregator.AggregatorValve.invoke(AggregatorValve.java:48)
>       at 
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
>       at 
> org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValveImpl.java:132)
>       at 
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
>       at 
> org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:76)
>       at 
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
>       at 
> org.apache.jetspeed.decoration.DecorationValve.invoke(DecorationValve.java:100)
>       at 
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
>       at 
> org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValveImpl.java:179)
>       at 
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
>       at 
> org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginValidationValveImpl.java:143)
>       at 
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
>       at 
> org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(PasswordCredentialValveImpl.java:148)
>       at 
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
>       at 
> org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(LocalizationValveImpl.java:168)
>       at 
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
>       at 
> org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSecurityValve.java:117)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAsPrivileged(Subject.java:437)
>       at 
> org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractSecurityValve.java:111)
>       at 
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
>       at 
> org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalURLValveImpl.java:55)
>       at 
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
>       at 
> org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(CapabilityValveImpl.java:128)
>       at 
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
>       at 
> org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.java:185)
>       at 
> org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java:231)
>       at 
> org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:226)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>       at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>       at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
>       at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
>       at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>       at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>       at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>       at java.lang.Thread.run(Thread.java:534)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to