Author: jbq
Date: Wed Sep  5 08:07:32 2007
New Revision: 572965

URL: http://svn.apache.org/viewvc?rev=572965&view=rev
Log:
Add new method RequestUtils.decode() to avoid checked exception

Modified:
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java?rev=572965&r1=572964&r2=572965&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
 Wed Sep  5 08:07:32 2007
@@ -22,6 +22,7 @@
 import java.util.Arrays;
 import java.util.List;
 
+import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.value.ValueMap;
 
@@ -100,5 +101,22 @@
         */
        private RequestUtils()
        {
+       }
+
+       /**
+        * Does a URLDecoder.decode() in UTF-8
+        * @param servletPath
+        * @return
+        */
+       public static String decode(String path)
+       {
+               try
+               {
+                       return URLDecoder.decode(path, "UTF-8");
+               }
+               catch (UnsupportedEncodingException e)
+               {
+                       throw new WicketRuntimeException(e);
+               }
        }
 }

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java?rev=572965&r1=572964&r2=572965&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
 Wed Sep  5 08:07:32 2007
@@ -16,8 +16,6 @@
  */
 package org.apache.wicket.protocol.http.servlet;
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
 import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
@@ -28,6 +26,7 @@
 import org.apache.wicket.IRedirectListener;
 import org.apache.wicket.RequestListenerInterface;
 import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.protocol.http.RequestUtils;
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.protocol.http.WebRequest;
 import org.apache.wicket.util.lang.Bytes;
@@ -156,15 +155,8 @@
                String tmp = getRelativePathPrefixToWicketHandler();
                PrependingStringBuffer prepender = new 
PrependingStringBuffer(tmp);
 
-               String path;
-               try
-               {
-                       path = URLDecoder.decode(Strings.replaceAll(getPath(), 
"%3A", ":").toString(), "UTF-8");
-               }
-               catch (UnsupportedEncodingException e)
-               {
-                       throw new WicketRuntimeException(e);
-               }
+               String path = RequestUtils.decode(getPath());
+
                if (path == null || path.length() == 0)
                {
                        path = "";
@@ -176,18 +168,9 @@
                String wicketPath = "";
 
                // We're running as a filter.
-               String servletPath;
-               try
-               {
-                       servletPath = 
URLDecoder.decode(Strings.replaceAll(getServletPath(), "%3A", ":")
-                                       .toString(), "UTF-8");
-               }
-               catch (UnsupportedEncodingException e)
-               {
-                       throw new WicketRuntimeException(e);
-               }
+               String servletPath = RequestUtils.decode(getServletPath());
 
-               // We need to substibute the %3A (or the other way around) to 
be able to
+               // We need to substitute the %3A (or the other way around) to 
be able to
                // get a good match, as parts of the path may have been escaped 
while
                // others arent
                if (servletPath.endsWith(path))


Reply via email to