You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by ad...@apache.org on 2015/11/07 21:17:59 UTC

[1/2] wicket git commit: Revert "WICKET-6023 small tweak for component queuing for the AbstractRepeater"

Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x 63984b07c -> 98a2189d6


Revert "WICKET-6023 small tweak for component queuing for the AbstractRepeater"

This reverts commit 86f57f3fcb3b3515f0fb61d38d221628d4abe0ae.


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

Branch: refs/heads/wicket-7.x
Commit: bfd57bc839c26efe97c5704964ca26ceb6c61119
Parents: 63984b0
Author: Andrea Del Bene <ad...@apache.org>
Authored: Sat Nov 7 20:16:38 2015 +0100
Committer: Andrea Del Bene <ad...@apache.org>
Committed: Sat Nov 7 20:16:38 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/bfd57bc8/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/bfd57bc8/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();
+
+	}
 }


[2/2] wicket git commit: WICKET-6026 Problem in detecting child id on nested

Posted by ad...@apache.org.
WICKET-6026 Problem in detecting child id on nested <wicket:enclosure>


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

Branch: refs/heads/wicket-7.x
Commit: 98a2189d68fae0785724d5d29a04cee72d2f1323
Parents: bfd57bc
Author: Andrea Del Bene <ad...@apache.org>
Authored: Sat Nov 7 20:57:32 2015 +0100
Committer: Andrea Del Bene <ad...@apache.org>
Committed: Sat Nov 7 21:16:59 2015 +0100

----------------------------------------------------------------------
 .../markup/parser/filter/EnclosureHandler.java  |  2 +-
 .../markup/html/internal/EnclosureTest.java     | 44 ++++++++++++++++++++
 .../wicket/queueing/ComponentQueueingTest.java  |  1 +
 3 files changed, 46 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/98a2189d/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
index b29da3b..5074944 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
@@ -144,7 +144,7 @@ public final class EnclosureHandler extends AbstractMarkupFilter implements ICom
 		// Are we inside a wicket:enclosure tag?
 		else if (stack != null)
 		{
-			ComponentTag lastEnclosure = stack.getLast();
+			ComponentTag lastEnclosure = stack.getFirst();
 
 			// If the enclosure tag has NO child attribute, then ...
 			if (Strings.isEmpty(lastEnclosure.getAttribute(CHILD_ATTRIBUTE)))

http://git-wip-us.apache.org/repos/asf/wicket/blob/98a2189d/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
index c0e8d33..8ddc60a 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
@@ -432,4 +432,48 @@ public class EnclosureTest extends WicketTestCase
 
 		tester.assertContainsNot(ChildWithDeeperPathInTransparentContainerPage.LABEL_TEXT);
 	}
+	
+	@Test
+	public void nestedEnclousers()
+	{
+		TestPageMarkup p = new TestPageMarkup();
+		p.setPageMarkup("<wicket:enclosure child='labelOuter'>tOuter Enclosure <span wicket:id='labelOuter'/>"
+				+ "<wicket:enclosure>Inner Enclosure <span wicket:id='labelInner' /></wicket:enclosure>"
+				+ "</wicket:enclosure>");
+		
+		p.add(new Label("labelOuter"), new Label("labelInner"));
+		tester.startPage(p);
+	}
+	
+	private static class TestPageMarkup extends WebPage implements IMarkupResourceStreamProvider
+	{
+		private String markup;
+
+		public TestPageMarkup()
+		{
+		}
+
+		public TestPageMarkup(String markup)
+		{
+			this.markup = markup;
+		}
+
+		protected String getPageMarkup()
+		{
+			return markup;
+		}
+
+		public void setPageMarkup(String markup)
+		{
+			this.markup = markup;
+		}
+
+		@Override
+		public IResourceStream getMarkupResourceStream(MarkupContainer container,
+			Class<?> containerClass)
+		{
+			return new StringResourceStream(getPageMarkup());
+		}
+
+	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/98a2189d/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
index 3912d62..463999d 100644
--- a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
@@ -19,6 +19,7 @@ package org.apache.wicket.queueing;
 import static org.apache.wicket.queueing.WicketMatchers.hasPath;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.nullValue;
+import static org.junit.Assert.*;
 
 import java.util.ArrayList;