[ 
https://issues.apache.org/jira/browse/SOLR-7258?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shalin Shekhar Mangar updated SOLR-7258:
----------------------------------------
    Description: 
While tracing some TestBlobHandler failures with the thai locale I found that 
the problem was MessageFormat.format which when given a Number ultimately 
executes NumberFormat.getInstance(getLocale()).format(argument). In thai 
locale, this transforms the digit 1 to a thai character and hence fails the 
test.

We should audit all usages of MessageFormat.format to see if any Number objects 
are being passed as argument and wrap them with String.valueOf().

Edit - Actually most format operations use the default locale so we should just 
ban this API outright.

  was:
While tracing some TestBlobHandler failures with the thai locale I found that 
the problem was MessageFormat.format which when given a Number ultimately 
executes NumberFormat.getInstance(getLocale()).format(argument). In thai 
locale, this transforms the digit 1 to a thai character and hence fails the 
test.

We should audit all usages of MessageFormat.format to see if any Number objects 
are being passed as argument and wrap them with String.valueOf().

I don't think forbidden-api can catch such problems. Perhaps we just forbid 
MessageFormat.format itself?


> Add MessageFormat.format and MessageFormat no-arg constructor to 
> forbidden-apis
> -------------------------------------------------------------------------------
>
>                 Key: SOLR-7258
>                 URL: https://issues.apache.org/jira/browse/SOLR-7258
>             Project: Solr
>          Issue Type: Task
>            Reporter: Shalin Shekhar Mangar
>            Assignee: Shalin Shekhar Mangar
>             Fix For: 5.1
>
>
> While tracing some TestBlobHandler failures with the thai locale I found that 
> the problem was MessageFormat.format which when given a Number ultimately 
> executes NumberFormat.getInstance(getLocale()).format(argument). In thai 
> locale, this transforms the digit 1 to a thai character and hence fails the 
> test.
> We should audit all usages of MessageFormat.format to see if any Number 
> objects are being passed as argument and wrap them with String.valueOf().
> Edit - Actually most format operations use the default locale so we should 
> just ban this API outright.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to