r500441 | eross | 2007-01-26 19:01:38 -0600 (Fri, 26 Jan 2007) | 2 lines
Bug 40937 - Fix use of String.toUpper and toLowerCase which do not
work as
expected in some international locales, e.g. Turkish.
Index: src/java/org/apache/log4j/HTMLLayout.java
===================================================================
328c328
< sbuf.append(c.getStyleClass(null).toLowerCase());
---
> sbuf.append(c.getStyleClass(null));
371c371
< String level = event.getLevel().toString().toLowerCase();
---
> String level = event.getLevel().toString();
387c387
< buf.append(c.getStyleClass(event).toLowerCase());
---
> buf.append(c.getStyleClass(event));
Index: src/java/org/apache/log4j/db/dialect/Util.java
===================================================================
23a24
> import java.util.Locale;
26a28
> * Database utilities.
29d30
< *
38a40,42
> /**
> * Returns a dialect based on the product name in the [EMAIL PROTECTED]
DatabaseMetaData}.
> */
44c48
< String dbName = meta.getDatabaseProductName().toLowerCase();
---
> String dbName = meta.getDatabaseProductName().toLowerCase
(Locale.ENGLISH);
Index: src/java/org/apache/log4j/Level.java
===================================================================
24a25
> import java.util.Locale;
215c216
< String s = sArg.toUpperCase();
---
> String s = sArg.toUpperCase(Locale.ENGLISH);
Index: src/java/org/apache/log4j/helpers/OptionConverter.java
===================================================================
29a30
> import java.util.Locale;
278c279
< String s = value.trim().toUpperCase();
---
> String s = value.trim().toUpperCase(Locale.ENGLISH);
Index: src/java/org/apache/log4j/helpers/DateTimeDateFormat.java
===================================================================
37,38d36
< /** Short names for the months. */
< String[] shortMonths = new DateFormatSymbols().getShortMonths();
Index: src/java/org/apache/log4j/helpers/DateLayout.java
===================================================================
111c111
< dateFormatOption = value.toUpperCase();
---
> dateFormatOption = value;
Index: src/java/org/apache/log4j/helpers/UtilLoggingLevel.java
===================================================================
20a21
> import java.util.Locale;
114c115
< String s = sArg.toUpperCase();
---
> String s = sArg.toUpperCase(Locale.ENGLISH);
120d120
< //if(s.equals("FINE")) return Level.FINE;
129c129
< if (s.equals("CONFI")) {
---
> if (s.equals("CONFIG")) {
Index: src/java/org/apache/log4j/config/PropertySetter.java
===================================================================
34a35
> import java.util.Locale;
347c348
< return name.substring(0, 1).toUpperCase() + name.substring(1);
---
> return name.substring(0, 1).toUpperCase(Locale.ENGLISH) +
name.substring(1);
Index: src/java/org/apache/log4j/rule/RuleFactory.java
===================================================================
22a23
> import java.util.Locale;
77c78,81
< return ((symbol != null) && (rules.contains(symbol.toLowerCase
())));
---
> if (symbol == null)
> return false;
> symbol = symbol.toLowerCase(Locale.ENGLISH);
> return rules.contains(symbol);
Index: src/java/org/apache/log4j/rule/LevelInequalityRule.java
===================================================================
33,38d32
< private static List levelList;
< private static List utilLoggingLevelList;
<
< static {
< populateLevels();
< }
43,64d36
< private static void populateLevels() {
< levelList = new LinkedList();
<
< levelList.add(Level.FATAL.toString());
< levelList.add(Level.ERROR.toString());
< levelList.add(Level.WARN.toString());
< levelList.add(Level.INFO.toString());
< levelList.add(Level.DEBUG.toString());
< levelList.add(Level.TRACE.toString());
<
< utilLoggingLevelList = new LinkedList();
<
< utilLoggingLevelList.add(UtilLoggingLevel.SEVERE.toString());
< utilLoggingLevelList.add(UtilLoggingLevel.WARNING.toString());
< utilLoggingLevelList.add(UtilLoggingLevel.INFO.toString());
< utilLoggingLevelList.add(UtilLoggingLevel.CONFIG.toString());
< utilLoggingLevelList.add(UtilLoggingLevel.FINE.toString());
< utilLoggingLevelList.add(UtilLoggingLevel.FINER.toString());
< utilLoggingLevelList.add(UtilLoggingLevel.FINEST.toString());
<
< }
<
74,78c46,50
< if (levelList.contains(value.toUpperCase())) {
< thisLevel = Level.toLevel(value.toUpperCase());
< } else if (utilLoggingLevelList.contains(value.toUpperCase
())){
< thisLevel = UtilLoggingLevel.toLevel(value.toUpperCase());
< } else {
---
> thisLevel = Level.toLevel(value, null);
> if (thisLevel == null) {
> thisLevel = UtilLoggingLevel.toLevel(value);
> }
> if (thisLevel == null) {
Index: src/java/org/apache/log4j/rule/PartialTextMatchRule.java
===================================================================
21a22
> import java.util.Locale;
66,68c67,70
<
< return ((p2 != null) && (value != null)
< && (p2.toString().toLowerCase().indexOf(value.toLowerCase()) >
-1));
---
> if (p2 == null || value == null)
> return false;
> String s = p2.toString().toLowerCase(Locale.ENGLISH);
> return s.indexOf(value.toLowerCase(Locale.ENGLISH)) != -1;
Index: src/java/org/apache/log4j/rule/LevelEqualsRule.java
===================================================================
21a22
> import java.util.Locale;
37,42d37
< private static List levelList = new LinkedList();
<
< static {
< populateLevels();
< }
<
47,57d41
< private static void populateLevels() {
< levelList = new LinkedList();
<
< levelList.add(Level.FATAL.toString());
< levelList.add(Level.ERROR.toString());
< levelList.add(Level.WARN.toString());
< levelList.add(Level.INFO.toString());
< levelList.add(Level.DEBUG.toString());
< levelList.add(Level.TRACE.toString());
< }
<
59,63c43,45
< Level thisLevel = null;
< if (levelList.contains(value.toUpperCase())) {
< thisLevel = Level.toLevel(value.toUpperCase());
< } else {
< thisLevel = UtilLoggingLevel.toLevel(value.toUpperCase
());
---
> Level thisLevel = Level.toLevel(value, null);
> if (thisLevel == null) {
> thisLevel = UtilLoggingLevel.toLevel(value);
65d46
<
81d61
< populateLevels();
Index: src/java/org/apache/log4j/rule/InFixToPostFix.java
===================================================================
20a21
> import java.util.Locale;
92c93
< symbol = symbol.toLowerCase();
---
> symbol = symbol.toLowerCase(Locale.ENGLISH);
98,99c99,100
< symbol1 = symbol1.toLowerCase();
< symbol2 = symbol2.toLowerCase();
---
> symbol1 = symbol1.toLowerCase(Locale.ENGLISH);
> symbol2 = symbol2.toLowerCase(Locale.ENGLISH);
Index: src/java/org/apache/log4j/lbel/TokenStream.java
===================================================================
23a24
> import java.util.Locale;
100c101
< String lowerCaseTxt = txt.toLowerCase();
---
> String lowerCaseTxt = txt.toLowerCase(Locale.ENGLISH);
Index: tests/src/java/org/apache/log4j/DRFATestCase.java
===================================================================
23a24
> import java.util.Locale;
416c417
< new File(filename + new SimpleDateFormat
(pattern).format(new Date()));
---
> new File(filename + new SimpleDateFormat(pattern,
Locale.ENGLISH).format(new Date()));
Index: tests/src/java/org/apache/log4j/xml/XLevel.java
===================================================================
18a19,20
> import java.util.Locale;
>
55c57
< String stringVal = sArg.toUpperCase();
---
> String stringVal = sArg.toUpperCase(Locale.ENGLISH);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]