You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2011/06/10 16:08:28 UTC

svn commit: r1134330 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/behavior/ test/java/org/apache/wicket/behavior/ test/java/org/apache/wicket/markup/html/basic/

Author: mgrigorov
Date: Fri Jun 10 14:08:27 2011
New Revision: 1134330

URL: http://svn.apache.org/viewvc?rev=1134330&view=rev
Log:
WICKET-3764 Ajax behaviors are failing in stateless pages

Use the old getStatelessHint(Component) to decide whether to instantly create an index for the behavior or not.
No need of the newly introduced #isStateless(Component).


Modified:
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Behaviors.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/behavior/ImmutableBehaviorIdsTest.java
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_13.html

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Behaviors.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Behaviors.java?rev=1134330&r1=1134329&r2=1134330&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Behaviors.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Behaviors.java Fri Jun 10 14:08:27 2011
@@ -70,7 +70,7 @@ final class Behaviors implements IDetach
 	private void internalAdd(final Behavior behavior)
 	{
 		component.data_add(behavior);
-		if (behavior.isStateless(component))
+		if (behavior.getStatelessHint(component))
 		{
 			getBehaviorId(behavior);
 		}

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java?rev=1134330&r1=1134329&r2=1134330&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java Fri Jun 10 14:08:27 2011
@@ -178,23 +178,6 @@ public abstract class Behavior
 	}
 
 	/**
-	 * Returns whether or not this behavior is stateless. Most behaviors should either not override
-	 * this method or return {@code false} because most behavior are not stateless.
-	 * 
-	 * A small subset of behaviors are made specifically to be stateless and as such should override
-	 * this method and return {@code true}. One sideeffect of this method is that the behavior id
-	 * will be generated eagerly when the behavior is added to the component instead of before
-	 * render when a method to create the url is called - this allows for stateless callback urls.
-	 * 
-	 * @param component
-	 * @return whether or not this behavior is stateless
-	 */
-	public boolean isStateless(Component component)
-	{
-		return false;
-	}
-
-	/**
 	 * Checks if a listener can be invoked on this behavior
 	 * 
 	 * @param component

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/behavior/ImmutableBehaviorIdsTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/behavior/ImmutableBehaviorIdsTest.java?rev=1134330&r1=1134329&r2=1134330&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/behavior/ImmutableBehaviorIdsTest.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/behavior/ImmutableBehaviorIdsTest.java Fri Jun 10 14:08:27 2011
@@ -64,8 +64,8 @@ public class ImmutableBehaviorIdsTest ex
 		assertTrue(output.contains("autocomplete=\"off\""));
 		assertTrue(output.contains("class2=\"border\""));
 		assertTrue(output.contains("autocomplete2=\"off\""));
-		assertTrue(output.contains("IBehaviorListener.0"));
-		assertTrue(output.contains("IBehaviorListener.1"));
+		assertTrue(output.contains("IBehaviorListener.2"));
+		assertTrue(output.contains("IBehaviorListener.4"));
 
 		// if we remove a behavior that is before the ibehaviorlistener its url index should not
 		// change
@@ -76,8 +76,9 @@ public class ImmutableBehaviorIdsTest ex
 		page.getContainer().remove(auto2);
 		tester.startPage(page);
 		output = tester.getLastResponseAsString();
-		assertTrue(output.contains("IBehaviorListener.0"));
-		assertTrue(output.contains("IBehaviorListener.1"));
+		System.out.println(output);
+		assertTrue(output.contains("IBehaviorListener.2"));
+		assertTrue(output.contains("IBehaviorListener.4"));
 	}
 
 	/**

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_13.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_13.html?rev=1134330&r1=1134329&r2=1134330&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_13.html (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimplePageExpectedResult_13.html Fri Jun 10 14:08:27 2011
@@ -1,7 +1,7 @@
 <? xml version= "1.0" encoding ="UTF-8" ?>
 <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
-<html wicket:id="html" xmlns:wicket="" xmlns="http://www.w3.org/1999/xhtml" xmlns:lang="[current language]" lang="de" id="html1" onclick="var wcall=wicketAjaxGet(&#039;../page?0-1.IBehaviorListener.0-html&#039;,function() { }.bind(this),function() { }.bind(this), function() {return Wicket.$(&#039;html1&#039;) != null;}.bind(this));return !wcall;">
+<html wicket:id="html" xmlns:wicket="" xmlns="http://www.w3.org/1999/xhtml" xmlns:lang="[current language]" lang="de" id="html1" onclick="var wcall=wicketAjaxGet(&#039;../page?0-1.IBehaviorListener.1-html&#039;,function() { }.bind(this),function() { }.bind(this), function() {return Wicket.$(&#039;html1&#039;) != null;}.bind(this));return !wcall;">
   <head><script type="text/javascript" src="../resource/org.apache.wicket.markup.html.WicketEventReference/wicket-event.js"></script>
 <script type="text/javascript" src="../resource/org.apache.wicket.ajax.WicketAjaxReference/wicket-ajax.js"></script>
 <script type="text/javascript" src="../resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/wicket-ajax-debug.js"></script>