Ticket #4163: josm-fix-case-insensitive-key-value-search.patch

File josm-fix-case-insensitive-key-value-search.patch, 1.4 KB (added by avarab@…, 14 years ago)

Move variables around to avoid mixing up class/local variables and restore lower-casing of the user-supplied value removed in [2510]

  • src/org/openstreetmap/josm/actions/search/SearchCompiler.java

     
    158158                    }
    159159                }
    160160            } else {
    161                 String value = null;
     161                String mv = null;
    162162
    163163                if (key.equals("timestamp")) {
    164                     value = DateUtils.fromDate(osm.getTimestamp());
     164                    mv = DateUtils.fromDate(osm.getTimestamp());
    165165                } else {
    166                     value = osm.get(key);
     166                    mv = osm.get(key);
    167167                }
    168168
    169                 if (value == null)
     169                if (mv == null)
    170170                    return false;
    171171
    172                 String v1 = caseSensitive ? value : value.toLowerCase();
     172                String v1 = caseSensitive ? mv : mv.toLowerCase();
     173                String v2 = caseSensitive ? value : value.toLowerCase();
    173174
    174175                // is not Java 1.5
    175176                //v1 = java.text.Normalizer.normalize(v1, java.text.Normalizer.Form.NFC);
    176177                //v2 = java.text.Normalizer.normalize(v2, java.text.Normalizer.Form.NFC);
    177                 return v1.indexOf(value) != -1;
     178                return v1.indexOf(v2) != -1;
    178179            }
    179180
    180181            return false;