You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jc...@apache.org on 2007/05/23 16:00:25 UTC

svn commit: r540957 - in /incubator/wicket/trunk/jdk-1.4/wicket/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/request/target/basic/ test/java/org/apache/wicket/markup/html/link/

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