Author: remm
Date: Tue Dec 11 15:09:26 2018
New Revision: 1848691

URL: http://svn.apache.org/viewvc?rev=1848691&view=rev
Log:
Add i18n for various util packages.

Added:
    
tomcat/trunk/java/org/apache/tomcat/util/codec/binary/LocalStrings.properties   
(with props)
    tomcat/trunk/java/org/apache/tomcat/util/security/LocalStrings.properties   
(with props)
Modified:
    tomcat/trunk/java/org/apache/tomcat/util/buf/AbstractChunk.java
    tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java
    tomcat/trunk/java/org/apache/tomcat/util/buf/CharChunk.java
    tomcat/trunk/java/org/apache/tomcat/util/buf/LocalStrings.properties
    tomcat/trunk/java/org/apache/tomcat/util/buf/UDecoder.java
    tomcat/trunk/java/org/apache/tomcat/util/codec/binary/Base64.java
    tomcat/trunk/java/org/apache/tomcat/util/codec/binary/BaseNCodec.java
    tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java
    tomcat/trunk/java/org/apache/tomcat/util/digester/FactoryCreateRule.java
    tomcat/trunk/java/org/apache/tomcat/util/digester/LocalStrings.properties
    tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectCreateRule.java
    tomcat/trunk/java/org/apache/tomcat/util/digester/Rule.java
    tomcat/trunk/java/org/apache/tomcat/util/digester/SetPropertiesRule.java
    
tomcat/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java
    tomcat/trunk/java/org/apache/tomcat/util/threads/TaskQueue.java
    tomcat/trunk/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java
    tomcat/trunk/java/org/apache/tomcat/util/threads/res/LocalStrings.properties

Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/AbstractChunk.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/AbstractChunk.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/AbstractChunk.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/AbstractChunk.java Tue Dec 11 
15:09:26 2018
@@ -18,12 +18,15 @@ package org.apache.tomcat.util.buf;
 
 import java.io.Serializable;
 
