You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Tim Downey <ti...@gmail.com> on 2007/03/05 14:50:34 UTC
T4 -- Filter in WebRequestServicerPipeline Issue
Hi,
I'm trying to implement a pattern that does some automatic cleanup and
checking using the WebRequestServicerPipeline. I'm performing some URL
checks to detect when a user is switching amongst "applications" in my WAR.
I've used Hivemind to add a filter to the WebRequestServicerPipeline, but
I'm having some issues that relate to the lifecycle of requests that I'm
hoping someone can shed light on.
>From the docs, it appears that the WebRequestServicerPipeline should be
initialized with all the necessary globals around the request, but I am
unable to access the ApplicationStateManager from within my filter.
Prior to servicing the request, my filter is trying to use an injected
ApplicationStateManager to access a state object, but it doesn't appear to
be properly initialized. I'm getting the following exception. Can someone
confirm that I should be able to access the ApplicationStateManager within
this pipeline prior to servicing the request?
[java] 08:27:57,156 ERROR [STDERR] java.lang.NullPointerException:
Property 'webRequest' of <OuterProxy for tapestry.globals.RequestGlobals(
org.apache.tapestry.services.RequestGlobals)> is null.
[java] 08:27:57,156 ERROR [STDERR] at
$WebRequest_1112241239a._targetServiceProperty($WebRequest_1112241239a.java)
[java] 08:27:57,156 ERROR [STDERR] at
$WebRequest_1112241239a.getSession($WebRequest_1112241239a.java)
[java] 08:27:57,156 ERROR [STDERR] at
$WebRequest_11122412326.getSession($WebRequest_11122412326.java)
[java] 08:27:57,156 ERROR [STDERR] at
org.apache.tapestry.engine.state.SessionScopeManager.getSession(
SessionScopeManager.java:48)
[java] 08:27:57,156 ERROR [STDERR] at
org.apache.tapestry.engine.state.SessionScopeManager.get(
SessionScopeManager.java:64)
[java] 08:27:57,156 ERROR [STDERR] at
$StateObjectPersistenceManager_111224124ae.get($StateObjectPersistenceManager_111224124ae.java)
[java] 08:27:57,156 ERROR [STDERR] at
org.apache.tapestry.engine.state.StateObjectManagerImpl.get(
StateObjectManagerImpl.java:50)
[java] 08:27:57,156 ERROR [STDERR] at
org.apache.tapestry.engine.state.ApplicationStateManagerImpl.get(
ApplicationStateManagerImpl.java:60)
[java] 08:27:57,156 ERROR [STDERR] at
$ApplicationStateManager_11122412342.get($ApplicationStateManager_11122412342.java)
[java] 08:27:57,156 ERROR [STDERR] at
$ApplicationStateManager_11122412343.get($ApplicationStateManager_11122412343.java)
[java] 08:27:57,156 ERROR [STDERR] at
com.workscape.proxyadmin.lifecycle.ProxyAdminLifeCycleHandler.startApplication
(ProxyAdminLifeCycleHandler.java:32)
[java] 08:27:57,156 ERROR [STDERR] at
$ApplicationLifeCycleHandler_1112241238b.startApplication($ApplicationLifeCycleHandler_1112241238b.java)
[java] 08:27:57,156 ERROR [STDERR] at
com.workscape.oneforce.lifecycle.ApplicationLifeCycleFilter.startApplication
(ApplicationLifeCycleFilter.java:221)
[java] 08:27:57,156 ERROR [STDERR] at
com.workscape.oneforce.lifecycle.ApplicationLifeCycleFilter.interceptNonNestedRequest
(ApplicationLifeCycleFilter.java:195)
[java] 08:27:57,156 ERROR [STDERR] at
com.workscape.oneforce.lifecycle.ApplicationLifeCycleFilter.service(
ApplicationLifeCycleFilter.java:105)
[java] 08:27:57,156 ERROR [STDERR] at
$WebRequestServicerFilter_11122412380.service($WebRequestServicerFilter_11122412380.java)
[java] 08:27:57,156 ERROR [STDERR] at
$WebRequestServicer_11122412384.service($WebRequestServicer_11122412384.java)
[java] 08:27:57,156 ERROR [STDERR] at
$WebRequestServicer_1112241237c.service($WebRequestServicer_1112241237c.java)
[java] 08:27:57,156 ERROR [STDERR] at
org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(
WebRequestServicerPipelineBridge.java:56)
I've configured the pipeline as follows:
<contribution configuration-id="
tapestry.request.WebRequestServicerPipeline">
<filter name="ApplicationLifeCycleFilter"
object="service:ApplicationLifeCycleFilter"/>
</contribution>
<service-point id="ApplicationLifeCycleFilter" interface="
org.apache.tapestry.services.WebRequestServicerFilter">
<invoke-factory>
<construct class="
com.workscape.oneforce.lifecycle.ApplicationLifeCycleFilter">
<set-configuration property="contributions"
configuration-id="ApplicationLifeCycleHandlers"/>
</construct>
</invoke-factory>
</service-point>
whereby I have a bunch of contributions used to find the proper application
life cycle handlers.
Regards,
Tim
Re: T4 -- Filter in WebRequestServicerPipeline Issue
Posted by Tim Downey <ti...@gmail.com>.
Thanks Johan,
I ended up doing the same thing.
On 3/5/07, Johan Maasing <jm...@gmail.com> wrote:
>
> Check out http://issues.apache.org/jira/browse/TAPESTRY-695
> It might be the same problem and has a work around.
> I include
> requestGlobals.store(request, response);
> in my filter and that works fine.
>
> On 3/5/07, Tim Downey <ti...@gmail.com> wrote:
> >
> > Hi,
> >
> > I'm trying to implement a pattern that does some automatic cleanup and
> > checking using the WebRequestServicerPipeline. I'm performing some URL
> > checks to detect when a user is switching amongst "applications" in my
> > WAR.
> >
> > I've used Hivemind to add a filter to the WebRequestServicerPipeline,
> but
> > I'm having some issues that relate to the lifecycle of requests that I'm
> > hoping someone can shed light on.
> >
> > From the docs, it appears that the WebRequestServicerPipeline should be
> > initialized with all the necessary globals around the request, but I am
> > unable to access the ApplicationStateManager from within my filter.
> >
> > Prior to servicing the request, my filter is trying to use an injected
> > ApplicationStateManager to access a state object, but it doesn't appear
> to
> > be properly initialized. I'm getting the following exception. Can
> > someone
> > confirm that I should be able to access the ApplicationStateManager
> within
> > this pipeline prior to servicing the request?
> >
> > [java] 08:27:57,156 ERROR [STDERR] java.lang.NullPointerException:
> > Property 'webRequest' of <OuterProxy for tapestry.globals.RequestGlobals
> (
> > org.apache.tapestry.services.RequestGlobals)> is null.
> > [java] 08:27:57,156 ERROR [STDERR] at
> >
> >
> $WebRequest_1112241239a._targetServiceProperty($WebRequest_1112241239a.java)
> > [java] 08:27:57,156 ERROR [STDERR] at
> > $WebRequest_1112241239a.getSession($WebRequest_1112241239a.java)
> > [java] 08:27:57,156 ERROR [STDERR] at
> > $WebRequest_11122412326.getSession($WebRequest_11122412326.java)
> > [java] 08:27:57,156 ERROR [STDERR] at
> > org.apache.tapestry.engine.state.SessionScopeManager.getSession(
> > SessionScopeManager.java:48)
> > [java] 08:27:57,156 ERROR [STDERR] at
> > org.apache.tapestry.engine.state.SessionScopeManager.get(
> > SessionScopeManager.java:64)
> > [java] 08:27:57,156 ERROR [STDERR] at
> >
> >
> $StateObjectPersistenceManager_111224124ae.get($StateObjectPersistenceManager_111224124ae.java)
> > [java] 08:27:57,156 ERROR [STDERR] at
> > org.apache.tapestry.engine.state.StateObjectManagerImpl.get(
> > StateObjectManagerImpl.java:50)
> > [java] 08:27:57,156 ERROR [STDERR] at
> > org.apache.tapestry.engine.state.ApplicationStateManagerImpl.get(
> > ApplicationStateManagerImpl.java:60)
> > [java] 08:27:57,156 ERROR [STDERR] at
> >
> >
> $ApplicationStateManager_11122412342.get($ApplicationStateManager_11122412342.java)
> > [java] 08:27:57,156 ERROR [STDERR] at
> >
> >
> $ApplicationStateManager_11122412343.get($ApplicationStateManager_11122412343.java)
> > [java] 08:27:57,156 ERROR [STDERR] at
> >
> >
> com.workscape.proxyadmin.lifecycle.ProxyAdminLifeCycleHandler.startApplication
> > (ProxyAdminLifeCycleHandler.java:32)
> > [java] 08:27:57,156 ERROR [STDERR] at
> >
> >
> $ApplicationLifeCycleHandler_1112241238b.startApplication($ApplicationLifeCycleHandler_1112241238b.java)
> > [java] 08:27:57,156 ERROR [STDERR] at
> >
> >
> com.workscape.oneforce.lifecycle.ApplicationLifeCycleFilter.startApplication
> > (ApplicationLifeCycleFilter.java:221)
> > [java] 08:27:57,156 ERROR [STDERR] at
> >
> >
> com.workscape.oneforce.lifecycle.ApplicationLifeCycleFilter.interceptNonNestedRequest
> > (ApplicationLifeCycleFilter.java:195)
> > [java] 08:27:57,156 ERROR [STDERR] at
> > com.workscape.oneforce.lifecycle.ApplicationLifeCycleFilter.service(
> > ApplicationLifeCycleFilter.java:105)
> > [java] 08:27:57,156 ERROR [STDERR] at
> >
> >
> $WebRequestServicerFilter_11122412380.service($WebRequestServicerFilter_11122412380.java)
> > [java] 08:27:57,156 ERROR [STDERR] at
> >
> >
> $WebRequestServicer_11122412384.service($WebRequestServicer_11122412384.java)
> > [java] 08:27:57,156 ERROR [STDERR] at
> >
> >
> $WebRequestServicer_1112241237c.service($WebRequestServicer_1112241237c.java)
> > [java] 08:27:57,156 ERROR [STDERR] at
> >
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service
> > (
> > WebRequestServicerPipelineBridge.java:56)
> >
> > I've configured the pipeline as follows:
> >
> > <contribution configuration-id="
> > tapestry.request.WebRequestServicerPipeline">
> > <filter name="ApplicationLifeCycleFilter"
> > object="service:ApplicationLifeCycleFilter"/>
> > </contribution>
> >
> > <service-point id="ApplicationLifeCycleFilter" interface="
> > org.apache.tapestry.services.WebRequestServicerFilter">
> > <invoke-factory>
> > <construct class="
> > com.workscape.oneforce.lifecycle.ApplicationLifeCycleFilter">
> > <set-configuration property="contributions"
> > configuration-id="ApplicationLifeCycleHandlers"/>
> > </construct>
> > </invoke-factory>
> > </service-point>
> >
> > whereby I have a bunch of contributions used to find the proper
> > application
> > life cycle handlers.
> >
> > Regards,
> > Tim
> >
>
Re: T4 -- Filter in WebRequestServicerPipeline Issue
Posted by Johan Maasing <jm...@gmail.com>.
Check out http://issues.apache.org/jira/browse/TAPESTRY-695
It might be the same problem and has a work around.
I include
requestGlobals.store(request, response);
in my filter and that works fine.
On 3/5/07, Tim Downey <ti...@gmail.com> wrote:
>
> Hi,
>
> I'm trying to implement a pattern that does some automatic cleanup and
> checking using the WebRequestServicerPipeline. I'm performing some URL
> checks to detect when a user is switching amongst "applications" in my
> WAR.
>
> I've used Hivemind to add a filter to the WebRequestServicerPipeline, but
> I'm having some issues that relate to the lifecycle of requests that I'm
> hoping someone can shed light on.
>
> From the docs, it appears that the WebRequestServicerPipeline should be
> initialized with all the necessary globals around the request, but I am
> unable to access the ApplicationStateManager from within my filter.
>
> Prior to servicing the request, my filter is trying to use an injected
> ApplicationStateManager to access a state object, but it doesn't appear to
> be properly initialized. I'm getting the following exception. Can
> someone
> confirm that I should be able to access the ApplicationStateManager within
> this pipeline prior to servicing the request?
>
> [java] 08:27:57,156 ERROR [STDERR] java.lang.NullPointerException:
> Property 'webRequest' of <OuterProxy for tapestry.globals.RequestGlobals(
> org.apache.tapestry.services.RequestGlobals)> is null.
> [java] 08:27:57,156 ERROR [STDERR] at
>
> $WebRequest_1112241239a._targetServiceProperty($WebRequest_1112241239a.java)
> [java] 08:27:57,156 ERROR [STDERR] at
> $WebRequest_1112241239a.getSession($WebRequest_1112241239a.java)
> [java] 08:27:57,156 ERROR [STDERR] at
> $WebRequest_11122412326.getSession($WebRequest_11122412326.java)
> [java] 08:27:57,156 ERROR [STDERR] at
> org.apache.tapestry.engine.state.SessionScopeManager.getSession(
> SessionScopeManager.java:48)
> [java] 08:27:57,156 ERROR [STDERR] at
> org.apache.tapestry.engine.state.SessionScopeManager.get(
> SessionScopeManager.java:64)
> [java] 08:27:57,156 ERROR [STDERR] at
>
> $StateObjectPersistenceManager_111224124ae.get($StateObjectPersistenceManager_111224124ae.java)
> [java] 08:27:57,156 ERROR [STDERR] at
> org.apache.tapestry.engine.state.StateObjectManagerImpl.get(
> StateObjectManagerImpl.java:50)
> [java] 08:27:57,156 ERROR [STDERR] at
> org.apache.tapestry.engine.state.ApplicationStateManagerImpl.get(
> ApplicationStateManagerImpl.java:60)
> [java] 08:27:57,156 ERROR [STDERR] at
>
> $ApplicationStateManager_11122412342.get($ApplicationStateManager_11122412342.java)
> [java] 08:27:57,156 ERROR [STDERR] at
>
> $ApplicationStateManager_11122412343.get($ApplicationStateManager_11122412343.java)
> [java] 08:27:57,156 ERROR [STDERR] at
>
> com.workscape.proxyadmin.lifecycle.ProxyAdminLifeCycleHandler.startApplication
> (ProxyAdminLifeCycleHandler.java:32)
> [java] 08:27:57,156 ERROR [STDERR] at
>
> $ApplicationLifeCycleHandler_1112241238b.startApplication($ApplicationLifeCycleHandler_1112241238b.java)
> [java] 08:27:57,156 ERROR [STDERR] at
>
> com.workscape.oneforce.lifecycle.ApplicationLifeCycleFilter.startApplication
> (ApplicationLifeCycleFilter.java:221)
> [java] 08:27:57,156 ERROR [STDERR] at
>
> com.workscape.oneforce.lifecycle.ApplicationLifeCycleFilter.interceptNonNestedRequest
> (ApplicationLifeCycleFilter.java:195)
> [java] 08:27:57,156 ERROR [STDERR] at
> com.workscape.oneforce.lifecycle.ApplicationLifeCycleFilter.service(
> ApplicationLifeCycleFilter.java:105)
> [java] 08:27:57,156 ERROR [STDERR] at
>
> $WebRequestServicerFilter_11122412380.service($WebRequestServicerFilter_11122412380.java)
> [java] 08:27:57,156 ERROR [STDERR] at
>
> $WebRequestServicer_11122412384.service($WebRequestServicer_11122412384.java)
> [java] 08:27:57,156 ERROR [STDERR] at
>
> $WebRequestServicer_1112241237c.service($WebRequestServicer_1112241237c.java)
> [java] 08:27:57,156 ERROR [STDERR] at
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service
> (
> WebRequestServicerPipelineBridge.java:56)
>
> I've configured the pipeline as follows:
>
> <contribution configuration-id="
> tapestry.request.WebRequestServicerPipeline">
> <filter name="ApplicationLifeCycleFilter"
> object="service:ApplicationLifeCycleFilter"/>
> </contribution>
>
> <service-point id="ApplicationLifeCycleFilter" interface="
> org.apache.tapestry.services.WebRequestServicerFilter">
> <invoke-factory>
> <construct class="
> com.workscape.oneforce.lifecycle.ApplicationLifeCycleFilter">
> <set-configuration property="contributions"
> configuration-id="ApplicationLifeCycleHandlers"/>
> </construct>
> </invoke-factory>
> </service-point>
>
> whereby I have a bunch of contributions used to find the proper
> application
> life cycle handlers.
>
> Regards,
> Tim
>