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)