svn commit: r1324674 - /struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletDispatcherResult.java

2012-04-11 Thread mcucchiara
Author: mcucchiara
Date: Wed Apr 11 09:42:13 2012
New Revision: 1324674

URL: http://svn.apache.org/viewvc?rev=1324674&view=rev
Log:
Update commons lang3 reference

Modified:

struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletDispatcherResult.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletDispatcherResult.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletDispatcherResult.java?rev=1324674&r1=1324673&r2=1324674&view=diff
==
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletDispatcherResult.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletDispatcherResult.java
 Wed Apr 11 09:42:13 2012
@@ -25,7 +25,7 @@ import com.opensymphony.xwork2.ActionInv
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.util.logging.Logger;
 import com.opensymphony.xwork2.util.logging.LoggerFactory;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.StrutsStatics;




svn commit: r1324870 - in /struts/struts2/trunk/core/src: main/java/org/apache/struts2/dispatcher/Dispatcher.java test/java/org/apache/struts2/dispatcher/DispatcherTest.java

2012-04-11 Thread lukaszlenart
Author: lukaszlenart
Date: Wed Apr 11 17:12:35 2012
New Revision: 1324870

URL: http://svn.apache.org/viewvc?rev=1324870&view=rev
Log:
WW-3059 Changes logic to set encoding for XMLHttpRequest type

Modified:

struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java

struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java?rev=1324870&r1=1324869&r2=1324870&view=diff
==
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
 Wed Apr 11 17:12:35 2012
