Author: jdonnerstag
Date: Thu Jun 23 13:36:05 2011
New Revision: 1138873

URL: http://svn.apache.org/viewvc?rev=1138873&view=rev
Log:
fixed: AbstractTree.updateTree() method not works
Issue: WICKET-3818

Modified:
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java?rev=1138873&r1=1138872&r2=1138873&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/tree/AbstractTree.java
 Thu Jun 23 13:36:05 2011
@@ -33,6 +33,7 @@ import javax.swing.tree.TreeNode;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.markup.ComponentTag;
@@ -45,10 +46,10 @@ import org.apache.wicket.markup.html.pan
 import org.apache.wicket.model.IDetachable;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
-import org.apache.wicket.request.IRequestHandler;
 import org.apache.wicket.request.Response;
 import org.apache.wicket.request.resource.JavaScriptResourceReference;
 import org.apache.wicket.request.resource.ResourceReference;
+import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 import org.apache.wicket.util.visit.IVisit;
 import org.apache.wicket.util.visit.IVisitor;
@@ -67,10 +68,6 @@ public abstract class AbstractTree exten
                TreeModelListener,
                AjaxRequestTarget.ITargetRespondListener
 {
-
-       /**
-        *
-        */
        private static final long serialVersionUID = 1L;
 
        /**
@@ -1001,21 +998,6 @@ public abstract class AbstractTree exten
        }
 
        /**
-        * Convenience method that updates changed portions on tree. You can 
call this method during
-        * Ajax response, where calling {@link #updateTree(AjaxRequestTarget)} 
would be appropriate, but
-        * you don't have the AjaxRequestTarget instance. However, it is also 
safe to call this method
-        * outside Ajax response.
-        */
-       public final void updateTree()
-       {
-               IRequestHandler handler = 
getRequestCycle().getActiveRequestHandler();
-               if (handler instanceof AjaxRequestTarget)
-               {
-                       updateTree((AjaxRequestTarget)handler);
-               }
-       }
-
-       /**
         * Allows to intercept adding dirty components to AjaxRequestTarget.
         * 
         * @param target
@@ -1124,6 +1106,24 @@ public abstract class AbstractTree exten
        }
 
        /**
+        * Convenience method that updates changed portions on tree. You can 
call this method during
+        * Ajax response, where calling {@link #updateTree(AjaxRequestTarget)} 
would be appropriate, but
+        * you don't have the AjaxRequestTarget instance. However, it is also 
safe to call this method
+        * outside Ajax response.
+        */
+       public final void updateTree()
+       {
+               AjaxRequestTarget handler = AjaxRequestTarget.get();
+               if (handler == null)
+               {
+                       throw new WicketRuntimeException(
+                               "No AjaxRequestTarget available to execute 
updateTree(ART target)");
+               }
+
+               updateTree(handler);
+       }
+
+       /**
         * Updates the changed portions of the tree using given 
AjaxRequestTarget. Call this method if
         * you modified the tree model during an ajax request target and you 
want to partially update
         * the component on page. Make sure that the tree model has fired the 
proper listener functions.
@@ -1135,11 +1135,7 @@ public abstract class AbstractTree exten
         */
        public final void updateTree(final AjaxRequestTarget target)
        {
-               if (target == null)
-               {
-                       return;
-               }
-
+               Args.notNull(target, "target");
                target.registerRespondListener(this);
        }
 


Reply via email to