Author: wesw
Date: Fri May 29 20:15:14 2009
New Revision: 780092

URL: http://svn.apache.org/viewvc?rev=780092&view=rev
Log:
WW-3129, now, using DynamicMethodInvocation=false really means false :)

Modified:
    
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java
    
struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.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=780092&r1=780091&r2=780092&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
 Fri May 29 20:15:14 2009
@@ -184,9 +184,10 @@
             {
                 put(METHOD_PREFIX, new ParameterAction() {
                     public void execute(String key, ActionMapping mapping) {
-                        mapping
-                                .setMethod(key
-                                        .substring(METHOD_PREFIX.length()));
+                        if (allowDynamicMethodCalls) {
+                            mapping.setMethod(key.substring(
+                                                   METHOD_PREFIX.length()));
+                        }
                     }
                 });
 
@@ -356,7 +357,7 @@
             if (key.endsWith(".x") || key.endsWith(".y")) {
                 key = key.substring(0, key.length() - 2);
             }
-
+            
             // Ensure a parameter doesn't get processed twice
             if (!uniqueParameters.contains(key)) {
                 ParameterAction parameterAction = (ParameterAction) prefixTrie

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java?rev=780092&r1=780091&r2=780092&view=diff
==============================================================================
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java
 Fri May 29 20:15:14 2009
@@ -237,6 +237,23 @@
         assertEquals(null, mapping.getMethod());
     }
 
+    public void testGetMappingWithActionName_noDynamicMethodColonPrefix() 
throws Exception {
+
+        Map parameterMap = new HashMap();
+        parameterMap.put(DefaultActionMapper.METHOD_PREFIX + "someMethod", "");
+
+        StrutsMockHttpServletRequest request = new 
StrutsMockHttpServletRequest();
+        request.setParameterMap(parameterMap);
+        request.setupGetServletPath("/someServletPath.action");
+
+        DefaultActionMapper defaultActionMapper = new DefaultActionMapper();
+        defaultActionMapper.setAllowDynamicMethodCalls("false");
+        ActionMapping actionMapping = defaultActionMapper.getMapping(request, 
configManager);
+
+        assertEquals("someServletPath", actionMapping.getName());
+        assertEquals(null, actionMapping.getMethod());
+    }
+
     public void testGetMappingWithActionName_null() throws Exception {
         DefaultActionMapper mapper = new DefaultActionMapper();
         ActionMapping mapping = mapper.getMappingFromActionName(null);


Reply via email to