X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2FLocaleUtils.java;h=4bfda139d686345f261dd9675de1c500b9cb2eda;hb=a81a19a9a3e45a89ed3b7c783bd5747cc27f6aa1;hp=f02e6a2b4439f57a3e5a23f69aaecbda3dcf1c46;hpb=b71546ddc74d6ca49d252806aafd491c75dfe1fb;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/LocaleUtils.java b/org.argeo.cms/src/org/argeo/cms/LocaleUtils.java index f02e6a2b4..4bfda139d 100644 --- a/org.argeo.cms/src/org/argeo/cms/LocaleUtils.java +++ b/org.argeo.cms/src/org/argeo/cms/LocaleUtils.java @@ -1,13 +1,8 @@ package org.argeo.cms; -import java.security.AccessController; -import java.util.ArrayList; -import java.util.List; import java.util.Locale; import java.util.ResourceBundle; -import javax.security.auth.Subject; - import org.argeo.api.cms.CmsLog; import org.argeo.cms.auth.CurrentUser; @@ -64,9 +59,10 @@ public class LocaleUtils { /** Where the search for a message is actually performed. */ public static String local(String key, Locale locale, String resource, ClassLoader classLoader) { ResourceBundle rb = ResourceBundle.getBundle(resource, locale, classLoader); - assert key.length() > 2; - if (isLocaleKey(key)) + if (isLocaleKey(key)) { + assert key.length() > 1; key = key.substring(1); + } if (rb.containsKey(key)) return rb.getString(key); else // for simple cases, the key will actually be the English word @@ -102,7 +98,7 @@ public class LocaleUtils { static Locale getCurrentLocale() { Locale currentLocale = null; - if (Subject.getSubject(AccessController.getContext()) != null) + if (CurrentUser.isAvailable()) currentLocale = CurrentUser.locale(); else if (threadLocale.get() != null) { currentLocale = threadLocale.get(); @@ -118,26 +114,4 @@ public class LocaleUtils { // return Locale.getDefault(); } - /** Returns null if argument is null. */ - public static List asLocaleList(Object locales) { - if (locales == null) - return null; - ArrayList availableLocales = new ArrayList(); - String[] codes = locales.toString().split(","); - for (int i = 0; i < codes.length; i++) { - String code = codes[i]; - // variant not supported - int indexUnd = code.indexOf("_"); - Locale locale; - if (indexUnd > 0) { - String language = code.substring(0, indexUnd); - String country = code.substring(indexUnd + 1); - locale = new Locale(language, country); - } else { - locale = new Locale(code); - } - availableLocales.add(locale); - } - return availableLocales; - } }