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 2019/07/08 12:07:18 UTC
[tomcat] 03/04: Clean-up.
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 5a3d3735c997a14856a0340363e6c8826e0de46f
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Mon Jul 8 11:03:32 2019 +0100
Clean-up.
Add service and use it. Whitespace. Use of final. Remove Javadoc where
it can/should be inherited. Remove unnecessary (). Remove unused code.
Align with 8.5.x where possible.
---
.../apache/catalina/core/ApplicationContext.java | 466 +++++----------------
1 file changed, 97 insertions(+), 369 deletions(-)
diff --git a/java/org/apache/catalina/core/ApplicationContext.java b/java/org/apache/catalina/core/ApplicationContext.java
index 1ac3996..433675f 100644
--- a/java/org/apache/catalina/core/ApplicationContext.java
+++ b/java/org/apache/catalina/core/ApplicationContext.java
@@ -29,7 +29,6 @@ import java.util.Enumeration;
import java.util.EventListener;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -122,6 +121,7 @@ public class ApplicationContext implements ServletContext {
public ApplicationContext(StandardContext context) {
super();
this.context = context;
+ this.service = ((Engine) context.getParent().getParent()).getService();
this.sessionCookieConfig = new ApplicationSessionCookieConfig(context);
// Populate session tracking modes
@@ -135,8 +135,7 @@ public class ApplicationContext implements ServletContext {
/**
* The context attributes for this context.
*/
- protected Map<String,Object> attributes =
- new ConcurrentHashMap<String,Object>();
+ protected Map<String,Object> attributes = new ConcurrentHashMap<String,Object>();
/**
@@ -148,7 +147,13 @@ public class ApplicationContext implements ServletContext {
/**
* The Context instance with which we are associated.
*/
- private StandardContext context = null;
+ private final StandardContext context;
+
+
+ /**
+ * The Service instance with which we are associated.
+ */
+ private final Service service;
/**
@@ -156,6 +161,7 @@ public class ApplicationContext implements ServletContext {
*/
private static final List<String> emptyString = Collections.emptyList();
+
/**
* Empty Servlet collection to serve as the basis for empty enumerations.
*/
@@ -165,7 +171,7 @@ public class ApplicationContext implements ServletContext {
/**
* The facade around this object.
*/
- private ServletContext facade = new ApplicationContextFacade(this);
+ private final ServletContext facade = new ApplicationContextFacade(this);
/**
@@ -177,15 +183,13 @@ public class ApplicationContext implements ServletContext {
/**
* The string manager for this package.
*/
- private static final StringManager sm =
- StringManager.getManager(Constants.Package);
+ private static final StringManager sm = StringManager.getManager(Constants.Package);
/**
* Thread local data used during request dispatch.
*/
- private ThreadLocal<DispatchData> dispatchData =
- new ThreadLocal<DispatchData>();
+ private final ThreadLocal<DispatchData> dispatchData = new ThreadLocal<DispatchData>();
/**
@@ -218,22 +222,12 @@ public class ApplicationContext implements ServletContext {
// ------------------------------------------------- ServletContext Methods
- /**
- * Return the value of the specified context attribute, if any;
- * otherwise return <code>null</code>.
- *
- * @param name Name of the context attribute to return
- */
@Override
public Object getAttribute(String name) {
return attributes.get(name);
}
- /**
- * Return an enumeration of the names of the context attributes
- * associated with this context.
- */
@Override
public Enumeration<String> getAttributeNames() {
Set<String> names = new HashSet<String>();
@@ -242,16 +236,6 @@ public class ApplicationContext implements ServletContext {
}
- /**
- * Return a <code>ServletContext</code> object that corresponds to a
- * specified URI on the server. This method allows servlets to gain
- * access to the context for various parts of the server, and as needed
- * obtain <code>RequestDispatcher</code> objects or resources from the
- * context. The given path must be absolute (beginning with a "/"),
- * and is interpreted based on our virtual host's document root.
- *
- * @param uri Absolute URI of a resource on the server
- */
@Override
public ServletContext getContext(String uri) {
@@ -288,7 +272,7 @@ public class ApplicationContext implements ServletContext {
pathMB.setString(uri);
MappingData mappingData = new MappingData();
- ((Engine) host.getParent()).getService().findConnectors()[0].getMapper().map(
+ service.findConnectors()[0].getMapper().map(
hostMB, pathMB, null, mappingData);
child = (Context) mappingData.context;
}
@@ -314,21 +298,12 @@ public class ApplicationContext implements ServletContext {
}
- /**
- * Return the main path associated with this context.
- */
@Override
public String getContextPath() {
return context.getPath();
}
- /**
- * Return the value of the specified initialization parameter, or
- * <code>null</code> if this parameter does not exist.
- *
- * @param name Name of the initialization parameter to retrieve
- */
@Override
public String getInitParameter(final String name) {
// Special handling for XML settings as the context setting must
@@ -351,10 +326,6 @@ public class ApplicationContext implements ServletContext {
}
- /**
- * Return the names of the context's initialization parameters, or an
- * empty enumeration if the context has no initialization parameters.
- */
@Override
public Enumeration<String> getInitParameterNames() {
Set<String> names = new HashSet<String>();
@@ -374,25 +345,15 @@ public class ApplicationContext implements ServletContext {
}
- /**
- * Return the major version of the Java Servlet API that we implement.
- */
@Override
public int getMajorVersion() {
-
- return (Constants.MAJOR_VERSION);
-
+ return Constants.MAJOR_VERSION;
}
- /**
- * Return the minor version of the Java Servlet API that we implement.
- */
@Override
public int getMinorVersion() {
-
- return (Constants.MINOR_VERSION);
-
+ return Constants.MINOR_VERSION;
}
@@ -406,14 +367,14 @@ public class ApplicationContext implements ServletContext {
public String getMimeType(String file) {
if (file == null)
- return (null);
+ return null;
int period = file.lastIndexOf('.');
if (period < 0)
- return (null);
+ return null;
String extension = file.substring(period + 1);
if (extension.length() < 1)
- return (null);
- return (context.findMimeMapping(extension));
+ return null;
+ return context.findMimeMapping(extension);
}
@@ -429,43 +390,30 @@ public class ApplicationContext implements ServletContext {
// Validate the name argument
if (name == null)
- return (null);
+ return null;
// Create and return a corresponding request dispatcher
Wrapper wrapper = (Wrapper) context.findChild(name);
if (wrapper == null)
- return (null);
+ return null;
return new ApplicationDispatcher(wrapper, null, null, null, null, name);
}
- /**
- * Return the real path for a given virtual path, if possible; otherwise
- * return <code>null</code>.
- *
- * @param path The path to the desired resource
- */
@Override
public String getRealPath(String path) {
return context.getRealPath(path);
}
- /**
- * Return a <code>RequestDispatcher</code> instance that acts as a
- * wrapper for the resource at the given path. The path must begin
- * with a "/" and is interpreted as relative to the current context root.
- *
- * @param path The path to the desired resource.
- */
@Override
public RequestDispatcher getRequestDispatcher(final String path) {
// Validate the path argument
if (path == null) {
- return (null);
+ return null;
}
if (!path.startsWith("/")) {
throw new IllegalArgumentException(
@@ -491,7 +439,7 @@ public class ApplicationContext implements ServletContext {
// Then normalize
String normalizedUri = RequestUtil.normalize(uriNoParams);
if (normalizedUri == null) {
- return (null);
+ return null;
}
// Mapping is against the normalized uri
@@ -519,8 +467,6 @@ public class ApplicationContext implements ServletContext {
uri = URLEncoder.DEFAULT.encode(getContextPath() + uri, "UTF-8");
}
- pos = normalizedUri.length();
-
// Use the thread local URI and mapping data
DispatchData dd = dispatchData.get();
if (dd == null) {
@@ -594,20 +540,8 @@ public class ApplicationContext implements ServletContext {
}
-
- /**
- * Return the URL to the resource that is mapped to a specified path.
- * The path must begin with a "/" and is interpreted as relative to the
- * current context root.
- *
- * @param path The path to the desired resource
- *
- * @exception MalformedURLException if the path is not given
- * in the correct form
- */
@Override
- public URL getResource(String path)
- throws MalformedURLException {
+ public URL getResource(String path) throws MalformedURLException {
if (path == null ||
!path.startsWith("/") && GET_RESOURCE_REQUIRE_SLASH)
@@ -637,19 +571,10 @@ public class ApplicationContext implements ServletContext {
}
}
- return (null);
-
+ return null;
}
- /**
- * Return the requested resource as an <code>InputStream</code>. The
- * path must be specified according to the rules described under
- * <code>getResource</code>. If no such resource can be identified,
- * return <code>null</code>.
- *
- * @param path The path to the desired resource.
- */
@Override
public InputStream getResourceAsStream(String path) {
@@ -677,18 +602,11 @@ public class ApplicationContext implements ServletContext {
getContextPath()), e);
}
}
- return (null);
+ return null;
}
- /**
- * Return a Set containing the resource paths of resources member of the
- * specified collection. Each path will be a String starting with
- * a "/" character. The returned set is immutable.
- *
- * @param path Collection path
- */
@Override
public Set<String> getResourcePaths(String path) {
@@ -697,8 +615,7 @@ public class ApplicationContext implements ServletContext {
return null;
}
if (!path.startsWith("/")) {
- throw new IllegalArgumentException
- (sm.getString("applicationContext.resourcePaths.iae", path));
+ throw new IllegalArgumentException (sm.getString("applicationContext.resourcePaths.iae", path));
}
String normalizedPath;
@@ -718,8 +635,8 @@ public class ApplicationContext implements ServletContext {
if (resources != null) {
return (getResourcePathsInternal(resources, normalizedPath));
}
- return (null);
+ return null;
}
@@ -744,43 +661,25 @@ public class ApplicationContext implements ServletContext {
}
- /**
- * Return the name and version of the servlet container.
- */
@Override
public String getServerInfo() {
-
- return (ServerInfo.getServerInfo());
-
+ return ServerInfo.getServerInfo();
}
- /**
- * @deprecated As of Java Servlet API 2.1, with no direct replacement.
- */
@Override
@Deprecated
public Servlet getServlet(String name) {
-
- return (null);
-
+ return null;
}
- /**
- * Return the display name of this web application.
- */
@Override
public String getServletContextName() {
-
- return (context.getDisplayName());
-
+ return context.getDisplayName();
}
- /**
- * @deprecated As of Java Servlet API 2.1, with no direct replacement.
- */
@Override
@Deprecated
public Enumeration<String> getServletNames() {
@@ -788,9 +687,6 @@ public class ApplicationContext implements ServletContext {
}
- /**
- * @deprecated As of Java Servlet API 2.1, with no direct replacement.
- */
@Override
@Deprecated
public Enumeration<Servlet> getServlets() {
@@ -798,56 +694,25 @@ public class ApplicationContext implements ServletContext {
}
- /**
- * Writes the specified message to a servlet log file.
- *
- * @param message Message to be written
- */
@Override
public void log(String message) {
-
context.getLogger().info(message);
-
}
- /**
- * Writes the specified exception and message to a servlet log file.
- *
- * @param exception Exception to be reported
- * @param message Message to be written
- *
- * @deprecated As of Java Servlet API 2.1, use
- * <code>log(String, Throwable)</code> instead
- */
@Override
@Deprecated
public void log(Exception exception, String message) {
-
context.getLogger().error(message, exception);
-
}
- /**
- * Writes the specified message and exception to a servlet log file.
- *
- * @param message Message to be written
- * @param throwable Exception to be reported
- */
@Override
public void log(String message, Throwable throwable) {
-
context.getLogger().error(message, throwable);
-
}
- /**
- * Remove the context attribute with the specified name, if any.
- *
- * @param name Name of the context attribute to be removed
- */
@Override
public void removeAttribute(String name) {
@@ -865,48 +730,36 @@ public class ApplicationContext implements ServletContext {
// Notify interested application event listeners
Object listeners[] = context.getApplicationEventListeners();
- if ((listeners == null) || (listeners.length == 0))
+ if ((listeners == null) || (listeners.length == 0)) {
return;
- ServletContextAttributeEvent event =
- new ServletContextAttributeEvent(context.getServletContext(),
- name, value);
+ }
+ ServletContextAttributeEvent event = new ServletContextAttributeEvent(
+ context.getServletContext(), name, value);
for (int i = 0; i < listeners.length; i++) {
- if (!(listeners[i] instanceof ServletContextAttributeListener))
+ if (!(listeners[i] instanceof ServletContextAttributeListener)) {
continue;
- ServletContextAttributeListener listener =
- (ServletContextAttributeListener) listeners[i];
+ }
+ ServletContextAttributeListener listener = (ServletContextAttributeListener) listeners[i];
try {
- context.fireContainerEvent("beforeContextAttributeRemoved",
- listener);
+ context.fireContainerEvent("beforeContextAttributeRemoved", listener);
listener.attributeRemoved(event);
- context.fireContainerEvent("afterContextAttributeRemoved",
- listener);
+ context.fireContainerEvent("afterContextAttributeRemoved", listener);
} catch (Throwable t) {
ExceptionUtils.handleThrowable(t);
- context.fireContainerEvent("afterContextAttributeRemoved",
- listener);
+ context.fireContainerEvent("afterContextAttributeRemoved", listener);
// FIXME - should we do anything besides log these?
log(sm.getString("applicationContext.attributeEvent"), t);
}
}
-
}
- /**
- * Bind the specified value with the specified context attribute name,
- * replacing any existing value for that name.
- *
- * @param name Attribute name to be bound
- * @param value New attribute value to be bound
- */
@Override
public void setAttribute(String name, Object value) {
-
// Name cannot be null
- if (name == null)
- throw new IllegalArgumentException
- (sm.getString("applicationContext.setAttribute.namenull"));
+ if (name == null) {
+ throw new NullPointerException(sm.getString("applicationContext.setAttribute.namenull"));
+ }
// Null value is the same as removeAttribute()
if (value == null) {
@@ -916,126 +769,73 @@ public class ApplicationContext implements ServletContext {
// Add or replace the specified attribute
// Check for read only attribute
- if (readOnlyAttributes.containsKey(name))
+ if (readOnlyAttributes.containsKey(name)) {
return;
+ }
Object oldValue = attributes.put(name, value);
boolean replaced = oldValue != null;
// Notify interested application event listeners
Object listeners[] = context.getApplicationEventListeners();
- if ((listeners == null) || (listeners.length == 0))
+ if ((listeners == null) || (listeners.length == 0)) {
return;
+ }
ServletContextAttributeEvent event = null;
- if (replaced)
- event =
- new ServletContextAttributeEvent(context.getServletContext(),
- name, oldValue);
- else
- event =
- new ServletContextAttributeEvent(context.getServletContext(),
- name, value);
+ if (replaced) {
+ event = new ServletContextAttributeEvent(context.getServletContext(), name, oldValue);
+ } else {
+ event = new ServletContextAttributeEvent(context.getServletContext(), name, value);
+ }
for (int i = 0; i < listeners.length; i++) {
- if (!(listeners[i] instanceof ServletContextAttributeListener))
+ if (!(listeners[i] instanceof ServletContextAttributeListener)) {
continue;
- ServletContextAttributeListener listener =
- (ServletContextAttributeListener) listeners[i];
+ }
+ ServletContextAttributeListener listener = (ServletContextAttributeListener) listeners[i];
try {
if (replaced) {
- context.fireContainerEvent
- ("beforeContextAttributeReplaced", listener);
+ context.fireContainerEvent("beforeContextAttributeReplaced", listener);
listener.attributeReplaced(event);
- context.fireContainerEvent("afterContextAttributeReplaced",
- listener);
+ context.fireContainerEvent("afterContextAttributeReplaced", listener);
} else {
- context.fireContainerEvent("beforeContextAttributeAdded",
- listener);
+ context.fireContainerEvent("beforeContextAttributeAdded", listener);
listener.attributeAdded(event);
- context.fireContainerEvent("afterContextAttributeAdded",
- listener);
+ context.fireContainerEvent("afterContextAttributeAdded", listener);
}
} catch (Throwable t) {
ExceptionUtils.handleThrowable(t);
- if (replaced)
- context.fireContainerEvent("afterContextAttributeReplaced",
- listener);
- else
- context.fireContainerEvent("afterContextAttributeAdded",
- listener);
+ if (replaced) {
+ context.fireContainerEvent("afterContextAttributeReplaced", listener);
+ } else {
+ context.fireContainerEvent("afterContextAttributeAdded", listener);
+ }
// FIXME - should we do anything besides log these?
log(sm.getString("applicationContext.attributeEvent"), t);
}
}
-
}
- /**
- * Add filter to context.
- * @param filterName Name of filter to add
- * @param filterClass Name of filter class
- * @return <code>null</code> if the filter has already been fully defined,
- * else a {@link javax.servlet.FilterRegistration.Dynamic} object
- * that can be used to further configure the filter
- * @throws IllegalStateException if the context has already been initialised
- * @throws UnsupportedOperationException - if this context was passed to the
- * {@link ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)}
- * method of a {@link ServletContextListener} that was not declared
- * in web.xml, a web-fragment or annotated with
- * {@link javax.servlet.annotation.WebListener}.
- */
@Override
- public FilterRegistration.Dynamic addFilter(String filterName,
- String filterClass) throws IllegalStateException {
-
- return addFilter(filterName, filterClass, null);
+ public FilterRegistration.Dynamic addFilter(String filterName, String className) {
+ return addFilter(filterName, className, null);
}
- /**
- * Add filter to context.
- * @param filterName Name of filter to add
- * @param filter Filter to add
- * @return <code>null</code> if the filter has already been fully defined,
- * else a {@link javax.servlet.FilterRegistration.Dynamic} object
- * that can be used to further configure the filter
- * @throws IllegalStateException if the context has already been initialised
- * @throws UnsupportedOperationException - if this context was passed to the
- * {@link ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)}
- * method of a {@link ServletContextListener} that was not declared
- * in web.xml, a web-fragment or annotated with
- * {@link javax.servlet.annotation.WebListener}.
- */
@Override
- public FilterRegistration.Dynamic addFilter(String filterName,
- Filter filter) throws IllegalStateException {
-
+ public FilterRegistration.Dynamic addFilter(String filterName, Filter filter) {
return addFilter(filterName, null, filter);
}
- /**
- * Add filter to context.
- * @param filterName Name of filter to add
- * @param filterClass Class of filter to add
- * @return <code>null</code> if the filter has already been fully defined,
- * else a {@link javax.servlet.FilterRegistration.Dynamic} object
- * that can be used to further configure the filter
- * @throws IllegalStateException if the context has already been initialised
- * @throws UnsupportedOperationException - if this context was passed to the
- * {@link ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)}
- * method of a {@link ServletContextListener} that was not declared
- * in web.xml, a web-fragment or annotated with
- * {@link javax.servlet.annotation.WebListener}.
- */
@Override
public FilterRegistration.Dynamic addFilter(String filterName,
- Class<? extends Filter> filterClass) throws IllegalStateException {
-
+ Class<? extends Filter> filterClass) {
return addFilter(filterName, filterClass.getName(), null);
}
+
private FilterRegistration.Dynamic addFilter(String filterName,
String filterClass, Filter filter) throws IllegalStateException {
@@ -1076,9 +876,9 @@ public class ApplicationContext implements ServletContext {
return new ApplicationFilterRegistration(filterDef, context);
}
+
@Override
- public <T extends Filter> T createFilter(Class<T> c)
- throws ServletException {
+ public <T extends Filter> T createFilter(Class<T> c) throws ServletException {
try {
@SuppressWarnings("unchecked")
T filter = (T) context.getInstanceManager().newInstance(c.getName());
@@ -1110,74 +910,26 @@ public class ApplicationContext implements ServletContext {
}
- /**
- * Add servlet to context.
- * @param servletName Name of servlet to add
- * @param servletClass Name of servlet class
- * @return <code>null</code> if the servlet has already been fully defined,
- * else a {@link javax.servlet.ServletRegistration.Dynamic} object
- * that can be used to further configure the servlet
- * @throws IllegalStateException if the context has already been initialised
- * @throws UnsupportedOperationException - if this context was passed to the
- * {@link ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)}
- * method of a {@link ServletContextListener} that was not declared
- * in web.xml, a web-fragment or annotated with
- * {@link javax.servlet.annotation.WebListener}.
- */
@Override
- public ServletRegistration.Dynamic addServlet(String servletName,
- String servletClass) throws IllegalStateException {
-
- return addServlet(servletName, servletClass, null);
+ public ServletRegistration.Dynamic addServlet(String servletName, String className) {
+ return addServlet(servletName, className, null);
}
- /**
- * Add servlet to context.
- * @param servletName Name of servlet to add
- * @param servlet Servlet instance to add
- * @return <code>null</code> if the servlet has already been fully defined,
- * else a {@link javax.servlet.ServletRegistration.Dynamic} object
- * that can be used to further configure the servlet
- * @throws IllegalStateException if the context has already been initialised
- * @throws UnsupportedOperationException - if this context was passed to the
- * {@link ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)}
- * method of a {@link ServletContextListener} that was not declared
- * in web.xml, a web-fragment or annotated with
- * {@link javax.servlet.annotation.WebListener}.
- */
@Override
- public ServletRegistration.Dynamic addServlet(String servletName,
- Servlet servlet) throws IllegalStateException {
-
+ public ServletRegistration.Dynamic addServlet(String servletName, Servlet servlet) {
return addServlet(servletName, null, servlet);
}
- /**
- * Add servlet to context.
- * @param servletName Name of servlet to add
- * @param servletClass Class of servlet to add
- * @return <code>null</code> if the servlet has already been fully defined,
- * else a {@link javax.servlet.ServletRegistration.Dynamic} object
- * that can be used to further configure the servlet
- * @throws IllegalStateException if the context has already been initialised
- * @throws UnsupportedOperationException - if this context was passed to the
- * {@link ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)}
- * method of a {@link ServletContextListener} that was not declared
- * in web.xml, a web-fragment or annotated with
- * {@link javax.servlet.annotation.WebListener}.
- */
@Override
public ServletRegistration.Dynamic addServlet(String servletName,
- Class<? extends Servlet> servletClass)
- throws IllegalStateException {
-
+ Class<? extends Servlet> servletClass) {
return addServlet(servletName, servletClass.getName(), null);
}
- private ServletRegistration.Dynamic addServlet(String servletName,
- String servletClass, Servlet servlet) throws IllegalStateException {
+ private ServletRegistration.Dynamic addServlet(String servletName, String servletClass,
+ Servlet servlet) throws IllegalStateException {
if (servletName == null || servletName.equals("")) {
throw new IllegalArgumentException(sm.getString(
@@ -1235,8 +987,7 @@ public class ApplicationContext implements ServletContext {
@Override
- public <T extends Servlet> T createServlet(Class<T> c)
- throws ServletException {
+ public <T extends Servlet> T createServlet(Class<T> c) throws ServletException {
try {
@SuppressWarnings("unchecked")
T servlet = (T) context.getInstanceManager().newInstance(c.getName());
@@ -1270,19 +1021,12 @@ public class ApplicationContext implements ServletContext {
}
- /**
- * By default {@link SessionTrackingMode#URL} is always supported, {@link
- * SessionTrackingMode#COOKIE} is supported unless the <code>cookies</code>
- * attribute has been set to <code>false</code> for the context and {@link
- * SessionTrackingMode#SSL} is supported if at least one of the connectors
- * used by this context has the attribute <code>secure</code> set to
- * <code>true</code>.
- */
@Override
public Set<SessionTrackingMode> getDefaultSessionTrackingModes() {
return defaultSessionTrackingModes;
}
+
private void populateSessionTrackingModes() {
// URL re-writing is always enabled by default
defaultSessionTrackingModes = EnumSet.of(SessionTrackingMode.URL);
@@ -1295,8 +1039,7 @@ public class ApplicationContext implements ServletContext {
// SSL not enabled by default as it can only used on its own
// Context > Host > Engine > Service
- Service s = ((Engine) context.getParent().getParent()).getService();
- Connector[] connectors = s.findConnectors();
+ Connector[] connectors = service.findConnectors();
// Need at least one SSL enabled connector to use the SSL session ID.
for (Connector connector : connectors) {
if (Boolean.TRUE.equals(connector.getAttribute("SSLEnabled"))) {
@@ -1306,10 +1049,7 @@ public class ApplicationContext implements ServletContext {
}
}
- /**
- * Return the supplied value if one was previously set, else return the
- * defaults.
- */
+
@Override
public Set<SessionTrackingMode> getEffectiveSessionTrackingModes() {
if (sessionTrackingModes != null) {
@@ -1325,15 +1065,8 @@ public class ApplicationContext implements ServletContext {
}
- /**
- * @throws IllegalStateException if the context has already been initialised
- * @throws IllegalArgumentException If SSL is requested in combination with
- * anything else or if an unsupported
- * tracking mode is requested
- */
@Override
- public void setSessionTrackingModes(
- Set<SessionTrackingMode> sessionTrackingModes) {
+ public void setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes) {
if (!context.getState().equals(LifecycleState.STARTING_PREP)) {
throw new IllegalStateException(
@@ -1365,6 +1098,10 @@ public class ApplicationContext implements ServletContext {
@Override
public boolean setInitParameter(String name, String value) {
+ // Name cannot be null
+ if (name == null) {
+ throw new NullPointerException(sm.getString("applicationContext.setAttribute.namenull"));
+ }
if (!context.getState().equals(LifecycleState.STARTING_PREP)) {
throw new IllegalStateException(
sm.getString("applicationContext.setInitParam.ise",
@@ -1452,9 +1189,8 @@ public class ApplicationContext implements ServletContext {
match = true;
}
- if (t instanceof HttpSessionListener
- || (t instanceof ServletContextListener &&
- newServletContextListenerAllowed)) {
+ if (t instanceof HttpSessionListener ||
+ (t instanceof ServletContextListener && newServletContextListenerAllowed)) {
// Add listener directly to the list of instances rather than to
// the list of class names.
context.addApplicationLifecycleListener(t);
@@ -1480,8 +1216,7 @@ public class ApplicationContext implements ServletContext {
throws ServletException {
try {
@SuppressWarnings("unchecked")
- T listener =
- (T) context.getInstanceManager().newInstance(c);
+ T listener = (T) context.getInstanceManager().newInstance(c);
if (listener instanceof ServletContextListener ||
listener instanceof ServletContextAttributeListener ||
listener instanceof ServletRequestListener ||
@@ -1628,17 +1363,14 @@ public class ApplicationContext implements ServletContext {
protected void clearAttributes() {
// Create list of attributes to be removed
- ArrayList<String> list = new ArrayList<String>();
- Iterator<String> iter = attributes.keySet().iterator();
- while (iter.hasNext()) {
- list.add(iter.next());
+ List<String> list = new ArrayList<String>();
+ for (String s : attributes.keySet()) {
+ list.add(s);
}
// Remove application originated attributes
// (read only attributes will be left in place)
- Iterator<String> keys = list.iterator();
- while (keys.hasNext()) {
- String key = keys.next();
+ for (String key : list) {
removeAttribute(key);
}
@@ -1646,12 +1378,10 @@ public class ApplicationContext implements ServletContext {
/**
- * Return the facade associated with this ApplicationContext.
+ * @return the facade associated with this ApplicationContext.
*/
protected ServletContext getFacade() {
-
- return (this.facade);
-
+ return this.facade;
}
@@ -1727,6 +1457,4 @@ public class ApplicationContext implements ServletContext {
mappingData = new MappingData();
}
}
-
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org