org.apache.commons.lang3.LocaleUtils#toLocale ( )源码实例Demo

下面列出了org.apache.commons.lang3.LocaleUtils#toLocale ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: line-sdk-android   文件: TestSettingManager.java
@NonNull
public static TestSetting getSetting(@NonNull Context context, int id) {
    SharedPreferences sharedPreferences =
            context.getSharedPreferences(SHARED_PREFERENCE_KEY, Context.MODE_PRIVATE);
    String channelId = sharedPreferences.getString(DATA_KEY_PREFIX_CHANNEL_ID + id, "");
    if (TextUtils.isEmpty(channelId)) {
        return DEFAULT_SETTING;
    }

    Locale uiLocale;
    try {
        String localeStr = sharedPreferences.getString(DATA_KEY_PREFIX_UI_LOCALE + id, null);
        uiLocale = LocaleUtils.toLocale(localeStr);
    } catch (Exception e) {
        uiLocale = null;
    }

    return new TestSetting(channelId, uiLocale);
}
 
源代码2 项目: template-compiler   文件: LegacyMoneyFormatter.java
@Override
public void validateArgs(Arguments args) throws ArgumentsException {
  args.atMost(1);

  String localeStr = getLocaleArg(args);
  if (localeStr != null) {
    Locale locale;
    try {
      // LocaleUtils uses an underscore format (e.g. en_US), but the new Java standard
      // is a hyphenated format (e.g. en-US). This allows us to use LocaleUtils' validation.
      locale = LocaleUtils.toLocale(localeStr.replace('-', '_'));
    } catch (IllegalArgumentException e) {
      throw new ArgumentsException("Invalid locale: " + localeStr);
    }

    args.setOpaque(locale);
  } else {
    args.setOpaque(DEFAULT_LOCALE);
  }
}
 
源代码3 项目: engine   文件: 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");
            }

            return null;
        }

        return defaultLocale;
    } else {
        return null;
    }
}
 
源代码4 项目: logging-log4j2   文件: FastDateParserTest.java
@Test
public void testJpLocales() {

    final Calendar cal= Calendar.getInstance(GMT);
    cal.clear();
    cal.set(2003, Calendar.FEBRUARY, 10);
    cal.set(Calendar.ERA, GregorianCalendar.BC);

    final Locale locale = LocaleUtils.toLocale("zh"); {
        // ja_JP_JP cannot handle dates before 1868 properly

        final SimpleDateFormat sdf = new SimpleDateFormat(LONG_FORMAT, locale);
        final DateParser fdf = getInstance(LONG_FORMAT, locale);

        try {
            checkParse(locale, cal, sdf, fdf);
        } catch(final ParseException ex) {
            Assert.fail("Locale "+locale+ " failed with "+LONG_FORMAT+"\n" + trimMessage(ex.toString()));
        }
    }
}
 
源代码5 项目: line-sdk-android   文件: MenuFragment.java
@Nullable
private Locale getSelectedUILocale() {
    final String uiLocale = (String) uiLocaleSpinner.getSelectedItem();
    if (StringUtils.equals(uiLocale, LOCALE_USE_DEFAULT)) {
        // use default locale
        return null;
    } else {
        return LocaleUtils.toLocale(uiLocale);
    }
}
 
/**
 * From a set of i18n headers, such as 'Name:en', 'Name:km_KH', 'Description:en',
 * 'Description:km_KH' it returns a map with the localized name as keys, so here: 'Name' and
 * 'Description' and {@link LocalizedHeader} instances as values. Each {@link LocalizedHeader}
 * carries the link between a localized name and the possible locales that where found for that
 * name.
 * 
 * @param headerLine
 */
