Add a check for null before trying to use IAjaxCallListener.

In 1.5 #getAjaxCallDecorator() returns null and straight-forward migration may 
do something like:
attributes.getAjaxCallListeners().add(getAjaxCallListener());


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/d23eda03
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/d23eda03
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/d23eda03

Branch: refs/heads/master
Commit: d23eda03cab9b86459738bf5e6cf561e44bd7cf4
Parents: 835db0b
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Thu Feb 2 10:35:11 2012 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Thu Feb 2 10:35:11 2012 +0200

----------------------------------------------------------------------
 .../wicket/ajax/AbstractDefaultAjaxBehavior.java   |   58 ++++++++-------
 1 files changed, 30 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/d23eda03/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
index ca7657f..b1858e7 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
@@ -34,7 +34,6 @@ import org.apache.wicket.ajax.json.JSONObject;
 import org.apache.wicket.behavior.AbstractAjaxBehavior;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
-import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.markup.html.IComponentAwareHeaderContributor;
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.request.Url;
@@ -262,34 +261,37 @@ public abstract class AbstractDefaultAjaxBehavior extends 
AbstractAjaxBehavior
 
                        for (IAjaxCallListener ajaxCallListener : 
attributes.getAjaxCallListeners())
                        {
-                               CharSequence beforeHandler = 
ajaxCallListener.getBeforeHandler(component);
-                               if (Strings.isEmpty(beforeHandler) == false)
+                               if (ajaxCallListener != null)
                                {
-                                       attributesJson.append("bh", 
beforeHandler);
-                               }
-
-                               CharSequence afterHandler = 
ajaxCallListener.getAfterHandler(component);
-                               if (Strings.isEmpty(afterHandler) == false)
-                               {
-                                       attributesJson.append("ah", 
afterHandler);
-                               }
-
-                               CharSequence successHandler = 
ajaxCallListener.getSuccessHandler(component);
-                               if (Strings.isEmpty(successHandler) == false)
-                               {
-                                       attributesJson.append("sh", 
successHandler);
-                               }
-
-                               CharSequence failureHandler = 
ajaxCallListener.getFailureHandler(component);
-                               if (Strings.isEmpty(failureHandler) == false)
-                               {
-                                       attributesJson.append("fh", 
failureHandler);
-                               }
-
-                               CharSequence completeHandler = 
ajaxCallListener.getCompleteHandler(component);
-                               if (Strings.isEmpty(completeHandler) == false)
-                               {
-                                       attributesJson.append("coh", 
completeHandler);
+                                       CharSequence beforeHandler = 
ajaxCallListener.getBeforeHandler(component);
+                                       if (Strings.isEmpty(beforeHandler) == 
false)
+                                       {
+                                               attributesJson.append("bh", 
beforeHandler);
+                                       }
+
+                                       CharSequence afterHandler = 
ajaxCallListener.getAfterHandler(component);
+                                       if (Strings.isEmpty(afterHandler) == 
false)
+                                       {
+                                               attributesJson.append("ah", 
afterHandler);
+                                       }
+
+                                       CharSequence successHandler = 
ajaxCallListener.getSuccessHandler(component);
+                                       if (Strings.isEmpty(successHandler) == 
false)
+                                       {
+                                               attributesJson.append("sh", 
successHandler);
+                                       }
+
+                                       CharSequence failureHandler = 
ajaxCallListener.getFailureHandler(component);
+                                       if (Strings.isEmpty(failureHandler) == 
false)
+                                       {
+                                               attributesJson.append("fh", 
failureHandler);
+                                       }
+
+                                       CharSequence completeHandler = 
ajaxCallListener.getCompleteHandler(component);
+                                       if (Strings.isEmpty(completeHandler) == 
false)
+                                       {
+                                               attributesJson.append("coh", 
completeHandler);
+                                       }
                                }
                        }
 

Reply via email to