You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2016/11/21 03:26:52 UTC

[1/2] wicket git commit: WICKET-6257 adding the cid parameter to a page as soon as ConversationPropagator detects it

Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x a1fd7ec53 -> 6e8808cc1


WICKET-6257 adding the cid parameter to a page as soon as ConversationPropagator detects it


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

Branch: refs/heads/wicket-7.x
Commit: fac2d71c0bbbf478e4da9ea9e629b46d9ba05b31
Parents: a1fd7ec
Author: Pedro Henrique Oliveira dos Santos <pe...@apache.org>
Authored: Mon Nov 21 00:57:46 2016 -0200
Committer: Pedro Henrique Oliveira dos Santos <pe...@apache.org>
Committed: Mon Nov 21 00:57:46 2016 -0200

----------------------------------------------------------------------
 .../wicket/cdi/ConversationPropagator.java      |  2 +-
 .../wicket/cdi/ConversationPropagatorTest.java  | 50 ++++++++++++++++++++
 .../cdi/testapp/TestConversationPage.java       |  2 +
 3 files changed, 53 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/fac2d71c/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java
----------------------------------------------------------------------
diff --git a/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java b/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java
index 4ff61eb..bdffc18 100644
--- a/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java
+++ b/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java
@@ -124,7 +124,7 @@ public class ConversationPropagator extends AbstractRequestCycleListener
 	}
 
 	@Override
-	public void onRequestHandlerScheduled(RequestCycle cycle, IRequestHandler handler)
+	public void onRequestHandlerExecuted(RequestCycle cycle, IRequestHandler handler)
 	{
 		// propagate current non-transient conversation to the newly scheduled
 		// page

http://git-wip-us.apache.org/repos/asf/wicket/blob/fac2d71c/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/ConversationPropagatorTest.java
----------------------------------------------------------------------
diff --git a/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/ConversationPropagatorTest.java b/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/ConversationPropagatorTest.java
index eefebde..945c9cf 100644
--- a/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/ConversationPropagatorTest.java
+++ b/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/ConversationPropagatorTest.java
@@ -16,9 +16,14 @@
  */
 package org.apache.wicket.cdi;
 
+import javax.enterprise.context.Conversation;
+import javax.inject.Inject;
+
 import org.apache.wicket.cdi.testapp.TestConversationPage;
 import org.apache.wicket.cdi.testapp.TestConversationalPage;
+import org.apache.wicket.core.request.mapper.MountedMapper;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.hamcrest.CoreMatchers;
 import org.junit.Test;
 
 /**
@@ -26,6 +31,9 @@ import org.junit.Test;
  */
 public class ConversationPropagatorTest extends WicketCdiTestCase
 {
+	@Inject
+	Conversation conversation;
+
 	@Test
 	public void testAutoConversationNonBookmarkable()
 	{
@@ -89,6 +97,47 @@ public class ConversationPropagatorTest extends WicketCdiTestCase
 	}
 
 	@Test
+	public void testPropagationAllHybrid()
+	{
+		configure(new CdiConfiguration().setPropagation(ConversationPropagation.ALL));
+		tester.getApplication().getRootRequestMapperAsCompound().add(new MountedMapper("segment/${pageType}", TestConversationPage.class));
+
+		tester.startPage(TestConversationPage.class, new PageParameters().add("pageType", "hybrid"));
+
+		int i;
+		for (i = 0; i < 3; i++)
+		{
+			tester.assertCount(i);
+			tester.clickLink("increment");
+		}
+		tester.clickLink("next");
+		for (; i < 6; i++)
+		{
+			tester.assertCount(i);
+			tester.clickLink("increment");
+		}
+	}
+
+	/**
+	 * https://issues.apache.org/jira/browse/WICKET-6257
+	 */
+	@Test
+	public void testPropagationAllHybridRefresh()
+	{
+		configure(new CdiConfiguration().setPropagation(ConversationPropagation.ALL));
+		tester.getApplication().getRootRequestMapperAsCompound().add(new MountedMapper("segment/${pageType}", TestConversationPage.class));
+
+		tester.startPage(TestConversationPage.class, new PageParameters().add("pageType", "hybrid"));
+
+		String pageId = tester.getLastRenderedPage().getId();
+		String cid = conversation.getId();
+
+		tester.executeUrl("segment/hybrid?"+pageId+"&cid="+cid);
+
+		assertThat(tester.getLastRenderedPage().getId(), CoreMatchers.is(pageId));
+	}
+
+	@Test
 	public void testPropagationAllBookmarkable()
 	{
 		configure(new CdiConfiguration().setPropagation(ConversationPropagation.ALL));
@@ -149,4 +198,5 @@ public class ConversationPropagatorTest extends WicketCdiTestCase
 			tester.assertCount(1);
 		}
 	}
+
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/fac2d71c/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/testapp/TestConversationPage.java
----------------------------------------------------------------------
diff --git a/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/testapp/TestConversationPage.java b/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/testapp/TestConversationPage.java
index d421e39..c6cc8bc 100644
--- a/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/testapp/TestConversationPage.java
+++ b/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/testapp/TestConversationPage.java
@@ -73,6 +73,8 @@ public class TestConversationPage extends WebPage
 				String pageType = parameters.get("pageType").toString("nonbookmarkable");
 				if ("bookmarkable".equals(pageType.toLowerCase()))
 					setResponsePage(TestNonConversationalPage.class);
+				else if ("hybrid".equals(pageType.toLowerCase()))
+					setResponsePage(TestConversationPage.this);
 				else
 					setResponsePage(new TestNonConversationalPage());
 			}


