Based on Frank Worsley's instruction, thats how I changed the calculateLocale() method.
Any feedback to this hack is highly appreciated.
Regards from a sunny Zurich, Switzerland
Peter Buchmann
--------------------------------------------------------------------------------------------------------------
public class D2DSeamFaceletViewHandlerLocaleFix extends
com.icesoft.faces.facelets.D2DSeamFaceletViewHandler {
public D2DSeamFaceletViewHandlerLocaleFix(ViewHandler delegate)
{
super(delegate);
}
@Override
public Locale calculateLocale(FacesContext context) {
SeamApplication application = (SeamApplication)context.getApplication();
ELContext elContext = context.getELContext();
ValueExpression valueExpression = application.getExpressionFactory().createValueExpression(elContext, "#
{org.jboss.seam.international.localeSelector}
", Object.class);
Object obj = valueExpression.getValue(elContext);
return ((LocaleSelector)obj).calculateLocale(context.getExternalContext().getRequestLocale());
}
}
Actually it's the jsf view handler that also has the same method (seam calls it and it comes back to the LocaleSelector method with same name)...kind of confusing.