Example usage for org.apache.commons.lang3 LocaleUtils isAvailableLocale

List of usage examples for org.apache.commons.lang3 LocaleUtils isAvailableLocale

Introduction

In this page you can find the example usage for org.apache.commons.lang3 LocaleUtils isAvailableLocale.

Prototype

public static boolean isAvailableLocale(final Locale locale) 

Source Link

Document

Checks if the locale specified is in the list of available locales.

Usage

From source file:com.opensymphony.xwork2.DefaultLocaleProvider.java

@Override
public boolean isValidLocale(Locale locale) {
    return LocaleUtils.isAvailableLocale(locale);
}

From source file:org.craftercms.engine.targeting.impl.ConfigAwareCookieLocaleResolver.java

protected Locale getDefaultLocaleFromConfig() {
    Configuration config = ConfigUtils.getCurrentConfig();
    if (config != null) {
        Locale defaultLocale = LocaleUtils.toLocale(config.getString(DEFAULT_LOCALE_CONFIG_KEY));
        if (defaultLocale != null && !LocaleUtils.isAvailableLocale(defaultLocale)) {
            if (logger.isDebugEnabled()) {
                logger.debug(defaultLocale + " is not one of the available locales");
            }//from   w  w  w .j a v  a  2  s  . c o  m

            return null;
        }

        return defaultLocale;
    } else {
        return null;
    }
}

From source file:org.tinymediamanager.scraper.imdb.ImdbParser.java

protected/*
          * generates the accept-language http header for imdb
          *//*from  www  .java2 s .co m*/
static String getAcceptLanguage(String language, String country) {
    List<String> languageString = new ArrayList<>();

    // first: take the preferred language from settings,
    // but validate whether it is legal or not
    if (StringUtils.isNotBlank(language) && StringUtils.isNotBlank(country)) {
        if (LocaleUtils.isAvailableLocale(new Locale(language, country))) {
            String combined = language + "-" + country;
            languageString.add(combined.toLowerCase(Locale.ROOT));
        }
    }

    // also build langu & default country
    Locale localeFromLanguage = UrlUtil.getLocaleFromLanguage(language);
    if (localeFromLanguage != null) {
        String combined = language + "-" + localeFromLanguage.getCountry().toLowerCase(Locale.ROOT);
        if (!languageString.contains(combined)) {
            languageString.add(combined);
        }
    }

    if (StringUtils.isNotBlank(language)) {
        languageString.add(language.toLowerCase(Locale.ROOT));
    }

    // second: the JRE language
    Locale jreLocale = Locale.getDefault();
    String combined = (jreLocale.getLanguage() + "-" + jreLocale.getCountry()).toLowerCase(Locale.ROOT);
    if (!languageString.contains(combined)) {
        languageString.add(combined);
    }

    if (!languageString.contains(jreLocale.getLanguage().toLowerCase(Locale.ROOT))) {
        languageString.add(jreLocale.getLanguage().toLowerCase(Locale.ROOT));
    }

    // third: fallback to en
    if (!languageString.contains("en-us")) {
        languageString.add("en-us");
    }
    if (!languageString.contains("en")) {
        languageString.add("en");
    }

    // build a http header for the preferred language
    StringBuilder languages = new StringBuilder();
    float qualifier = 1f;

    for (String line : languageString) {
        if (languages.length() > 0) {
            languages.append(",");
        }
        languages.append(line);
        if (qualifier < 1) {
            languages.append(String.format(Locale.US, ";q=%1.1f", qualifier));
        }
        qualifier -= 0.1;
    }

    return languages.toString().toLowerCase(Locale.ROOT);
}

From source file:org.xwiki.rendering.internal.macro.chart.source.LocaleConfiguration.java

/**
 * Let an implementation set a parameter.
 *
 * @param key The key of the parameter.//from   w w  w  .  j  av a 2 s  . c  o  m
 * @param value The value of the parameter.
 * @return {@code true} if the parameter was claimed.
 * @throws MacroExecutionException if the parameter is invalid in some way.
 */
public boolean setParameter(String key, String value) throws MacroExecutionException {
    boolean claimed = true;

    if (LOCALE_PARAM.equals(key)) {
        boolean valid = true;
        Locale l;
        try {
            l = LocaleUtils.toLocale(value);
            if (!LocaleUtils.isAvailableLocale(l)) {
                valid = false;
            } else {
                this.locale = l;
            }
        } catch (IllegalArgumentException e) {
            valid = false;
        }
        if (!valid) {
            throw new MacroExecutionException(String.format("Invalid locale string [%s].", value));
        }
    } else if (DATEFORMAT_PARAM.equals(key)) {
        this.dateFormatString = value;
    } else {
        claimed = false;
    }

    return claimed;
}