I had a similar issue.

What I did was replace "t:updateActionListener property=" with the
standardized "f:setPropertyActionListener target=".
f:setPropertyActionListener better supports edge cases under Facelets
as well.

Other than avoiding the one-time conversion cost of the page
templates, there's no benefit to continuing to use
t:updateActionListener.  I used a regular expression in Eclipse to
make the change, so it was pretty painless.

On Tue, Dec 15, 2009 at 1:09 PM, Jakob Korherr <[email protected]> wrote:
> Hi,
>
> The NullPointerException is raised in the following line:
>
> if (!type.equals(String.class) && ! type.equals(Object.class))
>
> Thus type is null.
> type is the result of calling getPropertyBinding().getType(facesContext),
> which returns null in your case.
> However, I don't know exactly why this returns null, but maybe this
> clarification is the trigger for someone else, who knows it.
>
> Regards,
>
> Jakob Korherr
>
>
> 2009/12/15 Michael Heinen <[email protected]>
>
>>  Hi,
>>
>>
>>
>> I am still working on my update from JSF 1.1 to 1.2.
>>
>>
>>
>> Now Buttons using a t:updateActionListener are not working anymore due to a
>>
>> java.lang.NullPointerException
>>
>>                 at
>> org.apache.myfaces.custom.updateactionlistener.UpdateActionListener.processAction(UpdateActionListener.java:137)
>>
>>
>>
>> The buttons are working with the  1.1 compliant libs.
>>
>> The buttons are working without t:updateActionListener.
>>
>>
>>
>> Complete Stack:
>>
>> javax.faces.FacesException: Exception while calling broadcast on component
>> : {Component-Path : [Class: org.ajax4jsf.component.AjaxViewRoot,ViewId:
>> /batches.jsp][Class: org.apache.myfaces.custom.document.Document,Id:
>> j_id_jsp_1727476414_3][Class:
>> org.apache.myfaces.custom.document.DocumentBody,Id:
>> j_id_jsp_1727476414_7][Class: org.apache.myfaces.custom.div.Div,Id:
>> content][Class: org.apache.myfaces.custom.div.Div,Id: batches][Class:
>> javax.faces.component.html.HtmlForm,Id: batchesForm][Class:
>> org.apache.myfaces.custom.div.Div,Id: batchlist][Class:
>> org.apache.myfaces.custom.datalist.HtmlDataList,Id:
>> j_id_jsp_1874425695_8][Class: org.apache.myfaces.custom.div.Div,Id:
>> j_id_jsp_1874425695_9][Class: org.apache.myfaces.custom.div.Div,Id:
>> openBatchBox][Class:
>> org.apache.myfaces.component.html.ext.HtmlCommandButton,Id: batchSelectCmd]}
>>
>>                 at
>> javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:562)
>>
>>                 at
>> javax.faces.component.UICommand.broadcast(UICommand.java:110)
>>
>>                 at javax.faces.component.UIData.broadcast(UIData.java:721)
>>
>>                 at
>> org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:324)
>>
>>                 at
>> org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:299)
>>
>>                 at
>> org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:256)
>>
>>                 at
>> org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:412)
>>
>>                 at
>> org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:32)
>>
>>                 at
>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
>>
>>                 at
>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
>>
>>                 at
>> org.apache.myfaces.custom.ppr.PPRLifecycleWrapper.execute(PPRLifecycleWrapper.java:68)
>>
>>                 at
>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
>>
>>                 at
>> com.recommind.xxx..servlets.FacesServletWrapper.service(FacesServletWrapper.java:123)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>
>>                 at
>> org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
>>
>>                 at
>> org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
>>
>>                 at
>> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
>>
>>                 at
>> org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>
>>                 at
>> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:384)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>
>>                 at
>> com.recommind.xxx.filters.LoginFilter.doFilter(LoginFilter.java:193)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>
>>                 at
>> com.recommind.xxx.filters.EncodingFilter.doFilter(EncodingFilter.java:49)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>
>>                 at
>> com.recommind.xxx.filters.TimerFilter.doFilter(TimerFilter.java:71)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>
>>                 at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>
>>                 at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>
>>                 at
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
>>
>>                 at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>>
>>                 at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>
>>                 at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>
>>                 at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>>
>>                 at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
>>
>>                 at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>>
>>                 at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>>
>>                 at java.lang.Thread.run(Thread.java:619)
>>
>> Caused by: java.lang.NullPointerException
>>
>>                 at
>> org.apache.myfaces.custom.updateactionlistener.UpdateActionListener.processAction(UpdateActionListener.java:137)
>>
>>                 at
>> javax.faces.event.ActionEvent.processListener(ActionEvent.java:51)
>>
>>                 at
>> javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:554)
>>
>>                 ... 43 more
>>
>> Cause:
>>
>> java.lang.NullPointerException
>>
>>                 at
>> org.apache.myfaces.custom.updateactionlistener.UpdateActionListener.processAction(UpdateActionListener.java:137)
>>
>>                 at
>> javax.faces.event.ActionEvent.processListener(ActionEvent.java:51)
>>
>>                 at
>> javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:554)
>>
>>                 at
>> javax.faces.component.UICommand.broadcast(UICommand.java:110)
>>
>>                 at javax.faces.component.UIData.broadcast(UIData.java:721)
>>
>>                 at
>> org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:324)
>>
>>                 at
>> org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:299)
>>
>>                 at
>> org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:256)
>>
>>                 at
>> org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:412)
>>
>>                 at
>> org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:32)
>>
>>                 at
>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
>>
>>                 at
>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
>>
>>                 at
>> org.apache.myfaces.custom.ppr.PPRLifecycleWrapper.execute(PPRLifecycleWrapper.java:68)
>>
>>                 at
>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:178)
>>
>>                 at
>> com.recommind.xxx.servlets.FacesServletWrapper.service(FacesServletWrapper.java:123)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>
>>                 at
>> org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
>>
>>                 at
>> org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
>>
>>                 at
>> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
>>
>>                 at
>> org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>
>>                 at
>> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:384)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>
>>                 at
>> com.recommind.xxx.filters.LoginFilter.doFilter(LoginFilter.java:193)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>
>>                 at
>> com.recommind.xxx.client.web.filters.EncodingFilter.doFilter(EncodingFilter.java:49)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>
>>                 at
>> com.recommind.xxx.filters.TimerFilter.doFilter(TimerFilter.java:71)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>
>>                 at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>
>>                 at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>
>>                 at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>
>>                 at
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
>>
>>                 at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>>
>>                 at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>
>>                 at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>
>>                 at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>>
>>                 at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
>>
>>                 at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>>
>>                 at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>>
>>                 at java.lang.Thread.run(Thread.java:619)
>>
>>
>>
>>
>>
>> Sample jsp snippet:
>>
>> <t:dataList var="batch"
>>
>>   value="#{MyController1.myList}” …>
>>
>>     <t:commandButton id="batchSelectCmd" forceId="true"
>>
>>                            immediate="true"
>>
>>                            action="#{MyController12.search}"
>>
>>                            value="foo"
>>
>>                            disabled="#{empty
>> batch.attributes['reviewState'][0]}"
>>
>>                            ... >
>>
>>             <t:updateActionListener
>> property="#{requestScope['selectedBatch']}" value="#{batch.value}"/>
>>
>>           </t:commandButton>
>>
>>   </t:dataList>
>>
>>
>>
>> Updated Libs:
>>
>> myFaces from 1.1.6 to 1.2.8
>>
>> tomahawk from 1.1.7 to tomahawk12-1.1.9
>>
>> tomhahawk sandbox from 1.1.7 to 1.1.9
>>
>> richfaces from 3.1.5 to 3.3.2 (api,impl and ui)
>>
>> tiles from 1 to 2.0.5
>>
>>
>>
>> Any ideas?
>>
>> Michael
>>
>>
>>
>>
>>
>> [image: cid:[email protected]]
>>
>> *Michael Heinen*
>> Senior Software Engineer
>>
>> Recommind GmbH
>> Tel: +49 (0) 2226 1596620
>>
>> Email: [email protected]
>>
>>
>>
>> Recommind GmbH, Vertretungsberechtigter Geschäftsführer Hartwig Laute,
>> Registergericht Amtsgericht Bonn, Registernummer HRB 10646
>>
>>
>>
>> *This e-mail may contain confidential and/or privileged information. If
>> you are not the intended recipient (or have received this e-mail in error)
>> please notify the sender immediately and destroy this e-mail. Any
>> unauthorised copying, disclosure or distribution of the material in this
>> e-mail is strictly forbidden.*
>>
>> * *
>>
>> *Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
>> Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail
>> irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und
>> vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte
>> Weitergabe dieser Mail ist nicht gestattet.*
>>
>>
>>
>

Reply via email to