You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Geoff Callender <ge...@gmail.com> on 2010/04/14 13:56:23 UTC
PageRenderLinkSource not usable in HttpServletRequestHandler?
It seems PageRenderLinkSource.createPageRenderLink(..) can't be used in an HttpServletRequestHandler because it results in NullPointerException. I'm using T5.1.0.5.
Can anyone confirm this? (and perhaps give a good alternative?)
java.lang.NullPointerException
at $Request_127fc1c71ae.getContextPath($Request_127fc1c71ae.java)
at $Request_127fc1c714e.getContextPath($Request_127fc1c714e.java)
at org.apache.tapestry5.internal.services.ComponentEventLinkEncoderImpl.createPageRenderLink(ComponentEventLinkEncoderImpl.java:115)
at $ComponentEventLinkEncoder_127fc1c7176.createPageRenderLink($ComponentEventLinkEncoder_127fc1c7176.java)
at org.apache.tapestry5.internal.services.LinkSourceImpl.createPageRenderLink(LinkSourceImpl.java:107)
at $LinkSource_127fc1c719d.createPageRenderLink($LinkSource_127fc1c719d.java)
at org.apache.tapestry5.internal.services.PageRenderLinkSourceImpl.createPageRenderLink(PageRenderLinkSourceImpl.java:45)
at org.apache.tapestry5.internal.services.PageRenderLinkSourceImpl.createPageRenderLink(PageRenderLinkSourceImpl.java:40)
at $PageRenderLinkSource_127fc1c715e.createPageRenderLink($PageRenderLinkSource_127fc1c715e.java)
at jumpstart.web.services.AssetProtectionFilter.service(AssetProtectionFilter.java:49)
at $HttpServletRequestHandler_127fc1c7163.service($HttpServletRequestHandler_127fc1c7163.java)
at $HttpServletRequestHandler_127fc1c715d.service($HttpServletRequestHandler_127fc1c715d.java)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
Geoff
Re: PageRenderLinkSource not usable in HttpServletRequestHandler?
Posted by Geoff Callender <ge...@gmail.com>.
Thanks guys, making it a RequestHandler did the trick. On reflection, there was no need for it to be so early in the pipeline. I guess you could even argue it was inappropriate for it to be there, because an HttpServletRequestHandler isn't intended to be aware of Tapestry concepts like page and Link.
Geoff
On 15/04/2010, at 2:31 AM, Howard Lewis Ship wrote:
> Robert has it exactly; where possible, do the work inside
> RequestHandler pipeline. I've been gradually adding new methods to
> Request to wrap HttpServletRequest methods ... in a worst case, inject
> HttpServletRequest into your RequestFilter.
>
> On Wed, Apr 14, 2010 at 5:05 AM, Robert Zeigler <ro...@scazdl.org> wrote:
>> That's possible... I doubt that Request/Request Globals have been
>> initialized yet.
>> Is there some reason you specifically need an HttpServletRequestHandler as
>> opposed to a RequestHandler? More of the T5 infrastructure is
>> available/initialized within the RequestHandler pipeline...
>>
>> Robert
>>
>> On Apr 14, 2010, at 4/146:56 AM , Geoff Callender wrote:
>>
>>> It seems PageRenderLinkSource.createPageRenderLink(..) can't be used in an
>>> HttpServletRequestHandler because it results in NullPointerException. I'm
>>> using T5.1.0.5.
>>>
>>> Can anyone confirm this? (and perhaps give a good alternative?)
>>>
>>> java.lang.NullPointerException
>>> at $Request_127fc1c71ae.getContextPath($Request_127fc1c71ae.java)
>>> at $Request_127fc1c714e.getContextPath($Request_127fc1c714e.java)
>>> at
>>> org.apache.tapestry5.internal.services.ComponentEventLinkEncoderImpl.createPageRenderLink(ComponentEventLinkEncoderImpl.java:115)
>>> at
>>> $ComponentEventLinkEncoder_127fc1c7176.createPageRenderLink($ComponentEventLinkEncoder_127fc1c7176.java)
>>> at
>>> org.apache.tapestry5.internal.services.LinkSourceImpl.createPageRenderLink(LinkSourceImpl.java:107)
>>> at
>>> $LinkSource_127fc1c719d.createPageRenderLink($LinkSource_127fc1c719d.java)
>>> at
>>> org.apache.tapestry5.internal.services.PageRenderLinkSourceImpl.createPageRenderLink(PageRenderLinkSourceImpl.java:45)
>>> at
>>> org.apache.tapestry5.internal.services.PageRenderLinkSourceImpl.createPageRenderLink(PageRenderLinkSourceImpl.java:40)
>>> at
>>> $PageRenderLinkSource_127fc1c715e.createPageRenderLink($PageRenderLinkSource_127fc1c715e.java)
>>> at
>>> jumpstart.web.services.AssetProtectionFilter.service(AssetProtectionFilter.java:49)
>>> at
>>> $HttpServletRequestHandler_127fc1c7163.service($HttpServletRequestHandler_127fc1c7163.java)
>>> at
>>> $HttpServletRequestHandler_127fc1c715d.service($HttpServletRequestHandler_127fc1c715d.java)
>>> at
>>> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127)
>>> at
>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>> at
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>>> at
>>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>>> at
>>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>>> at
>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
>>> at
>>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
>>> at
>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>>> at org.mortbay.jetty.Server.handle(Server.java:324)
>>> at
>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>>> at
>>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
>>> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>>> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>>> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>>> at
>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>>> at
>>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>>> Geoff
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: PageRenderLinkSource not usable in HttpServletRequestHandler?
Posted by Howard Lewis Ship <hl...@gmail.com>.
Robert has it exactly; where possible, do the work inside
RequestHandler pipeline. I've been gradually adding new methods to
Request to wrap HttpServletRequest methods ... in a worst case, inject
HttpServletRequest into your RequestFilter.
On Wed, Apr 14, 2010 at 5:05 AM, Robert Zeigler <ro...@scazdl.org> wrote:
> That's possible... I doubt that Request/Request Globals have been
> initialized yet.
> Is there some reason you specifically need an HttpServletRequestHandler as
> opposed to a RequestHandler? More of the T5 infrastructure is
> available/initialized within the RequestHandler pipeline...
>
> Robert
>
> On Apr 14, 2010, at 4/146:56 AM , Geoff Callender wrote:
>
>> It seems PageRenderLinkSource.createPageRenderLink(..) can't be used in an
>> HttpServletRequestHandler because it results in NullPointerException. I'm
>> using T5.1.0.5.
>>
>> Can anyone confirm this? (and perhaps give a good alternative?)
>>
>> java.lang.NullPointerException
>> at $Request_127fc1c71ae.getContextPath($Request_127fc1c71ae.java)
>> at $Request_127fc1c714e.getContextPath($Request_127fc1c714e.java)
>> at
>> org.apache.tapestry5.internal.services.ComponentEventLinkEncoderImpl.createPageRenderLink(ComponentEventLinkEncoderImpl.java:115)
>> at
>> $ComponentEventLinkEncoder_127fc1c7176.createPageRenderLink($ComponentEventLinkEncoder_127fc1c7176.java)
>> at
>> org.apache.tapestry5.internal.services.LinkSourceImpl.createPageRenderLink(LinkSourceImpl.java:107)
>> at
>> $LinkSource_127fc1c719d.createPageRenderLink($LinkSource_127fc1c719d.java)
>> at
>> org.apache.tapestry5.internal.services.PageRenderLinkSourceImpl.createPageRenderLink(PageRenderLinkSourceImpl.java:45)
>> at
>> org.apache.tapestry5.internal.services.PageRenderLinkSourceImpl.createPageRenderLink(PageRenderLinkSourceImpl.java:40)
>> at
>> $PageRenderLinkSource_127fc1c715e.createPageRenderLink($PageRenderLinkSource_127fc1c715e.java)
>> at
>> jumpstart.web.services.AssetProtectionFilter.service(AssetProtectionFilter.java:49)
>> at
>> $HttpServletRequestHandler_127fc1c7163.service($HttpServletRequestHandler_127fc1c7163.java)
>> at
>> $HttpServletRequestHandler_127fc1c715d.service($HttpServletRequestHandler_127fc1c715d.java)
>> at
>> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127)
>> at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>> at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>> at
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>> at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>> at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
>> at
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
>> at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>> at org.mortbay.jetty.Server.handle(Server.java:324)
>> at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>> at
>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
>> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>> at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>> at
>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>> Geoff
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
--
Howard M. Lewis Ship
Creator of Apache Tapestry
The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!
(971) 678-5210
http://howardlewisship.com
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: PageRenderLinkSource not usable in HttpServletRequestHandler?
Posted by Robert Zeigler <ro...@scazdl.org>.
That's possible... I doubt that Request/Request Globals have been
initialized yet.
Is there some reason you specifically need an
HttpServletRequestHandler as opposed to a RequestHandler? More of the
T5 infrastructure is available/initialized within the RequestHandler
pipeline...
Robert
On Apr 14, 2010, at 4/146:56 AM , Geoff Callender wrote:
> It seems PageRenderLinkSource.createPageRenderLink(..) can't be used
> in an HttpServletRequestHandler because it results in
> NullPointerException. I'm using T5.1.0.5.
>
> Can anyone confirm this? (and perhaps give a good alternative?)
>
> java.lang.NullPointerException
> at $Request_127fc1c71ae.getContextPath($Request_127fc1c71ae.java)
> at $Request_127fc1c714e.getContextPath($Request_127fc1c714e.java)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .ComponentEventLinkEncoderImpl
> .createPageRenderLink(ComponentEventLinkEncoderImpl.java:115)
> at
> $
> ComponentEventLinkEncoder_127fc1c7176
> .createPageRenderLink($ComponentEventLinkEncoder_127fc1c7176.java)
> at
> org
> .apache
> .tapestry5
> .internal
> .services.LinkSourceImpl.createPageRenderLink(LinkSourceImpl.java:107)
> at
> $
> LinkSource_127fc1c719d
> .createPageRenderLink($LinkSource_127fc1c719d.java)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .PageRenderLinkSourceImpl
> .createPageRenderLink(PageRenderLinkSourceImpl.java:45)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .PageRenderLinkSourceImpl
> .createPageRenderLink(PageRenderLinkSourceImpl.java:40)
> at
> $
> PageRenderLinkSource_127fc1c715e
> .createPageRenderLink($PageRenderLinkSource_127fc1c715e.java)
> at
> jumpstart
> .web
> .services.AssetProtectionFilter.service(AssetProtectionFilter.java:49)
> at
> $
> HttpServletRequestHandler_127fc1c7163
> .service($HttpServletRequestHandler_127fc1c7163.java)
> at
> $
> HttpServletRequestHandler_127fc1c715d
> .service($HttpServletRequestHandler_127fc1c715d.java)
> at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:
> 127)
> at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1084)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
> 360)
> at
> org
> .mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
> 216)
> at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
> 181)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
> 722)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
> 404)
> at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
> 139)
> at org.mortbay.jetty.Server.handle(Server.java:324)
> at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
> 505)
> at org.mortbay.jetty.HttpConnection
> $RequestHandler.headerComplete(HttpConnection.java:828)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
> at
> org
> .mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
> 395)
> at org.mortbay.thread.BoundedThreadPool
> $PoolThread.run(BoundedThreadPool.java:450)
> Geoff
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org