Example usage for com.liferay.portal.language LanguageResources getSuperLocale

List of usage examples for com.liferay.portal.language LanguageResources getSuperLocale

Introduction

In this page you can find the example usage for com.liferay.portal.language LanguageResources getSuperLocale.

Prototype

public static Locale getSuperLocale(Locale locale) 

Source Link

Usage

From source file:com.liferay.portlet.PortletBagFactory.java

License:Open Source License

protected InputStream getResourceBundleInputStream(String resourceBundleName, Locale locale) {

    resourceBundleName = resourceBundleName.replace(StringPool.PERIOD, StringPool.SLASH);

    Locale newLocale = locale;//from  ww w . j  av a  2  s.c  o  m

    InputStream inputStream = null;

    while (inputStream == null) {
        locale = newLocale;

        StringBundler sb = new StringBundler(4);

        sb.append(resourceBundleName);

        if (locale != null) {
            String localeName = locale.toString();

            if (localeName.length() > 0) {
                sb.append(StringPool.UNDERLINE);
                sb.append(localeName);
            }
        }

        if (!resourceBundleName.endsWith(".properties")) {
            sb.append(".properties");
        }

        String localizedResourceBundleName = sb.toString();

        if (_log.isInfoEnabled()) {
            _log.info("Attempting to load " + localizedResourceBundleName);
        }

        inputStream = _classLoader.getResourceAsStream(localizedResourceBundleName);

        if (locale == null) {
            break;
        }

        newLocale = LanguageResources.getSuperLocale(locale);

        if (newLocale == null) {
            break;
        }

        if (newLocale.equals(locale)) {
            break;
        }
    }

    return inputStream;
}