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