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


Reply via email to