[6/8] struts git commit: WW-4722 Prepares ActionProxy to be used with test

2016-12-01 Thread lukaszlenart
WW-4722 Prepares ActionProxy to be used with test


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/f515def5
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/f515def5
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/f515def5

Branch: refs/heads/master
Commit: f515def5b82f29b2accac056e2148077047bdfd1
Parents: fddc658
Author: Lukasz Lenart 
Authored: Thu Dec 1 19:50:36 2016 +0100
Committer: Lukasz Lenart 
Committed: Thu Dec 1 19:50:36 2016 +0100

--
 .../struts2/interceptor/I18nInterceptorTest.java   | 13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/f515def5/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java
--
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 8da9f68..d8c5944 100644
--- a/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java
+++ b/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java
@@ -25,6 +25,7 @@ import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.DefaultLocaleProvider;
 import com.opensymphony.xwork2.mock.MockActionInvocation;
+import com.opensymphony.xwork2.mock.MockActionProxy;
 import junit.framework.TestCase;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.StrutsStatics;
@@ -203,9 +204,8 @@ public class I18nInterceptorTest extends TestCase {
 
 EasyMock.verify(response);
 
-Locale denmark = new Locale("da", "DK");
-assertNotNull(session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE)); 
// should be stored here
-assertEquals(denmark, 
session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE)); // should create a 
locale object
+assertNull(session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE)); // 
should not be stored here
+assertNull(session.get(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE)); // 
should not create a locale object
 }
 
 private void prepare(String key, Serializable value) {
@@ -235,9 +235,16 @@ public class I18nInterceptorTest extends TestCase {
 return SUCCESS;
 }
 };
+
+MockActionProxy proxy = new MockActionProxy();
+proxy.setAction(action);
+proxy.setNamespace("i18n");
+proxy.setActionName("anAction");
+
 mai = new MockActionInvocation();
 ((MockActionInvocation) mai).setAction(action);
 ((MockActionInvocation) mai).setInvocationContext(ac);
