Java Code Examples for org.springframework.util.StringUtils#parseLocaleString()

The following examples show how to use org.springframework.util.StringUtils#parseLocaleString() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ResourceBundleEditor.java    From spring-analysis-note with MIT License 6 votes vote down vote up
@Override
public void setAsText(String text) throws IllegalArgumentException {
	Assert.hasText(text, "'text' must not be empty");
	String name = text.trim();

	int separator = name.indexOf(BASE_NAME_SEPARATOR);
	if (separator == -1) {
		setValue(ResourceBundle.getBundle(name));
	}
	else {
		// The name potentially contains locale information
		String baseName = name.substring(0, separator);
		if (!StringUtils.hasText(baseName)) {
			throw new IllegalArgumentException("Invalid ResourceBundle name: '" + text + "'");
		}
		String localeString = name.substring(separator + 1);
		Locale locale = StringUtils.parseLocaleString(localeString);
		setValue(locale != null ? ResourceBundle.getBundle(baseName, locale) : ResourceBundle.getBundle(baseName));
	}
}
 
Example 2
Source File: ResourceBundleEditor.java    From lams with GNU General Public License v2.0 6 votes vote down vote up
@Override
public void setAsText(String text) throws IllegalArgumentException {
	Assert.hasText(text, "'text' must not be empty");
	String name = text.trim();

	int separator = name.indexOf(BASE_NAME_SEPARATOR);
	if (separator == -1) {
		setValue(ResourceBundle.getBundle(name));
	}
	else {
		// The name potentially contains locale information
		String baseName = name.substring(0, separator);
		if (!StringUtils.hasText(baseName)) {
			throw new IllegalArgumentException("Invalid ResourceBundle name: '" + text + "'");
		}
		String localeString = name.substring(separator + 1);
		Locale locale = StringUtils.parseLocaleString(localeString);
		setValue(locale != null ? ResourceBundle.getBundle(baseName, locale) : ResourceBundle.getBundle(baseName));
	}
}
 
Example 3
Source File: ResourceBundleEditor.java    From spring4-understanding with Apache License 2.0 6 votes vote down vote up
@Override
public void setAsText(String text) throws IllegalArgumentException {
	Assert.hasText(text, "'text' must not be empty");
	ResourceBundle bundle;
	String rawBaseName = text.trim();
	int indexOfBaseNameSeparator = rawBaseName.indexOf(BASE_NAME_SEPARATOR);
	if (indexOfBaseNameSeparator == -1) {
		bundle = ResourceBundle.getBundle(rawBaseName);
	}
	else {
		// it potentially has locale information
		String baseName = rawBaseName.substring(0, indexOfBaseNameSeparator);
		if (!StringUtils.hasText(baseName)) {
			throw new IllegalArgumentException("Bad ResourceBundle name : received '" + text + "' as argument to 'setAsText(String value)'.");
		}
		String localeString = rawBaseName.substring(indexOfBaseNameSeparator + 1);
		Locale locale = StringUtils.parseLocaleString(localeString);
		bundle = (StringUtils.hasText(localeString))
				? ResourceBundle.getBundle(baseName, locale)
				: ResourceBundle.getBundle(baseName);
	}
	setValue(bundle);
}
 
Example 4
Source File: ResourceBundleEditor.java    From blog_demos with Apache License 2.0 6 votes vote down vote up
@Override
public void setAsText(String text) throws IllegalArgumentException {
	Assert.hasText(text, "'text' must not be empty");
	ResourceBundle bundle;
	String rawBaseName = text.trim();
	int indexOfBaseNameSeparator = rawBaseName.indexOf(BASE_NAME_SEPARATOR);
	if (indexOfBaseNameSeparator == -1) {
		bundle = ResourceBundle.getBundle(rawBaseName);
	} else {
		// it potentially has locale information
		String baseName = rawBaseName.substring(0, indexOfBaseNameSeparator);
		if (!StringUtils.hasText(baseName)) {
			throw new IllegalArgumentException("Bad ResourceBundle name : received '" + text + "' as argument to 'setAsText(String value)'.");
		}
		String localeString = rawBaseName.substring(indexOfBaseNameSeparator + 1);
		Locale locale = StringUtils.parseLocaleString(localeString);
		bundle = (StringUtils.hasText(localeString))
				? ResourceBundle.getBundle(baseName, locale)
				: ResourceBundle.getBundle(baseName);
	}
	setValue(bundle);
}
 
