Also have a look at the other issue I linked mine to. That concerns the RequestHandler directly. In the end I think your problem comes down to the Session not being available at the time you are trying to access it.

HTH,

Uli

Joost Schouten (mailing lists) schrieb:
Thanks Uli,

I'll have a play with this tomorrow. Looks very promising.

Have a good weekend,
Joost


On Sat, Feb 7, 2009 at 6:58 PM, Ulrich Stärk <u...@spielviel.de> wrote:
Damn, hit the wrong key!

This might help:

https://issues.apache.org/jira/browse/TAP5-456

Cheers,

Uli

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



---------------------------------------------------------------------
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

Reply via email to