0

NullPointerException if load-after is added

asked 2011-08-11 12:40:08 +0800

Jales gravatar image Jales
161 1

updated 2011-08-11 12:42:19 +0800

Hi,

I'm having a problem in my databinding.

If I added a load-after attribute in the model, I get NullPointerException.

Here is the error log :

org.zkoss.zk.ui.impl.UiEngineImpl handleError:1256
SEVERE: >>java.lang.NullPointerException
>>	at org.zkoss.zkplus.databind.Binding.registerLoadEvents(Binding.java:566)
>>	at org.zkoss.zkplus.databind.DataBinder.registerLoadEvents(DataBinder.java:881)
>>	at org.zkoss.zkplus.databind.DataBinder.init(DataBinder.java:685)
>>	at org.zkoss.zkplus.databind.DataBinder.loadAll(DataBinder.java:572)
>>	at org.zkoss.zkplus.databind.AnnotateDataBinderInit.doAfterCompose(AnnotateDataBinderInit.java:189)
>>	at org.zkoss.zk.ui.impl.RealInits.doAfterCompose(Initiators.java:107)
>>	at org.zkoss.zk.ui.impl.UiEngineImpl.createComponents(UiEngineImpl.java:934)
>>	at org.zkoss.zk.ui.impl.AbstractExecution.createComponents(AbstractExecution.java:238)
>>	at org.zkoss.zk.ui.Executions.createComponents(Executions.java:178)
>>	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>	at java.lang.reflect.Method.invoke(Method.java:597)
>>	at bsh.Reflect.invokeMethod(Unknown Source)
>>	at bsh.Reflect.invokeStaticMethod(Unknown Source)
>>	at bsh.Name.invokeMethod(Unknown Source)
>>	at bsh.BSHMethodInvocation.eval(Unknown Source)
>>	at bsh.BSHPrimaryExpression.eval(Unknown Source)
>>	at bsh.BSHPrimaryExpression.eval(Unknown Source)
>>	at bsh.Interpreter.eval(Unknown Source)
>>	at bsh.Interpreter.eval(Unknown Source)
>>	at org.zkoss.zk.scripting.bsh.BSHInterpreter.exec(BSHInterpreter.java:134)
>>	at org.zkoss.zk.scripting.util.GenericInterpreter.interpret(GenericInterpreter.java:341)
>>	at org.zkoss.zk.ui.impl.PageImpl.interpret(PageImpl.java:857)
>>	at org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:180)
>>	at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:138)
>>	at org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1612)
>>	at org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java:1396)
>>	at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1109)
>>	at org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:569)
>>	at org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:463)
>>	at org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:471)
>>	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>>	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>>	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>>	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
>>	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>>	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>>	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>>	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>>	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>>	at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:119)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>>	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>>	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>>	at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>>	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>>	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>>	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>>	at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:109)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>>	at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:109)
>>	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>>	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
>>	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
>>	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>>	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.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.content(HttpConnection.java:945)
>>	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
>>	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>>	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>	at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
>>	at org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:713)
>>	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

And, the code to my manage.zul is here : http://pastebin.com/vdaGaMhA
and the code to UserBookService.java is here : http://pastebin.com/MUGB3NNu

The NullPointerException only happens if I added the load-after attribute.
And the delete button, does not work. Seems like the delete button on the zul is not auto-wired to the composer onClick$delete .

Other than that, everything else works just fine. I've tried to google the internet and this forum, but could not find a solution.
Any help, pointing me to the right direction to find the solution, is really appreciated. Thanks.

FYI, I'm using ZKoss 5.0.7 + Spring 3.0.5 + Hibernate 3.6 on Eclipse Helios. Thanks.

delete flag offensive retag edit

1 Reply

Sort by ยป oldest newest

answered 2011-08-11 13:35:55 +0800

Jales gravatar image Jales
161 1

Hi,

Turns out the load-after would only register if the delete button is on the same window. So, I just change my layout and it works fine.
Thanks.

link publish delete flag offensive edit
Your reply
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow

RSS

Stats

Asked: 2011-08-11 12:40:08 +0800

Seen: 566 times

Last updated: Aug 11 '11

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More