@@ -679,6 +679,10 @@ public class Dispatcher {
 if (defaultEncoding != null) {
 encoding = defaultEncoding;
 }
+// check for Ajax request to use UTF-8 encoding strictly 
http://www.w3.org/TR/XMLHttpRequest/#the-send-method
+if ("XMLHttpRequest".equals(request.getHeader("X-Requested-With"))) {
+encoding = "utf-8";
+}
 
 Locale locale = null;
 if (defaultLocale != null) {

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java?rev=1324870&r1=1324869&r2=1324870&view=diff
==
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java
 Wed Apr 11 17:12:35 2012
@@ -21,28 +21,8 @@
 
 package org.apache.struts2.dispatcher;
 
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.struts2.StrutsConstants;
-import org.apache.struts2.StrutsTestCase;
-import org.apache.struts2.dispatcher.FilterDispatcherTest.InnerActionMapper;
-import 
org.apache.struts2.dispatcher.FilterDispatcherTest.InnerDestroyableObjectFactory;
-import org.apache.struts2.dispatcher.FilterDispatcherTest.InnerDispatcher;
-import org.springframework.mock.web.MockFilterConfig;
-import org.springframework.mock.web.MockHttpServletRequest;
-import org.springframework.mock.web.MockHttpServletResponse;
-import org.springframework.mock.web.MockServletContext;
-
 import com.mockobjects.dynamic.C;
 import com.mockobjects.dynamic.Mock;
-import com.mockobjects.servlet.MockFilterChain;
 import com.opensymphony.xwork2.ObjectFactory;
 import com.opensymphony.xwork2.config.Configuration;
 import com.opensymphony.xwork2.config.ConfigurationManager;
@@ -50,11 +30,20 @@ import com.opensymphony.xwork2.config.en
 import com.opensymphony.xwork2.config.entities.InterceptorStackConfig;
 import com.opensymphony.xwork2.config.entities.PackageConfig;
 import com.opensymphony.xwork2.inject.Container;
-import com.opensymphony.xwork2.inject.ContainerBuilder;
-import com.opensymphony.xwork2.inject.Context;
-import com.opensymphony.xwork2.inject.Factory;
 import com.opensymphony.xwork2.interceptor.Interceptor;
 import com.opensymphony.xwork2.util.LocalizedTextUtil;
+import org.apache.struts2.StrutsConstants;
+import org.apache.struts2.StrutsTestCase;
+import 
org.apache.struts2.dispatcher.FilterDispatcherTest.InnerDestroyableObjectFactory;
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.mock.web.MockHttpServletResponse;
+import org.springframework.mock.web.MockServletContext;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
 
 /**
  * Test case for Dispatcher.
@@ -89,6 +78,23 @@ public class DispatcherTest extends Stru
 assertEquals(req.getCharacterEncoding(), "utf-8");
 }
 
+public void testEncodingForXMLHttpRequest() throws Exception {
+// given
+MockHttpServletRequest req = new MockHttpServletRequest();
+req.addHeader("X-Requested-With", "XMLHttpRequest");
+HttpServletResponse res = new MockHttpServletResponse();
+
+Dispatcher du = initDispatcher(new HashMap() {{
+put(StrutsConstants.STRUTS_I18N_ENCODING, "latin-2");
+}});
+
+// when
+du.prepare(req, res);
+
+// then
+assertEquals(req.getCharacterEncoding(), "utf-8");
+}
+
 public void testPrepareSetEncodingPropertyWithMultipartRequest() throws 

svn commit: r1324871 - /struts/struts2/trunk/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java

2012-04-11 Thread lukaszlenart
Author: lukaszlenart
Date: Wed Apr 11 17:13:42 2012
New Revision: 1324871

URL: http://svn.apache.org/viewvc?rev=1324871&view=rev
Log:
WW-3431 Solves problem with array initialization

Modified:

struts/struts2/trunk/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java

Modified: 
struts/struts2/trunk/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java?rev=1324871&r1=1324870&r2=1324871&view=diff
==
--- 
struts/struts2/trunk/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java
 (original)
+++ 
struts/struts2/trunk/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java
 Wed Apr 11 17:13:42 2012
@@ -170,7 +170,7 @@ public class OValValidationInterceptor e
 
 //perform validation
 List violations = validator.validate(action);
-addValidationErrors(violations.toArray(new ConstraintViolation[0]), 
action, valueStack, null);
+addValidationErrors(violations.toArray(new 
ConstraintViolation[violations.size()]), action, valueStack, null);
 }
 
private void addValidationErrors(ConstraintViolation[] violations, 
Object action, ValueStack valueStack, String parentFieldname) {




svn commit: r1324888 - in /struts/struts2/trunk/core/src: main/java/org/apache/struts2/dispatcher/Dispatcher.java test/java/org/apache/struts2/dispatcher/DispatcherTest.java

2012-04-11 Thread lukaszlenart
Author: lukaszlenart
Date: Wed Apr 11 17:41:06 2012
New Revision: 1324888

URL: http://svn.apache.org/viewvc?rev=1324888&view=rev
Log:
WW-3796 Changes logic to set encoding on HttpServletRequest if differs from 
configured

Modified:

struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java

struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java?rev=1324888&r1=1324887&r2=1324888&view=diff
==
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
 Wed Apr 11 17:41:06 2012
@@ -690,11 +690,7 @@ public class Dispatcher {
 }
 
 if (encoding != null) {
-try {
-request.setCharacterEncoding(encoding);
-} catch (Exception e) {
-LOG.error("Error setting character encoding to '" + encoding + 
"' - ignoring.", e);
-}
+applyEncoding(request, encoding);
 }
 
 if (locale != null) {
@@ -706,6 +702,18 @@ public class Dispatcher {
 }
 }
 
+private void applyEncoding(HttpServletRequest request, String encoding) {
+try {
+if (!encoding.equals(request.getCharacterEncoding())) {
+// if the encoding is already correctly set and the parameters 
have been already read
+// do not try to set encoding because it is useless and will 
cause an error
+request.setCharacterEncoding(encoding);
+}
+} catch (Exception e) {
+LOG.error("Error setting character encoding to '" + encoding + "' 
- ignoring.", e);
+}
+}
+
 /**
  * Wrap and return the given request or return the original request object.
  * 

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java?rev=1324888&r1=1324887&r2=1324888&view=diff
==
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java
 Wed Apr 11 17:41:06 2012
@@ -70,7 +70,7 @@ public class DispatcherTest extends Stru
 HttpServletRequest req = new MockHttpServletRequest();
 HttpServletResponse res = new MockHttpServletResponse();
 
-Dispatcher du = initDispatcher(new HashMap() {{
+Dispatcher du = initDispatcher(new HashMap() {{
 put(StrutsConstants.STRUTS_I18N_ENCODING, "utf-8");
 }});
 du.prepare(req, res);
@@ -82,9 +82,10 @@ public class DispatcherTest extends Stru
 // given
 MockHttpServletRequest req = new MockHttpServletRequest();
 req.addHeader("X-Requested-With", "XMLHttpRequest");
+req.setCharacterEncoding("utf-8");
 HttpServletResponse res = new MockHttpServletResponse();
 
-Dispatcher du = initDispatcher(new HashMap() {{
+Dispatcher du = initDispatcher(new HashMap() {{
 put(StrutsConstants.STRUTS_I18N_ENCODING, "latin-2");
 }});
 
@@ -95,12 +96,36 @@ public class DispatcherTest extends Stru
 assertEquals(req.getCharacterEncoding(), "utf-8");
 }
 
+public void testSetEncodingIfDiffer() throws Exception {
+// given
+Mock mock = new Mock(HttpServletRequest.class);
+mock.expectAndReturn("getCharacterEncoding", "utf-8");
+mock.expectAndReturn("getHeader", "X-Requested-With", "");
+mock.expectAndReturn("getLocale", Locale.getDefault());
+mock.expectAndReturn("getCharacterEncoding", "utf-8");
+HttpServletRequest req = (HttpServletRequest) mock.proxy();
+HttpServletResponse res = new MockHttpServletResponse();
+
+Dispatcher du = initDispatcher(new HashMap() {{
+put(StrutsConstants.STRUTS_I18N_ENCODING, "utf-8");
+}});
+
+
+// when
+du.prepare(req, res);
+
+// then
+
+assertEquals(req.getCharacterEncoding(), "utf-8");
+mock.verify();
+}
+
 public void testPrepareSetEncodingPropertyWithMultipartRequest() throws 
Exception {
 MockHttpServletRequest req = new MockHttpServletRequest();
 MockHttpServletResponse res = new MockHttpServletResponse();
 
 req.setContentType("multipart/form-data");
-Dispatcher du = initDispatcher(new HashMap() {{
+Dispatcher du = initDispatch

svn commit: r1324893 - /struts/struts2/trunk/plugins/junit/src/main/java/org/apache/struts2/StrutsTestCase.java

2012-04-11 Thread lukaszlenart
Author: lukaszlenart
Date: Wed Apr 11 17:49:35 2012
New Revision: 1324893

URL: http://svn.apache.org/viewvc?rev=1324893&view=rev
Log:
WW-3442 adds additional initialisation of HttpSession

Modified:

struts/struts2/trunk/plugins/junit/src/main/java/org/apache/struts2/StrutsTestCase.java

Modified: 
struts/struts2/trunk/plugins/junit/src/main/java/org/apache/struts2/StrutsTestCase.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/junit/src/main/java/org/apache/struts2/StrutsTestCase.java?rev=1324893&r1=1324892&r2=1324893&view=diff
==
--- 
struts/struts2/trunk/plugins/junit/src/main/java/org/apache/struts2/StrutsTestCase.java
 (original)
+++ 
struts/struts2/trunk/plugins/junit/src/main/java/org/apache/struts2/StrutsTestCase.java
 Wed Apr 11 17:49:35 2012
@@ -36,6 +36,7 @@ import org.apache.struts2.util.StrutsTes
 import org.springframework.core.io.DefaultResourceLoader;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
+import org.springframework.mock.web.MockHttpSession;
 import org.springframework.mock.web.MockPageContext;
 import org.springframework.mock.web.MockServletContext;
 
@@ -159,9 +160,9 @@ public abstract class StrutsTestCase ext
 }
 
 protected void initSession(ActionContext actionContext) {
-Map session = actionContext.getSession();
-if (session == null) {
+if (actionContext.getSession() == null) {
 actionContext.setSession(new HashMap());
+request.setSession(new MockHttpSession(servletContext));
 }
 }
 




[CONF] Confluence Changes in the last 24 hours

2012-04-11 Thread confluence
This is a daily summary of all recent changes in Confluence.

-
Updated Spaces:
-


Apache Camel (https://cwiki.apache.org/confluence/display/CAMEL)

Pages
-
HTTP4 edited by  mazzag  (09:52 PM)
https://cwiki.apache.org/confluence/display/CAMEL/HTTP4

Camel 2.10.0 Release edited by  davsclaus  (05:49 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.10.0+Release

FOP edited by  davsclaus  (04:52 AM)
https://cwiki.apache.org/confluence/display/CAMEL/FOP

Blueprint Testing edited by  davsclaus  (04:41 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Blueprint+Testing

Karaf edited by  davsclaus  (03:09 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Karaf



Apache Connectors Framework 
(https://cwiki.apache.org/confluence/display/CONNECTORS)

Comments
https://cwiki.apache.org/confluence/display/CONNECTORS/FAQ (3)

Apache CXF Documentation (https://cwiki.apache.org/confluence/display/CXF20DOC)

Pages
-
WSDL to Java edited by  mazzag  (10:38 AM)
https://cwiki.apache.org/confluence/display/CXF20DOC/WSDL+to+Java



Apache Flex (https://cwiki.apache.org/confluence/display/FLEX)

Comments
https://cwiki.apache.org/confluence/display/FLEX/Status (1)

Apache Hive (https://cwiki.apache.org/confluence/display/Hive)

Pages
-
LanguageManual SortBy edited by  bro...@gmail.com  (07:36 PM)
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+SortBy



Apache Kafka (https://cwiki.apache.org/confluence/display/KAFKA)

Pages
-
Kafka replication detailed design V2 edited by  nehanarkhede  (01:39 PM)
https://cwiki.apache.org/confluence/display/KAFKA/Kafka+replication+detailed+design+V2



Apache Ode (https://cwiki.apache.org/confluence/display/ODExSITE)

Pages
-
Board Report 2012-04 created by vanto (05:26 AM)
https://cwiki.apache.org/confluence/display/ODExSITE/Board+Report+2012-04

Board Reports edited by  vanto  (05:07 AM)
https://cwiki.apache.org/confluence/display/ODExSITE/Board+Reports



OODT (https://cwiki.apache.org/confluence/display/OODT)

Pages
-
Workflow Manager Help edited by  michael.caya...@jpl.nasa.gov  (11:17 AM)
https://cwiki.apache.org/confluence/display/OODT/Workflow+Manager+Help



Apache OpenOffice Community 
(https://cwiki.apache.org/confluence/display/OOOUSERS)

Pages
-
Bundled Writing Aids edited by  af  (02:48 AM)
https://cwiki.apache.org/confluence/display/OOOUSERS/Bundled+Writing+Aids



Apache Openmeetings (https://cwiki.apache.org/confluence/display/OPENMEETINGS)

Pages
-
Manuals user OpenMeetings various edited by  greenes  (05:06 AM)
https://cwiki.apache.org/confluence/display/OPENMEETINGS/Manuals+user+OpenMeetings+various

Tutoriales en espaƱol relacionados con OpenMeetings edited by  greenes  (04:20 
AM)
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27837303



Apache OpenNLP (https://cwiki.apache.org/confluence/display/OPENNLP)

Pages
-
Articles and Blogs edited by  jbaldrid  (10:06 AM)
https://cwiki.apache.org/confluence/display/OPENNLP/Articles+and+Blogs



Apache Qpid (https://cwiki.apache.org/confluence/display/qpid)

Pages
-
0.16 Release edited by  justi9  (04:55 PM)
https://cwiki.apache.org/confluence/display/qpid/0.16+Release



Apache Syncope (https://cwiki.apache.org/confluence/display/SYNCOPE)

Pages
-
Roadmap created by ilgrosso (06:33 AM)
https://cwiki.apache.org/confluence/display/SYNCOPE/Roadmap

Releases edited by  ilgrosso  (05:23 AM)
https://cwiki.apache.org/confluence/display/SYNCOPE/Releases

Ritornello edited by  ilgrosso  (05:23 AM)
https://cwiki.apache.org/confluence/display/SYNCOPE/Ritornello




Change your notification preferences: 
https://cwiki.apache.org/confluence/users/viewnotifications.action