Author: markt Date: Tue Feb 28 11:16:51 2017 New Revision: 1784723 URL: http://svn.apache.org/viewvc?rev=1784723&view=rev Log: Servlet 4 EG discussion concluded that leading '/' should not be present in match values.
Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationMapping.java tomcat/trunk/test/org/apache/catalina/core/TestApplicationMapping.java Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationMapping.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationMapping.java?rev=1784723&r1=1784722&r2=1784723&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/ApplicationMapping.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/ApplicationMapping.java Tue Feb 28 11:16:51 2017 @@ -44,20 +44,20 @@ public class ApplicationMapping { mapping = new MappingImpl("", "", mappingData.matchType, servletName); break; case DEFAULT: - mapping = new MappingImpl("/", "/", mappingData.matchType, servletName); + mapping = new MappingImpl("", "/", mappingData.matchType, servletName); break; case EXACT: - mapping = new MappingImpl(mappingData.wrapperPath.toString(), + mapping = new MappingImpl(mappingData.wrapperPath.toString().substring(1), mappingData.wrapperPath.toString(), mappingData.matchType, servletName); break; case EXTENSION: String path = mappingData.wrapperPath.toString(); int extIndex = path.lastIndexOf('.'); - mapping = new MappingImpl(path.substring(0, extIndex), + mapping = new MappingImpl(path.substring(1, extIndex), "*" + path.substring(extIndex), mappingData.matchType, servletName); break; case PATH: - mapping = new MappingImpl(mappingData.pathInfo.toString(), + mapping = new MappingImpl(mappingData.pathInfo.toString().substring(1), mappingData.wrapperPath.toString() + "/*", mappingData.matchType, servletName); break; Modified: tomcat/trunk/test/org/apache/catalina/core/TestApplicationMapping.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TestApplicationMapping.java?rev=1784723&r1=1784722&r2=1784723&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/catalina/core/TestApplicationMapping.java (original) +++ tomcat/trunk/test/org/apache/catalina/core/TestApplicationMapping.java Tue Feb 28 11:16:51 2017 @@ -45,22 +45,22 @@ public class TestApplicationMapping exte @Test public void testContextNonRootMappingDefault() throws Exception { - doTestMapping("/dummy", "/", "/foo", "/", "DEFAULT"); + doTestMapping("/dummy", "/", "/foo", "", "DEFAULT"); } @Test public void testContextNonRootMappingExtension() throws Exception { - doTestMapping("/dummy", "*.test", "/foo/bar.test", "/foo/bar", "EXTENSION"); + doTestMapping("/dummy", "*.test", "/foo/bar.test", "foo/bar", "EXTENSION"); } @Test public void testContextNonRootMappingExact() throws Exception { - doTestMapping("/dummy", "/foo/bar", "/foo/bar", "/foo/bar", "EXACT"); + doTestMapping("/dummy", "/foo/bar", "/foo/bar", "foo/bar", "EXACT"); } @Test public void testContextNonRootMappingPath() throws Exception { - doTestMapping("/dummy", "/foo/bar/*", "/foo/bar/foo2", "/foo2", "PATH"); + doTestMapping("/dummy", "/foo/bar/*", "/foo/bar/foo2", "foo2", "PATH"); } @Test @@ -70,22 +70,22 @@ public class TestApplicationMapping exte @Test public void testContextRootMappingDefault() throws Exception { - doTestMapping("", "/", "/foo", "/", "DEFAULT"); + doTestMapping("", "/", "/foo", "", "DEFAULT"); } @Test public void testContextRootMappingExtension() throws Exception { - doTestMapping("", "*.test", "/foo/bar.test", "/foo/bar", "EXTENSION"); + doTestMapping("", "*.test", "/foo/bar.test", "foo/bar", "EXTENSION"); } @Test public void testContextRootMappingExact() throws Exception { - doTestMapping("", "/foo/bar", "/foo/bar", "/foo/bar", "EXACT"); + doTestMapping("", "/foo/bar", "/foo/bar", "foo/bar", "EXACT"); } @Test public void testContextRootMappingPath() throws Exception { - doTestMapping("", "/foo/bar/*", "/foo/bar/foo2", "/foo2", "PATH"); + doTestMapping("", "/foo/bar/*", "/foo/bar/foo2", "foo2", "PATH"); } private void doTestMapping(String contextPath, String mapping, String requestPath, @@ -151,7 +151,7 @@ public class TestApplicationMapping exte Assert.assertTrue(body, body.contains("MatchType=[" + matchType + "]")); Assert.assertTrue(body, body.contains("ServletName=[Include]")); - Assert.assertTrue(body, body.contains("IncludeMatchValue=[/mapping]")); + Assert.assertTrue(body, body.contains("IncludeMatchValue=[mapping]")); Assert.assertTrue(body, body.contains("IncludePattern=[/mapping]")); Assert.assertTrue(body, body.contains("IncludeMatchType=[EXACT]")); Assert.assertTrue(body, body.contains("IncludeServletName=[Mapping]")); @@ -197,7 +197,7 @@ public class TestApplicationMapping exte ByteChunk bc = getUrl("http://localhost:" + getPort() + contextPath + requestPath); String body = bc.toString(); - Assert.assertTrue(body, body.contains("MatchValue=[/mapping]")); + Assert.assertTrue(body, body.contains("MatchValue=[mapping]")); Assert.assertTrue(body, body.contains("Pattern=[/mapping]")); Assert.assertTrue(body, body.contains("MatchType=[EXACT]")); Assert.assertTrue(body, body.contains("ServletName=[Mapping]")); @@ -249,7 +249,7 @@ public class TestApplicationMapping exte ByteChunk bc = getUrl("http://localhost:" + getPort() + contextPath + requestPath); String body = bc.toString(); - Assert.assertTrue(body, body.contains("MatchValue=[/mapping]")); + Assert.assertTrue(body, body.contains("MatchValue=[mapping]")); Assert.assertTrue(body, body.contains("Pattern=[/mapping]")); Assert.assertTrue(body, body.contains("MatchType=[EXACT]")); Assert.assertTrue(body, body.contains("ServletName=[Mapping]")); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org