+import org.apache.tomcat.util.res.StringManager;
+
 /**
  * Base class for the *Chunk implementation to reduce duplication.
  */
 public abstract class AbstractChunk implements Cloneable, Serializable {
 
     private static final long serialVersionUID = 1L;
+    protected static final StringManager sm = 
StringManager.getManager(AbstractChunk.class);
 
     /*
      * JVMs may limit the maximum array size to slightly less than

Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java Tue Dec 11 
15:09:26 2018
@@ -512,7 +512,7 @@ public final class ByteChunk extends Abs
     public void flushBuffer() throws IOException {
         // assert out!=null
         if (out == null) {
-            throw new IOException("Buffer overflow, no sink " + getLimit() + " 
" + buff.length);
+            throw new IOException(sm.getString("chunk.overflow", getLimit(), 
buff.length));
         }
         out.realWriteBytes(buff, start, end - start);
         end = start;

Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/CharChunk.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/CharChunk.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/CharChunk.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/CharChunk.java Tue Dec 11 
15:09:26 2018
@@ -353,7 +353,7 @@ public final class CharChunk extends Abs
     public void flushBuffer() throws IOException {
         // assert out!=null
         if (out == null) {
-            throw new IOException("Buffer overflow, no sink " + getLimit() + " 
" + buff.length);
+            throw new IOException(sm.getString("chunk.overflow", getLimit(), 
buff.length));
         }
         out.realWriteChars(buff, start, end - start);
         end = start;

Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/LocalStrings.properties?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/LocalStrings.properties 
[UTF-8] (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/LocalStrings.properties 
[UTF-8] Tue Dec 11 15:09:26 2018
@@ -19,9 +19,13 @@ byteBufferUtils.cleaner=Cannot use direc
 
 c2bConverter.recycleFailed=Failed to recycle the C2B Converter. Creating new 
BufferedWriter, WriteConvertor and IntermediateOutputStream.
 
+chunk.overflow=Buffer overflow and no sink is set, limit [{0}] and buffer 
length [{1}]
+
 hexUtils.fromHex.nonHex=The input must consist only of hex digits
 hexUtils.fromHex.oddDigits=The input must consist of an even number of hex 
digits
 
 uDecoder.convertHexDigit.notHex=[{0}] is not a hexadecimal digit
+uDecoder.eof=End of file (EOF)
+uDecoder.noSlash=The encoded slash character is not allowed
 uDecoder.urlDecode.conversionError=Failed to decode [{0}] using character set 
[{1}]
 uDecoder.urlDecode.missingDigit=Failed to decode [{0}] because the % character 
must be followed by two hexademical digits

Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/UDecoder.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/UDecoder.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/UDecoder.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/UDecoder.java Tue Dec 11 
15:09:26 2018
@@ -54,7 +54,7 @@ public final class UDecoder {
     }
 
     /** Unexpected end of data. */
-    private static final IOException EXCEPTION_EOF = new 
DecodeException("EOF");
+    private static final IOException EXCEPTION_EOF = new 
DecodeException(sm.getString("uDecoder.eof"));
 
     /** %xx with not-hex digit */
     private static final IOException EXCEPTION_NOT_HEX_DIGIT = new 
DecodeException(
@@ -277,7 +277,7 @@ public final class UDecoder {
                 char res = (char) Integer.parseInt(
                         str.substring(strPos + 1, strPos + 3), 16);
                 if (noSlash && (res == '/')) {
-                    throw new IllegalArgumentException("noSlash");
+                    throw new 
IllegalArgumentException(sm.getString("uDecoder.noSlash"));
                 }
                 dec.append(res);
                 strPos += 3;

Modified: tomcat/trunk/java/org/apache/tomcat/util/codec/binary/Base64.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/codec/binary/Base64.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/codec/binary/Base64.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/codec/binary/Base64.java Tue Dec 
11 15:09:26 2018
@@ -278,7 +278,7 @@ public class Base64 extends BaseNCodec {
         if (lineSeparator != null) {
             if (containsAlphabetOrPad(lineSeparator)) {
                 final String sep = StringUtils.newStringUtf8(lineSeparator);
-                throw new IllegalArgumentException("lineSeparator must not 
contain base64 characters: [" + sep + "]");
+                throw new 
IllegalArgumentException(sm.getString("base64.lineSeparator", sep));
             }
             if (lineLength > 0){ // null line-sep forces no chunking rather 
than throwing IAE
                 this.encodeSize = BYTES_PER_ENCODED_BLOCK + 
lineSeparator.length;
@@ -366,7 +366,7 @@ public class Base64 extends BaseNCodec {
                     }
                     break;
                 default:
-                    throw new IllegalStateException("Impossible modulus 
"+context.modulus);
+                    throw new 
IllegalStateException(sm.getString("base64.impossibleModulus", 
context.modulus));
             }
             context.currentLinePos += context.pos - savedPos; // keep track of 
current line position
             // if currentPos == 0 we are at the start of a line, so don't add 
CRLF
@@ -477,7 +477,7 @@ public class Base64 extends BaseNCodec {
                     buffer[context.pos++] = (byte) ((context.ibitWorkArea) & 
MASK_8BITS);
                     break;
                 default:
-                    throw new IllegalStateException("Impossible modulus 
"+context.modulus);
+                    throw new 
IllegalStateException(sm.getString("base64.impossibleModulus", 
context.modulus));
             }
         }
     }
@@ -652,10 +652,7 @@ public class Base64 extends BaseNCodec {
         final Base64 b64 = isChunked ? new Base64(urlSafe) : new Base64(0, 
CHUNK_SEPARATOR, urlSafe);
         final long len = b64.getEncodedLength(binaryData);
         if (len > maxResultSize) {
-            throw new IllegalArgumentException("Input array too big, the 
output array would be bigger (" +
-                len +
-                ") than the specified maximum size of " +
-                maxResultSize);
+            throw new 
IllegalArgumentException(sm.getString("base64.inputTooLarge", len, 
maxResultSize));
         }
 
         return b64.encode(binaryData);
@@ -722,7 +719,7 @@ public class Base64 extends BaseNCodec {
      */
     public static byte[] encodeInteger(final BigInteger bigInt) {
         if (bigInt == null) {
-            throw new NullPointerException("encodeInteger called with null 
parameter");
+            throw new 
NullPointerException(sm.getString("base64.nullEncodeParameter"));
         }
         return encodeBase64(toIntegerBytes(bigInt), false);
     }

Modified: tomcat/trunk/java/org/apache/tomcat/util/codec/binary/BaseNCodec.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/codec/binary/BaseNCodec.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/codec/binary/BaseNCodec.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/codec/binary/BaseNCodec.java Tue 
Dec 11 15:09:26 2018
@@ -17,6 +17,7 @@
 package org.apache.tomcat.util.codec.binary;
 
 import org.apache.tomcat.util.buf.HexUtils;
+import org.apache.tomcat.util.res.StringManager;
 
 /**
  * Abstract superclass for Base-N encoders and decoders.
@@ -27,6 +28,8 @@ import org.apache.tomcat.util.buf.HexUti
  */
 public abstract class BaseNCodec {
 
+    protected static final StringManager sm = 
StringManager.getManager(BaseNCodec.class);
+
     /**
      * Holds thread context so classes can be thread-safe.
      *

Added: 
tomcat/trunk/java/org/apache/tomcat/util/codec/binary/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/codec/binary/LocalStrings.properties?rev=1848691&view=auto
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/util/codec/binary/LocalStrings.properties 
(added)
+++ 
tomcat/trunk/java/org/apache/tomcat/util/codec/binary/LocalStrings.properties 
Tue Dec 11 15:09:26 2018
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+base64.impossibleModulus=Impossible modulus [{0}]
+base64.inputTooLarge=Input array too large, the output array would be bigger 
[{0}] than the specified maximum size of [{1}]
+base64.lineSeparator=Line separator must not contain base64 characters [{0}]
+base64.nullEncodeParameter=Cannot encode integer with null parameter

Propchange: 
tomcat/trunk/java/org/apache/tomcat/util/codec/binary/LocalStrings.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java Tue Dec 11 
15:09:26 2018
@@ -100,8 +100,7 @@ public class Digester extends DefaultHan
                     break;
                 } catch (Throwable t) {
                     ExceptionUtils.handleThrowable(t);
-                    
LogFactory.getLog("org.apache.tomcat.util.digester.Digester")
-                            .error("Unable to load property source[" + 
className + "].", t);
+                    
LogFactory.getLog(Digester.class).error(sm.getString("digester.propertySourceLoadError",
 className), t);
                 }
             }
         }
@@ -613,7 +612,7 @@ public class Digester extends DefaultHan
         try {
             parser = getFactory().newSAXParser();
         } catch (Exception e) {
-            log.error("Digester.getParser: ", e);
+            log.error(sm.getString("digester.createParserError"), e);
             return null;
         }
 
@@ -851,10 +850,10 @@ public class Digester extends DefaultHan
             try {
                 rule.finish();
             } catch (Exception e) {
-                log.error("Finish event threw exception", e);
+                log.error(sm.getString("digester.error.finish"), e);
                 throw createSAXException(e);
             } catch (Error e) {
-                log.error("Finish event threw error", e);
+                log.error(sm.getString("digester.error.finish"), e);
                 throw e;
             }
         }
@@ -913,19 +912,19 @@ public class Digester extends DefaultHan
                     }
                     rule.body(namespaceURI, name, bodyText);
                 } catch (Exception e) {
-                    log.error("Body event threw exception", e);
+                    log.error(sm.getString("digester.error.body"), e);
                     throw createSAXException(e);
                 } catch (Error e) {
-                    log.error("Body event threw error", e);
+                    log.error(sm.getString("digester.error.body"), e);
                     throw e;
                 }
             }
         } else {
             if (debug) {
-                log.debug("  No rules found matching '" + match + "'.");
+                log.debug(sm.getString("digester.noRulesFound", match));
             }
             if (rulesValidation) {
-                log.warn("  No rules found matching '" + match + "'.");
+                log.warn(sm.getString("digester.noRulesFound", match));
             }
         }
 
@@ -943,10 +942,10 @@ public class Digester extends DefaultHan
                     }
                     rule.end(namespaceURI, name);
                 } catch (Exception e) {
-                    log.error("End event threw exception", e);
+                    log.error(sm.getString("digester.error.end"), e);
                     throw createSAXException(e);
                 } catch (Error e) {
-                    log.error("End event threw error", e);
+                    log.error(sm.getString("digester.error.end"), e);
                     throw e;
                 }
             }
@@ -987,7 +986,7 @@ public class Digester extends DefaultHan
             if (stack.empty())
                 namespaces.remove(prefix);
         } catch (EmptyStackException e) {
-            throw createSAXException("endPrefixMapping popped too many times");
+            throw createSAXException(sm.getString("digester.emptyStackError"));
         }
 
     }
@@ -1173,16 +1172,16 @@ public class Digester extends DefaultHan
                     }
                     rule.begin(namespaceURI, name, list);
                 } catch (Exception e) {
-                    log.error("Begin event threw exception", e);
+                    log.error(sm.getString("digester.error.begin"), e);
                     throw createSAXException(e);
                 } catch (Error e) {
-                    log.error("Begin event threw error", e);
+                    log.error(sm.getString("digester.error.begin"), e);
                     throw e;
                 }
             }
         } else {
             if (debug) {
-                log.debug("  No rules found matching '" + match + "'.");
+                log.debug(sm.getString("digester.noRulesFound", match));
             }
         }
 
@@ -1353,13 +1352,11 @@ public class Digester extends DefaultHan
      */
     @Override
     public void error(SAXParseException exception) throws SAXException {
-
-        log.error("Parse Error at line " + exception.getLineNumber() + " 
column "
-                + exception.getColumnNumber() + ": " + exception.getMessage(), 
exception);
+        log.error(sm.getString("digester.parseError", 
exception.getLineNumber(),
+                exception.getColumnNumber()), exception);
         if (errorHandler != null) {
             errorHandler.error(exception);
         }
-
     }
 
 
@@ -1373,13 +1370,11 @@ public class Digester extends DefaultHan
      */
     @Override
     public void fatalError(SAXParseException exception) throws SAXException {
-
-        log.error("Parse Fatal Error at line " + exception.getLineNumber() + " 
column "
-                + exception.getColumnNumber() + ": " + exception.getMessage(), 
exception);
+        log.error(sm.getString("digester.parseErrorFatal", 
exception.getLineNumber(),
+                exception.getColumnNumber()), exception);
         if (errorHandler != null) {
             errorHandler.fatalError(exception);
         }
-
     }
 
 
@@ -1393,12 +1388,9 @@ public class Digester extends DefaultHan
      */
     @Override
     public void warning(SAXParseException exception) throws SAXException {
+        log.error(sm.getString("digester.parseWarning", 
exception.getLineNumber(),
+                exception.getColumnNumber()), exception);
         if (errorHandler != null) {
-            log.warn(
-                    "Parse Warning Error at line " + exception.getLineNumber() 
+ " column "
-                            + exception.getColumnNumber() + ": " + 
exception.getMessage(),
-                    exception);
-
             errorHandler.warning(exception);
         }
 
@@ -1681,7 +1673,7 @@ public class Digester extends DefaultHan
         try {
             return stack.peek();
         } catch (EmptyStackException e) {
-            log.warn("Empty stack (returning null)");
+            log.warn(sm.getString("digester.emptyStack"));
             return null;
         }
     }
@@ -1700,7 +1692,7 @@ public class Digester extends DefaultHan
         try {
             return stack.peek(n);
         } catch (EmptyStackException e) {
-            log.warn("Empty stack (returning null)");
+            log.warn(sm.getString("digester.emptyStack"));
             return null;
         }
     }
@@ -1715,7 +1707,7 @@ public class Digester extends DefaultHan
         try {
             return stack.pop();
         } catch (EmptyStackException e) {
-            log.warn("Empty stack (returning null)");
+            log.warn(sm.getString("digester.emptyStack"));
             return null;
         }
     }
@@ -1792,7 +1784,7 @@ public class Digester extends DefaultHan
         try {
             return params.peek();
         } catch (EmptyStackException e) {
-            log.warn("Empty stack (returning null)");
+            log.warn(sm.getString("digester.emptyStack"));
             return null;
         }
     }
@@ -1813,7 +1805,7 @@ public class Digester extends DefaultHan
             }
             return params.pop();
         } catch (EmptyStackException e) {
-            log.warn("Empty stack (returning null)");
+            log.warn(sm.getString("digester.emptyStack"));
             return null;
         }
     }
@@ -1856,15 +1848,15 @@ public class Digester extends DefaultHan
             }
         }
         if (locator != null) {
-            String error = "Error at (" + locator.getLineNumber() + ", " + 
locator.getColumnNumber()
-                    + ") : " + message;
+            String error = sm.getString("digester.errorLocation",
+                    locator.getLineNumber(), locator.getColumnNumber(), 
message);
             if (e != null) {
                 return new SAXParseException(error, locator, e);
             } else {
                 return new SAXParseException(error, locator);
             }
         }
-        log.error("No Locator!");
+        log.error(sm.getString("digester.noLocator"));
         if (e != null) {
             return new SAXException(message, e);
         } else {

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/digester/FactoryCreateRule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/FactoryCreateRule.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/FactoryCreateRule.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/FactoryCreateRule.java 
Tue Dec 11 15:09:26 2018
@@ -101,8 +101,8 @@ public class FactoryCreateRule extends R
             } catch (Exception e) {
                 // log message and error
                 if (digester.log.isInfoEnabled()) {
-                    digester.log.info("[FactoryCreateRule] Create exception 
ignored: " +
-                        ((e.getMessage() == null) ? e.getClass().getName() : 
e.getMessage()));
+                    digester.log.info(sm.getString("rule.createError",
+                        ((e.getMessage() == null) ? e.getClass().getName() : 
e.getMessage())));
                     if (digester.log.isDebugEnabled()) {
                         digester.log.debug("[FactoryCreateRule] Ignored 
exception:", e);
                     }

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/digester/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/LocalStrings.properties?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/LocalStrings.properties 
[UTF-8] (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/LocalStrings.properties 
[UTF-8] Tue Dec 11 15:09:26 2018
@@ -13,6 +13,24 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-digester.encodingInvalid=The encoding [{0}] is not recognised by the JRE and 
will be ignored
+digester.createParserError=Error creating SAX parser
+digester.emptyStack=Empty stack, returning null
+digester.emptyStackError=Empty stack
+digester.encodingInvalid=The encoding [{0}] is not recognized by the JRE and 
will be ignored
+digester.error.begin=Begin event threw exception
+digester.error.body=Body event threw exception
+digester.error.end=End event threw exception
+digester.error.finish=Finish event threw exception
+digester.errorLocation=Error at line [{0}] column [{1}]: [{2}]
 digester.failedToUpdateAttributes=Attribute [{0}] failed to update and remains 
[{1}]
 digester.failedToUpdateSystemProperty=System property [{0}] failed to update 
and remains [{1}]
+digester.parseError=Parse error at line [{0}] column [{1}]
+digester.parseErrorFatal=Parse fatal error at line [{0}] column [{1}]
+digester.parseWarning=Parse warning at line [{0}] column [{1}]
+digester.propertySourceLoadError=Error loading property source [{0}]
+digester.noLocator=No Locator
+digester.noRulesFound=No rules found matching [{0}]
+
+rule.createError=Error creating object: [{0}]
+rule.noClassName=No class name specified for [{0}] [{1}]
+rule.noProperty=Match [{0}] failed to set property [{1}] to [{2}]

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectCreateRule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectCreateRule.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectCreateRule.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectCreateRule.java Tue 
Dec 11 15:09:26 2018
@@ -108,8 +108,7 @@ public class ObjectCreateRule extends Ru
         }
 
         if (realClassName == null) {
-            throw new NullPointerException("No class name specified for " +
-                    namespace + " " + name);
+            throw new NullPointerException(sm.getString("rule.noClassName", 
namespace, name));
         }
 
         // Instantiate the new object and push it on the context stack

Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/Rule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/Rule.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/Rule.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/Rule.java Tue Dec 11 
15:09:26 2018
@@ -16,6 +16,7 @@
  */
 package org.apache.tomcat.util.digester;
 
+import org.apache.tomcat.util.res.StringManager;
 import org.xml.sax.Attributes;
 
 /**
@@ -24,6 +25,8 @@ import org.xml.sax.Attributes;
  */
 public abstract class Rule {
 
+    protected static final StringManager sm = 
StringManager.getManager(Rule.class);
+
     // ----------------------------------------------------------- Constructors
 
     /**

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/digester/SetPropertiesRule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/SetPropertiesRule.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/SetPropertiesRule.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/SetPropertiesRule.java 
Tue Dec 11 15:09:26 2018
@@ -72,9 +72,7 @@ public class SetPropertiesRule extends R
             if (!digester.isFakeAttribute(top, name)
                     && !IntrospectionUtils.setProperty(top, name, value)
                     && digester.getRulesValidation()) {
-                digester.log.warn("[SetPropertiesRule]{" + digester.match +
-                        "} Setting property '" + name + "' to '" +
-                        value + "' did not find a matching property.");
+                digester.log.warn(sm.getString("rule.noProperty", 
digester.match, name, value));
             }
         }
 

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/util/security/ConcurrentMessageDigest.java 
Tue Dec 11 15:09:26 2018
@@ -23,6 +23,8 @@ import java.util.Map;
 import java.util.Queue;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
+import org.apache.tomcat.util.res.StringManager;
+
 /**
  * A thread safe wrapper around {@link MessageDigest} that does not make use
  * of ThreadLocal and - broadly - only creates enough MessageDigest objects
@@ -30,6 +32,8 @@ import java.util.concurrent.ConcurrentLi
  */
 public class ConcurrentMessageDigest {
 
+    private static final StringManager sm = 
StringManager.getManager(ConcurrentMessageDigest.class);
+
     private static final String MD5 = "MD5";
     private static final String SHA1 = "SHA-1";
 
@@ -47,7 +51,7 @@ public class ConcurrentMessageDigest {
             init(MD5);
             init(SHA1);
         } catch (NoSuchAlgorithmException e) {
-            throw new IllegalArgumentException(e);
+            throw new 
IllegalArgumentException(sm.getString("concurrentMessageDigest.noDigest"), e);
         }
     }
 
@@ -68,7 +72,7 @@ public class ConcurrentMessageDigest {
 
         Queue<MessageDigest> queue = queues.get(algorithm);
         if (queue == null) {
-            throw new IllegalStateException("Must call init() first");
+            throw new 
IllegalStateException(sm.getString("concurrentMessageDigest.noDigest"));
         }
 
         MessageDigest md = queue.poll();
@@ -78,7 +82,7 @@ public class ConcurrentMessageDigest {
             } catch (NoSuchAlgorithmException e) {
                 // Ignore. Impossible if init() has been successfully called
                 // first.
-                throw new IllegalStateException("Must call init() first");
+                throw new 
IllegalStateException(sm.getString("concurrentMessageDigest.noDigest"), e);
             }
         }
 

Added: tomcat/trunk/java/org/apache/tomcat/util/security/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/security/LocalStrings.properties?rev=1848691&view=auto
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/security/LocalStrings.properties 
(added)
+++ tomcat/trunk/java/org/apache/tomcat/util/security/LocalStrings.properties 
Tue Dec 11 15:09:26 2018
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+concurrentMessageDigest.noDigest=Digest algorithm unavailable

Propchange: 
tomcat/trunk/java/org/apache/tomcat/util/security/LocalStrings.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: tomcat/trunk/java/org/apache/tomcat/util/threads/TaskQueue.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/threads/TaskQueue.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/threads/TaskQueue.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/threads/TaskQueue.java Tue Dec 11 
15:09:26 2018
@@ -21,6 +21,8 @@ import java.util.concurrent.LinkedBlocki
 import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.TimeUnit;
 
+import org.apache.tomcat.util.res.StringManager;
+
 /**
  * As task queue specifically designed to run with a thread pool executor. The
  * task queue is optimised to properly utilize threads within a thread pool
@@ -31,6 +33,8 @@ import java.util.concurrent.TimeUnit;
 public class TaskQueue extends LinkedBlockingQueue<Runnable> {
 
     private static final long serialVersionUID = 1L;
+    protected static final StringManager sm = StringManager
+            .getManager("org.apache.tomcat.util.threads.res");
 
     private transient volatile ThreadPoolExecutor parent = null;
 
@@ -55,12 +59,12 @@ public class TaskQueue extends LinkedBlo
     }
 
     public boolean force(Runnable o) {
-        if ( parent==null || parent.isShutdown() ) throw new 
RejectedExecutionException("Executor not running, can't force a command into 
the queue");
+        if ( parent==null || parent.isShutdown() ) throw new 
RejectedExecutionException(sm.getString("taskQueue.notRunning"));
         return super.offer(o); //forces the item onto the queue, to be used if 
the task is rejected
     }
 
     public boolean force(Runnable o, long timeout, TimeUnit unit) throws 
InterruptedException {
-        if ( parent==null || parent.isShutdown() ) throw new 
RejectedExecutionException("Executor not running, can't force a command into 
the queue");
+        if ( parent==null || parent.isShutdown() ) throw new 
RejectedExecutionException(sm.getString("taskQueue.notRunning"));
         return super.offer(o,timeout,unit); //forces the item onto the queue, 
to be used if the task is rejected
     }
 

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java 
Tue Dec 11 15:09:26 2018
@@ -171,7 +171,7 @@ public class ThreadPoolExecutor extends
                 try {
                     if (!queue.force(command, timeout, unit)) {
                         submittedCount.decrementAndGet();
-                        throw new RejectedExecutionException("Queue capacity 
is full.");
+                        throw new 
RejectedExecutionException(sm.getString("threadPoolExecutor.queueFull"));
                     }
                 } catch (InterruptedException x) {
                     submittedCount.decrementAndGet();

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/threads/res/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/threads/res/LocalStrings.properties?rev=1848691&r1=1848690&r2=1848691&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/util/threads/res/LocalStrings.properties 
[UTF-8] (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/util/threads/res/LocalStrings.properties 
[UTF-8] Tue Dec 11 15:09:26 2018
@@ -13,4 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+taskQueue.notRunning=Executor not running, can't force a command into the queue
+
+threadPoolExecutor.queueFull=Queue capacity is full
 threadPoolExecutor.threadStoppedToAvoidPotentialLeak=Stopping thread [{0}] to 
avoid potential memory leaks after a context was stopped.



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

Reply via email to