public static Map<String, LocalizedHeader> getLocalizedHeadersMap(String[] headerLine) {
	
	Map<String, LocalizedHeader> l10nHeaderMap = new HashMap<String, LocalizedHeader>();
	
	for (String i18nHeader : headerLine) {
		if (i18nHeader.startsWith(BaseLineProcessor.METADATA_PREFIX)) {
			continue;
		}
		
		String[] parts = StringUtils.split(i18nHeader, LOCALE_SEPARATOR);
		if (parts.length == 2) {
			String header = parts[0].trim().toLowerCase();
			if (!l10nHeaderMap.containsKey(header)) {
				l10nHeaderMap.put(header, new LocalizedHeader(header));
			}
			LocalizedHeader l10nHeader = l10nHeaderMap.get(header);
			Locale locale = LocaleUtils.toLocale(parts[1]);
			if (l10nHeader.getLocales().contains(locale)) {
				throw new IllegalArgumentException(
				        "The CSV header line cannot contains twice the same header: '" + i18nHeader + "'");
			}
			l10nHeader.getLocales().add(locale);
			
		}
	}
	return l10nHeaderMap;
}
 
/**
 * Infers the locale from a message properties file base name.
 * 
 * @param baseName A message properties file base name, eg. "my_properties_file_en_GB"
 * @return The locale, eg. "en_GB"
 * @throws IllegalArgumentException when no locale could be inferred
 */
public Locale getLocaleFromFileBaseName(String baseName) throws IllegalArgumentException {
	String[] parts = baseName.split("_");
	
	if (parts.length == 1) {
		throw new IllegalArgumentException(
		        "'" + baseName + "' is not suffixed with the string representation of a locale.");
	}
	
	String candidate = "";
	for (int i = parts.length - 1; i > 0; i--) {
		
		candidate = parts[i] + (candidate == "" ? "" : "_") + candidate;
		Locale locale;
		try {
			locale = LocaleUtils.toLocale(candidate);
		}
		catch (IllegalArgumentException e) {
			continue;
		}
		
		return locale;
	}
	
	throw new IllegalArgumentException(
	        "No valid locale could be inferred from the following file base name: '" + baseName + "'.");
}
 
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
  
  Locale locale;
  String localeParam = (String)args.remove(LOCALE_PARAM);
  if (null != localeParam) {
    locale = LocaleUtils.toLocale(localeParam);
  } else {
    locale = Locale.US; // because well-known patterns assume this
  }

  Object defaultTimeZoneParam = args.remove(DEFAULT_TIME_ZONE_PARAM);
  ZoneId defaultTimeZone = ZoneOffset.UTC;
  if (null != defaultTimeZoneParam) {
    defaultTimeZone = ZoneId.of(defaultTimeZoneParam.toString());
  }

  @SuppressWarnings({"unchecked"})
  Collection<String> formatsParam = args.removeConfigArgs(FORMATS_PARAM);
  if (null != formatsParam) {
    for (String value : formatsParam) {
      DateTimeFormatter formatter = new DateTimeFormatterBuilder().parseLenient().parseCaseInsensitive()
          .appendPattern(value).toFormatter(locale)
          .withResolverStyle(ResolverStyle.LENIENT).withZone(defaultTimeZone);
      validateFormatter(formatter);
      formats.put(value, formatter);
    }
  }
  super.init(args);
}
 
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
  String localeParam = (String)args.remove(LOCALE_PARAM);
  if (null != localeParam) {
    locale = LocaleUtils.toLocale(localeParam);
  }
  super.init(args);
}
 
源代码10 项目: cuba   文件: LocaleResolver.java
/**
 * @param localeString the locale String or language tag.
 * @return The locale that best represents the language tag or locale string.
 * @throws NullPointerException if {@code localeString} is {@code null}
 */
public static Locale resolve(String localeString) {
    Locale result;
    if (localeString.contains("-")) {
        result = Locale.forLanguageTag(localeString);
    } else {
        result = LocaleUtils.toLocale(localeString);
    }
    return result;
}
 
源代码11 项目: MtgDesktopCompanion   文件: MTGControler.java
public Locale getLocale() {
	try {
		return LocaleUtils.toLocale(config.getString("locale"));
	} catch (Exception e) {
		logger.error("Could not load " + config.getString("locale"));
		return langService.getDefault();
	}
}
 
源代码12 项目: para   文件: Utils.java
/**
 * @param localeStr locale string
 * @return a {@link Locale} instance from a locale string.
 */