Example 5
Source File: AngularCookieLocaleResolver.java    From gpmr with Apache License 2.0 5 votes vote down vote up
private void parseLocaleCookieIfNecessary(HttpServletRequest request) {
    if (request.getAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME) == null) {
        // Retrieve and parse cookie value.
        Cookie cookie = WebUtils.getCookie(request, getCookieName());
        Locale locale = null;
        TimeZone timeZone = null;
        if (cookie != null) {
            String value = cookie.getValue();

            // Remove the double quote
            value = StringUtils.replace(value, "%22", "");

            String localePart = value;
            String timeZonePart = null;
            int spaceIndex = localePart.indexOf(' ');
            if (spaceIndex != -1) {
                localePart = value.substring(0, spaceIndex);
                timeZonePart = value.substring(spaceIndex + 1);
            }
            locale = (!"-".equals(localePart) ? StringUtils.parseLocaleString(localePart.replace('-', '_')) : null);
            if (timeZonePart != null) {
                timeZone = StringUtils.parseTimeZoneString(timeZonePart);
            }
            if (logger.isTraceEnabled()) {
                logger.trace("Parsed cookie value [" + cookie.getValue() + "] into locale '" + locale +
                    "'" + (timeZone != null ? " and time zone '" + timeZone.getID() + "'" : ""));
            }
        }
        request.setAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME,
            (locale != null ? locale : determineDefaultLocale(request)));

        request.setAttribute(TIME_ZONE_REQUEST_ATTRIBUTE_NAME,
            (timeZone != null ? timeZone : determineDefaultTimeZone(request)));
    }
}
 
Example 6
Source File: AngularCookieLocaleResolver.java    From jhipster-ribbon-hystrix with GNU General Public License v3.0 5 votes vote down vote up
private void parseLocaleCookieIfNecessary(HttpServletRequest request) {
    if (request.getAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME) == null) {
        // Retrieve and parse cookie value.
        Cookie cookie = WebUtils.getCookie(request, getCookieName());
        Locale locale = null;
        TimeZone timeZone = null;
        if (cookie != null) {
            String value = cookie.getValue();

            // Remove the double quote
            value = StringUtils.replace(value, "%22", "");

            String localePart = value;
            String timeZonePart = null;
            int spaceIndex = localePart.indexOf(' ');
            if (spaceIndex != -1) {
                localePart = value.substring(0, spaceIndex);
                timeZonePart = value.substring(spaceIndex + 1);
            }
            locale = (!"-".equals(localePart) ? StringUtils.parseLocaleString(localePart.replace('-', '_')) : null);
            if (timeZonePart != null) {
                timeZone = StringUtils.parseTimeZoneString(timeZonePart);
            }
            if (logger.isTraceEnabled()) {
                logger.trace("Parsed cookie value [" + cookie.getValue() + "] into locale '" + locale +
                    "'" + (timeZone != null ? " and time zone '" + timeZone.getID() + "'" : ""));
            }
        }
        request.setAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME,
            (locale != null ? locale: determineDefaultLocale(request)));

        request.setAttribute(TIME_ZONE_REQUEST_ATTRIBUTE_NAME,
            (timeZone != null ? timeZone : determineDefaultTimeZone(request)));
    }
}
 
