]
Robin Pradel edited comment on RF-13018 at 6/2/14 5:56 AM:
-----------------------------------------------------------
I can confirm the NPE. When clicking on {{h:commandButton}} beside a {{a4j:commandButton}}
it leads to a NPE because {{String source = paramMap.get(SOURCE_ID);}} is {{null}}.
{code}
java.lang.NullPointerException
at
org.richfaces.renderkit.AjaxCommandRendererBase.isSubmitted(AjaxCommandRendererBase.java:83)
at
org.richfaces.renderkit.AjaxCommandRendererBase.doDecode(AjaxCommandRendererBase.java:59)
at org.richfaces.renderkit.RendererBase.decode(RendererBase.java:80)
at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:787)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1181)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIForm.processDecodes(UIForm.java:225)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:933)
at
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
{code}
b.t.w. I am using {{4.3.6.Final}}.
was (Author: r0bb3n):
I can confirm the NPE. When clicking on {{h:commandButton}} beside a {{a4j:commandButton}}
it leads to a NPE because {{String source = paramMap.get(SOURCE_ID);}} is {{null}}.
{code}
java.lang.NullPointerException
at
org.richfaces.renderkit.AjaxCommandRendererBase.isSubmitted(AjaxCommandRendererBase.java:83)
at
org.richfaces.renderkit.AjaxCommandRendererBase.doDecode(AjaxCommandRendererBase.java:59)
at org.richfaces.renderkit.RendererBase.decode(RendererBase.java:80)
at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:787)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1181)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIForm.processDecodes(UIForm.java:225)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:933)
at
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
{code}
a4j:commandButton wrong actions performed
-----------------------------------------
Key: RF-13018
URL:
https://issues.jboss.org/browse/RF-13018
Project: RichFaces
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: component-a4j-core
Affects Versions: 4.2.3.Final, 4.3.2
Environment: Server: Fedora 17, Jboss AS 7.1.1.Final, Jboss EAP 6.1.0.Beta, Java
1.7.0_15
Browsers: Chrome 26 and Chrome 27 on (Linux & Windows 7), Firefox 20.0 (Linux &
Windows 7), IE 9
Reporter: Rob Hare
Assignee: Michal Petrov
Labels: 45x
Fix For: 4.3.8, 4.5.0.Alpha3, 5.0.0.Alpha4
Attachments: RF-13018.zip
Original Estimate: 2 hours
Remaining Estimate: 2 hours
When an a4j commponent (a4j:commandButton, a4j:jsFunction) is activated, actions of other
a4j:commandButtons on the page with type=button will be fired.
For example, pressing either button in the following code will cause both
richBean.function1() and richBean.function2() actions.
{noformat}
<h:form id="testForm">
<a4j:commandButton id="button1" type="button"
value="Button 1"
action="#{richBean.function1}" />
<a4j:commandButton id="button2" type="button"
value="Button 2"
action="#{richBean.function2}" />
</h:form>
{noformat}
Note, if one of the a4j:commandButton is marked immediate, then only one action (possibly
the wrong action) will be performed and block others. For instance if an a4j:jsFunction
action was being triggered, the a4j:commandButton action may occur making appear that the
a4j:jsFunction failed.