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 2012/02/24 13:53:46 UTC
git commit: WICKET-4429 executeAllTimerBehaviors does not find all
timer behaviours
Updated Branches:
refs/heads/master 75bad4b13 -> bb4977fb1
WICKET-4429 executeAllTimerBehaviors does not find all timer behaviours
Execute the timer behaviors assigned on both the passed container and its children
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/bb4977fb
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/bb4977fb
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/bb4977fb
Branch: refs/heads/master
Commit: bb4977fb1e7211b576cd5a2bafe447e6ff1a1412
Parents: 75bad4b
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Fri Feb 24 13:53:37 2012 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Fri Feb 24 13:53:37 2012 +0100
----------------------------------------------------------------------
.../wicket/util/tester/BaseWicketTester.java | 47 +++++++++------
1 files changed, 28 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/bb4977fb/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
index e400de3..71b708c 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
@@ -62,7 +62,6 @@ import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
import org.apache.wicket.behavior.AbstractAjaxBehavior;
-import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.feedback.FeedbackCollector;
import org.apache.wicket.feedback.FeedbackMessage;
import org.apache.wicket.feedback.IFeedbackMessageFilter;
@@ -2127,32 +2126,42 @@ public class BaseWicketTester
/**
* Simulates the firing of all ajax timer behaviors on the page
*
- * @param container
+ * @param page
+ * the page which timers will be executed
*/
- public void executeAllTimerBehaviors(final MarkupContainer container)
+ public void executeAllTimerBehaviors(final MarkupContainer page)
{
- container.visitChildren(MarkupContainer.class, new IVisitor<MarkupContainer, Void>()
+ // execute all timer behaviors for the page itself
+ internalExecuteAllTimerBehaviors(page);
+
+ // and for all its children
+ page.visitChildren(Component.class, new IVisitor<Component, Void>()
{
@Override
- public void component(final MarkupContainer component, final IVisit<Void> visit)
+ public void component(final Component component, final IVisit<Void> visit)
{
- // get the AbstractAjaxBehaviour which is responsible for
- // getting the contents of the lazy panel
- List<AbstractAjaxTimerBehavior> behaviors = component.getBehaviors(AbstractAjaxTimerBehavior.class);
- for (Behavior b : behaviors)
- {
- checkUsability(component, true);
+ internalExecuteAllTimerBehaviors(component);
+ }
+ });
+ }
- log.debug("Triggering AjaxSelfUpdatingTimerBehavior: " +
- component.getClassRelativePath());
- AbstractAjaxTimerBehavior timer = (AbstractAjaxTimerBehavior)b;
- if (!timer.isStopped())
- {
- executeBehavior(timer);
- }
+ private void internalExecuteAllTimerBehaviors(final Component component)
+ {
+ List<AbstractAjaxTimerBehavior> behaviors = component.getBehaviors(AbstractAjaxTimerBehavior.class);
+ for (AbstractAjaxTimerBehavior timer : behaviors)
+ {
+ checkUsability(component, true);
+
+ if (!timer.isStopped())
+ {
+ if (log.isDebugEnabled())
+ {
+ log.debug("Triggering AjaxSelfUpdatingTimerBehavior: {}", component.getClassRelativePath());
}
+
+ executeBehavior(timer);
}
- });
+ }
}
/**