Example 7
Source File: _AngularCookieLocaleResolver.java    From jhipster-ribbon-hystrix with GNU General Public License v3.0 5 votes vote down vote up
private void parseLocaleCookieIfNecessary(HttpServletRequest request) {
    if (request.getAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME) == null) {
        // Retrieve and parse cookie value.
        Cookie cookie = WebUtils.getCookie(request, getCookieName());
        Locale locale = null;
        TimeZone timeZone = null;
        if (cookie != null) {
            String value = cookie.getValue();

            // Remove the double quote
            value = StringUtils.replace(value, "%22", "");

            String localePart = value;
            String timeZonePart = null;
            int spaceIndex = localePart.indexOf(' ');
            if (spaceIndex != -1) {
                localePart = value.substring(0, spaceIndex);
                timeZonePart = value.substring(spaceIndex + 1);
            }
            locale = (!"-".equals(localePart) ? StringUtils.parseLocaleString(localePart.replace('-', '_')) : null);
            if (timeZonePart != null) {
                timeZone = StringUtils.parseTimeZoneString(timeZonePart);
            }
            if (logger.isTraceEnabled()) {
                logger.trace("Parsed cookie value [" + cookie.getValue() + "] into locale '" + locale +
                    "'" + (timeZone != null ? " and time zone '" + timeZone.getID() + "'" : ""));
            }
        }
        request.setAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME,
            (locale != null ? locale: determineDefaultLocale(request)));

        request.setAttribute(TIME_ZONE_REQUEST_ATTRIBUTE_NAME,
            (timeZone != null ? timeZone : determineDefaultTimeZone(request)));
    }
}
 
Example 8
Source File: AngularCookieLocaleResolver.java    From jhipster-ribbon-hystrix with GNU General Public License v3.0 5 votes vote down vote up
private void parseLocaleCookieIfNecessary(HttpServletRequest request) {
    if (request.getAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME) == null) {
        // Retrieve and parse cookie value.
        Cookie cookie = WebUtils.getCookie(request, getCookieName());
        Locale locale = null;
        TimeZone timeZone = null;
        if (cookie != null) {
            String value = cookie.getValue();

            // Remove the double quote
            value = StringUtils.replace(value, "%22", "");

            String localePart = value;
            String timeZonePart = null;
            int spaceIndex = localePart.indexOf(' ');
            if (spaceIndex != -1) {
                localePart = value.substring(0, spaceIndex);
                timeZonePart = value.substring(spaceIndex + 1);
            }
            locale = (!"-".equals(localePart) ? StringUtils.parseLocaleString(localePart.replace('-', '_')) : null);
            if (timeZonePart != null) {
                timeZone = StringUtils.parseTimeZoneString(timeZonePart);
            }
            if (logger.isTraceEnabled()) {
                logger.trace("Parsed cookie value [" + cookie.getValue() + "] into locale '" + locale +
                    "'" + (timeZone != null ? " and time zone '" + timeZone.getID() + "'" : ""));
            }
        }
        request.setAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME,
            (locale != null ? locale: determineDefaultLocale(request)));

        request.setAttribute(TIME_ZONE_REQUEST_ATTRIBUTE_NAME,
            (timeZone != null ? timeZone : determineDefaultTimeZone(request)));
    }
}
 
Example 9
Source File: AngularCookieLocaleResolver.java    From jhipster-ribbon-hystrix with GNU General Public License v3.0 5 votes vote down vote up
private void parseLocaleCookieIfNecessary(HttpServletRequest request) {
    if (request.getAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME) == null) {
        // Retrieve and parse cookie value.
        Cookie cookie = WebUtils.getCookie(request, getCookieName());
        Locale locale = null;
        TimeZone timeZone = null;
        if (cookie != null) {
            String value = cookie.getValue();

            // Remove the double quote
            value = StringUtils.replace(value, "%22", "");

            String localePart = value;
            String timeZonePart = null;
            int spaceIndex = localePart.indexOf(' ');
            if (spaceIndex != -1) {
                localePart = value.substring(0, spaceIndex);
                timeZonePart = value.substring(spaceIndex + 1);
            }
            locale = (!"-".equals(localePart) ? StringUtils.parseLocaleString(localePart.replace('-', '_')) : null);
            if (timeZonePart != null) {
                timeZone = StringUtils.parseTimeZoneString(timeZonePart);
            }
            if (logger.isTraceEnabled()) {
                logger.trace("Parsed cookie value [" + cookie.getValue() + "] into locale '" + locale +
                    "'" + (timeZone != null ? " and time zone '" + timeZone.getID() + "'" : ""));
            }
        }
        request.setAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME,
            (locale != null ? locale: determineDefaultLocale(request)));

        request.setAttribute(TIME_ZONE_REQUEST_ATTRIBUTE_NAME,
            (timeZone != null ? timeZone : determineDefaultTimeZone(request)));
    }
}
 
