You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Thomas Mueller (JIRA)" <ji...@apache.org> on 2014/05/05 14:34:16 UTC
[jira] [Commented] (OAK-260) Avoid the "Turkish Locale Problem"
[ https://issues.apache.org/jira/browse/OAK-260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13989464#comment-13989464 ]
Thomas Mueller commented on OAK-260:
------------------------------------
There are still a few cases:
{noformat}
grep -R --include=*.java "toLowerCase()" .
./oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LowerCaseImpl.java:
// TODO toLowerCase(): document the Turkish locale problem
./oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LowerCaseImpl.java:
return PropertyValues.newString(value.toLowerCase());
./oak-core/src/main/java/org/apache/jackrabbit/oak/query/fulltext/FullTextTerm.java:
this.filteredText = buff.toString().toLowerCase();
./oak-core/src/main/java/org/apache/jackrabbit/oak/query/fulltext/FullTextTerm.java:
value = value.toLowerCase();
./oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableBaseProvider.java:
return generateUUID(authorizableId.toLowerCase());
./oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/UserImportTest.java:
assertTrue(pwValue.toLowerCase().startsWith("{sha"));
./oak-mk-remote/src/main/java/org/apache/jackrabbit/mk/server/Request.java:
headers.put(parts[0].trim().toLowerCase(), parts[1].trim());
grep -R --include=*.java "toUpperCase()" .
./oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/UpperCaseImpl.java:
return PropertyValues.newString(value.toUpperCase());
./oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/JackrabbitNodeTest.java:
node.rename(name.toUpperCase());
{noformat}
> Avoid the "Turkish Locale Problem"
> ----------------------------------
>
> Key: OAK-260
> URL: https://issues.apache.org/jira/browse/OAK-260
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: core, jcr
> Reporter: Thomas Mueller
> Assignee: Thomas Mueller
> Fix For: 1.1
>
>
> We currently use String.toUpperCase() and String.toLowerCase() and in some cases where it is not appropriate. When running using the Turkish profile, this will not work as expected. See also
> http://mattryall.net/blog/2009/02/the-infamous-turkish-locale-bug
> Problematic are String.toUpperCase(), String.toLowerCase(). String.equalsIgnoreCase(..) isn't a problem.
--
This message was sent by Atlassian JIRA
(v6.2#6252)