+((MockActionInvocation) mai).setProxy(proxy);
 }
 
 public void tearDown() throws Exception {



[3/8] struts git commit: WW-4722 Refactors code to use predefined storage locatio

2016-12-01 Thread lukaszlenart
WW-4722 Refactors code to use predefined storage locatio


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/6457f002
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/6457f002
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/6457f002

Branch: refs/heads/master
Commit: 6457f002d97cde76f98444ec98abdb9bc4be191f
Parents: 6e1ea61
Author: Lukasz Lenart 
Authored: Thu Dec 1 17:21:22 2016 +0100
Committer: Lukasz Lenart 
Committed: Thu Dec 1 17:21:22 2016 +0100

--
 .../struts2/interceptor/I18nInterceptor.java| 99 
 .../interceptor/I18nInterceptorTest.java| 40 
 2 files changed, 79 insertions(+), 60 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/6457f002/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
--
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 b1f8e8e..02409c4 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
@@ -115,6 +115,10 @@ public class I18nInterceptor extends AbstractInterceptor {
 this.parameterName = parameterName;
 }
 
+public void setAttributeName(String attributeName) {
+this.attributeName = attributeName;
+}
+
 public void setRequestOnlyParameterName(String requestOnlyParameterName) {
 this.requestOnlyParameterName = requestOnlyParameterName;
 }
@@ -123,10 +127,6 @@ public class I18nInterceptor extends AbstractInterceptor {
 this.requestCookieParameterName = requestCookieParameterName;
 }
 
-public void setAttributeName(String attributeName) {
-this.attributeName = attributeName;
-}
-
 public void setLocaleStorage(String storageName) {
 if (storageName == null || "".equals(storageName)) {
 this.storage = Storage.NONE;
@@ -152,9 +152,9 @@ public class I18nInterceptor extends AbstractInterceptor {
 invocation.getProxy().getNamespace(), 
invocation.getProxy().getActionName());
 }
 
-LocaleFinder localeFinder = new CookieLocaleFinder(invocation);
-Locale locale = getLocaleFromParam(localeFinder.getRequestedLocale());
-locale = storeLocale(invocation, locale, localeFinder.getStorage());
+RequestOnlyLocaleFinder localeFinder = getLocaleFinder(invocation);
+Locale locale = getLocaleFromParam(localeFinder.find());
+locale = storeLocale(invocation, locale, storage);
 saveLocale(invocation, locale);
 
 if (LOG.isDebugEnabled()) {
@@ -171,6 +171,20 @@ public class I18nInterceptor extends AbstractInterceptor {
 return result;
 }
 
+protected RequestOnlyLocaleFinder getLocaleFinder(ActionInvocation 
invocation) {
+RequestOnlyLocaleFinder localeFinder;
+if (this.storage == Storage.COOKIE) {
+localeFinder = new CookieLocaleFinder(invocation);
+} else if (this.storage == Storage.SESSION) {
+localeFinder = new SessionLocaleFinder(invocation);
+} else {
+localeFinder = new RequestOnlyLocaleFinder(invocation);
+}
+
+LOG.debug("Using LocaleFinder implementation {}", 
localeFinder.getClass().getName());
+return localeFinder;
+}
+
 /**
  * Store the locale to the chosen storage, like f. e. the session
  *
@@ -308,71 +322,74 @@ public class I18nInterceptor extends AbstractInterceptor {
 invocation.getInvocationContext().setLocale(locale);
 }
 
-protected class LocaleFinder {
-protected Storage storage = Storage.SESSION;
-protected Parameter requestedLocale = null;
+protected class RequestOnlyLocaleFinder {
 
 protected ActionInvocation actionInvocation = null;
 
-protected LocaleFinder(ActionInvocation invocation) {
+protected RequestOnlyLocaleFinder(ActionInvocation invocation) {
 actionInvocation = invocation;
-find();
 }
 
-protected void find() {
-//get requested locale
+public String find() {
 HttpParameters params = 
actionInvocation.getInvocationContext().getParameters();
 
-storage = Storage.SESSION;
-
-requestedLocale = findLocaleParameter(params, parameterName);
-if (requestedLocale.isDefined()) {
-return;
-}
-
-requestedLocale = findLocaleParameter(params, 
requestOnlyParameterName);
+Parameter requestedLocale = findLocaleParameter(params, 
requestOnlyParameterName);
 if (requestedLoc

[5/8] struts git commit: WW-4722 Reuses global fields and cleans up logging

2016-12-01 Thread lukaszlenart
WW-4722 Reuses global fields and cleans up logging


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/fddc6582
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/fddc6582
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/fddc6582

Branch: refs/heads/master
Commit: fddc6582e0a66e82b045824fb214e43d7d6c36fd
Parents: 8971b50
Author: Lukasz Lenart 
Authored: Thu Dec 1 17:31:28 2016 +0100
Committer: Lukasz Lenart 
Committed: Thu Dec 1 17:31:28 2016 +0100

--
 .../struts2/interceptor/I18nInterceptor.java| 24 
 1 file changed, 10 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/fddc6582/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
--
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 cfed10a..5f171da 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
@@ -147,25 +147,22 @@ public class I18nInterceptor extends AbstractInterceptor {
 
 @Override
 public String intercept(ActionInvocation invocation) throws Exception {
-if (LOG.isDebugEnabled()) {
-LOG.debug("intercept '{}/{}' {",
-invocation.getProxy().getNamespace(), 
invocation.getProxy().getActionName());
-}
+LOG.debug("Intercept '{}/{}'",
+invocation.getProxy().getNamespace(), 
invocation.getProxy().getActionName());
 
 RequestOnlyLocaleFinder localeFinder = getLocaleFinder(invocation);
 Locale locale = getLocaleFromParam(localeFinder.find());
-locale = storeLocale(invocation, locale, storage);
-saveLocale(invocation, locale);
+locale = storeLocale(invocation, locale);
+useLocale(invocation, locale);
 
 if (LOG.isDebugEnabled()) {
-LOG.debug("before Locale={}", 
invocation.getStack().findValue("locale"));
+LOG.debug("Before action invocation Locale={}", 
invocation.getStack().findValue("locale"));
 }
 
 final String result = invocation.invoke();
 
 if (LOG.isDebugEnabled()) {
-LOG.debug("after Locale={}", 
invocation.getStack().findValue("locale"));
-LOG.debug("intercept } ");
+LOG.debug("After action invocation Locale={}", 
invocation.getStack().findValue("locale"));
 }
 
 return result;
@@ -190,11 +187,10 @@ public class I18nInterceptor extends AbstractInterceptor {
  *
  * @param invocation the action invocation
  * @param locale the locale to store
- * @param storage the place to store this locale (like Storage.SESSSION)
  *
  * @return the locale
  */
-protected Locale storeLocale(ActionInvocation invocation, Locale locale, 
Storage storage) {
+protected Locale storeLocale(ActionInvocation invocation, Locale locale) {
 if (storage == Storage.COOKIE) {
 ActionContext ac = invocation.getInvocationContext();
 HttpServletResponse response = (HttpServletResponse) 
ac.get(StrutsStatics.HTTP_RESPONSE);
@@ -233,7 +229,7 @@ public class I18nInterceptor extends AbstractInterceptor {
  * @return the read locale
  */
 protected Locale readStoredLocale(ActionInvocation invocation, Map session) {
-Locale locale = this.readStoredLocalFromSession(invocation, session);
+Locale locale = readStoredLocalFromSession(invocation, session);
 if (locale != null) {
 LOG.debug("Found stored Locale {} in session, using it!", locale);
 return locale;
@@ -246,7 +242,7 @@ public class I18nInterceptor extends AbstractInterceptor {
 }
 
 LOG.debug("Neither locale was in session nor in cookies, searching 
current Invocation context");
-return this.readStoredLocalFromCurrentInvocation(invocation);
+return readStoredLocalFromCurrentInvocation(invocation);
 }
 
 /**
@@ -328,7 +324,7 @@ public class I18nInterceptor extends AbstractInterceptor {
  * @param invocation The ActionInvocation.
  * @param locale The locale to save.
  */
-protected void saveLocale(ActionInvocation invocation, Locale locale) {
+protected void useLocale(ActionInvocation invocation, Locale locale) {
 invocation.getInvocationContext().setLocale(locale);
 }
 



[2/8] struts git commit: WW-4722 Allows predefine default store location

2016-12-01 Thread lukaszlenart
WW-4722 Allows predefine default store location


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/6e1ea61d
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/6e1ea61d
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/6e1ea61d

Branch: refs/heads/master
Commit: 6e1ea61dc664c4a4e41a8a094030f2edf0088f6c
Parents: bcea4c9
Author: Lukasz Lenart 
Authored: Thu Dec 1 16:55:42 2016 +0100
Committer: Lukasz Lenart 
Committed: Thu Dec 1 16:55:42 2016 +0100

--
 .../struts2/interceptor/I18nInterceptor.java  | 18 --
 1 file changed, 16 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/6e1ea61d/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
--
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 62ac412..b1f8e8e 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
@@ -28,6 +28,7 @@ import 
com.opensymphony.xwork2.interceptor.AbstractInterceptor;
 import com.opensymphony.xwork2.util.LocalizedTextUtil;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.message.ParameterizedMessage;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.StrutsStatics;
 import org.apache.struts2.dispatcher.HttpParameters;
@@ -102,14 +103,14 @@ public class I18nInterceptor extends AbstractInterceptor {
 protected String parameterName = DEFAULT_PARAMETER;
 protected String requestOnlyParameterName = DEFAULT_REQUEST_ONLY_PARAMETER;
 protected String attributeName = DEFAULT_SESSION_ATTRIBUTE;
+protected String requestCookieParameterName = DEFAULT_COOKIE_PARAMETER;
+protected Storage storage = Storage.SESSION;
 
 protected LocaleProvider localeProvider;
 
 // Request-Only = None
 protected enum Storage { COOKIE, SESSION, NONE }
 
-protected String requestCookieParameterName = DEFAULT_COOKIE_PARAMETER;
-
 public void setParameterName(String parameterName) {
 this.parameterName = parameterName;
 }
@@ -126,6 +127,19 @@ public class I18nInterceptor extends AbstractInterceptor {
 this.attributeName = attributeName;
 }
 
+public void setLocaleStorage(String storageName) {
+if (storageName == null || "".equals(storageName)) {
+this.storage = Storage.NONE;
+} else {
+try {
+this.storage = Storage.valueOf(storageName);
+} catch (IllegalArgumentException e) {
+LOG.warn(new ParameterizedMessage("Wrong storage name [{{}] 
was defined, falling back to {}", storageName, Storage.SESSION), e);
+this.storage = Storage.SESSION;
+}
+}
+}
+
 @Inject
 public void setLocaleProvider(LocaleProvider localeProvider) {
 this.localeProvider = localeProvider;



[7/8] struts git commit: WW-4722 Refactors store logic

2016-12-01 Thread lukaszlenart
WW-4722 Refactors store logic


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/aabc90df
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/aabc90df
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/aabc90df

Branch: refs/heads/master
Commit: aabc90df6b8293f597903ac2c9016270b4a37d52
Parents: f515def
Author: Lukasz Lenart 
Authored: Thu Dec 1 19:51:14 2016 +0100
Committer: Lukasz Lenart 
Committed: Thu Dec 1 19:51:14 2016 +0100

--
 .../struts2/interceptor/I18nInterceptor.java| 63 +++-
 1 file changed, 36 insertions(+), 27 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/aabc90df/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
--
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 5f171da..3fbe1f3 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
@@ -20,7 +20,6 @@
  */
 package org.apache.struts2.interceptor;
 
-import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.LocaleProvider;
 import com.opensymphony.xwork2.inject.Inject;
@@ -30,7 +29,6 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.message.ParameterizedMessage;
 import org.apache.struts2.ServletActionContext;
-import org.apache.struts2.StrutsStatics;
 import org.apache.struts2.dispatcher.HttpParameters;
 import org.apache.struts2.dispatcher.Parameter;
 
@@ -191,33 +189,39 @@ public class I18nInterceptor extends AbstractInterceptor {
  * @return the locale
  */
 protected Locale storeLocale(ActionInvocation invocation, Locale locale) {
-if (storage == Storage.COOKIE) {
-ActionContext ac = invocation.getInvocationContext();
-HttpServletResponse response = (HttpServletResponse) 
ac.get(StrutsStatics.HTTP_RESPONSE);
+if (locale == null) {
+storage = Storage.NONE;
+locale = readStoredLocale(invocation);
+}
 
-Cookie cookie = new Cookie(DEFAULT_COOKIE_ATTRIBUTE, 
locale.toString());
-cookie.setMaxAge(1209600); // two weeks
-response.addCookie(cookie);
+if (storage == Storage.COOKIE) {
+storeLocaleInCookie(invocation, locale);
+}
 
-storage = Storage.SESSION;
+if (Storage.SESSION == storage) {
+storeLocaleInSession(invocation, locale);
 }
 
+return locale;
+}
+
+protected void storeLocaleInCookie(ActionInvocation ignore, Locale locale) 
{
+HttpServletResponse response = ServletActionContext.getResponse();
+
+Cookie cookie = new Cookie(DEFAULT_COOKIE_ATTRIBUTE, 
locale.toString());
+cookie.setMaxAge(1209600); // two weeks
+response.addCookie(cookie);
+}
+
+protected void storeLocaleInSession(ActionInvocation invocation, Locale 
locale) {
 //save it in session
 Map session = 
invocation.getInvocationContext().getSession();
 
 if (session != null) {
 synchronized (session) {
-if (locale == null) {
-storage = Storage.NONE;
-locale = readStoredLocale(invocation, session);
-}
-
-if (Storage.SESSION == storage) {
-session.put(attributeName, locale);
-}
+session.put(attributeName, locale);
 }
 }
-return locale;
 }
 
 /**
@@ -225,11 +229,10 @@ public class I18nInterceptor extends AbstractInterceptor {
  * current invocation (=browser)
  *
  * @param invocation the current invocation
- * @param session the current session
  * @return the read locale
  */
-protected Locale readStoredLocale(ActionInvocation invocation, Map session) {
-Locale locale = readStoredLocalFromSession(invocation, session);
+protected Locale readStoredLocale(ActionInvocation invocation) {
+Locale locale = readStoredLocalFromSession(invocation);
 if (locale != null) {
 LOG.debug("Found stored Locale {} in session, using it!", locale);
 return locale;
@@ -277,13 +280,19 @@ public class I18nInterceptor extends AbstractInterceptor {
 return locale;
 }
 
-protected Locale readStoredLocalFromSession(ActionInvocation ignore, 
Map session) {
+protected Locale readStoredLocalFromSession(ActionInvocation invocation) {
 // check session for s

[4/8] struts git commit: WW-4722 Extracts logic to store locale in cookie into a method

2016-12-01 Thread lukaszlenart
WW-4722 Extracts logic to store locale in cookie into a method


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/8971b508
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/8971b508
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/8971b508

Branch: refs/heads/master
Commit: 8971b5081055bd309f715aad63fd96825154c3f8
Parents: 6457f00
Author: Lukasz Lenart 
Authored: Thu Dec 1 17:25:33 2016 +0100
Committer: Lukasz Lenart 
Committed: Thu Dec 1 17:25:33 2016 +0100

--
 .../struts2/interceptor/I18nInterceptor.java| 28 +---
 1 file changed, 19 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/8971b508/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
--
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 02409c4..cfed10a 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
@@ -234,20 +234,18 @@ public class I18nInterceptor extends AbstractInterceptor {
  */
 protected Locale readStoredLocale(ActionInvocation invocation, Map session) {
 Locale locale = this.readStoredLocalFromSession(invocation, session);
-
 if (locale != null) {
+LOG.debug("Found stored Locale {} in session, using it!", locale);
 return locale;
 }
 
-Cookie[] cookies = ServletActionContext.getRequest().getCookies();
-if (cookies != null) {
-for (Cookie cookie : cookies) {
-if (DEFAULT_COOKIE_ATTRIBUTE.equals(cookie.getName())) {
-return getLocaleFromParam(cookie.getValue());
-}
-}
+Locale cookie = readStoredLocaleFromCookie(invocation);
+if (cookie != null) {
+LOG.debug("Found stored Locale {} in cookies, using it!", locale);
+return cookie;
 }
 
+LOG.debug("Neither locale was in session nor in cookies, searching 
current Invocation context");
 return this.readStoredLocalFromCurrentInvocation(invocation);
 }
 
@@ -283,7 +281,7 @@ public class I18nInterceptor extends AbstractInterceptor {
 return locale;
 }
 
-protected Locale readStoredLocalFromSession(ActionInvocation invocation, 
Map session) {
+protected Locale readStoredLocalFromSession(ActionInvocation ignore, 
Map session) {
 // check session for saved locale
 Object sessionLocale = session.get(attributeName);
 if (sessionLocale != null && sessionLocale instanceof Locale) {
@@ -294,6 +292,18 @@ public class I18nInterceptor extends AbstractInterceptor {
 return null;
 }
 
+protected Locale readStoredLocaleFromCookie(ActionInvocation ignore) {
+Cookie[] cookies = ServletActionContext.getRequest().getCookies();
+if (cookies != null) {
+for (Cookie cookie : cookies) {
+if (DEFAULT_COOKIE_ATTRIBUTE.equals(cookie.getName())) {
+return getLocaleFromParam(cookie.getValue());
+}
+}
+}
+return null;
+}
+
 protected Locale readStoredLocalFromCurrentInvocation(ActionInvocation 
invocation) {
 // no overriding locale definition found, stay with current invocation 
(=browser) locale
 Locale locale = invocation.getInvocationContext().getLocale();



[1/8] struts git commit: WW-4722 Renames constant for better readability

2016-12-01 Thread lukaszlenart
Repository: struts
Updated Branches:
  refs/heads/master a1b89842c -> 09958919c


WW-4722 Renames constant for better readability


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/bcea4c9b
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/bcea4c9b
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/bcea4c9b

Branch: refs/heads/master
Commit: bcea4c9bafb101901543c97174fb3d20d0f0c017
Parents: a1b8984
Author: Lukasz Lenart 
Authored: Thu Dec 1 16:16:49 2016 +0100
Committer: Lukasz Lenart 
Committed: Thu Dec 1 16:16:49 2016 +0100

--
 .../java/org/apache/struts2/interceptor/I18nInterceptor.java| 5 ++---
 .../org/apache/struts2/interceptor/I18nInterceptorTest.java | 4 ++--
 2 files changed, 4 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/bcea4c9b/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
--
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 cec69af..62ac412 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
@@ -35,7 +35,6 @@ import org.apache.struts2.dispatcher.Parameter;
 
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
 import java.util.Locale;
 import java.util.Map;
 
@@ -96,12 +95,12 @@ public class I18nInterceptor extends AbstractInterceptor {
 
 public static final String DEFAULT_SESSION_ATTRIBUTE = 
"WW_TRANS_I18N_LOCALE";
 public static final String DEFAULT_PARAMETER = "request_locale";
-public static final String DEFAULT_REQUESTONLY_PARAMETER = 
"request_only_locale";
+public static final String DEFAULT_REQUEST_ONLY_PARAMETER = 
"request_only_locale";
 public static final String DEFAULT_COOKIE_ATTRIBUTE = 
DEFAULT_SESSION_ATTRIBUTE;
 public static final String DEFAULT_COOKIE_PARAMETER = 
"request_cookie_locale";
 
 protected String parameterName = DEFAULT_PARAMETER;
-protected String requestOnlyParameterName = DEFAULT_REQUESTONLY_PARAMETER;
+protected String requestOnlyParameterName = DEFAULT_REQUEST_ONLY_PARAMETER;
 protected String attributeName = DEFAULT_SESSION_ATTRIBUTE;
 
 protected LocaleProvider localeProvider;

http://git-wip-us.apache.org/repos/asf/struts/blob/bcea4c9b/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java
--
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 de056b9..5018815 100644
--- a/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java
+++ b/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java
@@ -78,7 +78,7 @@ public class I18nInterceptorTest extends TestCase {
 }
 
 public void testDenmarkLocaleRequestOnly() throws Exception {
-prepare(I18nInterceptor.DEFAULT_REQUESTONLY_PARAMETER, "da_DK");
+prepare(I18nInterceptor.DEFAULT_REQUEST_ONLY_PARAMETER, "da_DK");
 interceptor.intercept(mai);
 
 
assertFalse(mai.getInvocationContext().getParameters().get(I18nInterceptor.DEFAULT_PARAMETER).isDefined());
 // should have been removed
@@ -124,7 +124,7 @@ public class I18nInterceptorTest extends TestCase {
 }
 
 public void testWithVariantRequestOnly() throws Exception {
-prepare(I18nInterceptor.DEFAULT_REQUESTONLY_PARAMETER, "ja_JP_JP");
+prepare(I18nInterceptor.DEFAULT_REQUEST_ONLY_PARAMETER, "ja_JP_JP");
 interceptor.intercept(mai);
 
 
assertFalse(mai.getInvocationContext().getParameters().get(I18nInterceptor.DEFAULT_PARAMETER).isDefined());
 // should have been removed



[8/8] struts git commit: WW-4722 Adds description of storage parameter

2016-12-01 Thread lukaszlenart
WW-4722 Adds description of storage parameter


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/09958919
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/09958919
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/09958919

Branch: refs/heads/master
Commit: 09958919caabc66d3b963b81af6f8c3c4b44efe0
Parents: aabc90d
Author: Lukasz Lenart 
Authored: Thu Dec 1 19:58:03 2016 +0100
Committer: Lukasz Lenart 
Committed: Thu Dec 1 19:58:03 2016 +0100

--
 .../java/org/apache/struts2/interceptor/I18nInterceptor.java| 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/09958919/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
--
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 3fbe1f3..16ce51f 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
@@ -74,6 +74,9 @@ import java.util.Map;
   * attributeName (optional) - the name of the session key to store the 
selected locale. By default this is
   * WW_TRANS_I18N_LOCALE
   *
+  * storage (optional) - the name of storage location, it can be 
none, session or cookie.
+  * By default this is session
+  *
   * 
   *
   * 
@@ -130,7 +133,7 @@ public class I18nInterceptor extends AbstractInterceptor {
 this.storage = Storage.NONE;
 } else {
 try {
-this.storage = Storage.valueOf(storageName);
+this.storage = Storage.valueOf(storageName.toUpperCase());
 } catch (IllegalArgumentException e) {
 LOG.warn(new ParameterizedMessage("Wrong storage name [{{}] 
was defined, falling back to {}", storageName, Storage.SESSION), e);
 this.storage = Storage.SESSION;



struts git commit: Implements toString

2016-12-01 Thread lukaszlenart
Repository: struts
Updated Branches:
  refs/heads/master 09958919c -> 0f69b0c3f


Implements toString


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/0f69b0c3
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/0f69b0c3
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/0f69b0c3

Branch: refs/heads/master
Commit: 0f69b0c3fb599a47dd5bde4d0203c72a0bab571a
Parents: 0995891
Author: Lukasz Lenart 
Authored: Fri Dec 2 07:43:48 2016 +0100
Committer: Lukasz Lenart 
Committed: Fri Dec 2 07:43:48 2016 +0100

--
 .../main/java/org/apache/struts2/dispatcher/HttpParameters.java | 5 +
 1 file changed, 5 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/0f69b0c3/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java
--
diff --git 
a/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java 
b/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java
index 6c00ca5..2b09a7c 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java
@@ -152,6 +152,11 @@ public class HttpParameters implements Map, Cloneable {
 return Collections.unmodifiableSet(parameters.entrySet());
 }
 
+@Override
+public String toString() {
+return parameters.toString();
+}
+
 public static class Builder {
 private Map requestParameterMap;
 private HttpParameters parent;



svn commit: r1002006 [3/3] - /websites/production/struts/content/docs/

2016-12-01 Thread lukaszlenart
Added: websites/production/struts/content/docs/version-notes-257.html
==
--- websites/production/struts/content/docs/version-notes-257.html (added)
+++ websites/production/struts/content/docs/version-notes-257.html Fri Dec  2 
07:17:46 2016
@@ -0,0 +1,168 @@
+http://www.w3.org/TR/html4/loose.dtd";>
+
+
+
+https://struts.apache.org/css/default.css";>
+
+.dp-highlighter {
+width:95% !important;
+}
+
+
+.footer {
+background-image:  
url('https://cwiki.apache.org/confluence/images/border/border_bottom.gif');
+background-repeat: repeat-x;
+background-position:   left top;
+padding-top:   4px;
+color: #666;
+}
+
+
+
+
+
+
+
+
+
+
+
+SyntaxHighlighter.defaults['toolbar'] = false;
+SyntaxHighlighter.all();
+
+
+var hide = null;
+var show = null;
+var children = null;
+
+function init() {
+/* Search form initialization */
+var form = document.forms['search'];
+if (form != null) {
+form.elements['domains'].value = location.hostname;
+form.elements['sitesearch'].value = location.hostname;
+}
+
+/* Children initialization */
+hide = document.getElementById('hide');
+show = document.getElementById('show');
+children = document.all != null ?
+document.all['children'] :
+document.getElementById('children');
+if (children != null) {
+children.style.display = 'none';
+show.style.display = 'inline';
+hide.style.display = 'none';
+}
+}
+
+function showChildren() {
+children.style.display = 'block';
+show.style.display = 'none';
+hide.style.display = 'inline';
+}
+
+function hideChildren() {
+children.style.display = 'none';
+show.style.display = 'inline';
+hide.style.display = 'none';
+}
+
+Version Notes 2.5.7
+
+
+
+
+
+ Home > Guides > Migration Guide > Version Notes 2.5.7
+
+
+https://www.google.com/search"; 
method="get">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Apache Struts 
2 Documentation
+Version 
Notes 2.5.7
+
+
+https://cwiki.apache.org/confluence/pages/editpage.action?pageId=66853802";>
+https://cwiki.apache.org/confluence/images/icons/notep_16.gif";
+ height="16" width="16" border="0" align="absmiddle" 
title="Edit Page">
+https://cwiki.apache.org/confluence/pages/editpage.action?pageId=66853802";>Edit
 Page
+ 
+https://cwiki.apache.org/confluence/pages/listpages.action?key=WW";>
+https://cwiki.apache.org/confluence/images/icons/browse_space.gif";
+ height="16" width="16" border="0" align="absmiddle" 
title="Browse Space">
+https://cwiki.apache.org/confluence/pages/listpages.action?key=WW";>Browse 
Space
+ 
+https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=66853802";>
+https://cwiki.apache.org/confluence/images/icons/add_page_16.gif";
+ height="16" width="16" border="0" align="absmiddle" 
title="Add Page">
+https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=66853802";>Add
 Page
+ 
+https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=66853802";>
+https://cwiki.apache.org/confluence/images/icons/add_blogentry_16.gif";
+ height="16" width="16" border="0" align="absmiddle" 
title="Add News">
+https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=66853802";>Add
 News
+
+
+
+
+
+https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png";
 data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts 
2.5.7 distribution.https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png";
 data-emoticon-name="tick" alt="(tick)"> For prior notes in this release 
series, see Version Notes 
2.5.5If you are a Maven user, you might want to get started 
using the Maven 
Arche

svn commit: r1002006 [2/3] - /websites/production/struts/content/docs/

2016-12-01 Thread lukaszlenart
Modified: websites/production/struts/content/docs/security-bulletins.html
==
--- websites/production/struts/content/docs/security-bulletins.html (original)
+++ websites/production/struts/content/docs/security-bulletins.html Fri Dec  2 
07:17:46 2016
@@ -126,7 +126,7 @@ under the License.
 
 
 The following security bulletins 
are available:
-S2-001 
— Remote code exploit on form validation 
errorS2-002 — 
Cross site scripting (XSS) vulnerability on 
 and  tagsS2-003 — XWork 
ParameterInterceptors bypass allows OGNL statement executionS2-004 — Directory traversal vulnerability while serving static 
contentS2-005 — 
XWork ParameterInterceptors bypass allows remote 
command executionS2-006 
— Multiple Cross-Site Scripting (XSS) in XWork 
generated error pagesS2-007 — User input is 
evaluated as an OGNL expression when there's a conversion 
errorS2-008 — 
Multiple critical vulnerabilities in 
Struts2S2-009 — 
ParameterInterceptor vulnerability allows remote 
command executionS2-010 
— When using Struts 2 token mechanism for CSRF 
protection, token check may be bypassed by misusing known session 
attributesS2-011 — 
Long request parameter names might significantly 
promote the effectiveness of DOS attacksS2-012 — Showcase app 
vulnerability allows remote command execution
 S2-013 — A vulnerability, present in the includeParams attribute of 
the URL and Anchor Tag, allows remote command executionS2-014 — A 
vulnerability introduced by forcing parameter inclusion in the URL and Anchor 
Tag allows remote command execution, session access and manipulation and XSS 
attacksS2-015 — 
A vulnerability introduced by wildcard matching 
mechanism or double evaluation of OGNL Expression allows remote command 
execution.S2-016 — 
A vulnerability introduced by manipulating parameters 
prefixed with "action:"/"redirect:"/"redirectAction:" allows remote command 
executionS2-017 — 
A vulnerability introduced by manipulating parameters prefixed with 
"redirect:"/"redirectAction:" allows for open redirectsS2-018 — Broken Access Control Vulnerability in Apache 
Struts2S2-019 — 
Dynamic Method Invocation disabled by 
defaultS2-020 — 
Upgrade Commons FileUpload to version 1.3.1 (avoids DoS 
attacks) and adds 'class' to exclude params in ParametersInterceptor (avoid 
ClassLoader manipulation)S2-021 — Improves excluded 
params in ParametersInterceptor and CookieInterceptor to avoid ClassLoader 
manipulationS2-022 
— Extends excluded params in CookieInt
 erceptor to avoid manipulation of Struts' internalsS2-023 — Generated value of token can be predictableS2-024 — Wrong excludeParams overrides those defined in 
DefaultExcludedPatternsCheckerS2-025 — Cross-Site 
Scripting Vulnerability in Debug Mode and in exposed JSP 
filesS2-026 — 
Special top object can be used to access Struts' 
internalsS2-027 — 
TextParseUtil.translateVariables does not filter 
malicious OGNL expressionsS2-028 — Use of a JRE with 
broken URLDecoder implementation may l
 ead to XSS vulnerability in Struts 2 based web applications.S2-029 — Forced double OGNL evaluation, when evaluated on raw user 
input in tag attributes, may lead to remote code execution.S2-030 — Possible XSS vulnerability in 
I18NInterceptorS2-031 
— XSLTResult can be used to parse arbitrary 
stylesheetS2-032 — 
Remote Code Execution can be performed via method: 
prefix when Dynamic Method Invocation is enabled.S2-033 — Remote Code Execution can be performed when using REST Plugin 
with ! operator when Dynamic Method Invocation is enabled.S2-034 — OGNL cache 
poisoning can lead to DoS vulnerabilityS2-035 — Action name clean 
up is error proneS2-036 
— Forced double OGNL evaluation, when evaluated 
on raw user input in tag attributes, may lead to remote code execution (similar 
to S2-029)S2-037 — 
Remote Code Execution can be performed when using REST 
Plugin.S2-038 — 
It is possible to bypass token validation and perform a 
CSRF attackS2-039 
— Getter as action method leads to security 
bypassS2-040 —
 ; Input validation bypass using existing default 
action method.S2-041 
— Possible DoS attack when using 
URLValidatorS2-042 
— Possible path traversal in the Convention 
pluginS2-043 — 
Using the Config Browser plugin in 
production
+S2-001 
— Remote code exploit on form validation 
errorS2-002 — 
Cross site scripting (XSS) vulnerability on 
 and  tagsS2-003 — XWork 
ParameterInterceptors bypass allows OGNL statement executionS2-004 — Directory traversal vulnerability while serving static 
contentS2-005 — 
XWork ParameterInterceptors bypass allows remote 
command executionS2-006 
— Multiple Cross-Site Scripting (XSS) in XWork 
generated error pagesS2-007 — User input is 
evaluated as an OGNL expression when there's a conversion 
errorS2-008 — 
Multiple critical vulnerabilities in 
Struts2S2-009 — 
ParameterInterceptor vulnerability allows remote 
command executionS2-010 
— When

svn commit: r1002006 [1/3] - /websites/production/struts/content/docs/

2016-12-01 Thread lukaszlenart
Author: lukaszlenart
Date: Fri Dec  2 07:17:46 2016
New Revision: 1002006

Log:
Updates production

Added:
websites/production/struts/content/docs/s2-044.html
websites/production/struts/content/docs/version-notes-257.html
Modified:
websites/production/struts/content/docs/actionmapper.html
websites/production/struts/content/docs/checkboxlist.html
websites/production/struts/content/docs/constant-configuration.html
websites/production/struts/content/docs/conversion-error-interceptor.html
websites/production/struts/content/docs/default-workflow-interceptor.html
websites/production/struts/content/docs/doubleselect.html
websites/production/struts/content/docs/extending-themes.html
websites/production/struts/content/docs/file-upload.html
websites/production/struts/content/docs/freemarker.html

websites/production/struts/content/docs/how-can-we-access-request-parameters-passed-into-an-action.html
websites/production/struts/content/docs/i18n-interceptor.html
websites/production/struts/content/docs/interceptors.html
websites/production/struts/content/docs/localization.html
websites/production/struts/content/docs/migration-guide.html
websites/production/struts/content/docs/optiontransferselect.html
websites/production/struts/content/docs/param.html
websites/production/struts/content/docs/plugins.html
websites/production/struts/content/docs/radio.html
websites/production/struts/content/docs/security-bulletins.html
websites/production/struts/content/docs/security.html
websites/production/struts/content/docs/servlet-config-interceptor.html
websites/production/struts/content/docs/set.html
websites/production/struts/content/docs/struts-defaultxml.html
websites/production/struts/content/docs/template-loading.html
websites/production/struts/content/docs/testing-actions.html
websites/production/struts/content/docs/text.html
websites/production/struts/content/docs/tiles-plugin.html
websites/production/struts/content/docs/type-conversion.html
websites/production/struts/content/docs/updownselect.html
websites/production/struts/content/docs/validation.html
websites/production/struts/content/docs/version-notes-2331.html
websites/production/struts/content/docs/xhtml-theme.html

Modified: websites/production/struts/content/docs/actionmapper.html
==
--- websites/production/struts/content/docs/actionmapper.html (original)
+++ websites/production/struts/content/docs/actionmapper.html Fri Dec  2 
07:17:46 2016
@@ -139,11 +139,11 @@ under the License.
 
 
 /**/
+/*]]>*/
 DescriptionDefaultActionMapper
 Method prefixAction prefixAllowed action name 
RegExAllowed method name 
RegEx
 Custom 
ActionMapperCompositeActionMapperPrefixBasedActionMapperActionMapper and 
ActionMapping objects

Modified: websites/production/struts/content/docs/checkboxlist.html
==
--- websites/production/struts/content/docs/checkboxlist.html (original)
+++ websites/production/struts/content/docs/checkboxlist.html Fri Dec  2 
07:17:46 2016
@@ -142,7 +142,7 @@ under the License.
 Important
 
 Note that the listkey and listvalue attribute will default to "key" and "value"
-respectively only when the list attribute is evaluated to a Map or its 
decendant.
+respectively only when the list attribute is evaluated to a Map or its 
descendant.
 Everything else will result in listkey and listvalue to be null and not used.
 
 

Modified: websites/production/struts/content/docs/constant-configuration.html
==
--- websites/production/struts/content/docs/constant-configuration.html 
(original)
+++ websites/production/struts/content/docs/constant-configuration.html Fri Dec 
 2 07:17:46 2016
@@ -139,11 +139,11 @@ under the License.
 
 
 /**/
+/*]]>*/
 Constant
 Value 
substitutionSample usage
 
@@ -152,7 +152,7 @@ div.rbtoc1476770250347 li {margin-left:
 
 
 
-struts git commit: [maven-release-plugin] prepare release STRUTS_2_5_7

Repository: struts
Updated Branches:
  refs/heads/master 0f69b0c3f -> 5054ff469


[maven-release-plugin] prepare release STRUTS_2_5_7


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/5054ff46
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/5054ff46
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/5054ff46

Branch: refs/heads/master
Commit: 5054ff469a416a1fd1331389e48aca6d22eef28f
Parents: 0f69b0c
Author: Lukasz Lenart 
Authored: Fri Dec 2 08:26:30 2016 +0100
Committer: Lukasz Lenart 
Committed: Fri Dec 2 08:26:30 2016 +0100

--
 apps/pom.xml| 2 +-
 apps/rest-showcase/pom.xml  | 4 ++--
 apps/showcase/pom.xml   | 2 +-
 assembly/pom.xml| 2 +-
 bom/pom.xml | 8 ++--
 bundles/admin/pom.xml   | 2 +-
 bundles/demo/pom.xml| 2 +-
 bundles/pom.xml | 2 +-
 core/pom.xml| 2 +-
 plugins/bean-validation/pom.xml | 2 +-
 plugins/cdi/pom.xml | 2 +-
 plugins/config-browser/pom.xml  | 2 +-
 plugins/convention/pom.xml  | 2 +-
 plugins/dwr/pom.xml | 2 +-
 plugins/embeddedjsp/pom.xml | 2 +-
 plugins/gxp/pom.xml | 2 +-
 plugins/jasperreports/pom.xml   | 2 +-
 plugins/javatemplates/pom.xml   | 2 +-
 plugins/jfreechart/pom.xml  | 2 +-
 plugins/json/pom.xml| 2 +-
 plugins/junit/pom.xml   | 2 +-
 plugins/osgi/pom.xml| 2 +-
 plugins/oval/pom.xml| 2 +-
 plugins/pell-multipart/pom.xml  | 2 +-
 plugins/plexus/pom.xml  | 2 +-
 plugins/pom.xml | 2 +-
 plugins/portlet-tiles/pom.xml   | 2 +-
 plugins/portlet/pom.xml | 2 +-
 plugins/rest/pom.xml| 2 +-
 plugins/sitegraph/pom.xml   | 2 +-
 plugins/sitemesh/pom.xml| 2 +-
 plugins/spring/pom.xml  | 2 +-
 plugins/testng/pom.xml  | 2 +-
 plugins/tiles/pom.xml   | 2 +-
 pom.xml | 4 ++--
 35 files changed, 42 insertions(+), 38 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/5054ff46/apps/pom.xml
--
diff --git a/apps/pom.xml b/apps/pom.xml
index ac553b7..30422cb 100644
--- a/apps/pom.xml
+++ b/apps/pom.xml
@@ -26,7 +26,7 @@
 
 org.apache.struts
 struts2-parent
-2.5.7-SNAPSHOT
+2.5.7
 
 struts2-apps
 pom

http://git-wip-us.apache.org/repos/asf/struts/blob/5054ff46/apps/rest-showcase/pom.xml
--
diff --git a/apps/rest-showcase/pom.xml b/apps/rest-showcase/pom.xml
index 13d2aa5..a524f53 100644
--- a/apps/rest-showcase/pom.xml
+++ b/apps/rest-showcase/pom.xml
@@ -26,12 +26,12 @@
 
 org.apache.struts
 struts2-apps
-2.5.7-SNAPSHOT
+2.5.7
 
 
 struts2-rest-showcase
 war
-2.5.7-SNAPSHOT
+2.5.7
 Struts 2 Rest Showcase Webapp
 Struts 2 Rest Showcase Example
 

http://git-wip-us.apache.org/repos/asf/struts/blob/5054ff46/apps/showcase/pom.xml
--
diff --git a/apps/showcase/pom.xml b/apps/showcase/pom.xml
index 65aad9b..3307069 100644
--- a/apps/showcase/pom.xml
+++ b/apps/showcase/pom.xml
@@ -26,7 +26,7 @@
 
 org.apache.struts
 struts2-apps
-2.5.7-SNAPSHOT
+2.5.7
 
 
 struts2-showcase

http://git-wip-us.apache.org/repos/asf/struts/blob/5054ff46/assembly/pom.xml
--
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 872888b..ae9e473 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -3,7 +3,7 @@
 
 org.apache.struts
 struts2-parent
-2.5.7-SNAPSHOT
+2.5.7
 
 
 struts2-assembly

http://git-wip-us.apache.org/repos/asf/struts/blob/5054ff46/bom/pom.xml
--
diff --git a/bom/pom.xml b/bom/pom.xml
index 74e6a36..82a7592 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -10,7 +10,7 @@
 
 
 struts2-bom
-2.5.7-SNAPSHOT
+2.5.7
 pom
 
 Struts 2 Bill of Materials
@@ -25,7 +25,7 @@
 
 
 
-2.5.7-SNAPSHOT
+2.5.7
 
 
 
@@ -170,4 +170,8 @@
 
 
 
+
+  
+STRUTS_2_5_7
+  
 

http://git-wip-us.apache.org/repos/asf/struts/blob/5054ff46/bundles/admin/pom.xml
--
diff --git a/bundles/admin/pom.xml b/bundles/admin/pom.xml
index ad5a6bb..46ee49f 100644
--- a/bundles/admin/pom.xml
+++ b/bundles/admin/pom.xml
@@ -4,7 +4,7 @@
 
 org.apache.struts
 struts2-osgi-bundles
-2.5.7-SNA

[struts] Git Push Summary

Repository: struts
Updated Tags:  refs/tags/STRUTS_2_5_7 [created] 3187ec7e9


struts git commit: [maven-release-plugin] prepare for next development iteration

Repository: struts
Updated Branches:
  refs/heads/master 5054ff469 -> 484ce1d19


[maven-release-plugin] prepare for next development iteration


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/484ce1d1
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/484ce1d1
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/484ce1d1

Branch: refs/heads/master
Commit: 484ce1d1911f60166282af63c152b46c03f28f28
Parents: 5054ff4
Author: Lukasz Lenart 
Authored: Fri Dec 2 08:27:02 2016 +0100
Committer: Lukasz Lenart 
Committed: Fri Dec 2 08:27:02 2016 +0100

--
 apps/pom.xml| 2 +-
 apps/rest-showcase/pom.xml  | 4 ++--
 apps/showcase/pom.xml   | 2 +-
 assembly/pom.xml| 2 +-
 bom/pom.xml | 8 ++--
 bundles/admin/pom.xml   | 2 +-
 bundles/demo/pom.xml| 2 +-
 bundles/pom.xml | 2 +-
 core/pom.xml| 2 +-
 plugins/bean-validation/pom.xml | 2 +-
 plugins/cdi/pom.xml | 2 +-
 plugins/config-browser/pom.xml  | 2 +-
 plugins/convention/pom.xml  | 2 +-
 plugins/dwr/pom.xml | 2 +-
 plugins/embeddedjsp/pom.xml | 2 +-
 plugins/gxp/pom.xml | 2 +-
 plugins/jasperreports/pom.xml   | 2 +-
 plugins/javatemplates/pom.xml   | 2 +-
 plugins/jfreechart/pom.xml  | 2 +-
 plugins/json/pom.xml| 2 +-
 plugins/junit/pom.xml   | 2 +-
 plugins/osgi/pom.xml| 2 +-
 plugins/oval/pom.xml| 2 +-
 plugins/pell-multipart/pom.xml  | 2 +-
 plugins/plexus/pom.xml  | 2 +-
 plugins/pom.xml | 2 +-
 plugins/portlet-tiles/pom.xml   | 2 +-
 plugins/portlet/pom.xml | 2 +-
 plugins/rest/pom.xml| 2 +-
 plugins/sitegraph/pom.xml   | 2 +-
 plugins/sitemesh/pom.xml| 2 +-
 plugins/spring/pom.xml  | 2 +-
 plugins/testng/pom.xml  | 2 +-
 plugins/tiles/pom.xml   | 2 +-
 pom.xml | 4 ++--
 35 files changed, 38 insertions(+), 42 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/484ce1d1/apps/pom.xml
--
diff --git a/apps/pom.xml b/apps/pom.xml
index 30422cb..a3b0973 100644
--- a/apps/pom.xml
+++ b/apps/pom.xml
@@ -26,7 +26,7 @@
 
 org.apache.struts
 struts2-parent
-2.5.7
+2.5.8-SNAPSHOT
 
 struts2-apps
 pom

http://git-wip-us.apache.org/repos/asf/struts/blob/484ce1d1/apps/rest-showcase/pom.xml
--
diff --git a/apps/rest-showcase/pom.xml b/apps/rest-showcase/pom.xml
index a524f53..5168526 100644
--- a/apps/rest-showcase/pom.xml
+++ b/apps/rest-showcase/pom.xml
@@ -26,12 +26,12 @@
 
 org.apache.struts
 struts2-apps
-2.5.7
+2.5.8-SNAPSHOT
 
 
 struts2-rest-showcase
 war
-2.5.7
+2.5.8-SNAPSHOT
 Struts 2 Rest Showcase Webapp
 Struts 2 Rest Showcase Example
 

http://git-wip-us.apache.org/repos/asf/struts/blob/484ce1d1/apps/showcase/pom.xml
--
diff --git a/apps/showcase/pom.xml b/apps/showcase/pom.xml
index 3307069..b1ed918 100644
--- a/apps/showcase/pom.xml
+++ b/apps/showcase/pom.xml
@@ -26,7 +26,7 @@
 
 org.apache.struts
 struts2-apps
-2.5.7
+2.5.8-SNAPSHOT
 
 
 struts2-showcase

http://git-wip-us.apache.org/repos/asf/struts/blob/484ce1d1/assembly/pom.xml
--
diff --git a/assembly/pom.xml b/assembly/pom.xml
index ae9e473..28240af 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -3,7 +3,7 @@
 
 org.apache.struts
 struts2-parent
-2.5.7
+2.5.8-SNAPSHOT
 
 
 struts2-assembly

http://git-wip-us.apache.org/repos/asf/struts/blob/484ce1d1/bom/pom.xml
--
diff --git a/bom/pom.xml b/bom/pom.xml
index 82a7592..738e28c 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -10,7 +10,7 @@
 
 
 struts2-bom
-2.5.7
+2.5.8-SNAPSHOT
 pom
 
 Struts 2 Bill of Materials
@@ -25,7 +25,7 @@
 
 
 
-2.5.7
+2.5.8-SNAPSHOT
 
 
 
@@ -170,8 +170,4 @@
 
 
 
-
-  
-STRUTS_2_5_7
-  
 

http://git-wip-us.apache.org/repos/asf/struts/blob/484ce1d1/bundles/admin/pom.xml
--
diff --git a/bundles/admin/pom.xml b/bundles/admin/pom.xml
index 46ee49f..7ddc9a0 100644
--- a/bundles/admin/pom.xml
+++ b/bundles/admin/pom.xml
@@ -4,7 +4,7 @@
 
 org.apache.struts
 struts2-osgi-bundles
-