Updated Branches: refs/heads/master a2cee103e -> 8bf5f6c22
WICKET-4892 Provide helpful exception message in RequestCycle#urlFor(Class, PageParameters) Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/8bf5f6c2 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/8bf5f6c2 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/8bf5f6c2 Branch: refs/heads/master Commit: 8bf5f6c22773c614035a99219b7a763d6cb7c772 Parents: a2cee10 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Thu Nov 29 13:37:12 2012 +0100 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Thu Nov 29 13:37:12 2012 +0100 ---------------------------------------------------------------------- .../handler/BookmarkablePageRequestHandler.java | 8 +++++ .../wicket/core/request/handler/PageProvider.java | 13 ++++++++ .../apache/wicket/request/cycle/RequestCycle.java | 24 ++++++++++---- .../resource/ResourceReferenceRequestHandler.java | 9 +++++ 4 files changed, 47 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/8bf5f6c2/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkablePageRequestHandler.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkablePageRequestHandler.java b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkablePageRequestHandler.java index 70686de..59ef0a4 100644 --- a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkablePageRequestHandler.java +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkablePageRequestHandler.java @@ -95,4 +95,12 @@ public class BookmarkablePageRequestHandler { return logData; } + + @Override + public String toString() + { + return "BookmarkablePageRequestHandler{" + + "pageProvider=" + pageProvider + + '}'; + } } http://git-wip-us.apache.org/repos/asf/wicket/blob/8bf5f6c2/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java index 4e0c08d..e184bd5 100644 --- a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java @@ -423,4 +423,17 @@ public class PageProvider implements IPageProvider } return pageInstanceIsFresh; } + + @Override + public String toString() + { + return "PageProvider{" + + "renderCount=" + renderCount + + ", pageId=" + pageId + + ", pageInstanceIsFresh=" + pageInstanceIsFresh + + ", pageClass=" + pageClass + + ", pageParameters=" + pageParameters + + ", pageInstance=" + pageInstance + + '}'; + } } http://git-wip-us.apache.org/repos/asf/wicket/blob/8bf5f6c2/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java b/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java index 06e5b89..633c188 100644 --- a/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java +++ b/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java @@ -22,6 +22,11 @@ import org.apache.wicket.MetaDataKey; import org.apache.wicket.Page; import org.apache.wicket.Session; import org.apache.wicket.ThreadContext; +import org.apache.wicket.WicketRuntimeException; +import org.apache.wicket.core.request.handler.BookmarkablePageRequestHandler; +import org.apache.wicket.core.request.handler.IPageProvider; +import org.apache.wicket.core.request.handler.PageProvider; +import org.apache.wicket.core.request.handler.RenderPageRequestHandler; import org.apache.wicket.event.IEvent; import org.apache.wicket.event.IEventSink; import org.apache.wicket.protocol.http.IRequestLogger; @@ -35,10 +40,6 @@ import org.apache.wicket.request.Response; import org.apache.wicket.request.Url; import org.apache.wicket.request.UrlRenderer; import org.apache.wicket.request.component.IRequestablePage; -import org.apache.wicket.core.request.handler.BookmarkablePageRequestHandler; -import org.apache.wicket.core.request.handler.IPageProvider; -import org.apache.wicket.core.request.handler.PageProvider; -import org.apache.wicket.core.request.handler.RenderPageRequestHandler; import org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler; import org.apache.wicket.request.handler.resource.ResourceRequestHandler; import org.apache.wicket.request.mapper.parameter.PageParameters; @@ -504,9 +505,18 @@ public class RequestCycle implements IRequestCycle, IEventSink */ public CharSequence urlFor(IRequestHandler handler) { - Url mappedUrl = mapUrlFor(handler); - CharSequence url = renderUrl(mappedUrl, handler); - return url; + try + { + Url mappedUrl = mapUrlFor(handler); + CharSequence url = renderUrl(mappedUrl, handler); + return url; + } + catch (Exception x) + { + throw new WicketRuntimeException( + String.format("An error occurred while generating an Url for handler '%s'", handler), x); + } + } private String renderUrl(Url url, IRequestHandler handler) http://git-wip-us.apache.org/repos/asf/wicket/blob/8bf5f6c2/wicket-core/src/main/java/org/apache/wicket/request/handler/resource/ResourceReferenceRequestHandler.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/request/handler/resource/ResourceReferenceRequestHandler.java b/wicket-core/src/main/java/org/apache/wicket/request/handler/resource/ResourceReferenceRequestHandler.java index 2e9d7b6..f09382e 100644 --- a/wicket-core/src/main/java/org/apache/wicket/request/handler/resource/ResourceReferenceRequestHandler.java +++ b/wicket-core/src/main/java/org/apache/wicket/request/handler/resource/ResourceReferenceRequestHandler.java @@ -139,4 +139,13 @@ public class ResourceReferenceRequestHandler implements IRequestHandler, ILoggab { return getResourceReference().getVariation(); } + + @Override + public String toString() + { + return "ResourceReferenceRequestHandler{" + + "resourceReference=" + resourceReference + + ", pageParameters=" + pageParameters + + '}'; + } }