public static Locale getLocale(String localeStr) {
	try {
		return LocaleUtils.toLocale(localeStr);
	} catch (Exception e) {
		return Locale.US;
	}
}
 
源代码13 项目: jinjava   文件: JinjavaInterpreterResolver.java
private static Locale getLocale(JinjavaInterpreter interpreter, FormattedDate d) {
  if (!StringUtils.isBlank(d.getLanguage())) {
    try {
      return LocaleUtils.toLocale(d.getLanguage());
    } catch (IllegalArgumentException e) {
      interpreter.addError(
        new TemplateError(
          ErrorType.WARNING,
          ErrorReason.SYNTAX_ERROR,
          ErrorItem.OTHER,
          e.getMessage(),
          null,
          interpreter.getLineNumber(),
          -1,
          null,
          BasicTemplateErrorCategory.UNKNOWN_LOCALE,
          ImmutableMap.of(
            "date",
            d.getDate().toString(),
            "exception",
            e.getMessage(),
            "lineNumber",
            String.valueOf(interpreter.getLineNumber())
          )
        )
      );
    }
  }

  return Locale.US;
}
 
源代码14 项目: TNT4J   文件: Utils.java
/**
 * Constructs a {@link Locale} object parsed from provided locale string.
 *
 * @param localeStr
 *            locale string representation
 *
 * @see org.apache.commons.lang3.LocaleUtils#toLocale(String)
 * @return parsed locale object, or {@code null} if can't parse localeStr.
 */
public static Locale getLocale(String localeStr) {
	if (isEmpty(localeStr)) {
		return null;
	}

	// NOTE: adapting to LocaleUtils notation
	String l = localeStr.replace('-', '_');
	return LocaleUtils.toLocale(l);
}
 
源代码15 项目: vividus   文件: StringToLocaleConverter.java
@Override
public Locale convert(String source)
{
    return LocaleUtils.toLocale(source);
}
 
源代码16 项目: sakai   文件: EmailTemplateLocator.java
public String saveAll() {
 log.debug("Saving all!");
 for (Iterator<String> it = delivered.keySet().iterator(); it.hasNext();) {
      String key = it.next();
      log.debug("got key: " + key);
      
      EmailTemplate emailTemplate = (EmailTemplate) delivered.get(key);

      if (StringUtils.isBlank(emailTemplate.getLocale())) {
     	 emailTemplate.setLocale(EmailTemplate.DEFAULT_LOCALE);
      }

      // check to see if this template already exists
      Locale loc = null;
      if (!StringUtils.equals(emailTemplate.getLocale(), EmailTemplate.DEFAULT_LOCALE)) {
          try {
                  loc = LocaleUtils.toLocale(emailTemplate.getLocale());
          }
          catch (IllegalArgumentException ie) {
     	         messages.addMessage(new TargettedMessage("error.invalidlocale", new Object[]{}, TargettedMessage.SEVERITY_ERROR));
          }
      }

      //key can't be null
      if (StringUtils.isBlank(emailTemplate.getKey())) {
     	 messages.addMessage(new TargettedMessage("error.nokey", new Object[]{}, TargettedMessage.SEVERITY_ERROR));
      }
      else if (StringUtils.startsWith(key, NEW_PREFIX) && emailTemplateService.templateExists(emailTemplate.getKey(), loc)) {
          messages.addMessage(new TargettedMessage("error.duplicatekey", new Object[]{}, TargettedMessage.SEVERITY_ERROR));
      }
      
      if (StringUtils.isBlank(emailTemplate.getSubject())) {
     	 messages.addMessage(new TargettedMessage("error.nosubject", new Object[]{}, TargettedMessage.SEVERITY_ERROR));
      }
      
      if (StringUtils.isBlank(emailTemplate.getMessage())) {
     	 messages.addMessage(new TargettedMessage("error.nomessage", new Object[]{}, TargettedMessage.SEVERITY_ERROR));
      }
      
      if (messages.isError()) {
     	 return "failure";
      }
      
      emailTemplateService.saveTemplate(emailTemplate);
      messages.addMessage( new TargettedMessage("template.saved.message",
            new Object[] { emailTemplate.getKey(), emailTemplate.getLocale() }, 
            TargettedMessage.SEVERITY_INFO));
   }
 return "success";
}
 
