Author: lukaszlenart
Date: Wed Aug 1 07:11:09 2012
New Revision: 1367870
URL: http://svn.apache.org/viewvc?rev=1367870&view=rev
Log:
WW-3857 changes RestActionMapper to return null if it cannot determine action
mapping, adds comment to API
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapper.java
struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java
struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionMapperTest.java
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapper.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapper.java?rev=1367870&r1=1367869&r2=1367870&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapper.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapper.java
Wed Aug 1 07:11:09 2012
@@ -21,10 +21,10 @@
package org.apache.struts2.dispatcher.mapper;
-import javax.servlet.http.HttpServletRequest;
-
import com.opensymphony.xwork2.config.ConfigurationManager;
+import javax.servlet.http.HttpServletRequest;
+
/**
* <!-- START SNIPPET: javadoc -->
*
@@ -51,7 +51,7 @@ public interface ActionMapper {
*
* @param request The servlet request
* @param configManager The current configuration manager
- * @return The appropriate action mapping
+ * @return The appropriate action mapping or null if mapping cannot be
determined
*/
ActionMapping getMapping(HttpServletRequest request, ConfigurationManager
configManager);
Modified:
struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java?rev=1367870&r1=1367869&r2=1367870&view=diff
==============================================================================
---
struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java
(original)
+++
struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java
Wed Aug 1 07:11:09 2012
@@ -289,9 +289,10 @@ public class RestActionMapper extends De
}
mapping.setName(fullName);
+ return mapping;
}
-
- return mapping;
+ // if action name isn't specified, it can be a normal request, to
static resource, return null to allow handle that case
+ return null;
}
private void handleDynamicMethodInvocation(ActionMapping mapping, String
name) {
Modified:
struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionMapperTest.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionMapperTest.java?rev=1367870&r1=1367869&r2=1367870&view=diff
==============================================================================
---
struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionMapperTest.java
(original)
+++
struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionMapperTest.java
Wed Aug 1 07:11:09 2012
@@ -57,6 +57,15 @@ public class RestActionMapperTest extend
};
}
+ public void testRootMapping() throws Exception {
+ req.setRequestURI("/myapp/");
+ req.setServletPath("/");
+
+ ActionMapping mapping = mapper.getMapping(req, configManager);
+
+ assertNull(mapping);
+ }
+
public void testGetMapping() throws Exception {
req.setRequestURI("/myapp/animals/dog");
req.setServletPath("/animals/dog");