From e5ad03701d32f3f51bc83bc2d27507812295b3bc Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Wed, 20 Jul 2011 08:30:48 +0200 Subject: [PATCH] Fixed NPE in tests due to changes in I18nHelper. * setPreferredLocale extracted to a new method * Checked if Executions.getCurrent() is null FEA: ItEr75S04BugFixing --- .../main/java/org/navalplanner/web/I18nHelper.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/I18nHelper.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/I18nHelper.java index b9b2b7157..fdf2c9c4b 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/I18nHelper.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/I18nHelper.java @@ -32,6 +32,7 @@ import org.xnap.commons.i18n.I18n; import org.xnap.commons.i18n.I18nFactory; import org.zkoss.util.Locales; import org.zkoss.web.servlet.Charsets; +import org.zkoss.zk.ui.Execution; import org.zkoss.zk.ui.Executions; @@ -42,8 +43,7 @@ public class I18nHelper { private static HashMap localesCache = new HashMap(); public static I18n getI18n() { - Charsets.setPreferredLocale((HttpSession) Executions.getCurrent() - .getSession().getNativeSession(), getUserLocale()); + setPreferredLocale(); Locale locale = Locales.getCurrent(); @@ -65,6 +65,14 @@ public class I18nHelper { return i18n; } + private static void setPreferredLocale() { + Execution execution = Executions.getCurrent(); + if (execution != null) { + Charsets.setPreferredLocale((HttpSession) execution.getSession() + .getNativeSession(), getUserLocale()); + } + } + private static Locale getUserLocale() { User user = UserUtil.getUserFromSession(); if (user != null) {