[ 
https://issues.apache.org/jira/browse/DERBY-3142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536543
 ] 

Knut Anders Hatlen commented on DERBY-3142:
-------------------------------------------

I played a little more with my patch, and then I found a bug in 
LocalizedResource that was exposed by the fix in sysinfo.Main. If 
derby.ui.locale was set to "none", the wrong message bundle was used. 
LocalizedResource.setResource() contains this code fragment:

                if ( locale == null || locale.toString().equals("none") ){
                        res = ResourceBundle.getBundle(MESSAGE_FILE);
                }
                else
                try {
                        res = ResourceBundle.getBundle(messageFileName,locale);
                }
                catch(java.util.MissingResourceException e){
                        res = 
ResourceBundle.getBundle(messageFileName,Locale.ENGLISH);
                }

The first branch of the if statement should use messageFileName instead of 
MESSAGE_FILE. This bug wasn't exposed before because the two variables always 
have the same value for the other tools.

> sysinfo ignores derby.ui.locale
> -------------------------------
>
>                 Key: DERBY-3142
>                 URL: https://issues.apache.org/jira/browse/DERBY-3142
>             Project: Derby
>          Issue Type: Bug
>          Components: Localization, Tools
>    Affects Versions: 10.2.2.0, 10.3.1.4, 10.4.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: d3142-1.diff
>
>
> Sysinfo messages are localized using the system's default locale instead of 
> the locale specified by derby.ui.locale.
> Example:
> $ java -Dderby.ui.locale=de_DE -jar derbyrun.jar sysinfo|head                 
>  
> ------------------ Java Information ------------------
> Java Version:    1.6.0_01
> Java Vendor:     Sun Microsystems Inc.
> Java home:       /usr/jdk/instances/jdk1.6.0/jre
> Java classpath:  derbyrun.jar
> OS name:         SunOS
> OS architecture: x86
> OS version:      5.11
> Java user name:  kah
> Java user home:  /home/kah
> Setting the default locale works correctly:
> $ LC_ALL=de_DE.UTF-8 java -jar derbyrun.jar sysinfo|head
> ------------------ Java-Informationen ------------------
> Java-Version: 1.6.0_01
> Java-Anbieter: Sun Microsystems Inc.
> Java-Home: /usr/jdk/instances/jdk1.6.0/jre
> Java-Klassenpfad: derbyrun.jar
> Name des Betriebssystems: SunOS
> Architektur des Betriebssystems: x86
> Betriebssystemversion: 5.11
> Java-Benutzername: kah
> Java-Benutzerausgangsverzeichnis: /home/kah

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to