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