Example 10
Source File: AngularCookieLocaleResolver.java    From jhipster with Apache License 2.0 5 votes vote down vote up
private void parseAngularCookieIfNecessary(HttpServletRequest request) {
    if (request.getAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME) == null) {
        // Retrieve and parse cookie value.
        Cookie cookie = WebUtils.getCookie(request, getCookieName());
        Locale locale = null;
        TimeZone timeZone = null;
        if (cookie != null) {
            String value = cookie.getValue();

            // Remove the double quote
            value = StringUtils.replace(value, QUOTE, "");

            String localePart = value;
            String timeZonePart = null;
            int spaceIndex = localePart.indexOf(' ');
            if (spaceIndex != -1) {
                localePart = value.substring(0, spaceIndex);
                timeZonePart = value.substring(spaceIndex + 1);
            }
            locale = !"-".equals(localePart) ? StringUtils.parseLocaleString(localePart.replace('-', '_')) : null;
            if (timeZonePart != null) {
                timeZone = StringUtils.parseTimeZoneString(timeZonePart);
            }
            if (logger.isTraceEnabled()) {
                logger.trace("Parsed cookie value [" + cookie.getValue() + "] into locale '" + locale +
                    "'" + (timeZone != null ? " and time zone '" + timeZone.getID() + "'" : ""));
            }
        }
        request.setAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME,
            locale != null ? locale : determineDefaultLocale(request));

        request.setAttribute(TIME_ZONE_REQUEST_ATTRIBUTE_NAME,
            timeZone != null ? timeZone : determineDefaultTimeZone(request));
    }
}
 
Example 11
Source File: AngularCookieLocaleResolver.java    From expper with GNU General Public License v3.0 5 votes vote down vote up
private void parseLocaleCookieIfNecessary(HttpServletRequest request) {
    if (request.getAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME) == null) {
        // Retrieve and parse cookie value.
        Cookie cookie = WebUtils.getCookie(request, getCookieName());
        Locale locale = null;
        TimeZone timeZone = null;
        if (cookie != null) {
            String value = cookie.getValue();

            // Remove the double quote
            value = StringUtils.replace(value, "%22", "");

            String localePart = value;
            String timeZonePart = null;
            int spaceIndex = localePart.indexOf(' ');
            if (spaceIndex != -1) {
                localePart = value.substring(0, spaceIndex);
                timeZonePart = value.substring(spaceIndex + 1);
            }
            locale = (!"-".equals(localePart) ? StringUtils.parseLocaleString(localePart.replace('-', '_')) : null);
            if (timeZonePart != null) {
                timeZone = StringUtils.parseTimeZoneString(timeZonePart);
            }
            if (logger.isTraceEnabled()) {
                logger.trace("Parsed cookie value [" + cookie.getValue() + "] into locale '" + locale +
                    "'" + (timeZone != null ? " and time zone '" + timeZone.getID() + "'" : ""));
            }
        }
        request.setAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME,
            (locale != null ? locale: determineDefaultLocale(request)));

        request.setAttribute(TIME_ZONE_REQUEST_ATTRIBUTE_NAME,
            (timeZone != null ? timeZone : determineDefaultTimeZone(request)));
    }
}
 
