Ignore:
Timestamp:
2015-05-21T01:18:35+02:00 (9 years ago)
Author:
Don-vip
Message:

When doing a String.toLowerCase()/toUpperCase() call, use a Locale. This avoids problems with certain locales, i.e. Lithuanian or Turkish. See PMD UseLocaleWithCaseConversions rule and String.toLowerCase() javadoc.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java

    r8394 r8404  
    1111import java.util.Collection;
    1212import java.util.HashMap;
     13import java.util.Locale;
    1314import java.util.Map;
    1415import java.util.regex.Matcher;
     
    477478                this.valuePattern = null;
    478479            } else {
    479                 this.key = key.toLowerCase();
     480                this.key = key.toLowerCase(Locale.ENGLISH);
    480481                this.value = value;
    481482                this.keyPattern = null;
     
    523524                    return false;
    524525
    525                 String v1 = caseSensitive ? mv : mv.toLowerCase();
    526                 String v2 = caseSensitive ? value : value.toLowerCase();
     526                String v1 = caseSensitive ? mv : mv.toLowerCase(Locale.ENGLISH);
     527                String v2 = caseSensitive ? value : value.toLowerCase(Locale.ENGLISH);
    527528
    528529                v1 = Normalizer.normalize(v1, Normalizer.Form.NFC);
     
    533534            return false;
    534535        }
    535         @Override public String toString() {return key+"="+value;}
     536        @Override
     537        public String toString() {
     538            return key + "=" + value;
     539        }
    536540    }
    537541
     
    719723                this.searchRegex = null;
    720724            } else {
    721                 this.search = s.toLowerCase();
     725                this.search = s.toLowerCase(Locale.ENGLISH);
    722726                this.searchRegex = null;
    723727            }
     
    744748                } else {
    745749                    if (!caseSensitive) {
    746                         key = key.toLowerCase();
    747                         value = value.toLowerCase();
     750                        key = key.toLowerCase(Locale.ENGLISH);
     751                        value = value.toLowerCase(Locale.ENGLISH);
    748752                    }
    749753
Note: See TracChangeset for help on using the changeset viewer.