You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2017/10/20 21:21:17 UTC

wicket git commit: WICKET-6055 documented and code improvement

Repository: wicket
Updated Branches:
  refs/heads/WICKET-6055-non-blocking-lazy cfb75dd64 -> 56ec02bee


WICKET-6055 documented and code improvement

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/56ec02be
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/56ec02be
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/56ec02be

Branch: refs/heads/WICKET-6055-non-blocking-lazy
Commit: 56ec02bee116d27e10456b58dd5056b764318424
Parents: cfb75dd
Author: Sven Meier <sv...@apache.org>
Authored: Fri Oct 20 23:20:18 2017 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Fri Oct 20 23:20:18 2017 +0200

----------------------------------------------------------------------
 .../apache/wicket/ajax/AbstractAjaxTimerBehavior.java  |  2 ++
 .../extensions/ajax/markup/html/AjaxLazyLoadPanel.java | 13 +++++++------
 2 files changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/56ec02be/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java
index 10dbb9b..7fd3606 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java
@@ -112,6 +112,8 @@ public abstract class AbstractAjaxTimerBehavior extends AbstractDefaultAjaxBehav
 	@Override
 	protected final void respond(final AjaxRequestTarget target)
 	{
+		// onTimer might remove this behavior, so keep the component
+		// so the timeout can be cleared later on
 		Component component = getComponent();
 		
 		if (shouldTrigger())

http://git-wip-us.apache.org/repos/asf/wicket/blob/56ec02be/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanel.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanel.java
index 01cef17..1b9b45e 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanel.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanel.java
@@ -136,25 +136,26 @@ public abstract class AjaxLazyLoadPanel<T extends Component> extends Panel
 	{
 	}
 
+	/**
+	 * Installs a page-global timer if not already present.
+	 */
 	@Override
 	protected void onInitialize()
 	{
 		super.onInitialize();
 
-		AjaxRequestTarget target = getRequestCycle().find(AjaxRequestTarget.class).orElse(null);
-		
-		AjaxLazyLoadTimer timer;
 		// when the timer is not yet installed add it
 		List<AjaxLazyLoadTimer> behaviors = getPage().getBehaviors(AjaxLazyLoadTimer.class);
 		if (behaviors.isEmpty()) {
-			timer = new AjaxLazyLoadTimer();
+			AjaxLazyLoadTimer timer = new AjaxLazyLoadTimer();
 			getPage().add(timer);
-			if (target != null) {
+			
+			getRequestCycle().find(AjaxRequestTarget.class).ifPresent(target -> {
 				// the timer will not be rendered, so stop it first
 				// and restart it immediately on the Ajax request
 				timer.stop(null);
 				timer.restart(target);
-			}
+			});
 		}
 	}