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 kcola...@live.com 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"