Author: mstruk
Date: 2010-08-31 05:25:26 -0400 (Tue, 31 Aug 2010)
New Revision: 3975
Modified:
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/localization/DefaultLocalePolicyService.java
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/localization/LocalizationFilter.java
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/localization/LocalizationLifecycle.java
Log:
GTNPORTAL-1302: Previous fix overwritten by GTNPORTAL-1306 work. Now fixed again.
Modified:
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/localization/DefaultLocalePolicyService.java
===================================================================
---
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/localization/DefaultLocalePolicyService.java 2010-08-31
07:41:49 UTC (rev 3974)
+++
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/localization/DefaultLocalePolicyService.java 2010-08-31
09:25:26 UTC (rev 3975)
@@ -32,9 +32,13 @@
* This service represents a default policy for determining LocaleConfig to be used for
user's session.
* This service is registered through portal services configuration file:
conf/portal/configuration.xml
* Custom locale determination policy can be implemented by overriding or completely
replacing this class,
- * and registering an alternative implementation.
+ * and registering an alternative implementation. Special care needs to be taken to
assure Locale consistency
+ * between portal requests and non-portal requests - like login redirect upon failed
authentication attempt.
+ * To keep consistency at least one of {@link LocaleContextInfo#cookieLocales} and {@link
LocaleContextInfo#sessionLocale}
+ * needs to be enabled.
*
* @see NoBrowserLocalePolicyService
+ * @see LocalizationFilter
*
* @author <a href="mailto:mstrukel@redhat.com">Marko Strukelj</a>
*/
Modified:
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/localization/LocalizationFilter.java
===================================================================
---
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/localization/LocalizationFilter.java 2010-08-31
07:41:49 UTC (rev 3974)
+++
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/localization/LocalizationFilter.java 2010-08-31
09:25:26 UTC (rev 3975)
@@ -197,7 +197,7 @@
}
String lang = userProfile == null ? null :
userProfile.getUserInfoMap().get(Constants.USER_LANGUAGE);
- return (lang != null) ? new Locale(lang) : null;
+ return (lang != null) ? LocaleContextInfo.getLocale(lang) : null;
}
public void beginContext(OrganizationService orgService) throws Exception
Modified:
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/localization/LocalizationLifecycle.java
===================================================================
---
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/localization/LocalizationLifecycle.java 2010-08-31
07:41:49 UTC (rev 3974)
+++
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/localization/LocalizationLifecycle.java 2010-08-31
09:25:26 UTC (rev 3975)
@@ -240,7 +240,7 @@
UserProfile userProfile = getLoadedProfile(context);
lang = userProfile == null ? null :
userProfile.getUserInfoMap().get(Constants.USER_LANGUAGE);
- return (lang != null) ? new Locale(lang) : null;
+ return (lang != null) ? LocaleContextInfo.getLocale(lang) : null;
}
private UserProfile loadUserProfile(ExoContainer container, PortalRequestContext
context)
@@ -306,7 +306,7 @@
HttpSession session = request.getSession(false);
if (session != null)
lang = (String) session.getAttribute(attrName);
- return (lang != null) ? new Locale(lang) : null;
+ return (lang != null) ? LocaleContextInfo.getLocale(lang) : null;
}
private void saveLocale(PortalRequestContext context, Locale loc)
@@ -336,7 +336,7 @@
if (log.isWarnEnabled())
log.warn("Locale changed to unsupported Locale during request
processing: " + loc);
return;
- }
+ }
// we presume PortalRequestContext, and UIPortalApplication
((UIPortalApplication)
context.getUIApplication()).setOrientation(localeConfig.getOrientation());
}
@@ -379,7 +379,7 @@
UserProfile userProfile = loadUserProfile(container, context);
if (userProfile != null)
{
- userProfile.getUserInfoMap().put(Constants.USER_LANGUAGE, loc.getLanguage());
+ userProfile.getUserInfoMap().put(Constants.USER_LANGUAGE,
LocaleContextInfo.getLocaleAsString(loc));
try
{
svc.getUserProfileHandler().saveUserProfile(userProfile, false);
Show replies by date