This is an automated email from the ASF dual-hosted git repository. amashchenko pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/struts.git
The following commit(s) were added to refs/heads/master by this push: new b315b6e WW-4998 I18nInterceptor's default storage should store locale b315b6e is described below commit b315b6e5fdbd5cae6877cf87d232956fca12a899 Author: Aleksandr Mashchenko <amashche...@apache.org> AuthorDate: Mon Jan 7 17:29:46 2019 +0200 WW-4998 I18nInterceptor's default storage should store locale --- .../java/org/apache/struts2/interceptor/I18nInterceptor.java | 9 ++++----- .../java/org/apache/struts2/interceptor/I18nInterceptorTest.java | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java index 682bbe6..4ddcedf 100644 --- a/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java +++ b/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java @@ -261,6 +261,7 @@ public class I18nInterceptor extends AbstractInterceptor { super(invocation); } + @Override public Locale find() { Locale requestOnlyLocale = super.find(); @@ -281,15 +282,13 @@ public class I18nInterceptor extends AbstractInterceptor { @Override public Locale store(ActionInvocation invocation, Locale locale) { - HttpSession session = ServletActionContext.getRequest().getSession(false); + Map<String, Object> session = invocation.getInvocationContext().getSession(); if (session != null) { - String sessionId = session.getId(); + String sessionId = ServletActionContext.getRequest().getSession().getId(); synchronized (sessionId.intern()) { - invocation.getInvocationContext().getSession().put(attributeName, locale); + session.put(attributeName, locale); } - } else { - LOG.debug("session creation avoided as it doesn't exist already"); } return locale; diff --git a/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java b/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java index fcc0dd1..da5607f 100644 --- a/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java +++ b/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java @@ -79,8 +79,8 @@ public class I18nInterceptorTest extends TestCase { assertFalse("should have been removed", mai.getInvocationContext().getParameters().get(I18nInterceptor.DEFAULT_PARAMETER).isDefined()); - assertNull("should not be created", request.getSession(false)); - assertNull("should not be stored here", session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE)); + assertNotNull("should be created", request.getSession(false)); + assertNotNull("should be stored here", session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE)); } public void testDefaultLocale() throws Exception {