Author: markt
Date: Wed Sep  2 20:31:25 2015
New Revision: 1700892

URL: http://svn.apache.org/r1700892
Log:
Use Charset rather than encoding name to create C2BConvertor

Modified:
    tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
    tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java
    tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=1700892&r1=1700891&r2=1700892&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Wed Sep  
2 20:31:25 2015
@@ -568,7 +568,7 @@ public class OutputBuffer extends Writer
             enc = DEFAULT_ENCODING;
         }
 
-        Charset charset = B2CConverter.getCharset(enc);
+        final Charset charset = B2CConverter.getCharset(enc);
         conv = encoders.get(charset);
 
         if (conv == null) {
@@ -579,7 +579,7 @@ public class OutputBuffer extends Writer
 
                                 @Override
                                 public C2BConverter run() throws IOException{
-                                    return new C2BConverter(enc);
+                                    return new C2BConverter(charset);
                                 }
                             }
                     );
@@ -590,7 +590,7 @@ public class OutputBuffer extends Writer
                     }
                 }
             } else {
-                conv = new C2BConverter(enc);
+                conv = new C2BConverter(charset);
             }
 
             encoders.put(charset, conv);

Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java?rev=1700892&r1=1700891&r2=1700892&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java Wed Sep  2 
20:31:25 2015
@@ -19,6 +19,7 @@ package org.apache.tomcat.util.buf;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
+import java.nio.charset.Charset;
 import java.nio.charset.CharsetEncoder;
 import java.nio.charset.CoderResult;
 import java.nio.charset.CodingErrorAction;
@@ -37,8 +38,8 @@ public final class C2BConverter {
      */
     private final CharBuffer leftovers;
 
-    public C2BConverter(String encoding) throws IOException {
-        encoder = B2CConverter.getCharset(encoding).newEncoder();
+    public C2BConverter(Charset charset) {
+        encoder = charset.newEncoder();
         // FIXME: See if unmappable/malformed behavior configuration is needed
         //        in practice
         encoder.onUnmappableCharacter(CodingErrorAction.REPLACE)

Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java?rev=1700892&r1=1700891&r2=1700892&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java Wed Sep  2 
20:31:25 2015
@@ -17,6 +17,7 @@
 package org.apache.tomcat.util.buf;
 
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.util.BitSet;
 
 /**
@@ -57,8 +58,6 @@ public final class UEncoder {
     private CharChunk output=null;
     private final boolean readOnlySafeChars;
 
-    private final String ENCODING = "UTF8";
-
     public UEncoder() {
         this.safeChars = initialSafeChars();
         readOnlySafeChars = false;
@@ -93,6 +92,9 @@ public final class UEncoder {
     * @param s string to be encoded
     * @param start the beginning index, inclusive
     * @param end the ending index, exclusive
+    *
+    * @return A new CharChunk contained the URL encoded string
+    *
     * @throws IOException If an I/O error occurs
     */
    public CharChunk encodeURL(String s, int start, int end)
@@ -101,7 +103,7 @@ public final class UEncoder {
            bb = new ByteChunk(8); // small enough.
            cb = new CharChunk(2); // small enough.
            output = new CharChunk(64); // small enough.
-           c2b = new C2BConverter(ENCODING);
+           c2b = new C2BConverter(StandardCharsets.UTF_8);
        } else {
            bb.recycle();
            cb.recycle();



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

Reply via email to