Author: ivaynberg
Date: Wed Mar 16 15:35:08 2011
New Revision: 1082167
URL: http://svn.apache.org/viewvc?rev=1082167&view=rev
Log:
Issue: WICKET-3539
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ComponentEventSender.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/event/Broadcast.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ComponentEventsTest.java
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ComponentEventSender.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ComponentEventSender.java?rev=1082167&r1=1082166&r2=1082167&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ComponentEventSender.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ComponentEventSender.java
Wed Mar 16 15:35:08 2011
@@ -164,6 +164,10 @@ final class ComponentEventSender impleme
{
Visits.visitPostOrder(cursor, new
ComponentEventVisitor(event, dispatcher));
}
+ else
+ {
+ dispatcher.dispatchEvent(cursor, event);
+ }
if (event.isStop())
{
return;
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/event/Broadcast.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/event/Broadcast.java?rev=1082167&r1=1082166&r2=1082167&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/event/Broadcast.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/event/Broadcast.java
Wed Mar 16 15:35:08 2011
@@ -39,6 +39,12 @@ public enum Broadcast {
* <li>{@link Component}s</li>
* </ol>
*
+ * Components receive the event with a preorder breadth-first
traversal, eg: Apply recursively:
+ * <ol>
+ * <li>The component receives the event</li>
+ * <li>The component's children receive the event</li>
+ * </ol>
+ *
* Any sink along the path can be specified and traversal will start
with the specified sink as
* root, eg:
*
@@ -61,6 +67,12 @@ public enum Broadcast {
* <li>{@link Application}</li>
* </ol>
*
+ * Components receive the event with a postorder depth-first traversal,
eg: Apply recursively:
+ * <ol>
+ * <li>The component's children receive the event</li>
+ * <li>The component receives the event</li>
+ * </ol>
+ *
* Any sink along the path can be specified and traversal will start
with the specified sink as
* root, eg:
*
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ComponentEventsTest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ComponentEventsTest.java?rev=1082167&r1=1082166&r2=1082167&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ComponentEventsTest.java
(original)
+++
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/ComponentEventsTest.java
Wed Mar 16 15:35:08 2011
@@ -133,7 +133,7 @@ public class ComponentEventsTest
/** */
@Test
- public void testBreadth_Component()
+ public void testBreadth_Container()
{
page.send(c13, Broadcast.BREADTH, new Payload());
assertPath(c13, c134, c135);
@@ -141,6 +141,15 @@ public class ComponentEventsTest
/** */
@Test
+ public void testBreadth_Component()
+ {
+ page.send(c6, Broadcast.BREADTH, new Payload());
+ assertPath(c6);
+ }
+
+
+ /** */
+ @Test
public void testBreadth_Application_Stop()
{
stop = application;
@@ -219,7 +228,7 @@ public class ComponentEventsTest
/** */
@Test
- public void testDepth_Component()
+ public void testDepth_Container()
{
page.send(c1, Broadcast.DEPTH, new Payload());
assertPath(c12, c134, c135, c13, c1);
@@ -227,6 +236,15 @@ public class ComponentEventsTest
/** */
@Test
+ public void testDepth_Component()
+ {
+ page.send(c6, Broadcast.DEPTH, new Payload());
+ assertPath(c6);
+ }
+
+
+ /** */
+ @Test
public void testDepth_Session_Stop()
{
stop = session;