You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mr...@apache.org on 2006/07/18 07:28:45 UTC

svn commit: r422972 - in /struts/struts2/trunk/core/src: main/java/org/apache/struts2/ main/java/org/apache/struts2/dispatcher/ main/java/org/apache/struts2/dispatcher/mapper/ main/java/org/apache/struts2/views/jsp/ test/java/org/apache/struts2/config/...

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