Author: markt Date: Fri May 10 13:11:22 2013 New Revision: 1481005 URL: http://svn.apache.org/r1481005 Log: Add constants for new XSDs Ensure new XSDs are registered as local schema Add 3.1 version check to web.xml parsing with the associated unit test
Modified: tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java tomcat/trunk/java/org/apache/catalina/startup/Constants.java tomcat/trunk/java/org/apache/catalina/startup/DigesterFactory.java tomcat/trunk/test/org/apache/catalina/deploy/TestWebXml.java Modified: tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java?rev=1481005&r1=1481004&r2=1481005&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java (original) +++ tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java Fri May 10 13:11:22 2013 @@ -184,6 +184,13 @@ public class WebXml { // Update major and minor version if (publicId == null) { // skip + } else if (org.apache.catalina.startup.Constants.WebSchemaPublicId_31. + equalsIgnoreCase(publicId) || + org.apache.catalina.startup.Constants.WebFragmentSchemaPublicId_31. + equalsIgnoreCase(publicId)) { + majorVersion = 3; + minorVersion = 1; + this.publicId = publicId; } else if (org.apache.catalina.startup.Constants.WebSchemaPublicId_30. equalsIgnoreCase(publicId) || org.apache.catalina.startup.Constants.WebFragmentSchemaPublicId_30. Modified: tomcat/trunk/java/org/apache/catalina/startup/Constants.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Constants.java?rev=1481005&r1=1481004&r2=1481005&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/startup/Constants.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/Constants.java Fri May 10 13:11:22 2013 @@ -14,11 +14,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - - package org.apache.catalina.startup; - /** * String constants for the startup package. * @@ -26,7 +23,6 @@ package org.apache.catalina.startup; * @author Jean-Francois Arcand * @version $Id$ */ - public final class Constants { public static final String Package = "org.apache.catalina.startup"; @@ -73,6 +69,11 @@ public final class Constants { public static final String JavaeeSchemaResourcePath_6 = "/javax/servlet/resources/javaee_6.xsd"; + public static final String JavaeeSchemaPublicId_7 = + "javaee_7.xsd"; + public static final String JavaeeSchemaResourcePath_7 = + "/javax/servlet/resources/javaee_6.xsd"; + // W3C public static final String W3cSchemaPublicId_10 = @@ -107,6 +108,11 @@ public final class Constants { public static final String JspSchemaResourcePath_22 = "/javax/servlet/jsp/resources/jsp_2_2.xsd"; + public static final String JspSchemaPublicId_23 = + "jsp_2_3.xsd"; + public static final String JspSchemaResourcePath_23 = + "/javax/servlet/jsp/resources/jsp_2_3.xsd"; + // TLD public static final String TldDtdPublicId_11 = @@ -166,6 +172,22 @@ public final class Constants { public static final String WebFragmentSchemaResourcePath_30 = "/javax/servlet/resources/web-fragment_3_0.xsd"; + public static final String WebSchemaPublicId_31 = + "web-app_3_1.xsd"; + public static final String WebSchemaResourcePath_31 = + "/javax/servlet/resources/web-app_3_1.xsd"; + + public static final String WebCommonSchemaPublicId_31 = + "web-common_3_1.xsd"; + public static final String WebCommonSchemaResourcePath_31 = + "/javax/servlet/resources/web-common_3_1.xsd"; + + public static final String WebFragmentSchemaPublicId_31 = + "web-fragment_3_1.xsd"; + public static final String WebFragmentSchemaResourcePath_31 = + "/javax/servlet/resources/web-fragment_3_1.xsd"; + + // Web service public static final String J2eeWebServiceSchemaPublicId_11 = "j2ee_web_services_1_1.xsd"; @@ -197,4 +219,13 @@ public final class Constants { public static final String JavaeeWebServiceClientSchemaResourcePath_13 = "/javax/servlet/resources/javaee_web_services_client_1_3.xsd"; + public static final String JavaeeWebServiceSchemaPublicId_14 = + "javaee_web_services_1_4.xsd"; + public static final String JavaeeWebServiceSchemaResourcePath_14 = + "/javax/servlet/resources/javaee_web_services_1_4.xsd"; + + public static final String JavaeeWebServiceClientSchemaPublicId_14 = + "javaee_web_services_client_1_4.xsd"; + public static final String JavaeeWebServiceClientSchemaResourcePath_14 = + "/javax/servlet/resources/javaee_web_services_client_1_4.xsd"; } Modified: tomcat/trunk/java/org/apache/catalina/startup/DigesterFactory.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/DigesterFactory.java?rev=1481005&r1=1481004&r2=1481005&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/startup/DigesterFactory.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/DigesterFactory.java Fri May 10 13:11:22 2013 @@ -82,6 +82,10 @@ public class DigesterFactory { Constants.JavaeeSchemaPublicId_6, schemaResolver); + register(Constants.JavaeeSchemaResourcePath_7, + Constants.JavaeeSchemaPublicId_7, + schemaResolver); + // W3C register(Constants.W3cSchemaResourcePath_10, Constants.W3cSchemaPublicId_10, @@ -108,6 +112,10 @@ public class DigesterFactory { Constants.JspSchemaPublicId_22, schemaResolver); + register(Constants.JspSchemaResourcePath_23, + Constants.JspSchemaPublicId_23, + schemaResolver); + // TLD register(Constants.TldDtdResourcePath_11, Constants.TldDtdPublicId_11, @@ -154,6 +162,18 @@ public class DigesterFactory { Constants.WebFragmentSchemaPublicId_30, schemaResolver); + register(Constants.WebSchemaResourcePath_31, + Constants.WebSchemaPublicId_31, + schemaResolver); + + register(Constants.WebCommonSchemaResourcePath_31, + Constants.WebCommonSchemaPublicId_31, + schemaResolver); + + register(Constants.WebFragmentSchemaResourcePath_31, + Constants.WebFragmentSchemaPublicId_31, + schemaResolver); + // Web Service register(Constants.J2eeWebServiceSchemaResourcePath_11, Constants.J2eeWebServiceSchemaPublicId_11, @@ -178,6 +198,14 @@ public class DigesterFactory { register(Constants.JavaeeWebServiceClientSchemaResourcePath_13, Constants.JavaeeWebServiceClientSchemaPublicId_13, schemaResolver); + + register(Constants.JavaeeWebServiceSchemaResourcePath_14, + Constants.JavaeeWebServiceSchemaPublicId_14, + schemaResolver); + + register(Constants.JavaeeWebServiceClientSchemaResourcePath_14, + Constants.JavaeeWebServiceClientSchemaPublicId_14, + schemaResolver); } @@ -194,5 +222,4 @@ public class DigesterFactory { schemaResolver.register(resourcePublicId , url.toString() ); } } - } Modified: tomcat/trunk/test/org/apache/catalina/deploy/TestWebXml.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/deploy/TestWebXml.java?rev=1481005&r1=1481004&r2=1481005&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/catalina/deploy/TestWebXml.java (original) +++ tomcat/trunk/test/org/apache/catalina/deploy/TestWebXml.java Fri May 10 13:11:22 2013 @@ -138,6 +138,18 @@ public class TestWebXml { } @Test + public void testParsePublicIdVersion31() { + + WebXml webxml = new WebXml(); + + webxml.setPublicId( + org.apache.catalina.startup.Constants.WebSchemaPublicId_31); + Assert.assertEquals(3, webxml.getMajorVersion()); + Assert.assertEquals(1, webxml.getMinorVersion()); + Assert.assertEquals("3.1", webxml.getVersion()); + } + + @Test public void testLifecycleMethodsWebXml() { WebXml webxml = new WebXml(); webxml.addPostConstructMethods("a", "a"); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org