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 +
+                               '}';
+       }
 }

Reply via email to