Ok, I think I know what's going on. I think the service I'm decorating is being called before the terminator of the HttpServletRequestHandler pipeline makes the Request available. In a mail from december 2007 Peter Stavrinides seems to have stumbled over the same issue: http://markmail.org/message/4qup7wyjsb7kavy3

Howard, you mentioned the possibility to change this and there is also an open issue for one of the impacts of this (https://issues.apache.org/jira/browse/TAP5-257). Should I open an issue for populating the Request and Response earlier on in the pipeline?

Cheers,

Uli


Ulrich Stärk schrieb:
I'm decorating one of my services in order to store the result of a method call as an ASO. I therefore inject the ApplicationStatemanager service into my decorator implementation and call applicationStateManager.set(UserDetails.class, (UserDetails) o);, but I always get the NullPointerException below. Is what I'm doing supposed to work and am I seeing a bug or should I do this somehow different?

Cheers,

Uli

java.lang.NullPointerException
    at $Request_11ce2775261.getSession($Request_11ce2775261.java)
    at $Request_11ce2775226.getSession($Request_11ce2775226.java)
at org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy.getSession(SessionApplicationStatePersistenceStrategy.java:47) at org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy.set(SessionApplicationStatePersistenceStrategy.java:88) at $ApplicationStatePersistenceStrategy_11ce2775316.set($ApplicationStatePersistenceStrategy_11ce2775316.java) at org.apache.tapestry5.internal.services.ApplicationStateManagerImpl$ApplicationStateAdapter.set(ApplicationStateManagerImpl.java:50) at org.apache.tapestry5.internal.services.ApplicationStateManagerImpl.set(ApplicationStateManagerImpl.java:138) at $ApplicationStateManager_11ce2775276.set($ApplicationStateManager_11ce2775276.java) at de.spielviel.mailadmin.services.impl.UserDetailsDecoratorImpl$1.advise(UserDetailsDecoratorImpl.java:43) at org.apache.tapestry5.ioc.internal.services.AbstractInvocation.proceed(AbstractInvocation.java:121) at $UserDetailsService_11ce2775313.loadUserByUsername($UserDetailsService_11ce2775313.java) at $UserDetailsService_11ce2775242.loadUserByUsername($UserDetailsService_11ce2775242.java) at org.springframework.security.providers.openid.OpenIDAuthenticationProvider.authenticate(OpenIDAuthenticationProvider.java:70) at org.springframework.security.providers.ProviderManager.doAuthentication(ProviderManager.java:195) at org.springframework.security.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:46) at $AuthenticationManager_11ce2775218.authenticate($AuthenticationManager_11ce2775218.java) at org.springframework.security.ui.openid.OpenIDAuthenticationProcessingFilter.attemptAuthentication(OpenIDAuthenticationProcessingFilter.java:84) at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:252) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) at $HttpServletRequestFilter_11ce277523f.service($HttpServletRequestFilter_11ce277523f.java) at $HttpServletRequestHandler_11ce2775241.service($HttpServletRequestHandler_11ce2775241.java) at nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56) at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) at $HttpServletRequestFilter_11ce2775238.service($HttpServletRequestFilter_11ce2775238.java) at $HttpServletRequestHandler_11ce2775241.service($HttpServletRequestHandler_11ce2775241.java) at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) at $HttpServletRequestFilter_11ce2775237.service($HttpServletRequestFilter_11ce2775237.java) at $HttpServletRequestHandler_11ce2775241.service($HttpServletRequestHandler_11ce2775241.java) at $HttpServletRequestHandler_11ce2775236.service($HttpServletRequestHandler_11ce2775236.java) at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
    at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
    at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
    at org.mortbay.http.HttpServer.service(HttpServer.java:909)
    at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
    at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
    at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
    at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
    at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

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



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

Reply via email to