You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wicket.apache.org by Martin Grigorov <mg...@apache.org> on 2011/09/20 09:10:18 UTC
Re: svn commit: r1172909 - in /wicket/trunk/wicket-core/src:
main/java/org/apache/wicket/ main/java/org/apache/wicket/behavior/ test/java/org/apache/wicket/behavior/
On Tue, Sep 20, 2011 at 3:02 AM, <iv...@apache.org> wrote:
> Author: ivaynberg
> Date: Tue Sep 20 00:02:06 2011
> New Revision: 1172909
>
> URL: http://svn.apache.org/viewvc?rev=1172909&view=rev
> Log: (empty)
>
> 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/main/java/org/apache/wicket/behavior/InvalidBehaviorIdException.java
> wicket/trunk/wicket-core/src/test/java/org/apache/wicket/behavior/ImmutableBehaviorIdsTest.java
>
> 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=1172909&r1=1172908&r2=1172909&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 Tue Sep 20 00:02:06 2011
> @@ -70,7 +70,7 @@ final class Behaviors implements IDetach
> private void internalAdd(final Behavior behavior)
> {
> component.data_add(behavior);
> - if (behavior.getStatelessHint(component))
> + if (!behavior.getStatelessHint(component))
This change breaks jolira's wicket-stateless behaviors.
I reverted it with r1173003 and fixed the expected behavior ids in the tests.
Please re-work it if you think my change is not correct.
> {
> 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=1172909&r1=1172908&r2=1172909&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 Tue Sep 20 00:02:06 2011
> @@ -133,6 +133,11 @@ public abstract class Behavior
> */
> public boolean getStatelessHint(Component component)
> {
> + if (this instanceof IBehaviorListener)
> + {
> + // this behavior implements a callback interface, so it cannot be stateless
> + return false;
> + }
> return true;
> }
>
>
> Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/InvalidBehaviorIdException.java
> URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/InvalidBehaviorIdException.java?rev=1172909&r1=1172908&r2=1172909&view=diff
> ==============================================================================
> --- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/InvalidBehaviorIdException.java (original)
> +++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/InvalidBehaviorIdException.java Tue Sep 20 00:02:06 2011
> @@ -39,7 +39,13 @@ public class InvalidBehaviorIdException
> */
> public InvalidBehaviorIdException(Component component, int behaviorId)
> {
> - super("Cannot find behavior with id: " + behaviorId + " on component: " + component);
> + super(
> + "Cannot find behavior with id: " +
> + behaviorId +
> + " on component: " +
> + component +
> + ". Perhaps the behavior did not properly implement getStatelessHint() and returned 'true' " +
> + "to indicate that it is stateless instead of returning 'false' to indicate that it is stateful.");
> this.component = component;
> this.behaviorId = behaviorId;
> }
>
> 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=1172909&r1=1172908&r2=1172909&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 Tue Sep 20 00:02:06 2011
> @@ -63,13 +63,16 @@ public class ImmutableBehaviorIdsTest ex
> tester.startPage(page);
>
> String output = tester.getLastResponseAsString();
> - System.out.println(output);
> + // System.out.println(output);
> assertTrue(output.contains("class=\"border\""));
> assertTrue(output.contains("autocomplete=\"off\""));
> assertTrue(output.contains("class2=\"border\""));
> assertTrue(output.contains("autocomplete2=\"off\""));
> - assertTrue(output.contains("IBehaviorListener.2"));
> - assertTrue(output.contains("IBehaviorListener.4"));
> + assertTrue(output.contains("IBehaviorListener.0"));
> + assertTrue(output.contains("IBehaviorListener.1"));
> + assertEquals(link, page.getContainer().getBehaviorById(0));
> + assertEquals(link2, page.getContainer().getBehaviorById(1));
> +
>
> // if we remove a behavior that is before the ibehaviorlistener its url index should not
> // change
> @@ -80,9 +83,11 @@ public class ImmutableBehaviorIdsTest ex
> page.getContainer().remove(auto2);
> tester.startPage(page);
> output = tester.getLastResponseAsString();
> - System.out.println(output);
> - assertTrue(output.contains("IBehaviorListener.2"));
> - assertTrue(output.contains("IBehaviorListener.4"));
> + // System.out.println(output);
> + assertTrue(output.contains("IBehaviorListener.0"));
> + assertTrue(output.contains("IBehaviorListener.1"));
> + assertEquals(link, page.getContainer().getBehaviorById(0));
> + assertEquals(link2, page.getContainer().getBehaviorById(1));
> }
>
> /**
>
>
>
--
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com