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 2014/02/19 15:30:25 UTC

svn commit: r1569755 - in /tomcat/trunk: java/org/apache/tomcat/util/descriptor/web/WebXml.java test/org/apache/tomcat/util/descriptor/web/TestWebXml.java

Author: markt
Date: Wed Feb 19 14:30:24 2014
New Revision: 1569755

URL: http://svn.apache.org/r1569755
Log:
Update tests to check correct handling of all attributes added between 2.2 and 2.3.

Modified:
    tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXml.java
    tomcat/trunk/test/org/apache/tomcat/util/descriptor/web/TestWebXml.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXml.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXml.java?rev=1569755&r1=1569754&r2=1569755&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXml.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXml.java Wed Feb 19 14:30:24 2014
@@ -793,10 +793,15 @@ public class WebXml {
             appendElement(sb, INDENT4, "enabled", servletDef.getEnabled());
             appendElement(sb, INDENT4, "async-supported",
                     servletDef.getAsyncSupported());
-            if (servletDef.getRunAs() != null) {
-                sb.append("    <run-as>\n");
-                appendElement(sb, INDENT6, "role-name", servletDef.getRunAs());
-                sb.append("    </run-as>\n");
+            // servlet/run-as was introduced in Servlet 2.3
+            // Note versions are validated and start at 2.2 so this test takes that
+            // into account
+            if (getMajorVersion() > 2 || getMinorVersion() > 2) {
+                if (servletDef.getRunAs() != null) {
+                    sb.append("    <run-as>\n");
+                    appendElement(sb, INDENT6, "role-name", servletDef.getRunAs());
+                    sb.append("    </run-as>\n");
+                }
             }
             for (SecurityRoleRef roleRef : servletDef.getSecurityRoleRefs()) {
                 sb.append("    <security-role-ref>\n");
@@ -960,8 +965,13 @@ public class WebXml {
             appendElement(sb, INDENT4, "res-ref-name", resourceRef.getName());
             appendElement(sb, INDENT4, "res-type", resourceRef.getType());
             appendElement(sb, INDENT4, "res-auth", resourceRef.getAuth());
-            appendElement(sb, INDENT4, "res-sharing-scope",
-                    resourceRef.getScope());
+            // resource-ref/res-sharing-scope was introduced in Servlet 2.3
+            // Note versions are validated and start at 2.2 so this test takes
+            // that into account
+            if (getMajorVersion() > 2 || getMinorVersion() > 2) {
+                appendElement(sb, INDENT4, "res-sharing-scope",
+                        resourceRef.getScope());
+            }
             // TODO mapped-name
             for (InjectionTarget target : resourceRef.getInjectionTargets()) {
                 sb.append("    <injection-target>\n");
@@ -978,8 +988,13 @@ public class WebXml {
 
         for (SecurityConstraint constraint : securityConstraints) {
             sb.append("  <security-constraint>\n");
-            appendElement(sb, INDENT4, "display-name",
-                    constraint.getDisplayName());
+            // security-constraint/display-name was introduced in Servlet 2.3
+            // Note versions are validated and start at 2.2 so this test takes
+            // that into account
+            if (getMajorVersion() > 2 || getMinorVersion() > 2) {
+                appendElement(sb, INDENT4, "display-name",
+                        constraint.getDisplayName());
+            }
             for (SecurityCollection collection : constraint.findCollections()) {
                 sb.append("    <web-resource-collection>\n");
                 appendElement(sb, INDENT6, "web-resource-name",

Modified: tomcat/trunk/test/org/apache/tomcat/util/descriptor/web/TestWebXml.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/descriptor/web/TestWebXml.java?rev=1569755&r1=1569754&r2=1569755&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/util/descriptor/web/TestWebXml.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/util/descriptor/web/TestWebXml.java Wed Feb 19 14:30:24 2014
@@ -236,7 +236,7 @@ public class TestWebXml {
         webXmlDefaultFragment.addFilterMapping(filterMap);
 
         // Listeners were added in 2.3 so should be excluded in 2.2
-        webXmlDefaultFragment.addListener("org.apache.tomcar.DummyListener");
+        webXmlDefaultFragment.addListener("org.apache.tomcat.DummyListener");
 
         // resource-env-ref was added in 2.3 so should be excluded in 2.2
         ContextResourceEnvRef resourceEnvRef = new ContextResourceEnvRef();
@@ -253,6 +253,35 @@ public class TestWebXml {
         ejbLocalRef.setHome("dummy");
         webXmlDefaultFragment.addEjbLocalRef(ejbLocalRef);
 
+        // Servlet/run-as was added in 2.3 so should be excluded in 2.2
+        ServletDef servletDef = new ServletDef();
+        servletDef.setServletName("Dummy");
+        servletDef.setServletClass("org.apache.tomcat.DummyServlet");
+        servletDef.setRunAs("dummy");
+        webXmlDefaultFragment.addServlet(servletDef);
+
+        webXmlDefaultFragment.addServletMapping("/dummy", "Dummy");
+
+        // resource-ref/res-sharing-scope was added in 2.3 so should be excluded
+        // in 2.2
+        ContextResource contextResource = new ContextResource();
+        contextResource.setName("dummy");
+        contextResource.setType("dummy");
+        contextResource.setAuth("Container");
+        contextResource.setScope("Shareable");
+        webXmlDefaultFragment.addResourceRef(contextResource);
+
+        // security-constraint/display-name was added in 2.3 so should be
+        // excluded in 2.2
+        SecurityConstraint sc = new SecurityConstraint();
+        sc.setDisplayName("dummy");
+        SecurityCollection collection = new SecurityCollection();
+        collection.setName("dummy");
+        collection.addPattern("/*");
+        collection.addMethod("DELETE");
+        sc.addCollection(collection);
+        webXmlDefaultFragment.addSecurityConstraint(sc);
+
         return webXmlDefaultFragment;
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org