Author: mrdon Date: Mon Jul 17 22:28:45 2006 New Revision: 422972 URL: http://svn.apache.org/viewvc?rev=422972&view=rev Log: Changed action mapper to use configuration, allowing action names with slashes, consolidated some tests, few cleanups WW-1383
Removed: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DefautActionMapperTest.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/StrutsTestCase.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/FilterDispatcher.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapper.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/TagUtils.java struts/struts2/trunk/core/src/test/java/org/apache/struts2/config/ConfigurationTest.java struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/NullActionMapper.java struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapperTest.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/StrutsTestCase.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/StrutsTestCase.java?rev=422972&r1=422971&r2=422972&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/StrutsTestCase.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/StrutsTestCase.java Mon Jul 17 22:28:45 2006 @@ -18,10 +18,12 @@ package org.apache.struts2; import org.apache.struts2.config.Configuration; +import org.apache.struts2.config.StrutsXMLConfigurationProvider; import org.apache.struts2.dispatcher.Dispatcher; import org.springframework.mock.web.MockServletContext; import com.opensymphony.xwork2.XWorkTestCase; +import com.opensymphony.xwork2.config.ConfigurationManager; import com.opensymphony.xwork2.util.LocalizedTextUtil; /** @@ -40,6 +42,9 @@ LocalizedTextUtil.clearDefaultResourceBundles(); Dispatcher du = new Dispatcher(new MockServletContext()); Dispatcher.setInstance(du); + configurationManager = new ConfigurationManager(); + configurationManager.addConfigurationProvider( + new StrutsXMLConfigurationProvider("struts.xml", false)); du.setConfigurationManager(configurationManager); } Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/FilterDispatcher.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/FilterDispatcher.java?rev=422972&r1=422971&r2=422972&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/FilterDispatcher.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/FilterDispatcher.java Mon Jul 17 22:28:45 2006 @@ -212,7 +212,7 @@ } ActionMapper mapper = ActionMapperFactory.getMapper(); - ActionMapping mapping = mapper.getMapping(request); + ActionMapping mapping = mapper.getMapping(request, du.getConfigurationManager().getConfiguration()); if (mapping == null) { // there is no action in this request, should we look for a static resource? Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java?rev=422972&r1=422971&r2=422972&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java Mon Jul 17 22:28:45 2006 @@ -103,7 +103,8 @@ if (isPathUrl(finalLocation)) { if (!finalLocation.startsWith("/")) { - String namespace = ActionMapperFactory.getMapper().getMapping(request).getNamespace(); + String namespace = ActionMapperFactory.getMapper().getMapping( + request, Dispatcher.getInstance().getConfigurationManager().getConfiguration()).getNamespace(); if ((namespace != null) && (namespace.length() > 0) && (!"/".equals(namespace))) { finalLocation = namespace + "/" + finalLocation; 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=422972&r1=422971&r2=422972&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 Mon Jul 17 22:28:45 2006 @@ -19,6 +19,8 @@ import javax.servlet.http.HttpServletRequest; +import com.opensymphony.xwork2.config.Configuration; + /** * <!-- START SNIPPET: javadoc --> * @@ -41,9 +43,10 @@ * Gets an action mapping for the current request * * @param request The servlet request + * @param config The current configuration * @return The appropriate action mapping */ - ActionMapping getMapping(HttpServletRequest request); + ActionMapping getMapping(HttpServletRequest request, Configuration config); /** * Converts an ActionMapping into a URI string 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=422972&r1=422971&r2=422972&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 Mon Jul 17 22:28:45 2006 @@ -19,10 +19,12 @@ import org.apache.struts2.RequestUtils; import org.apache.struts2.StrutsConstants; -import org.apache.struts2.config.Configuration; import org.apache.struts2.dispatcher.ServletRedirectResult; import org.apache.struts2.util.PrefixTrie; +import com.opensymphony.xwork2.config.Configuration; +import com.opensymphony.xwork2.config.entities.PackageConfig; + import javax.servlet.http.HttpServletRequest; import java.util.Arrays; import java.util.Iterator; @@ -149,8 +151,8 @@ private PrefixTrie prefixTrie = null; private boolean compatibilityMode = false; public DefaultActionMapper() { - if (Configuration.isSet(StrutsConstants.STRUTS_COMPATIBILITY_MODE)) { - compatibilityMode = "true".equals(Configuration.get(StrutsConstants.STRUTS_COMPATIBILITY_MODE)); + if (org.apache.struts2.config.Configuration.isSet(StrutsConstants.STRUTS_COMPATIBILITY_MODE)) { + compatibilityMode = "true".equals(org.apache.struts2.config.Configuration.get(StrutsConstants.STRUTS_COMPATIBILITY_MODE)); } prefixTrie = new PrefixTrie() { { @@ -203,11 +205,11 @@ /* (non-Javadoc) * @see org.apache.struts2.dispatcher.mapper.ActionMapper#getMapping(javax.servlet.http.HttpServletRequest) */ - public ActionMapping getMapping(HttpServletRequest request) { + public ActionMapping getMapping(HttpServletRequest request, Configuration config) { ActionMapping mapping = new ActionMapping(); String uri = getUri(request); - parseNameAndNamespace(uri, mapping); + parseNameAndNamespace(uri, mapping, config); handleSpecialParameters(request, mapping); @@ -253,7 +255,7 @@ * @param uri The uri * @param mapping The action mapping to populate */ - void parseNameAndNamespace(String uri, ActionMapping mapping) { + void parseNameAndNamespace(String uri, ActionMapping mapping, Configuration config) { String namespace, name; int lastSlash = uri.lastIndexOf("/"); if (lastSlash == -1) { @@ -265,8 +267,19 @@ namespace = "/"; name = uri.substring(lastSlash + 1); } else { - namespace = uri.substring(0, lastSlash); - name = uri.substring(lastSlash + 1); + String prefix = uri.substring(0, lastSlash); + namespace = ""; + // Find the longest matching namespace, defaulting to the default + for (Iterator i = config.getPackageConfigs().values().iterator(); i.hasNext(); ) { + String ns = ((PackageConfig)i.next()).getNamespace(); + if (ns != null && prefix.startsWith(ns)) { + if (ns.length() > namespace.length()) { + namespace = ns; + } + } + } + + name = uri.substring(namespace.length() + 1); } mapping.setNamespace(namespace); mapping.setName(dropExtension(name)); @@ -310,7 +323,7 @@ * Returns null if no extension is specified. */ static List getExtensions() { - String extensions = (String) Configuration.get(StrutsConstants.STRUTS_ACTION_EXTENSION); + String extensions = (String) org.apache.struts2.config.Configuration.get(StrutsConstants.STRUTS_ACTION_EXTENSION); if ("".equals(extensions)) { return null; Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java?rev=422972&r1=422971&r2=422972&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java Mon Jul 17 22:28:45 2006 @@ -22,6 +22,8 @@ import org.apache.struts2.RequestUtils; +import com.opensymphony.xwork2.config.Configuration; + import javax.servlet.http.HttpServletRequest; import java.net.URLDecoder; import java.util.HashMap; @@ -58,7 +60,7 @@ /* (non-Javadoc) * @see org.apache.struts2.dispatcher.mapper.ActionMapper#getMapping(javax.servlet.http.HttpServletRequest) */ - public ActionMapping getMapping(HttpServletRequest request) { + public ActionMapping getMapping(HttpServletRequest request, Configuration config) { String uri = RequestUtils.getServletPath(request); int nextSlash = uri.indexOf('/', 1); Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/TagUtils.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/TagUtils.java?rev=422972&r1=422971&r2=422972&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/TagUtils.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/TagUtils.java Mon Jul 17 22:28:45 2006 @@ -81,7 +81,8 @@ if (invocation == null) { ActionMapper mapper = ActionMapperFactory.getMapper(); - ActionMapping mapping = mapper.getMapping(request); + ActionMapping mapping = mapper.getMapping(request, + Dispatcher.getInstance().getConfigurationManager().getConfiguration()); if (mapping != null) { return mapping.getNamespace(); Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/config/ConfigurationTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/config/ConfigurationTest.java?rev=422972&r1=422971&r2=422972&view=diff ============================================================================== --- struts/struts2/trunk/core/src/test/java/org/apache/struts2/config/ConfigurationTest.java (original) +++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/config/ConfigurationTest.java Mon Jul 17 22:28:45 2006 @@ -43,7 +43,7 @@ assertEquals("de", locale.getLanguage()); int count = getKeyCount(); - assertEquals(28, count); + assertEquals(29, count); } public void testDefaultResourceBundlesLoaded() { Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/NullActionMapper.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/NullActionMapper.java?rev=422972&r1=422971&r2=422972&view=diff ============================================================================== --- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/NullActionMapper.java (original) +++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/NullActionMapper.java Mon Jul 17 22:28:45 2006 @@ -22,6 +22,8 @@ import org.apache.struts2.dispatcher.mapper.ActionMapper; import org.apache.struts2.dispatcher.mapper.ActionMapping; +import com.opensymphony.xwork2.config.Configuration; + /** * ActionMapper for testing FilterDispatcher (used in FilterDispaatcherTest) */ @@ -35,7 +37,7 @@ _actionMapping = actionMappingToBeRetrned; } - public ActionMapping getMapping(HttpServletRequest request) { + public ActionMapping getMapping(HttpServletRequest request, Configuration config) { return _actionMapping; } Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java?rev=422972&r1=422971&r2=422972&view=diff ============================================================================== --- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java (original) +++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java Mon Jul 17 22:28:45 2006 @@ -19,11 +19,17 @@ import com.mockobjects.dynamic.C; import com.mockobjects.dynamic.Mock; + import org.apache.struts2.ServletActionContext; import org.apache.struts2.StrutsStatics; import org.apache.struts2.StrutsTestCase; +import org.apache.struts2.config.StrutsXMLConfigurationProvider; +import org.springframework.mock.web.MockServletContext; + import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; +import com.opensymphony.xwork2.config.ConfigurationManager; +import com.opensymphony.xwork2.config.entities.PackageConfig; import com.opensymphony.xwork2.mock.MockActionInvocation; import com.opensymphony.xwork2.util.OgnlValueStack; import ognl.Ognl; @@ -90,6 +96,14 @@ protected void setUp() throws Exception { super.setUp(); + Dispatcher du = new Dispatcher(new MockServletContext()); + Dispatcher.setInstance(du); + ConfigurationManager cm = new ConfigurationManager(); + cm.addConfigurationProvider(new StrutsXMLConfigurationProvider("struts.xml", false)); + du.setConfigurationManager(cm); + du.getConfigurationManager().getConfiguration(). + addPackageConfig("foo", new PackageConfig("foo", "/namespace", false, null)); + view = new ServletRedirectResult(); 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=422972&r1=422971&r2=422972&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 Mon Jul 17 22:28:45 2006 @@ -17,7 +17,13 @@ */ package org.apache.struts2.dispatcher.mapper; +import com.mockobjects.servlet.MockHttpServletRequest; import com.opensymphony.xwork2.Result; +import com.opensymphony.xwork2.config.Configuration; +import com.opensymphony.xwork2.config.entities.PackageConfig; +import com.opensymphony.xwork2.config.impl.DefaultConfiguration; + +import org.apache.struts2.StrutsConstants; import org.apache.struts2.StrutsTestCase; import org.apache.struts2.dispatcher.ServletRedirectResult; import org.apache.struts2.views.jsp.StrutsMockHttpServletRequest; @@ -31,6 +37,128 @@ */ public class DefaultActionMapperTest extends StrutsTestCase { + private MockHttpServletRequest req; + private Configuration config; + + protected void setUp() throws Exception { + super.setUp(); + req = new MockHttpServletRequest(); + req.setupGetParameterMap(new HashMap()); + req.setupGetContextPath("/my/namespace"); + + config = new DefaultConfiguration(); + PackageConfig pkg = new PackageConfig("myns", "/my/namespace", false, null); + PackageConfig pkg2 = new PackageConfig("my", "/my", false, null); + config.addPackageConfig("mvns", pkg); + config.addPackageConfig("my", pkg2); + } + + public void testGetMapping() throws Exception { + setUp(); + req.setupGetRequestURI("/my/namespace/actionName.action"); + req.setupGetServletPath("/my/namespace/actionName.action"); + req.setupGetAttribute(null); + req.addExpectedGetAttributeName("javax.servlet.include.servlet_path"); + + DefaultActionMapper mapper = new DefaultActionMapper(); + ActionMapping mapping = mapper.getMapping(req, config); + + assertEquals("/my/namespace", mapping.getNamespace()); + assertEquals("actionName", mapping.getName()); + assertNull(mapping.getMethod()); + } + + public void testGetMappingWithMethod() throws Exception { + req.setupGetParameterMap(new HashMap()); + req.setupGetRequestURI("/my/namespace/actionName!add.action"); + req.setupGetServletPath("/my/namespace/actionName!add.action"); + req.setupGetAttribute(null); + req.addExpectedGetAttributeName("javax.servlet.include.servlet_path"); + + DefaultActionMapper mapper = new DefaultActionMapper(); + ActionMapping mapping = mapper.getMapping(req, config); + + assertEquals("/my/namespace", mapping.getNamespace()); + assertEquals("actionName!add", mapping.getName()); + } + + public void testGetMappingWithSlashedName() throws Exception { + setUp(); + req.setupGetRequestURI("/my/foo/actionName.action"); + req.setupGetServletPath("/my/foo/actionName.action"); + req.setupGetAttribute(null); + req.addExpectedGetAttributeName("javax.servlet.include.servlet_path"); + + DefaultActionMapper mapper = new DefaultActionMapper(); + ActionMapping mapping = mapper.getMapping(req, config); + + assertEquals("/my", mapping.getNamespace()); + assertEquals("foo/actionName", mapping.getName()); + assertNull(mapping.getMethod()); + } + + public void testGetMappingWithUnknownNamespace() throws Exception { + setUp(); + req.setupGetRequestURI("/bo/foo/actionName.action"); + req.setupGetServletPath("/bo/foo/actionName.action"); + req.setupGetAttribute(null); + req.addExpectedGetAttributeName("javax.servlet.include.servlet_path"); + + DefaultActionMapper mapper = new DefaultActionMapper(); + ActionMapping mapping = mapper.getMapping(req, config); + + assertEquals("", mapping.getNamespace()); + assertEquals("bo/foo/actionName", mapping.getName()); + assertNull(mapping.getMethod()); + } + + public void testGetUri() throws Exception { + req.setupGetParameterMap(new HashMap()); + req.setupGetRequestURI("/my/namespace/actionName.action"); + req.setupGetServletPath("/my/namespace/actionName.action"); + req.setupGetAttribute(null); + req.addExpectedGetAttributeName("javax.servlet.include.servlet_path"); + + DefaultActionMapper mapper = new DefaultActionMapper(); + ActionMapping mapping = mapper.getMapping(req, config); + assertEquals("/my/namespace/actionName.action", mapper.getUriFromActionMapping(mapping)); + } + + public void testGetUriWithMethod() throws Exception { + req.setupGetParameterMap(new HashMap()); + req.setupGetRequestURI("/my/namespace/actionName!add.action"); + req.setupGetServletPath("/my/namespace/actionName!add.action"); + req.setupGetAttribute(null); + req.addExpectedGetAttributeName("javax.servlet.include.servlet_path"); + + DefaultActionMapper mapper = new DefaultActionMapper(); + ActionMapping mapping = mapper.getMapping(req, config); + + assertEquals("/my/namespace/actionName!add.action", mapper.getUriFromActionMapping(mapping)); + } + + public void testGetMappingWithNoExtension() throws Exception { + Object old = org.apache.struts2.config.Configuration.get(StrutsConstants.STRUTS_ACTION_EXTENSION); + org.apache.struts2.config.Configuration.set(StrutsConstants.STRUTS_ACTION_EXTENSION, ""); + try { + req.setupGetParameterMap(new HashMap()); + req.setupGetRequestURI("/my/namespace/actionName"); + req.setupGetServletPath("/my/namespace/actionName"); + req.setupGetAttribute(null); + req.addExpectedGetAttributeName("javax.servlet.include.servlet_path"); + + DefaultActionMapper mapper = new DefaultActionMapper(); + ActionMapping mapping = mapper.getMapping(req, config); + + assertEquals("/my/namespace", mapping.getNamespace()); + assertEquals("actionName", mapping.getName()); + assertNull(mapping.getMethod()); + } + finally { + org.apache.struts2.config.Configuration.set(StrutsConstants.STRUTS_ACTION_EXTENSION, old); + } + } + // ============================= // === test name & namespace === // ============================= @@ -39,7 +167,7 @@ ActionMapping actionMapping = new ActionMapping(); DefaultActionMapper defaultActionMapper = new DefaultActionMapper(); - defaultActionMapper.parseNameAndNamespace("someAction.action", actionMapping); + defaultActionMapper.parseNameAndNamespace("someAction.action", actionMapping, config); assertEquals(actionMapping.getName(), "someAction"); assertEquals(actionMapping.getNamespace(), ""); @@ -49,7 +177,7 @@ ActionMapping actionMapping = new ActionMapping(); DefaultActionMapper defaultActionMapper = new DefaultActionMapper(); - defaultActionMapper.parseNameAndNamespace("/someAction.action", actionMapping); + defaultActionMapper.parseNameAndNamespace("/someAction.action", actionMapping, config); assertEquals(actionMapping.getName(), "someAction"); assertEquals(actionMapping.getNamespace(), "/"); @@ -59,10 +187,10 @@ ActionMapping actionMapping = new ActionMapping(); DefaultActionMapper defaultActionMapper = new DefaultActionMapper(); - defaultActionMapper.parseNameAndNamespace("/one/two/three/someAction.action", actionMapping); + defaultActionMapper.parseNameAndNamespace("/my/someAction.action", actionMapping, config); assertEquals(actionMapping.getName(), "someAction"); - assertEquals(actionMapping.getNamespace(), "/one/two/three"); + assertEquals(actionMapping.getNamespace(), "/my"); } @@ -79,7 +207,7 @@ request.setupGetServletPath("/someServletPath.action"); DefaultActionMapper defaultActionMapper = new DefaultActionMapper(); - ActionMapping actionMapping = defaultActionMapper.getMapping(request); + ActionMapping actionMapping = defaultActionMapper.getMapping(request, config); assertEquals(actionMapping.getName(), "myAction"); } @@ -93,7 +221,7 @@ request.setParameterMap(parameterMap); DefaultActionMapper defaultActionMapper = new DefaultActionMapper(); - ActionMapping actionMapping = defaultActionMapper.getMapping(request); + ActionMapping actionMapping = defaultActionMapper.getMapping(request, config); Result result = actionMapping.getResult(); assertNotNull(result); @@ -111,7 +239,7 @@ request.setParameterMap(parameterMap); DefaultActionMapper defaultActionMapper = new DefaultActionMapper(); - ActionMapping actionMapping = defaultActionMapper.getMapping(request); + ActionMapping actionMapping = defaultActionMapper.getMapping(request, config); Result result = actionMapping.getResult(); assertNotNull(result); Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapperTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapperTest.java?rev=422972&r1=422971&r2=422972&view=diff ============================================================================== --- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapperTest.java (original) +++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapperTest.java Mon Jul 17 22:28:45 2006 @@ -69,14 +69,14 @@ StrutsMockHttpServletRequest request = new StrutsMockHttpServletRequest(); request.setupGetServletPath("noslash"); - assertNull(mapper.getMapping(request)); + assertNull(mapper.getMapping(request, null)); } public void testGetMapping() throws Exception { StrutsMockHttpServletRequest request = new StrutsMockHttpServletRequest(); request.setupGetServletPath("/myapp/view/12"); - ActionMapping am = mapper.getMapping(request); + ActionMapping am = mapper.getMapping(request, null); assertEquals("myapp", am.getName()); assertEquals(1, am.getParams().size()); assertEquals("12", am.getParams().get("view")); @@ -86,7 +86,7 @@ StrutsMockHttpServletRequest request = new StrutsMockHttpServletRequest(); request.setupGetServletPath("/myapp/12/region/europe"); - ActionMapping am = mapper.getMapping(request); + ActionMapping am = mapper.getMapping(request, null); assertEquals("myapp", am.getName()); assertEquals(2, am.getParams().size()); assertEquals("12", am.getParams().get("myappId")); @@ -97,7 +97,7 @@ StrutsMockHttpServletRequest request = new StrutsMockHttpServletRequest(); request.setupGetServletPath("/myapp/view/12/region/europe"); - ActionMapping am = mapper.getMapping(request); + ActionMapping am = mapper.getMapping(request, null); assertEquals("myapp", am.getName()); assertEquals(2, am.getParams().size()); assertEquals("12", am.getParams().get("view"));