Author: jcompagner Date: Wed May 23 07:00:23 2007 New Revision: 540957 URL: http://svn.apache.org/viewvc?view=rev&rev=540957 Log: fix for continueToOriginalUrl with url params
Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/basic/RedirectRequestTarget.java incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/link/BookmarkablePageLinkTest.java Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java?view=diff&rev=540957&r1=540956&r2=540957 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java Wed May 23 07:00:23 2007 @@ -254,8 +254,8 @@ // The intercept continuation URL should be saved exactly as the // original request specified. - interceptContinuationURL = cycle.getRequest().getPath(); - + interceptContinuationURL = "/" + cycle.getRequest().getURL(); + // Page map is dirty dirty(); Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/basic/RedirectRequestTarget.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/basic/RedirectRequestTarget.java?view=diff&rev=540957&r1=540956&r2=540957 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/basic/RedirectRequestTarget.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/basic/RedirectRequestTarget.java Wed May 23 07:00:23 2007 @@ -66,7 +66,11 @@ { Response response = requestCycle.getResponse(); response.reset(); - if (redirectUrl.startsWith("/") || redirectUrl.startsWith("http://") || redirectUrl.startsWith("https://")) + if (redirectUrl.startsWith("/")) + { + response.redirect(RequestCycle.get().getRequest().getRelativePathPrefixToContextRoot() + redirectUrl.substring(1)); + } + else if (redirectUrl.startsWith("http://") || redirectUrl.startsWith("https://")) { response.redirect(redirectUrl); } Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/link/BookmarkablePageLinkTest.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/link/BookmarkablePageLinkTest.java?view=diff&rev=540957&r1=540956&r2=540957 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/link/BookmarkablePageLinkTest.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/link/BookmarkablePageLinkTest.java Wed May 23 07:00:23 2007 @@ -16,6 +16,7 @@ */ package org.apache.wicket.markup.html.link; +import org.apache.wicket.PageParameters; import org.apache.wicket.WicketTestCase; import org.apache.wicket.protocol.http.WebRequestCycle; import org.apache.wicket.request.target.component.BookmarkablePageRequestTarget; @@ -81,5 +82,31 @@ } + /** + * @throws Exception + */ + public void testBookmarkableRequestWithInterceptWithParams() throws Exception + { + tester.setupRequestAndResponse(); + + WebRequestCycle cycle = tester.createRequestCycle(); + + PageParameters pp = new PageParameters(); + pp.put("test", "test"); + String url = cycle.urlFor(new BookmarkablePageRequestTarget(BookmarkableThrowsInterceptPage.class,pp)).toString(); + String url2 = cycle.urlFor(new BookmarkablePageRequestTarget(BookmarkableContinueToPage.class,null)).toString(); + + tester.setupRequestAndResponse(); + tester.getServletRequest().setURL("/WicketTester$DummyWebApplication/WicketTester$DummyWebApplication/" + url); + tester.processRequestCycle(); + + assertEquals(tester.getLastRenderedPage().getClass(), BookmarkableSetSecurityPage.class); + + tester.setupRequestAndResponse(); + tester.getServletRequest().setURL("/WicketTester$DummyWebApplication/WicketTester$DummyWebApplication/" + url2); + tester.processRequestCycle(); + assertEquals(tester.getLastRenderedPage().getClass(), BookmarkableThrowsInterceptPage.class); + + } }