You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ba...@apache.org on 2010/07/07 04:14:53 UTC

svn commit: r961057 - in /tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core: ParamSupport.java Util.java

Author: bayard
Date: Wed Jul  7 02:14:53 2010
New Revision: 961057

URL: http://svn.apache.org/viewvc?rev=961057&view=rev
Log:
Upgraded to the JVM included version of URLEncoder from the Util.URLEncode method. Removing said method. Supplid by Jeremy Boynes to #49561

Modified:
    tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ParamSupport.java
    tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/Util.java

Modified: tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ParamSupport.java
URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ParamSupport.java?rev=961057&r1=961056&r2=961057&view=diff
==============================================================================
--- tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ParamSupport.java (original)
+++ tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ParamSupport.java Wed Jul  7 02:14:53 2010
@@ -17,6 +17,8 @@
 
 package org.apache.taglibs.standard.tag.common.core;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -86,11 +88,12 @@ public abstract class ParamSupport exten
 		value = bodyContent.getString().trim();
 	}
         if (encode) {
-            // FIXME: revert to java.net.URLEncoder.encode(s, enc) once
-            // we have a dependency on J2SE 1.4+.
             String enc = pageContext.getResponse().getCharacterEncoding();
-            parent.addParameter(
-            Util.URLEncode(name, enc), Util.URLEncode(value, enc));
+            try {
+                parent.addParameter(URLEncoder.encode(name, enc), URLEncoder.encode(value, enc));
+            } catch (UnsupportedEncodingException e) {
+                throw new JspTagException(e);
+            }
         } else {
             parent.addParameter(name, value);
         }

Modified: tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/Util.java
URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/Util.java?rev=961057&r1=961056&r2=961057&view=diff
==============================================================================
--- tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/Util.java (original)
+++ tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/Util.java Wed Jul  7 02:14:53 2010
@@ -192,83 +192,7 @@ public class Util {
         }
         return input.substring(begin, end).trim();
     }
-    
-    /**
-     * URL encodes a string, based on the supplied character encoding.
-     * This performs the same function as java.next.URLEncode.encode
-     * in J2SDK1.4, and should be removed if the only platform supported
-     * is 1.4 or higher.
-     * @param s The String to be URL encoded.
-     * @param enc The character encoding 
-     * @return The URL encoded String
-     * [taken from jakarta-tomcat-jasper/jasper2
-     *  org.apache.jasper.runtime.JspRuntimeLibrary.java]
-     */
-    public static String URLEncode(String s, String enc) {
-
-	if (s == null) {
-	    return "null";
-	}
-
-	if (enc == null) {
-	    enc = "UTF-8";	// Is this right?
-	}
-
-	StringBuffer out = new StringBuffer(s.length());
-	ByteArrayOutputStream buf = new ByteArrayOutputStream();
-	OutputStreamWriter writer = null;
-	try {
-	    writer = new OutputStreamWriter(buf, enc);
-	} catch (java.io.UnsupportedEncodingException ex) {
-	    // Use the default encoding?
-	    writer = new OutputStreamWriter(buf);
-	}
-	
-	for (int i = 0; i < s.length(); i++) {
-	    int c = s.charAt(i);
-	    if (c == ' ') {
-		out.append('+');
-	    } else if (isSafeChar(c)) {
-		out.append((char)c);
-	    } else {
-		// convert to external encoding before hex conversion
-		try {
-		    writer.write(c);
-		    writer.flush();
-		} catch(IOException e) {
-		    buf.reset();
-		    continue;
-		}
-		byte[] ba = buf.toByteArray();
-		for (int j = 0; j < ba.length; j++) {
-		    out.append('%');
-		    // Converting each byte in the buffer
-		    out.append(Character.forDigit((ba[j]>>4) & 0xf, 16));
-		    out.append(Character.forDigit(ba[j] & 0xf, 16));
-		}
-		buf.reset();
-	    }
-	}
-	return out.toString();
-    }
 
-    private static boolean isSafeChar(int c) {
-	if (c >= 'a' && c <= 'z') {
-	    return true;
-	}
-	if (c >= 'A' && c <= 'Z') {
-	    return true;
-	}
-	if (c >= '0' && c <= '9') {
-	    return true;
-	}
-	if (c == '-' || c == '_' || c == '.' || c == '!' ||
-	    c == '~' || c == '*' || c == '\'' || c == '(' || c == ')') {
-	    return true;
-	}
-	return false;
-    }    
-    
     /**
      * HttpServletRequest.getLocales() returns the server's default locale 
      * if the request did not specify a preferred language.



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org