You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2013/01/16 09:36:59 UTC
svn commit: r1433854 -
/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java
Author: lukaszlenart
Date: Wed Jan 16 08:36:59 2013
New Revision: 1433854
URL: http://svn.apache.org/viewvc?rev=1433854&view=rev
Log:
Solves problem with missing action name when mapping returned with empty action name
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java?rev=1433854&r1=1433853&r2=1433854&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java Wed Jan 16 08:36:59 2013
@@ -27,6 +27,7 @@ import com.opensymphony.xwork2.config.Co
import com.opensymphony.xwork2.config.entities.PackageConfig;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.RequestUtils;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.StrutsConstants;
@@ -37,7 +38,6 @@ import javax.servlet.http.HttpServletReq
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -315,7 +315,8 @@ public class DefaultActionMapper impleme
handleSpecialParameters(request, mapping);
- if (mapping.getName() == null) {
+ // if Action name is empty it can be a request to static resource, return null to handle that case
+ if (StringUtils.isEmpty(mapping.getName())) {
return null;
}
@@ -353,9 +354,8 @@ public class DefaultActionMapper impleme
// handle special parameter prefixes.
Set<String> uniqueParameters = new HashSet<String>();
Map parameterMap = request.getParameterMap();
- for (Iterator iterator = parameterMap.keySet().iterator(); iterator
- .hasNext();) {
- String key = (String) iterator.next();
+ for (Object o : parameterMap.keySet()) {
+ String key = (String) o;
// Strip off the image button location info, if found
if (key.endsWith(".x") || key.endsWith(".y")) {
@@ -364,8 +364,7 @@ public class DefaultActionMapper impleme
// Ensure a parameter doesn't get processed twice
if (!uniqueParameters.contains(key)) {
- ParameterAction parameterAction = (ParameterAction) prefixTrie
- .get(key);
+ ParameterAction parameterAction = (ParameterAction) prefixTrie.get(key);
if (parameterAction != null) {
parameterAction.execute(key, mapping);
uniqueParameters.add(key);
@@ -486,7 +485,7 @@ public class DefaultActionMapper impleme
if (extensions == null) {
return null;
} else {
- return (String) extensions.get(0);
+ return extensions.get(0);
}
}