Author: markt
Date: Thu Sep 3 13:40:48 2015
New Revision: 1701020
URL: http://svn.apache.org/r1701020
Log:
Refactor. Move C2BConverter creation into a dedicated method.
Modified:
tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.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=1701020&r1=1701019&r2=1701020&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Thu Sep
3 13:40:48 2015
@@ -572,28 +572,33 @@ public class OutputBuffer extends Writer
conv = encoders.get(charset);
if (conv == null) {
- if (Globals.IS_SECURITY_ENABLED){
- try {
- conv = AccessController.doPrivileged(
- new PrivilegedExceptionAction<C2BConverter>(){
+ conv = createNewConverter(charset);
+ encoders.put(charset, conv);
+ }
+ }
- @Override
- public C2BConverter run() throws IOException{
- return new C2BConverter(charset);
- }
+
+ private static C2BConverter createNewConverter(Charset charset) throws
IOException {
+ if (Globals.IS_SECURITY_ENABLED){
+ try {
+ return AccessController.doPrivileged(
+ new PrivilegedExceptionAction<C2BConverter>(){
+ @Override
+ public C2BConverter run() throws IOException{
+ return new C2BConverter(charset);
}
- );
- } catch (PrivilegedActionException ex) {
- Exception e = ex.getException();
- if (e instanceof IOException) {
- throw (IOException)e;
- }
+ }
+ );
+ } catch (PrivilegedActionException ex) {
+ Exception e = ex.getException();
+ if (e instanceof IOException) {
+ throw (IOException) e;
+ } else {
+ throw new IOException(ex);
}
- } else {
- conv = new C2BConverter(charset);
}
-
- encoders.put(charset, conv);
+ } else {
+ return new C2BConverter(charset);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]