From 7159c4d8a5a28300d05be096b54453ec422a45c4 Mon Sep 17 00:00:00 2001 From: markt Date: Tue, 29 Dec 2009 17:47:36 +0000 Subject: [PATCH] XML output tweaks Fix some NPEs in the merge of session-config elements Fix a copy and paste error in the merge of session-config elements git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@894457 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/startup/WebXml.java | 36 ++++++++++++++++++---------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/java/org/apache/catalina/startup/WebXml.java b/java/org/apache/catalina/startup/WebXml.java index 701b33163..64d0d9182 100644 --- a/java/org/apache/catalina/startup/WebXml.java +++ b/java/org/apache/catalina/startup/WebXml.java @@ -590,9 +590,11 @@ public class WebXml { appendElement(sb, INDENT4, "enabled", servletDef.getEnabled()); appendElement(sb, INDENT4, "async-supported", servletDef.getAsyncSupported()); - sb.append(" \n"); - appendElement(sb, INDENT6, "role-name", servletDef.getRunAs()); - sb.append(" \n"); + if (servletDef.getRunAs() != null) { + sb.append(" \n"); + appendElement(sb, INDENT6, "role-name", servletDef.getRunAs()); + sb.append(" \n"); + } for (SecurityRoleRef roleRef : servletDef.getSecurityRoleRefs()) { sb.append(" \n"); appendElement(sb, INDENT6, "role-name", roleRef.getName()); @@ -1491,8 +1493,10 @@ public class WebXml { } } } - sessionConfig.setSessionTimeout( - temp.getSessionConfig().getSessionTimeout().toString()); + if (temp.getSessionConfig().getSessionTimeout() != null) { + sessionConfig.setSessionTimeout( + temp.getSessionConfig().getSessionTimeout().toString()); + } } if (sessionConfig.getCookieName() == null) { @@ -1597,8 +1601,10 @@ public class WebXml { } } } - sessionConfig.setCookieHttpOnly( - temp.getSessionConfig().getCookieHttpOnly().toString()); + if (temp.getSessionConfig().getCookieHttpOnly() != null) { + sessionConfig.setCookieHttpOnly( + temp.getSessionConfig().getCookieHttpOnly().toString()); + } } if (sessionConfig.getCookieSecure() == null) { for (WebXml fragment : fragments) { @@ -1618,8 +1624,10 @@ public class WebXml { } } } - sessionConfig.setCookieSecure( - temp.getSessionConfig().getCookieSecure().toString()); + if (temp.getSessionConfig().getCookieSecure() != null) { + sessionConfig.setCookieSecure( + temp.getSessionConfig().getCookieSecure().toString()); + } } if (sessionConfig.getCookieMaxAge() == null) { for (WebXml fragment : fragments) { @@ -1639,8 +1647,10 @@ public class WebXml { } } } - sessionConfig.setCookieMaxAge( - temp.getSessionConfig().getCookieMaxAge().toString()); + if (temp.getSessionConfig().getCookieMaxAge() != null) { + sessionConfig.setCookieMaxAge( + temp.getSessionConfig().getCookieMaxAge().toString()); + } } if (sessionConfig.getSessionTrackingModes().size() == 0) { @@ -1662,8 +1672,8 @@ public class WebXml { } } } - sessionConfig.setSessionTimeout( - temp.getSessionConfig().getSessionTimeout().toString()); + sessionConfig.getSessionTrackingModes().addAll( + temp.getSessionConfig().getSessionTrackingModes()); } for (WebXml fragment : fragments) { -- 2.11.0