/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.resolver.locale;
import java.util.Locale;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import com.enonic.cms.core.resolver.AbstractXsltScriptResolver;
import com.enonic.cms.core.resolver.ScriptResolverResult;
@Component
public class LocaleXsltScriptResolver
extends AbstractXsltScriptResolver
{
private static final Logger LOG = LoggerFactory.getLogger( LocaleXsltScriptResolver.class );
public final static String LOCALE_RETURN_VALUE_KEY = "locale";
protected ScriptResolverResult populateScriptResolverResult( String resolvedValue )
{
ScriptResolverResult result = new ScriptResolverResult();
if ( StringUtils.isNotEmpty( resolvedValue ) )
{
Locale locale = null;
try
{
locale = LocaleParser.parseLocale( resolvedValue );
}
catch ( Exception e )
{
LOG.warn( "Could not parse script-result: '" + resolvedValue + "' to a valid locale" );
}
result.getResolverReturnValues().put( LOCALE_RETURN_VALUE_KEY, locale );
}
return result;
}
}