WICKET-6023 small tweak for component queuing for the AbstractRepeater
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/2bab2be8 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/2bab2be8 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/2bab2be8 Branch: refs/heads/lambdas Commit: 2bab2be8c4376a857423486e462a9c39786ecf5e Parents: b9ec667 Author: Andrea Del Bene <[email protected]> Authored: Thu Nov 5 15:14:44 2015 +0100 Committer: Andrea Del Bene <[email protected]> Committed: Thu Nov 5 15:16:08 2015 +0100 ---------------------------------------------------------------------- .../wicket/markup/html/list/ListItem.java | 12 ++++++++- .../markup/repeater/AbstractRepeater.java | 28 -------------------- 2 files changed, 11 insertions(+), 29 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/2bab2be8/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java index 68565a5..a3a7da2 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java @@ -16,7 +16,11 @@ */ package org.apache.wicket.markup.html.list; +import org.apache.wicket.DequeueContext; import org.apache.wicket.IGenericComponent; +import org.apache.wicket.IQueueRegion; +import org.apache.wicket.markup.IMarkupFragment; +import org.apache.wicket.markup.Markup; import org.apache.wicket.model.IModel; /** @@ -28,7 +32,7 @@ import org.apache.wicket.model.IModel; * @param <T> * Model object type */ -public class ListItem<T> extends LoopItem implements IGenericComponent<T> +public class ListItem<T> extends LoopItem implements IGenericComponent<T>, IQueueRegion { private static final long serialVersionUID = 1L; @@ -97,4 +101,10 @@ public class ListItem<T> extends LoopItem implements IGenericComponent<T> { setDefaultModelObject(object); } + + @Override + public DequeueContext newDequeueContext() + { + return new DequeueContext(getMarkup(), this, true); + } } http://git-wip-us.apache.org/repos/asf/wicket/blob/2bab2be8/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractRepeater.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractRepeater.java b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractRepeater.java index 25e320a..832196f 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractRepeater.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractRepeater.java @@ -157,32 +157,4 @@ public abstract class AbstractRepeater extends WebMarkupContainer * Callback to let the repeater know it should populate itself with its items. */ protected abstract void onPopulate(); - - @Override - public void dequeue(DequeueContext dequeue) - { - if (size() > 0) - { - // essentially what we do is for every child replace the repeater with the child in - // dequeue container stack and run the dequeue on the child. we also take care to reset - // the state of the dequeue context after we process every child. - - Bookmark bookmark = dequeue.save(); - - for (Component child : this) - { - if (child instanceof MarkupContainer) - { - dequeue.popContainer(); // pop the repeater - MarkupContainer container = (MarkupContainer) child; - dequeue.pushContainer(container); - container.dequeue(dequeue); - dequeue.restore(bookmark); - } - } - } - - dequeue.skipToCloseTag(); - - } }
