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

The following are Jave code examples for showing how to use parseLocaleString() of the org.springframework.util.StringUtils class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
+ Save this method
Example 1
Project: lams   File: ResourceBundleEditor.java   View Source Code Vote up 6 votes
@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 2
Project: buenojo   File: AngularCookieLocaleResolver.java   View Source Code Vote up 5 votes
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 3
Project: sentry   File: AngularCookieLocaleResolver.java   View Source Code Vote up 5 votes
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 4
Project: shoucang   File: AngularCookieLocaleResolver.java   View Source Code Vote up 5 votes
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 5
Project: klask-io   File: AngularCookieLocaleResolver.java   View Source Code Vote up 5 votes
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
Project: alfresco-repository   File: MailActionExecuter.java   View Source Code Vote up 4 votes
/**
 * 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;
}