[jboss-jira] [JBoss JIRA] (LOGTOOL-116) Locale is not used in the actual string format.

James Perkins (JIRA) issues at jboss.org
Fri Nov 18 18:56:00 EST 2016


     [ https://issues.jboss.org/browse/LOGTOOL-116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Perkins reopened LOGTOOL-116:
-----------------------------------


> Locale is not used in the actual string format.
> -----------------------------------------------
>
>                 Key: LOGTOOL-116
>                 URL: https://issues.jboss.org/browse/LOGTOOL-116
>             Project: Log Tool
>          Issue Type: Bug
>    Affects Versions: 2.0.1.Final
>            Reporter: David Lloyd
>            Assignee: James Perkins
>            Priority: Minor
>             Fix For: 2.0.2.Final, 2.1.0.Alpha1
>
>
> The {{String.format()}} method accepts a Locale parameter.  We should be using the Locale of the implementation class.  Since the format method is called from a final method, we need a polymorphic way of getting the Locale instance; therefore, a protected method should be added to the generated base class like this:
> {code}
>     protected Locale getLoggingLocale() {
>         return Locale.ROOT;
>     }
> {code}
> Then each subclass should return a locale object specific to that class.  The locale object returned should either be one of the following:
> * Locale.CANADA - for "en_CA"
> * Locale.CANADA_FRENCH - for "fr_CA"
> * Locale.CHINESE - for "zh"
> * Locale.ENGLISH - for "en"
> * Locale.FRANCE - for "fr_FR"
> * Locale.FRENCH - for "fr"
> * Locale.GERMAN - for "de"
> * Locale.GERMANY - for "de_DE"
> * Locale.ITALIAN - for "it"
> * Locale.ITALY - for "it_IT"
> * Locale.JAPAN	 - for "ja_JP"
> * Locale.JAPANESE - for "ja"
> * Locale.KOREA - for "ko_KR"
> * Locale.KOREAN - for "ko"
> * Locale.SIMPLIFIED_CHINESE - for "zh_CN"
> * Locale.TRADITIONAL_CHINESE - for "zh_TW"
> * Locale.UK - for "en_GB"
> * Locale.US - for "en_US"
> If the locale is not one of the above, then the correct Locale should be created in a private constant field of the class like this:
> {code}
>     private static final Locale LOCALE = new Locale("hu");
>     // or...
>     private static final Locale LOCALE = new Locale("hu", "HU");
>     // or...
>     private static final Locale LOCALE = new Locale("hu", "HU", "technl");
>     // ...and then...
>     @Override
>     protected Locale getLoggingLocale() {
>         return LOCALE;
>     }
> {code}
> Finally, all calls to {{format()}} should be rewritten to use the locale *from the method* like this:
> {code}
>             final NamingException result = new NamingException(String.format(getLoggingLocale(), objectFromReference$str()));
> {code}



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jboss-jira mailing list