You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jb...@apache.org on 2007/05/06 19:43:33 UTC

svn commit: r535639 - in /incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket: protocol/http/request/WebRequestCodingStrategy.java request/target/coding/QueryStringUrlCodingStrategy.java

Author: jbq
Date: Sun May  6 10:43:32 2007
New Revision: 535639

URL: http://svn.apache.org/viewvc?view=rev&rev=535639
Log:
WICKET-65 Handle String array in PageParameters

Modified:
    incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
    incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java

Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java?view=diff&rev=535639&r1=535638&r2=535639
==============================================================================
--- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java (original)
+++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java Sun May  6 10:43:32 2007
@@ -47,6 +47,7 @@
 import org.apache.wicket.request.IRequestTargetMountsInfo;
 import org.apache.wicket.request.RequestParameters;
 import org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy;
+import org.apache.wicket.request.target.coding.WebRequestEncoder;
 import org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget;
 import org.apache.wicket.request.target.component.BookmarkablePageRequestTarget;
 import org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget;
@@ -672,21 +673,14 @@
 			}
 		}
 
-		boolean firstParameter = true;
+		WebRequestEncoder encoder = new WebRequestEncoder(url);
 		if (!application.getHomePage().equals(pageClass)
 				|| !"".equals(pageMapName)
 				|| (application.getHomePage().equals(pageClass) && requestTarget instanceof BookmarkableListenerInterfaceRequestTarget))
 		{
-			firstParameter = false;
-			url.append('?');
-			url.append(WebRequestCodingStrategy.BOOKMARKABLE_PAGE_PARAMETER_NAME);
-			url.append('=');
-
-
-			// Add <page-map-name>:<bookmarkable-page-class>
-			String pageClassName = pageClass.getName();
-
 			/*
+			 * Add <page-map-name>:<bookmarkable-page-class>
+			 * 
 			 * Encode the url so it is correct even for class names containing
 			 * non ASCII characters, like ä, æ, ø, å etc.
 			 * 
@@ -695,16 +689,8 @@
 			 * because we can't rely on the browser to interpret the unencoded
 			 * url correctly.
 			 */
-			try
-			{
-				url.append(URLEncoder.encode(
-						pageMapName + Component.PATH_SEPARATOR + pageClassName, "UTF-8"));
-			}
-			catch (UnsupportedEncodingException ex)
-			{
-				log.error(ex.getMessage(), ex);
-				url.append(pageMapName + Component.PATH_SEPARATOR + pageClassName);
-			}
+			encoder.addValue(WebRequestCodingStrategy.BOOKMARKABLE_PAGE_PARAMETER_NAME,
+					pageMapName + Component.PATH_SEPARATOR + pageClass.getName());
 		}
 
 		// Get page parameters
@@ -726,28 +712,7 @@
 				final String value = parameters.getString(key);
 				if (value != null)
 				{
-					String escapedValue = value;
-					try
-					{
-						escapedValue = URLEncoder.encode(escapedValue, application
-								.getRequestCycleSettings().getResponseRequestEncoding());
-					}
-					catch (UnsupportedEncodingException ex)
-					{
-						log.error(ex.getMessage(), ex);
-					}
-					if (!firstParameter)
-					{
-						url.append('&');
-					}
-					else
-					{
-						firstParameter = false;
-						url.append('?');
-					}
-					url.append(key);
-					url.append('=');
-					url.append(escapedValue);
+					encoder.addValue(key, value);
 				}
 			}
 		}

Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java?view=diff&rev=535639&r1=535638&r2=535639
==============================================================================
--- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java (original)
+++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java Sun May  6 10:43:32 2007
@@ -124,7 +124,6 @@
 
 		if (parameters != null && parameters.size() > 0)
 		{
-			boolean firstParam = url.indexOf("?") < 0;
 			final Iterator entries;
 			if (UnitTestSettings.getSortUrlParameters())
 			{