You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/05/10 15:11:23 UTC

svn commit: r1481005 - in /tomcat/trunk: java/org/apache/catalina/deploy/WebXml.java java/org/apache/catalina/startup/Constants.java java/org/apache/catalina/startup/DigesterFactory.java test/org/apache/catalina/deploy/TestWebXml.java

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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org