Hi,

I'm getting a NPE in tapestries reflected Request after I contributed
a new RequestFilter (LocaleFilter below; see snippet). My pages appear
as expected which leads me to assume it has something to do with the
Request being completed when my code tries to access it (the stack
hints that to). But since debugging is hard and the NPE
non-descriptive I can't figure out what exactly is going on. Does
anyone know why I get this NPE and if so, can we make it more
descriptive than just this descriptionless NPE?

--------------- my code ------------
public static void contributeRequestHandler(
                        final OrderedConfiguration<RequestFilter> configuration,
                        @InjectService("Utf8Filter") final RequestFilter 
utf8Filter,
                        @InjectService("TransactionFilter") final RequestFilter 
transactionFilter,
                        @InjectService("SecurityFilter") final RequestFilter 
securityFilter,
                        @InjectService("LocaleFilter") final RequestFilter 
localeFilter) {
        configuration.add("LocaleFilter", localeFilter);
        configuration.add("Utf8Filter", utf8Filter);
        configuration.add("TransactionFilter", transactionFilter);
        configuration.add("SecurityFilter", securityFilter);
        
        
        }

    public RequestFilter buildLocaleFilter(
                @InjectService("PersistentLocale") final PersistentLocale
persistantLocale,
                @InjectService("ThreadLocale") final ThreadLocale threadLocale) 
{
        
        return new RequestFilter() {

                        public boolean service(Request request, Response 
response,
                                        RequestHandler handler) throws 
IOException {
                                persistantLocale.set(threadLocale.getLocale());
                                return handler.service(request, response);
                        }
                
        };
    }

--------- the exception ---------------

java.lang.NullPointerException
        at $Request_11f4b87384f.getSession($Request_11f4b87384f.java)
        at $Request_11f4b87381c.getSession($Request_11f4b87381c.java)
        at 
org.apache.tapestry5.internal.services.RestoreDirtySessionObjects.requestDidComplete(RestoreDirtySessionObjects.java:35)
        at 
org.apache.tapestry5.internal.services.EndOfRequestEventHubImpl.fire(EndOfRequestEventHubImpl.java:40)
        at 
$EndOfRequestEventHub_11f4b873820.fire($EndOfRequestEventHub_11f4b873820.java)
        at 
org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:762)
        at $RequestHandler_11f4b87383f.service($RequestHandler_11f4b87383f.java)
        at 
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:748)
        at $RequestHandler_11f4b87383f.service($RequestHandler_11f4b87383f.java)
        at 
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
        at $RequestHandler_11f4b87383f.service($RequestHandler_11f4b87383f.java)
        at 
com.joostschouten.common.http.tapestrybase.services.SecurityFilter.service(SecurityFilter.java:151)
        at $RequestFilter_11f4b87383a.service($RequestFilter_11f4b87383a.java)
        at $RequestHandler_11f4b87383f.service($RequestHandler_11f4b87383f.java)
        at 
com.joostschouten.common.http.tapestrybase.services.TransactionFilter.service(TransactionFilter.java:48)
        at $RequestFilter_11f4b873839.service($RequestFilter_11f4b873839.java)
        at $RequestHandler_11f4b87383f.service($RequestHandler_11f4b87383f.java)
        at 
com.joostschouten.common.http.tapestrybase.services.BaseModule$2.service(BaseModule.java:171)
        at $RequestFilter_11f4b873838.service($RequestFilter_11f4b873838.java)
        at $RequestHandler_11f4b87383f.service($RequestHandler_11f4b87383f.java)
        at 
com.joostschouten.common.http.tapestrybase.services.BaseModule$3.service(BaseModule.java:188)
        at $RequestFilter_11f4b87383b.service($RequestFilter_11f4b87383b.java)
        at $RequestHandler_11f4b87383f.service($RequestHandler_11f4b87383f.java)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81)
        at 
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
        at $RequestHandler_11f4b87383f.service($RequestHandler_11f4b87383f.java)
        at $RequestHandler_11f4b873831.service($RequestHandler_11f4b873831.java)
        at 
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:193)
        at 
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
        at 
$HttpServletRequestHandler_11f4b873833.service($HttpServletRequestHandler_11f4b873833.java)
        at 
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
        at 
$HttpServletRequestHandler_11f4b873833.service($HttpServletRequestHandler_11f4b873833.java)
        at 
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
        at 
$HttpServletRequestFilter_11f4b873830.service($HttpServletRequestFilter_11f4b873830.java)
        at 
$HttpServletRequestHandler_11f4b873833.service($HttpServletRequestHandler_11f4b873833.java)
        at 
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:710)
        at 
$HttpServletRequestHandler_11f4b873833.service($HttpServletRequestHandler_11f4b873833.java)
        at 
$HttpServletRequestHandler_11f4b87382d.service($HttpServletRequestHandler_11f4b87382d.java)
        at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:361)
        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:757)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:416)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
        at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:826)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:523)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:377)
        at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
        at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:497)

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to