You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2013/05/13 16:53:51 UTC
[1/3] git commit: WICKET-5071 404 Error on Nested ModalWindows in IE7
and IE8
Updated Branches:
refs/heads/wicket-6.x 8b4532b31 -> d0e233553
WICKET-5071 404 Error on Nested ModalWindows in IE7 and IE8
Extend PageInstanceMapper to match when the request is to 'page?...' and the baseUrl is 'wicket/page?...'
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/25df9fa4
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/25df9fa4
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/25df9fa4
Branch: refs/heads/wicket-6.x
Commit: 25df9fa4cc4289b8136a896e11c65afd4a4eb6cf
Parents: 8b4532b
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon May 13 17:02:06 2013 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon May 13 17:03:12 2013 +0300
----------------------------------------------------------------------
.../core/request/mapper/PageInstanceMapper.java | 34 ++++++++--
.../request/mapper/PageInstanceMapperTest.java | 55 +++++++++++++-
2 files changed, 79 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/25df9fa4/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
index 776e546..fb9b3bd 100644
--- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
+++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
@@ -59,9 +59,9 @@ public class PageInstanceMapper extends AbstractComponentMapper
@Override
public IRequestHandler mapRequest(Request request)
{
- Url url = request.getUrl();
- if (matches(url))
+ if (matches(request))
{
+ Url url = request.getUrl();
PageComponentInfo info = getPageComponentInfo(url);
if (info != null && info.getPageInfo().getPageId() != null)
{
@@ -153,16 +153,38 @@ public class PageInstanceMapper extends AbstractComponentMapper
public int getCompatibilityScore(final Request request)
{
int score = 0;
- Url url = request.getUrl();
- if (matches(url))
+ if (matches(request))
{
score = Integer.MAX_VALUE;
}
return score;
}
- private boolean matches(final Url url)
+ /**
+ * Matches when the request url starts with
+ * {@link org.apache.wicket.core.request.mapper.IMapperContext#getNamespace()}/{@link org.apache.wicket.core.request.mapper.IMapperContext#getPageIdentifier()}
+ * or when the base url starts with {@link org.apache.wicket.core.request.mapper.IMapperContext#getNamespace()}
+ * and the request url with {@link org.apache.wicket.core.request.mapper.IMapperContext#getPageIdentifier()}
+
+ * @param request
+ * the request to check
+ * @return {@code true} if the conditions match
+ */
+ private boolean matches(final Request request)
{
- return urlStartsWith(url, getContext().getNamespace(), getContext().getPageIdentifier());
+ boolean matches = false;
+ Url url = request.getUrl();
+ String namespace = getContext().getNamespace();
+ String pageIdentifier = getContext().getPageIdentifier();
+ if (urlStartsWith(url, namespace, pageIdentifier))
+ {
+ matches = true;
+ }
+ else if (urlStartsWith(request.getClientUrl(), namespace) && urlStartsWith(url, pageIdentifier))
+ {
+ matches = true;
+ }
+
+ return matches;
}
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/25df9fa4/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PageInstanceMapperTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PageInstanceMapperTest.java b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PageInstanceMapperTest.java
index 089fc31..a112640 100644
--- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PageInstanceMapperTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PageInstanceMapperTest.java
@@ -16,17 +16,21 @@
*/
package org.apache.wicket.core.request.mapper;
+import java.nio.charset.Charset;
+import java.util.Locale;
+
import org.apache.wicket.MockPage;
-import org.apache.wicket.markup.html.link.ILinkListener;
-import org.apache.wicket.request.IRequestHandler;
-import org.apache.wicket.request.Url;
-import org.apache.wicket.request.component.IRequestableComponent;
import org.apache.wicket.core.request.handler.IPageProvider;
import org.apache.wicket.core.request.handler.IPageRequestHandler;
import org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler;
import org.apache.wicket.core.request.handler.PageAndComponentProvider;
import org.apache.wicket.core.request.handler.PageProvider;
import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
+import org.apache.wicket.markup.html.link.ILinkListener;
+import org.apache.wicket.request.IRequestHandler;
+import org.apache.wicket.request.Request;
+import org.apache.wicket.request.Url;
+import org.apache.wicket.request.component.IRequestableComponent;
import org.junit.Test;
/**
@@ -167,6 +171,49 @@ public class PageInstanceMapperTest extends AbstractMapperTest
((IPageRequestHandler)handler).getPage();
}
+ @Test
+ public void decode9()
+ {
+ final Url url = Url.parse("page?4");
+
+ Request request = new Request()
+ {
+ @Override
+ public Url getUrl()
+ {
+ return url;
+ }
+
+ @Override
+ public Locale getLocale()
+ {
+ return null;
+ }
+
+ @Override
+ public Charset getCharset()
+ {
+ return Charset.forName("UTF-8");
+ }
+
+ @Override
+ public Url getClientUrl()
+ {
+ return Url.parse("wicket/page");
+ }
+
+ @Override
+ public Object getContainerRequest()
+ {
+ return null;
+ }
+ };
+
+ IRequestHandler handler = encoder.mapRequest(request);
+
+ ((IPageRequestHandler)handler).getPage();
+ }
+
/**
*
*/
[2/3] git commit: WICKET-5071 404 Error on Nested ModalWindows in IE7
and IE8
Posted by mg...@apache.org.
WICKET-5071 404 Error on Nested ModalWindows in IE7 and IE8
Make the check more strict. We can relax it later if needed.
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/3e51cca9
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/3e51cca9
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/3e51cca9
Branch: refs/heads/wicket-6.x
Commit: 3e51cca909c7179ca0548c2043b3ec89745c45ed
Parents: 25df9fa
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon May 13 17:07:25 2013 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon May 13 17:08:10 2013 +0300
----------------------------------------------------------------------
.../core/request/mapper/PageInstanceMapper.java | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/3e51cca9/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
index fb9b3bd..9f75813 100644
--- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
+++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
@@ -163,7 +163,8 @@ public class PageInstanceMapper extends AbstractComponentMapper
/**
* Matches when the request url starts with
* {@link org.apache.wicket.core.request.mapper.IMapperContext#getNamespace()}/{@link org.apache.wicket.core.request.mapper.IMapperContext#getPageIdentifier()}
- * or when the base url starts with {@link org.apache.wicket.core.request.mapper.IMapperContext#getNamespace()}
+ * or when the base url starts with
+ * {@link org.apache.wicket.core.request.mapper.IMapperContext#getNamespace()}/{@link org.apache.wicket.core.request.mapper.IMapperContext#getPageIdentifier()}
* and the request url with {@link org.apache.wicket.core.request.mapper.IMapperContext#getPageIdentifier()}
* @param request
@@ -180,7 +181,7 @@ public class PageInstanceMapper extends AbstractComponentMapper
{
matches = true;
}
- else if (urlStartsWith(request.getClientUrl(), namespace) && urlStartsWith(url, pageIdentifier))
+ else if (urlStartsWith(request.getClientUrl(), namespace, pageIdentifier) && urlStartsWith(url, pageIdentifier))
{
matches = true;
}
[3/3] git commit: WICKET-5179 Move Form hidden field rendering to
dedicated method
Posted by mg...@apache.org.
WICKET-5179 Move Form hidden field rendering to dedicated method
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/d0e23355
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/d0e23355
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/d0e23355
Branch: refs/heads/wicket-6.x
Commit: d0e2335536b8d5fdd08eb50d9f9258fbd9ee8581
Parents: 3e51cca
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon May 13 17:52:15 2013 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon May 13 17:52:42 2013 +0300
----------------------------------------------------------------------
.../org/apache/wicket/markup/html/form/Form.java | 58 +++++++++------
1 files changed, 34 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/d0e23355/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
index a7f07f3..eb5f6c0 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
@@ -1642,30 +1642,7 @@ public class Form<T> extends WebMarkupContainer
{
if (isRootForm())
{
- // get the hidden field id
- String nameAndId = getHiddenFieldId();
-
- // render the hidden field
- AppendingStringBuffer buffer = new AppendingStringBuffer(HIDDEN_DIV_START).append(
- "<input type=\"hidden\" name=\"")
- .append(nameAndId)
- .append("\" id=\"")
- .append(nameAndId)
- .append("\" />");
-
- // if it's a get, did put the parameters in the action attribute,
- // and have to write the url parameters as hidden fields
- if (encodeUrlInHiddenFields())
- {
- String url = getActionUrl().toString();
- int i = url.indexOf('?');
- String queryString = (i > -1) ? url.substring(i + 1) : url;
- String[] params = Strings.split(queryString, '&');
-
- writeParamsAsHiddenFields(params, buffer);
- }
- buffer.append("</div>");
- getResponse().write(buffer);
+ writeHiddenField(getResponse());
// if a default submitting component was set, handle the rendering of that
if (defaultSubmittingComponent instanceof Component)
@@ -1684,6 +1661,39 @@ public class Form<T> extends WebMarkupContainer
}
/**
+ * Writes the markup for the hidden input field into the provided response
+ *
+ * @param response
+ * The response to write to
+ */
+ public final void writeHiddenField(final Response response)
+ {
+ // get the hidden field id
+ String nameAndId = getHiddenFieldId();
+
+ AppendingStringBuffer buffer = new AppendingStringBuffer(HIDDEN_DIV_START).append(
+ "<input type=\"hidden\" name=\"")
+ .append(nameAndId)
+ .append("\" id=\"")
+ .append(nameAndId)
+ .append("\" />");
+
+ // if it's a get, did put the parameters in the action attribute,
+ // and have to write the url parameters as hidden fields
+ if (encodeUrlInHiddenFields())
+ {
+ String url = getActionUrl().toString();
+ int i = url.indexOf('?');
+ String queryString = (i > -1) ? url.substring(i + 1) : url;
+ String[] params = Strings.split(queryString, '&');
+
+ writeParamsAsHiddenFields(params, buffer);
+ }
+ buffer.append("</div>");
+ response.write(buffer);
+ }
+
+ /**
*
* @param params
* @param buffer