You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pa...@apache.org on 2012/01/12 08:42:48 UTC
git commit: WICKET-4290: take page parameters from page for links on
mounted pages
Updated Branches:
refs/heads/wicket-1.5.x cf33db490 -> f5cae9496
WICKET-4290: take page parameters from page for links on mounted pages
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/f5cae949
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/f5cae949
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/f5cae949
Branch: refs/heads/wicket-1.5.x
Commit: f5cae9496a9918d958c034cea18d5ff3f168d7d5
Parents: cf33db4
Author: Emond Papegaaij <em...@topicus.nl>
Authored: Thu Jan 12 07:54:06 2012 +0100
Committer: Emond Papegaaij <em...@topicus.nl>
Committed: Thu Jan 12 07:54:06 2012 +0100
----------------------------------------------------------------------
.../wicket/request/mapper/MountedMapper.java | 2 +-
.../markup/html/link/MountedPageLinkTest.java | 54 +++++++++++++++
.../wicket/markup/html/link/PageWithLink.html | 8 ++
.../wicket/markup/html/link/PageWithLink.java | 40 +++++++++++
4 files changed, 103 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/f5cae949/wicket-core/src/main/java/org/apache/wicket/request/mapper/MountedMapper.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/mapper/MountedMapper.java b/wicket-core/src/main/java/org/apache/wicket/request/mapper/MountedMapper.java
index 3137b6c..f5271c5 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/mapper/MountedMapper.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/mapper/MountedMapper.java
@@ -385,7 +385,7 @@ public class MountedMapper extends AbstractBookmarkableMapper
handler.getBehaviorIndex());
PageComponentInfo pageComponentInfo = new PageComponentInfo(pageInfo, componentInfo);
UrlInfo urlInfo = new UrlInfo(pageComponentInfo, page.getClass(),
- handler.getPageParameters());
+ page.getPageParameters());
url = buildUrl(urlInfo);
}
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/f5cae949/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
new file mode 100644
index 0000000..c2f2b10
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markup.html.link;
+
+import org.apache.wicket.WicketTestCase;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.junit.Before;
+import org.junit.Test;
+
+public class MountedPageLinkTest extends WicketTestCase
+{
+ @Before
+ public void mountPage()
+ {
+ tester.getApplication().mountPage("mount/${param}/part2", PageWithLink.class);
+ }
+
+ @Test
+ public void testPageParametersInLink()
+ {
+ PageWithLink page = tester.startPage(PageWithLink.class,
+ new PageParameters().add("param", "value"));
+ Link<?> link = (Link<?>)page.get("link");
+ String url = link.getURL().toString();
+ assertTrue("URL for link should contain 'mount/value/part2': " + url, url.toString()
+ .contains("mount/value/part2"));
+ tester.executeUrl(url);
+ }
+
+ @Test
+ public void testLinkOnExpiredPage()
+ {
+ PageWithLink page = tester.startPage(PageWithLink.class,
+ new PageParameters().add("param", "value"));
+ Link<?> link = (Link<?>)page.get("link");
+ String url = link.getURL().toString();
+ url = url.replace("part2?0", "part2?3");
+ tester.executeUrl(url);
+ }
+}
http://git-wip-us.apache.org/repos/asf/wicket/blob/f5cae949/wicket-core/src/test/java/org/apache/wicket/markup/html/link/PageWithLink.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/link/PageWithLink.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/PageWithLink.html
new file mode 100644
index 0000000..cb27a2c
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/PageWithLink.html
@@ -0,0 +1,8 @@
+<html xmlns:wicket>
+<head>
+<title>Mock Page</title>
+</head>
+<body>
+<a href="#" wicket:id="link">Link</a>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/wicket/blob/f5cae949/wicket-core/src/test/java/org/apache/wicket/markup/html/link/PageWithLink.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/link/PageWithLink.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/PageWithLink.java
new file mode 100644
index 0000000..4a309fe
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/PageWithLink.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markup.html.link;
+
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.junit.Assert;
+
+public class PageWithLink extends WebPage
+{
+ public PageWithLink(PageParameters parameters)
+ {
+ super(parameters);
+ Assert.assertEquals("value", getPageParameters().get("param").toString());
+ add(new Link<Void>("link")
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void onClick()
+ {
+ Assert.assertEquals("value", getPageParameters().get("param").toString());
+ }
+ });
+ }
+}