This might help:
Joost Schouten (mailing lists) schrieb:
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
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org