Example 12
Source File: AngularCookieLocaleResolver.java    From klask-io with GNU General Public License v3.0 5 votes vote down vote up
private void parseLocaleCookieIfNecessary(HttpServletRequest request) {
    if (request.getAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME) == null) {
        // Retrieve and parse cookie value.
        Cookie cookie = WebUtils.getCookie(request, getCookieName());
        Locale locale = null;
        TimeZone timeZone = null;
        if (cookie != null) {
            String value = cookie.getValue();

            // Remove the double quote
            value = StringUtils.replace(value, "%22", "");

            String localePart = value;
            String timeZonePart = null;
            int spaceIndex = localePart.indexOf(' ');
            if (spaceIndex != -1) {
                localePart = value.substring(0, spaceIndex);
                timeZonePart = value.substring(spaceIndex + 1);
            }
            locale = (!"-".equals(localePart) ? StringUtils.parseLocaleString(localePart.replace('-', '_')) : null);
            if (timeZonePart != null) {
                timeZone = StringUtils.parseTimeZoneString(timeZonePart);
            }
            if (logger.isTraceEnabled()) {
                logger.trace("Parsed cookie value [" + cookie.getValue() + "] into locale '" + locale +
                    "'" + (timeZone != null ? " and time zone '" + timeZone.getID() + "'" : ""));
            }
        }
        request.setAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME,
            (locale != null ? locale: determineDefaultLocale(request)));

        request.setAttribute(TIME_ZONE_REQUEST_ATTRIBUTE_NAME,
            (timeZone != null ? timeZone : determineDefaultTimeZone(request)));
    }
}
 
Example 13
Source File: LocaleUtil.java    From stategen with GNU Affero General Public License v3.0 5 votes vote down vote up
public static Locale getSupportLocale(String locale){
    Locale destLocale=null;
    if (StringUtil.isNotBlank(locale) ){
        destLocale=StringUtils.parseLocaleString(locale);
    }
    return getSupportLocale(destLocale); 
}
 
Example 14
Source File: AngularCookieLocaleResolver.java    From ServiceCutter with Apache License 2.0 5 votes vote down vote up
private void parseLocaleCookieIfNecessary(HttpServletRequest request) {
    if (request.getAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME) == null) {
        // Retrieve and parse cookie value.
        Cookie cookie = WebUtils.getCookie(request, getCookieName());
        Locale locale = null;
        TimeZone timeZone = null;
        if (cookie != null) {
            String value = cookie.getValue();

            // Remove the double quote
            value = StringUtils.replace(value, "%22", "");

            String localePart = value;
            String timeZonePart = null;
            int spaceIndex = localePart.indexOf(' ');
            if (spaceIndex != -1) {
                localePart = value.substring(0, spaceIndex);
                timeZonePart = value.substring(spaceIndex + 1);
            }
            locale = (!"-".equals(localePart) ? StringUtils.parseLocaleString(localePart.replace('-', '_')) : null);
            if (timeZonePart != null) {
                timeZone = StringUtils.parseTimeZoneString(timeZonePart);
            }
            if (logger.isTraceEnabled()) {
                logger.trace("Parsed cookie value [" + cookie.getValue() + "] into locale '" + locale +
                        "'" + (timeZone != null ? " and time zone '" + timeZone.getID() + "'" : ""));
            }
        }
        request.setAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME,
                (locale != null ? locale: determineDefaultLocale(request)));

        request.setAttribute(TIME_ZONE_REQUEST_ATTRIBUTE_NAME,
                (timeZone != null ? timeZone : determineDefaultTimeZone(request)));
    }
}
 
Example 15
Source File: StringToLocaleConverter.java    From spring4-understanding with Apache License 2.0 4 votes vote down vote up
@Override
public Locale convert(String source) {
	return StringUtils.parseLocaleString(source);
}
 
Example 16
Source File: StringToLocaleConverter.java    From lams with GNU General Public License v2.0 4 votes vote down vote up
@Override
public Locale convert(String source) {
	return StringUtils.parseLocaleString(source);
}
 