[2/2] wicket git commit: WICKET-6283 ignoring named parameters order when testing PageParameter equality

Posted by pe...@apache.org.
WICKET-6283 ignoring named parameters order when testing PageParameter equality


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

Branch: refs/heads/wicket-7.x
Commit: 6e8808cc199d1804326be3d84f061b5232779513
Parents: fac2d71
Author: Pedro Henrique Oliveira dos Santos <pe...@apache.org>
Authored: Mon Nov 21 01:26:17 2016 -0200
Committer: Pedro Henrique Oliveira dos Santos <pe...@apache.org>
Committed: Mon Nov 21 01:26:17 2016 -0200

----------------------------------------------------------------------
 wicket-request/pom.xml                           |  4 ++++
 .../request/mapper/parameter/PageParameters.java |  3 ++-
 .../mapper/parameter/PageParametersTest.java     | 19 +++++++++++++++++++
 3 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/6e8808cc/wicket-request/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-request/pom.xml b/wicket-request/pom.xml
index 780bb04..af5a117 100755
--- a/wicket-request/pom.xml
+++ b/wicket-request/pom.xml
@@ -30,5 +30,9 @@
       <groupId>org.apache.wicket</groupId>
       <artifactId>wicket-util</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-collections4</artifactId>
+    </dependency>
   </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/wicket/blob/6e8808cc/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java b/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java
index f283a80..2df4a9e 100644
--- a/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java
+++ b/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java
@@ -24,6 +24,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
 
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.wicket.request.IRequestMapper;
 import org.apache.wicket.util.io.IClusterable;
 import org.apache.wicket.util.lang.Args;
@@ -466,7 +467,7 @@ public class PageParameters implements IClusterable, IIndexedParameters, INamedP
 			if (other.namedParameters != null)
 				return false;
 		}
-		else if (!namedParameters.equals(other.namedParameters))
+		else if (!CollectionUtils.isEqualCollection(namedParameters, other.namedParameters))
 			return false;
 		return true;
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/6e8808cc/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java b/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java
index 155ecbe..d4fb2ad 100644
--- a/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java
+++ b/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java
@@ -295,6 +295,25 @@ public class PageParametersTest extends Assert
 	}
 
 	/**
+	 * NamedPairs equality should not depend on the type
+	 *
+	 * https://issues.apache.org/jira/browse/WICKET-6283
+	 */
+	@Test
+	public void equalityOfDiferenteNamedParametersOrder()
+	{
+		PageParameters p1 = new PageParameters()
+				.add("a", "b")
+				.add("c", "d");
+
+		PageParameters p2 = new PageParameters()
+				.add("c", "d")
+				.add("a", "b");
+
+		assertThat(p1, is(equalTo(p2)));
+	}
+
+	/**
 	 * NamedPairs hashCode should not depend on the type
 	 *
 	 * https://issues.apache.org/jira/browse/WICKET-5669