You have got a small issue
https://ci.apache.org/builders/ofbiz-trunk/builds/1415
https://ci.apache.org/projects/ofbiz/logs/trunk/html/
Jacques
Le 13/09/2016 à 12:55, [email protected] a écrit :
Author: jacopoc
Date: Tue Sep 13 10:55:12 2016
New Revision: 1760528
URL: http://svn.apache.org/viewvc?rev=1760528&view=rev
Log:
Improved: set the character encoding to the system default (UTF-8) if and only
if it is not set already by the client.
Before this change the filter used to override the character encoding, even if
it was specified in the http request.
Also removed some unused imports and comments.
Modified:
ofbiz/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ContextFilter.java
Modified:
ofbiz/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ContextFilter.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ContextFilter.java?rev=1760528&r1=1760527&r2=1760528&view=diff
==============================================================================
---
ofbiz/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ContextFilter.java
(original)
+++
ofbiz/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/ContextFilter.java
Tue Sep 13 10:55:12 2016
@@ -21,16 +21,13 @@ package org.apache.ofbiz.webapp.control;
import static org.apache.ofbiz.base.util.UtilGenerics.checkMap;
import java.io.IOException;
-import java.io.UnsupportedEncodingException;
import java.util.Enumeration;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
-import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
@@ -50,12 +47,8 @@ import org.apache.ofbiz.entity.GenericVa
import org.apache.ofbiz.entity.util.EntityQuery;
import org.apache.ofbiz.entity.util.EntityUtil;
import org.apache.ofbiz.security.Security;
-import org.apache.ofbiz.security.SecurityConfigurationException;
-import org.apache.ofbiz.security.SecurityFactory;
import org.apache.ofbiz.service.LocalDispatcher;
-import org.apache.ofbiz.service.ServiceContainer;
import org.apache.ofbiz.webapp.WebAppUtil;
-import org.apache.ofbiz.webapp.event.RequestBodyMapHandlerFactory;
import org.apache.ofbiz.webapp.website.WebSiteWorker;
/**
@@ -69,6 +62,9 @@ public class ContextFilter implements Fi
protected FilterConfig config = null;
protected boolean debug = false;
+ // default charset used to decode requests body data if no encoding is specified in the request
+ private String defaultCharacterEncoding;
+
/**
* @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
*/
@@ -84,6 +80,10 @@ public class ContextFilter implements Fi
debug = Debug.verboseOn();
}
+ defaultCharacterEncoding = config.getServletContext().getInitParameter("charset");
+ if (UtilValidate.isEmpty(defaultCharacterEncoding)) {
+ defaultCharacterEncoding = "UTF-8";
+ }
// check the serverId
getServerId();
// initialize the delegator
@@ -104,7 +104,6 @@ public class ContextFilter implements Fi
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
- // Debug.logInfo("Running ContextFilter.doFilter", module);
// ----- Servlet Object Setup -----
@@ -250,10 +249,13 @@ public class ContextFilter implements Fi
}
}
+ if (request.getCharacterEncoding() == null) {
+ request.setCharacterEncoding(defaultCharacterEncoding);
+ }
+ WebAppUtil.setAttributesFromRequestBody(request);
+
// check if multi tenant is enabled
boolean useMultitenant = EntityUtil.isMultiTenantEnabled();
- WebAppUtil.setCharacterEncoding(request);
- WebAppUtil.setAttributesFromRequestBody(request);
if (useMultitenant) {
// get tenant delegator by domain name
String serverName = httpRequest.getServerName();