源代码17 项目: feilong-core   文件: ConvertUtil.java
/**
 * 将对象转成 {@link Locale}.
 * 
 * <h3>示例:</h3>
 * 
 * <blockquote>
 * 
 * <pre class="code">
 * ConvertUtil.toLocale(null)       = null
 * ConvertUtil.toLocale("zh_CN")    = Locale.CHINA
 * </pre>
 * 
 * </blockquote>
 *
 * @param locale
 *            可以是 <b>null</b> ,<b>字符串</b> 或者 直接的 {@link Locale}对象
 * @return 如果 <code>locale</code> 是null,返回 null<br>
 *         如果 <code>locale instanceof <span style="color:green">Locale</span></code>,返回 <code>(Locale) locale</code><br>
 *         如果 <code>locale instanceof <span style="color:green">String</span></code>,返回 {@link LocaleUtils#toLocale(String)}<br>
 *         其他的类型,将抛出 {@link UnsupportedOperationException}
 * @see org.apache.commons.lang3.LocaleUtils#toLocale(String)
 * @since 1.7.2
 */
public static Locale toLocale(Object locale){
    if (null == locale){
        return null;
    }

    //---------------------------------------------------------------
    if (locale instanceof Locale){
        return (Locale) locale;
    }
    if (locale instanceof String){
        return LocaleUtils.toLocale((String) locale);
    }

    //---------------------------------------------------------------
    throw new UnsupportedOperationException("input param [locale] type is:[" + locale.getClass().getName() + "] not support!");
}
 
源代码18 项目: sakai   文件: EmailTemplateLocator.java
public String saveAll() {
 log.debug("Saving all!");
 for (Iterator<String> it = delivered.keySet().iterator(); it.hasNext();) {
      String key = it.next();
      log.debug("got key: " + key);
      
      EmailTemplate emailTemplate = (EmailTemplate) delivered.get(key);

      if (StringUtils.isBlank(emailTemplate.getLocale())) {
     	 emailTemplate.setLocale(EmailTemplate.DEFAULT_LOCALE);
      }

      // check to see if this template already exists
      Locale loc = null;
      if (!StringUtils.equals(emailTemplate.getLocale(), EmailTemplate.DEFAULT_LOCALE)) {
          try {
                  loc = LocaleUtils.toLocale(emailTemplate.getLocale());
          }
          catch (IllegalArgumentException ie) {
     	         messages.addMessage(new TargettedMessage("error.invalidlocale", new Object[]{}, TargettedMessage.SEVERITY_ERROR));
          }
      }

      //key can't be null
      if (StringUtils.isBlank(emailTemplate.getKey())) {
     	 messages.addMessage(new TargettedMessage("error.nokey", new Object[]{}, TargettedMessage.SEVERITY_ERROR));
      }
      else if (StringUtils.startsWith(key, NEW_PREFIX) && emailTemplateService.templateExists(emailTemplate.getKey(), loc)) {
          messages.addMessage(new TargettedMessage("error.duplicatekey", new Object[]{}, TargettedMessage.SEVERITY_ERROR));
      }
      
      if (StringUtils.isBlank(emailTemplate.getSubject())) {
     	 messages.addMessage(new TargettedMessage("error.nosubject", new Object[]{}, TargettedMessage.SEVERITY_ERROR));
      }
      
      if (StringUtils.isBlank(emailTemplate.getMessage())) {
     	 messages.addMessage(new TargettedMessage("error.nomessage", new Object[]{}, TargettedMessage.SEVERITY_ERROR));
      }
      
      if (messages.isError()) {
     	 return "failure";
      }
      
      emailTemplateService.saveTemplate(emailTemplate);
      messages.addMessage( new TargettedMessage("template.saved.message",
            new Object[] { emailTemplate.getKey(), emailTemplate.getLocale() }, 
            TargettedMessage.SEVERITY_INFO));
   }
 return "success";
}
 
 同类方法