0 Replies Latest reply on Jan 29, 2008 5:53 AM by juan.medin

    RichFaces + Tomahawk Schedule = bug when you select a schedu

    juan.medin

      Hi,

      I've a project that uses RichFaces and Tomahawk on a WebSphere 6.1 server. The problem comes with the t:schedule component. When you try to get the selected entry in the value action, you always get a null.

      This is code:

      public String actionEntrySelected() {
      // Here this always return null
      ScheduleEntry entry = getScheduleModel().getSelectedEntry();
      }

      And this is the full exception:

      [29/01/08 11:28:05:997 CET] 00000023 WebApp E [Servlet Error]-[Faces Servlet]: javax.faces.FacesException: #{scheduleHandler. actionEntrySelected}: javax.faces.el.EvaluationException: java.lang.NullPointerException
      at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:79)
      at org.apache.myfaces.custom.schedule.UISchedule$ScheduleActionListener.processAction(UISchedule.java:74)
      at javax.faces.event.ActionEvent.processListener(ActionEvent.java:57)
      at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:683)
      at org.apache.myfaces.custom.schedule.UISchedule.broadcast(UISchedule.java:128)
      at org.apache.myfaces.custom.schedule.HtmlSchedule.broadcast(HtmlSchedule.java:83)
      at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:184)
      at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:162)
      at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:350)
      at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)
      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:220)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:91)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:907)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
      at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
      at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
      at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
      at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
      at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
      at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
      at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
      at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:108)
      at org.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter(SecurityEnforcementFilter.java:197)
      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
      at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:246)
      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:220)
      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
      at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
      at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:120)
      at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:701)
      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:646)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:475)
      at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
      at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
      at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
      at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
      at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
      at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
      at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
      at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
      at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
      at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
      at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)
      Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
      at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:131)
      at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:73)
      ... 58 more
      Caused by: java.lang.NullPointerException
      at imserso.nsi.jsf.NsiScheduleHandler.actionEntrySelected(NsiScheduleHandler.java:51)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:615)
      at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:127)
      ... 59 more


      I've been trying to find a workaround for this without success. Without RichFaces it seems to work correctly. I guess it's the resource filter. Any comments or workaround -if you already suffered something like this- would be really welcome.

      Best regards,
      Juan MedÃn