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);