Revert "WICKET-6023 small tweak for component queuing for the AbstractRepeater"
This reverts commit 2bab2be8c4376a857423486e462a9c39786ecf5e. Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/8ea6acae Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/8ea6acae Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/8ea6acae Branch: refs/heads/lambdas Commit: 8ea6acaedbaf7f1d2f756bcadb3eeecd53e42066 Parents: 3269157 Author: Andrea Del Bene <[email protected]> Authored: Sat Nov 7 21:20:26 2015 +0100 Committer: Andrea Del Bene <[email protected]> Committed: Sat Nov 7 21:20:26 2015 +0100 ---------------------------------------------------------------------- .../wicket/markup/html/list/ListItem.java | 12 +-------- .../markup/repeater/AbstractRepeater.java | 28 ++++++++++++++++++++ 2 files changed, 29 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/8ea6acae/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 a3a7da2..68565a5 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,11 +16,7 @@ */ 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; /** @@ -32,7 +28,7 @@ import org.apache.wicket.model.IModel; * @param <T> * Model object type */ -public class ListItem<T> extends LoopItem implements IGenericComponent<T>, IQueueRegion +public class ListItem<T> extends LoopItem implements IGenericComponent<T> { private static final long serialVersionUID = 1L; @@ -101,10 +97,4 @@ public class ListItem<T> extends LoopItem implements IGenericComponent<T>, IQueu { setDefaultModelObject(object); } - - @Override - public DequeueContext newDequeueContext() - { - return new DequeueContext(getMarkup(), this, true); - } } http://git-wip-us.apache.org/repos/asf/wicket/blob/8ea6acae/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 832196f..25e320a 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,4 +157,32 @@ 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(); + + } }