Example 17
Source File: MailActionExecuter.java    From alfresco-repository with GNU Lesser General Public License v3.0 4 votes vote down vote up
/**
 * Gets the specified user's preferred locale, if available.
 * 
 * @param user the username of the user whose locale is sought.
 * @return the preferred locale for that user, if available, else <tt>null</tt>. The result would be <tt>null</tt>
 *         e.g. if the user does not exist in the system.
 */
private Locale getLocaleForUser(final String user)
{
    Locale locale = null;
    String localeString = null;
    
    // get primary tenant for the specified user.
    //
    // This can have one of (at least) 3 values currently:
    // 1. In single-tenant (community/enterprise) this will be the empty string.
    // 2. In the cloud, for a username such as this: [email protected]:
    //    2A. If the acme.com tenant exists in the system, the primary domain is "acme.com"
    //    2B. Id the acme.xom tenant does not exist in the system, the primary domain is null.
    String domain = tenantService.getPrimaryDomain(user);
    
    if (domain != null) 
    { 
        // If the domain is not null, then the user exists in the system and we may get a preferred locale.
        localeString = TenantUtil.runAsSystemTenant(new TenantRunAsWork<String>()
        {
            public String doWork() throws Exception
            {
                return (String) preferenceService.getPreference(user, "locale");
            }
        }, domain);
    }
    else
    {
        // If the domain is null, then the beahviour here varies depending on whether it's a single tenant or multi-tenant cloud.
        if (personExists(user))
        {
            localeString = AuthenticationUtil.runAsSystem(new RunAsWork<String>()
            {
                public String doWork() throws Exception 
                {
                    return (String) preferenceService.getPreference(user, "locale");
                };
            }); 
        }
        // else leave it as null - there's no tenant, no user for that username, so we can't get a preferred locale.
    }
    
    if (localeString != null)
    {
        locale = StringUtils.parseLocaleString(localeString);
    }

    return locale;
}
 
Example 18
Source File: Jackson2ObjectMapperBuilder.java    From lams with GNU General Public License v2.0 2 votes vote down vote up
/**
 * Override the default {@link Locale} to use for formatting.
 * Default value used is {@link Locale#getDefault()}.
 * @param localeString the locale ID as a String representation
 * @since 4.1.5
 */
public Jackson2ObjectMapperBuilder locale(String localeString) {
	this.locale = StringUtils.parseLocaleString(localeString);
	return this;
}
 
Example 19
Source File: LocaleChangeInterceptor.java    From lams with GNU General Public License v2.0 2 votes vote down vote up
/**
 * Parse the given locale value as coming from a request parameter.
 * <p>The default implementation calls {@link StringUtils#parseLocaleString(String)}
 * or JDK 7's {@link Locale#forLanguageTag(String)}, depending on the
 * {@link #setLanguageTagCompliant "languageTagCompliant"} configuration property.
 * @param locale the locale value to parse
 * @return the corresponding {@code Locale} instance
 * @since 4.3
 */
@UsesJava7
protected Locale parseLocaleValue(String locale) {
	return (isLanguageTagCompliant() ? Locale.forLanguageTag(locale) : StringUtils.parseLocaleString(locale));
}
 
Example 20
Source File: CookieLocaleResolver.java    From lams with GNU General Public License v2.0 2 votes vote down vote up
/**
 * Parse the given locale value coming from an incoming cookie.
 * <p>The default implementation calls {@link StringUtils#parseLocaleString(String)}
 * or JDK 7's {@link Locale#forLanguageTag(String)}, depending on the
 * {@link #setLanguageTagCompliant "languageTagCompliant"} configuration property.
 * @param locale the locale value to parse
 * @return the corresponding {@code Locale} instance
 * @since 4.3
 */
@UsesJava7
protected Locale parseLocaleValue(String locale) {
	return (isLanguageTagCompliant() ? Locale.forLanguageTag(locale) : StringUtils.parseLocaleString(locale));
}