Folks,
I am scratching my head about this code which generally was ok in T4... things
seem fine but when i enter this handler BOOM
My usage of the Math.min(...) hasnt changed... the NPE occurs faithfully on the
call to Math.min(...)... even after I tried to change the type of itemsPerPage
from Integer to int
here is my isolated thing...
@Property
@Parameter(required = false, cache = false)
private int itemsPerPage = 50;
and I operate in my eventhandler
@Component(parameters =
{ "event=lastPage" })
private EventLink lastPage;
public void onLastPage()
{
logger.info("In onLastPage : ");
int minimum = Math.min(itemsPerPage, collection.size());
cursor = (collection.size() - minimum);
}
Now I use to have itemsPerPage declared as Integer... and in T4 type coercing
would occur and it ran fine.
I am getting an NPE though... and changing this to int doesnt help.
I thought I would show you the stack trace... maybe someone can spot something.
This one is really stumping me and I am blue in the face.
thanks for checking this out
funny thing... my onFirstPage handler works fine... no NPE when i step thru that
@Component(parameters =
{ "event=firstPage" })
private EventLink firstPage;
public void onFirstPage()
{
logger.info("In onFirstPage : ");
cursor = 0;
}
see NPE stack trace below
Thanks
[email protected]
127.0.0.1 - - [12/Oct/2012:03:02:18 +0000] "GET
/tynamo/blob/adminlayout/1/header HTTP/1.1" 200 223753
"http://localhost:8080/Home" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0)
Gecko/20100101 Firefox/15.0.1"
[INFO] components.Gallery In onLastPage :
[ERROR] ioc.Registry org.apache.tapestry5.runtime.ComponentEventException
[ERROR] ioc.Registry Operations trace:
[ERROR] ioc.Registry [ 1] Triggering event 'lastpage' on Home:gallerywidget
[ERROR] TapestryModule.RequestExceptionHandler Processing of request failed
with uncaught exception: org.apache.tapestry5.ioc.internal.OperationException
org.apache.tapestry5.ioc.internal.OperationException [at context:Home.tml, line
36]
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:121)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:88)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
at
org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:146)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1047)
at
org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:81)
at
org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42)
at $ComponentEventRequestHandler_76f54cced87d.handle(Unknown Source)
at
org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
at $ComponentEventRequestHandler_76f54cced87d.handle(Unknown Source)
at
org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.handle(UploadExceptionFilter.java:75)
at $ComponentEventRequestHandler_76f54cced87d.handle(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$40.handle(TapestryModule.java:2456)
at $ComponentEventRequestHandler_76f54cced87d.handle(Unknown Source)
at $ComponentEventRequestHandler_76f54cced7cf.handle(Unknown Source)
at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
at
org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
at $ComponentRequestHandler_76f54cced7d1.handleComponentEvent(Unknown
Source)
at
org.tynamo.security.SecurityComponentRequestFilter.handleComponentEvent(SecurityComponentRequestFilter.java:42)
at $ComponentRequestFilter_76f54cced7ce.handleComponentEvent(Unknown Source)
at $ComponentRequestHandler_76f54cced7d1.handleComponentEvent(Unknown
Source)
at $ComponentRequestHandler_76f54cced7b6.handleComponentEvent(Unknown
Source)
at
org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46)
at $Dispatcher_76f54cced7bb.dispatch(Unknown Source)
at $Dispatcher_76f54cced7b4.dispatch(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_76f54cced7b5.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902)
at $RequestHandler_76f54cced7b5.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892)
at $RequestHandler_76f54cced7b5.service(Unknown Source)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
at $RequestHandler_76f54cced7b5.service(Unknown Source)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
at $RequestHandler_76f54cced7b5.service(Unknown Source)
at $RequestHandler_76f54cced77c.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253)
at
org.tynamo.security.services.impl.SecurityConfiguration$2.call(SecurityConfiguration.java:106)
at
org.tynamo.security.services.impl.SecurityConfiguration$2.call(SecurityConfiguration.java:104)
at
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380)
at
org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:104)
at $HttpServletRequestFilter_76f54cced77b.service(Unknown Source)
at $HttpServletRequestHandler_76f54cced77e.service(Unknown Source)
at
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
at $HttpServletRequestHandler_76f54cced77e.service(Unknown Source)
at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
at $HttpServletRequestHandler_76f54cced77e.service(Unknown Source)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at $HttpServletRequestFilter_76f54cced778.service(Unknown Source)
at $HttpServletRequestHandler_76f54cced77e.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
at $HttpServletRequestHandler_76f54cced77e.service(Unknown Source)
at $HttpServletRequestHandler_76f54cced777.service(Unknown Source)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
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:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: org.apache.tapestry5.runtime.ComponentEventException [at
context:Home.tml, line 36]
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1130)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3200(ComponentPageElementImpl.java:61)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1051)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1048)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
... 76 more
Caused by: java.lang.NullPointerException
at
org.tynamo.examples.hibernatesecurity.components.Gallery.onLastPage(Gallery.java:366)
at
org.tynamo.examples.hibernatesecurity.components.Gallery.dispatchComponentEvent(Gallery.java)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:923)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1106)
... 80 more
127.0.0.1 - - [12/Oct/2012:03:02:19 +0000] "GET /home.gallerywidget:lastpage
HTTP/1.1" 500 4530 "http://localhost:8080/Home" "Mozilla/5.0 (Windows NT 6.1;
WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"