init
This commit is contained in:
829
java/org/apache/catalina/startup/FailedContext.java
Normal file
829
java/org/apache/catalina/startup/FailedContext.java
Normal file
@@ -0,0 +1,829 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.catalina.startup;
|
||||
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.io.File;
|
||||
import java.net.URL;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.servlet.ServletContainerInitializer;
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.ServletRegistration;
|
||||
import javax.servlet.ServletRequest;
|
||||
import javax.servlet.ServletSecurityElement;
|
||||
import javax.servlet.descriptor.JspConfigDescriptor;
|
||||
|
||||
import org.apache.catalina.AccessLog;
|
||||
import org.apache.catalina.Authenticator;
|
||||
import org.apache.catalina.Cluster;
|
||||
import org.apache.catalina.Container;
|
||||
import org.apache.catalina.ContainerListener;
|
||||
import org.apache.catalina.Context;
|
||||
import org.apache.catalina.Engine;
|
||||
import org.apache.catalina.Host;
|
||||
import org.apache.catalina.LifecycleException;
|
||||
import org.apache.catalina.Loader;
|
||||
import org.apache.catalina.Manager;
|
||||
import org.apache.catalina.Pipeline;
|
||||
import org.apache.catalina.Realm;
|
||||
import org.apache.catalina.ThreadBindingListener;
|
||||
import org.apache.catalina.Valve;
|
||||
import org.apache.catalina.WebResourceRoot;
|
||||
import org.apache.catalina.Wrapper;
|
||||
import org.apache.catalina.connector.Request;
|
||||
import org.apache.catalina.connector.Response;
|
||||
import org.apache.catalina.deploy.NamingResourcesImpl;
|
||||
import org.apache.catalina.util.ContextName;
|
||||
import org.apache.catalina.util.LifecycleMBeanBase;
|
||||
import org.apache.juli.logging.Log;
|
||||
import org.apache.tomcat.InstanceManager;
|
||||
import org.apache.tomcat.JarScanner;
|
||||
import org.apache.tomcat.util.descriptor.web.ApplicationParameter;
|
||||
import org.apache.tomcat.util.descriptor.web.ErrorPage;
|
||||
import org.apache.tomcat.util.descriptor.web.FilterDef;
|
||||
import org.apache.tomcat.util.descriptor.web.FilterMap;
|
||||
import org.apache.tomcat.util.descriptor.web.LoginConfig;
|
||||
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
|
||||
import org.apache.tomcat.util.http.CookieProcessor;
|
||||
import org.apache.tomcat.util.res.StringManager;
|
||||
|
||||
/**
|
||||
* An implementation of {@link Context} that is used as a place-holder for
|
||||
* deployed applications when their deployment fails and a Context instance
|
||||
* (usually {@link org.apache.catalina.core.StandardContext} but may be any
|
||||
* Context implementation) cannot be created.
|
||||
*/
|
||||
public class FailedContext extends LifecycleMBeanBase implements Context {
|
||||
|
||||
protected static final StringManager sm =
|
||||
StringManager.getManager(Constants.Package);
|
||||
|
||||
|
||||
// --------------------- Methods that need to work even for a failed context
|
||||
|
||||
private URL configFile;
|
||||
@Override
|
||||
public URL getConfigFile() { return configFile; }
|
||||
@Override
|
||||
public void setConfigFile(URL configFile) { this.configFile = configFile; }
|
||||
|
||||
|
||||
private String docBase;
|
||||
@Override
|
||||
public String getDocBase() { return docBase; }
|
||||
@Override
|
||||
public void setDocBase(String docBase) { this.docBase = docBase; }
|
||||
|
||||
|
||||
|
||||
private String name = null;
|
||||
@Override
|
||||
public String getName() { return name; }
|
||||
@Override
|
||||
public void setName(String name) { this.name = name; }
|
||||
|
||||
|
||||
private Container parent;
|
||||
@Override
|
||||
public Container getParent() { return parent; }
|
||||
@Override
|
||||
public void setParent(Container parent) { this.parent = parent; }
|
||||
|
||||
|
||||
private String path = null;
|
||||
@Override
|
||||
public String getPath() { return path; }
|
||||
@Override
|
||||
public void setPath(String path) { this.path = path; }
|
||||
|
||||
|
||||
private String webappVersion = null;
|
||||
@Override
|
||||
public String getWebappVersion() { return webappVersion; }
|
||||
@Override
|
||||
public void setWebappVersion(String webappVersion) {
|
||||
this.webappVersion = webappVersion;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected String getDomainInternal() {
|
||||
Container p = getParent();
|
||||
if (p == null) {
|
||||
return null;
|
||||
} else {
|
||||
return p.getDomain();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getMBeanKeyProperties() {
|
||||
Container c = this;
|
||||
StringBuilder keyProperties = new StringBuilder();
|
||||
int containerCount = 0;
|
||||
|
||||
// Work up container hierarchy, add a component to the name for
|
||||
// each container
|
||||
while (!(c instanceof Engine)) {
|
||||
if (c instanceof Context) {
|
||||
keyProperties.append(",context=");
|
||||
ContextName cn = new ContextName(c.getName(), false);
|
||||
keyProperties.append(cn.getDisplayName());
|
||||
} else if (c instanceof Host) {
|
||||
keyProperties.append(",host=");
|
||||
keyProperties.append(c.getName());
|
||||
} else if (c == null) {
|
||||
// May happen in unit testing and/or some embedding scenarios
|
||||
keyProperties.append(",container");
|
||||
keyProperties.append(containerCount++);
|
||||
keyProperties.append("=null");
|
||||
break;
|
||||
} else {
|
||||
// Should never happen...
|
||||
keyProperties.append(",container");
|
||||
keyProperties.append(containerCount++);
|
||||
keyProperties.append('=');
|
||||
keyProperties.append(c.getName());
|
||||
}
|
||||
c = c.getParent();
|
||||
}
|
||||
return keyProperties.toString();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected String getObjectNameKeyProperties() {
|
||||
|
||||
StringBuilder keyProperties =
|
||||
new StringBuilder("j2eeType=WebModule,name=//");
|
||||
|
||||
String hostname = getParent().getName();
|
||||
if (hostname == null) {
|
||||
keyProperties.append("DEFAULT");
|
||||
} else {
|
||||
keyProperties.append(hostname);
|
||||
}
|
||||
|
||||
String contextName = getName();
|
||||
if (!contextName.startsWith("/")) {
|
||||
keyProperties.append('/');
|
||||
}
|
||||
keyProperties.append(contextName);
|
||||
|
||||
keyProperties.append(",J2EEApplication=none,J2EEServer=none");
|
||||
|
||||
return keyProperties.toString();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void startInternal() throws LifecycleException {
|
||||
throw new LifecycleException(
|
||||
sm.getString("failedContext.start", getName()));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void stopInternal() throws LifecycleException {
|
||||
// NO-OP
|
||||
// Allow stop to complete since it is used for clean-up
|
||||
}
|
||||
|
||||
|
||||
// Only need to read these
|
||||
@Override
|
||||
public void addWatchedResource(String name) { /* NO-OP */ }
|
||||
@Override
|
||||
public String[] findWatchedResources() { return new String[0]; }
|
||||
@Override
|
||||
public void removeWatchedResource(String name) { /* NO-OP */ }
|
||||
|
||||
|
||||
@Override
|
||||
public void addChild(Container child) { /* NO-OP */ }
|
||||
@Override
|
||||
public Container findChild(String name) { return null; }
|
||||
@Override
|
||||
public Container[] findChildren() { return new Container[0]; }
|
||||
@Override
|
||||
public void removeChild(Container child) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getName();
|
||||
}
|
||||
|
||||
// -------------------------------------------- All NO-OPs beyond this point
|
||||
@Override
|
||||
public Loader getLoader() { return null; }
|
||||
@Override
|
||||
public void setLoader(Loader loader) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public Log getLogger() { return null; }
|
||||
|
||||
@Override
|
||||
public String getLogName() { return null; }
|
||||
|
||||
@Override
|
||||
public Manager getManager() { return null; }
|
||||
@Override
|
||||
public void setManager(Manager manager) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public Pipeline getPipeline() { return null; }
|
||||
|
||||
@Override
|
||||
public Cluster getCluster() { return null; }
|
||||
@Override
|
||||
public void setCluster(Cluster cluster) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public int getBackgroundProcessorDelay() { return -1; }
|
||||
@Override
|
||||
public void setBackgroundProcessorDelay(int delay) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public ClassLoader getParentClassLoader() { return null; }
|
||||
@Override
|
||||
public void setParentClassLoader(ClassLoader parent) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public Realm getRealm() { return null; }
|
||||
@Override
|
||||
public void setRealm(Realm realm) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public WebResourceRoot getResources() { return null; }
|
||||
@Override
|
||||
public void setResources(WebResourceRoot resources) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void backgroundProcess() { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addContainerListener(ContainerListener listener) { /* NO-OP */ }
|
||||
@Override
|
||||
public ContainerListener[] findContainerListeners() { return null; }
|
||||
@Override
|
||||
public void removeContainerListener(ContainerListener listener) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addPropertyChangeListener(PropertyChangeListener listener) { /* NO-OP */ }
|
||||
@Override
|
||||
public void removePropertyChangeListener(PropertyChangeListener listener) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void fireContainerEvent(String type, Object data) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void logAccess(Request request, Response response, long time,
|
||||
boolean useDefault) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public AccessLog getAccessLog() { return null; }
|
||||
|
||||
@Override
|
||||
public int getStartStopThreads() { return 0; }
|
||||
@Override
|
||||
public void setStartStopThreads(int startStopThreads) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getAllowCasualMultipartParsing() { return false; }
|
||||
@Override
|
||||
public void setAllowCasualMultipartParsing(
|
||||
boolean allowCasualMultipartParsing) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public Object[] getApplicationEventListeners() { return null; }
|
||||
@Override
|
||||
public void setApplicationEventListeners(Object[] listeners) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public Object[] getApplicationLifecycleListeners() { return null; }
|
||||
@Override
|
||||
public void setApplicationLifecycleListeners(Object[] listeners) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public String getCharset(Locale locale) { return null; }
|
||||
|
||||
@Override
|
||||
public boolean getConfigured() { return false; }
|
||||
@Override
|
||||
public void setConfigured(boolean configured) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getCookies() { return false; }
|
||||
@Override
|
||||
public void setCookies(boolean cookies) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public String getSessionCookieName() { return null; }
|
||||
@Override
|
||||
public void setSessionCookieName(String sessionCookieName) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getUseHttpOnly() { return false; }
|
||||
@Override
|
||||
public void setUseHttpOnly(boolean useHttpOnly) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public String getSessionCookieDomain() { return null; }
|
||||
@Override
|
||||
public void setSessionCookieDomain(String sessionCookieDomain) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public String getSessionCookiePath() { return null; }
|
||||
@Override
|
||||
public void setSessionCookiePath(String sessionCookiePath) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getSessionCookiePathUsesTrailingSlash() { return false; }
|
||||
@Override
|
||||
public void setSessionCookiePathUsesTrailingSlash(
|
||||
boolean sessionCookiePathUsesTrailingSlash) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getCrossContext() { return false; }
|
||||
@Override
|
||||
public void setCrossContext(boolean crossContext) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public String getAltDDName() { return null; }
|
||||
@Override
|
||||
public void setAltDDName(String altDDName) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getDenyUncoveredHttpMethods() { return false; }
|
||||
@Override
|
||||
public void setDenyUncoveredHttpMethods(boolean denyUncoveredHttpMethods) {
|
||||
// NO-OP
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDisplayName() { return null; }
|
||||
@Override
|
||||
public void setDisplayName(String displayName) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getDistributable() { return false; }
|
||||
@Override
|
||||
public void setDistributable(boolean distributable) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public String getEncodedPath() { return null; }
|
||||
|
||||
@Override
|
||||
public boolean getIgnoreAnnotations() { return false; }
|
||||
@Override
|
||||
public void setIgnoreAnnotations(boolean ignoreAnnotations) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public LoginConfig getLoginConfig() { return null; }
|
||||
@Override
|
||||
public void setLoginConfig(LoginConfig config) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public NamingResourcesImpl getNamingResources() { return null; }
|
||||
@Override
|
||||
public void setNamingResources(NamingResourcesImpl namingResources) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public String getPublicId() { return null; }
|
||||
@Override
|
||||
public void setPublicId(String publicId) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getReloadable() { return false; }
|
||||
@Override
|
||||
public void setReloadable(boolean reloadable) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getOverride() { return false; }
|
||||
@Override
|
||||
public void setOverride(boolean override) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getPrivileged() { return false; }
|
||||
@Override
|
||||
public void setPrivileged(boolean privileged) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public ServletContext getServletContext() { return null; }
|
||||
|
||||
@Override
|
||||
public int getSessionTimeout() { return 0; }
|
||||
@Override
|
||||
public void setSessionTimeout(int timeout) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getSwallowAbortedUploads() { return false; }
|
||||
@Override
|
||||
public void setSwallowAbortedUploads(boolean swallowAbortedUploads) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getSwallowOutput() { return false; }
|
||||
@Override
|
||||
public void setSwallowOutput(boolean swallowOutput) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public String getWrapperClass() { return null; }
|
||||
@Override
|
||||
public void setWrapperClass(String wrapperClass) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getXmlNamespaceAware() { return false; }
|
||||
@Override
|
||||
public void setXmlNamespaceAware(boolean xmlNamespaceAware) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getXmlValidation() { return false; }
|
||||
@Override
|
||||
public void setXmlValidation(boolean xmlValidation) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getXmlBlockExternal() { return true; }
|
||||
@Override
|
||||
public void setXmlBlockExternal(boolean xmlBlockExternal) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getTldValidation() { return false; }
|
||||
@Override
|
||||
public void setTldValidation(boolean tldValidation){ /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public JarScanner getJarScanner() { return null; }
|
||||
@Override
|
||||
public void setJarScanner(JarScanner jarScanner) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public Authenticator getAuthenticator() { return null; }
|
||||
|
||||
@Override
|
||||
public void setLogEffectiveWebXml(boolean logEffectiveWebXml) { /* NO-OP */ }
|
||||
@Override
|
||||
public boolean getLogEffectiveWebXml() { return false; }
|
||||
|
||||
@Override
|
||||
public void addApplicationListener(String listener) { /* NO-OP */ }
|
||||
@Override
|
||||
public String[] findApplicationListeners() { return null; }
|
||||
@Override
|
||||
public void removeApplicationListener(String listener) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addApplicationParameter(ApplicationParameter parameter) { /* NO-OP */ }
|
||||
@Override
|
||||
public ApplicationParameter[] findApplicationParameters() { return null; }
|
||||
@Override
|
||||
public void removeApplicationParameter(String name) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addConstraint(SecurityConstraint constraint) { /* NO-OP */ }
|
||||
@Override
|
||||
public SecurityConstraint[] findConstraints() { return null; }
|
||||
@Override
|
||||
public void removeConstraint(SecurityConstraint constraint) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addErrorPage(ErrorPage errorPage) { /* NO-OP */ }
|
||||
@Override
|
||||
public ErrorPage findErrorPage(int errorCode) { return null; }
|
||||
@Override
|
||||
public ErrorPage findErrorPage(String exceptionType) { return null; }
|
||||
@Override
|
||||
public ErrorPage findErrorPage(Throwable throwable) { return null; }
|
||||
@Override
|
||||
public ErrorPage[] findErrorPages() { return null; }
|
||||
@Override
|
||||
public void removeErrorPage(ErrorPage errorPage) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addFilterDef(FilterDef filterDef) { /* NO-OP */ }
|
||||
@Override
|
||||
public FilterDef findFilterDef(String filterName) { return null; }
|
||||
@Override
|
||||
public FilterDef[] findFilterDefs() { return null; }
|
||||
@Override
|
||||
public void removeFilterDef(FilterDef filterDef) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addFilterMap(FilterMap filterMap) { /* NO-OP */ }
|
||||
@Override
|
||||
public void addFilterMapBefore(FilterMap filterMap) { /* NO-OP */ }
|
||||
@Override
|
||||
public FilterMap[] findFilterMaps() { return null; }
|
||||
@Override
|
||||
public void removeFilterMap(FilterMap filterMap) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addLocaleEncodingMappingParameter(String locale, String encoding) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addMimeMapping(String extension, String mimeType) { /* NO-OP */ }
|
||||
@Override
|
||||
public String findMimeMapping(String extension) { return null; }
|
||||
@Override
|
||||
public String[] findMimeMappings() { return null; }
|
||||
@Override
|
||||
public void removeMimeMapping(String extension) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addParameter(String name, String value) { /* NO-OP */ }
|
||||
@Override
|
||||
public String findParameter(String name) { return null; }
|
||||
@Override
|
||||
public String[] findParameters() { return null; }
|
||||
@Override
|
||||
public void removeParameter(String name) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addRoleMapping(String role, String link) { /* NO-OP */ }
|
||||
@Override
|
||||
public String findRoleMapping(String role) { return null; }
|
||||
@Override
|
||||
public void removeRoleMapping(String role) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addSecurityRole(String role) { /* NO-OP */ }
|
||||
@Override
|
||||
public boolean findSecurityRole(String role) { return false; }
|
||||
@Override
|
||||
public String[] findSecurityRoles() { return null; }
|
||||
@Override
|
||||
public void removeSecurityRole(String role) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addServletMapping(String pattern, String name) { /* NO-OP */ }
|
||||
@Override
|
||||
public void addServletMapping(String pattern, String name,
|
||||
boolean jspWildcard) { /* NO-OP */ }
|
||||
@Override
|
||||
public void addServletMappingDecoded(String pattern, String name) { /* NO-OP */ }
|
||||
@Override
|
||||
public void addServletMappingDecoded(String pattern, String name,
|
||||
boolean jspWildcard) { /* NO-OP */ }
|
||||
@Override
|
||||
public String findServletMapping(String pattern) { return null; }
|
||||
@Override
|
||||
public String[] findServletMappings() { return null; }
|
||||
@Override
|
||||
public void removeServletMapping(String pattern) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addWelcomeFile(String name) { /* NO-OP */ }
|
||||
@Override
|
||||
public boolean findWelcomeFile(String name) { return false; }
|
||||
@Override
|
||||
public String[] findWelcomeFiles() { return null; }
|
||||
@Override
|
||||
public void removeWelcomeFile(String name) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addWrapperLifecycle(String listener) { /* NO-OP */ }
|
||||
@Override
|
||||
public String[] findWrapperLifecycles() { return null; }
|
||||
@Override
|
||||
public void removeWrapperLifecycle(String listener) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addWrapperListener(String listener) { /* NO-OP */ }
|
||||
@Override
|
||||
public String[] findWrapperListeners() { return null; }
|
||||
@Override
|
||||
public void removeWrapperListener(String listener) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public Wrapper createWrapper() { return null; }
|
||||
|
||||
@Override
|
||||
public String findStatusPage(int status) { return null; }
|
||||
@Override
|
||||
public int[] findStatusPages() { return null; }
|
||||
|
||||
@Override
|
||||
public boolean fireRequestInitEvent(ServletRequest request) { return false; }
|
||||
@Override
|
||||
public boolean fireRequestDestroyEvent(ServletRequest request) { return false; }
|
||||
|
||||
@Override
|
||||
public void reload() { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public String getRealPath(String path) { return null; }
|
||||
|
||||
@Override
|
||||
public int getEffectiveMajorVersion() { return 0; }
|
||||
@Override
|
||||
public void setEffectiveMajorVersion(int major) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public int getEffectiveMinorVersion() { return 0; }
|
||||
@Override
|
||||
public void setEffectiveMinorVersion(int minor) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public JspConfigDescriptor getJspConfigDescriptor() { return null; }
|
||||
|
||||
@Override
|
||||
public void setJspConfigDescriptor(JspConfigDescriptor descriptor) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addServletContainerInitializer(ServletContainerInitializer sci,
|
||||
Set<Class<?>> classes) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public boolean getPaused() { return false; }
|
||||
|
||||
@Override
|
||||
public boolean isServlet22() { return false; }
|
||||
|
||||
@Override
|
||||
public Set<String> addServletSecurity(
|
||||
ServletRegistration.Dynamic registration,
|
||||
ServletSecurityElement servletSecurityElement) { return null; }
|
||||
|
||||
@Override
|
||||
public void setResourceOnlyServlets(String resourceOnlyServlets) { /* NO-OP */ }
|
||||
@Override
|
||||
public String getResourceOnlyServlets() { return null; }
|
||||
@Override
|
||||
public boolean isResourceOnlyServlet(String servletName) { return false; }
|
||||
|
||||
@Override
|
||||
public String getBaseName() { return null; }
|
||||
|
||||
@Override
|
||||
public void setFireRequestListenersOnForwards(boolean enable) { /* NO-OP */ }
|
||||
@Override
|
||||
public boolean getFireRequestListenersOnForwards() { return false; }
|
||||
|
||||
@Override
|
||||
public void setPreemptiveAuthentication(boolean enable) { /* NO-OP */ }
|
||||
@Override
|
||||
public boolean getPreemptiveAuthentication() { return false; }
|
||||
|
||||
@Override
|
||||
public void setSendRedirectBody(boolean enable) { /* NO-OP */ }
|
||||
@Override
|
||||
public boolean getSendRedirectBody() { return false; }
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public synchronized void addValve(Valve valve) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public File getCatalinaBase() { return null; }
|
||||
|
||||
@Override
|
||||
public File getCatalinaHome() { return null; }
|
||||
|
||||
@Override
|
||||
public void setAddWebinfClassesResources(boolean addWebinfClassesResources) {
|
||||
// NO-OP
|
||||
}
|
||||
@Override
|
||||
public boolean getAddWebinfClassesResources() { return false; }
|
||||
|
||||
@Override
|
||||
public void addPostConstructMethod(String clazz, String method) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void addPreDestroyMethod(String clazz, String method) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void removePostConstructMethod(String clazz) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void removePreDestroyMethod(String clazz) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public String findPostConstructMethod(String clazz) { return null; }
|
||||
|
||||
@Override
|
||||
public String findPreDestroyMethod(String clazz) { return null; }
|
||||
|
||||
@Override
|
||||
public Map<String, String> findPostConstructMethods() { return null; }
|
||||
|
||||
@Override
|
||||
public Map<String, String> findPreDestroyMethods() { return null; }
|
||||
|
||||
@Override
|
||||
public InstanceManager getInstanceManager() { return null; }
|
||||
|
||||
@Override
|
||||
public void setInstanceManager(InstanceManager instanceManager) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void setContainerSciFilter(String containerSciFilter) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public String getContainerSciFilter() { return null; }
|
||||
|
||||
@Override
|
||||
public ThreadBindingListener getThreadBindingListener() { return null; }
|
||||
|
||||
@Override
|
||||
public void setThreadBindingListener(ThreadBindingListener threadBindingListener) {
|
||||
// NO-OP
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassLoader bind(boolean usePrivilegedAction, ClassLoader originalClassLoader) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unbind(boolean usePrivilegedAction, ClassLoader originalClassLoader) {
|
||||
// NO-OP
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getNamingToken() { return null; }
|
||||
|
||||
@Override
|
||||
public void setCookieProcessor(CookieProcessor cookieProcessor) { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public CookieProcessor getCookieProcessor() { return null; }
|
||||
|
||||
@Override
|
||||
public void setValidateClientProvidedNewSessionId(boolean validateClientProvidedNewSessionId) {
|
||||
// NO-OP
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getValidateClientProvidedNewSessionId() { return false; }
|
||||
|
||||
@Override
|
||||
public void setMapperContextRootRedirectEnabled(boolean mapperContextRootRedirectEnabled) {
|
||||
// NO-OP
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getMapperContextRootRedirectEnabled() { return false; }
|
||||
|
||||
@Override
|
||||
public void setMapperDirectoryRedirectEnabled(boolean mapperDirectoryRedirectEnabled) {
|
||||
// NO-OP
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getMapperDirectoryRedirectEnabled() { return false; }
|
||||
|
||||
@Override
|
||||
public void setUseRelativeRedirects(boolean useRelativeRedirects) { /* NO-OP */ }
|
||||
@Override
|
||||
public boolean getUseRelativeRedirects() { return true; }
|
||||
|
||||
@Override
|
||||
public void setDispatchersUseEncodedPaths(boolean dispatchersUseEncodedPaths) { /* NO-OP */ }
|
||||
@Override
|
||||
public boolean getDispatchersUseEncodedPaths() { return true; }
|
||||
|
||||
@Override
|
||||
public void setRequestCharacterEncoding(String encoding) { /* NO-OP */ }
|
||||
@Override
|
||||
public String getRequestCharacterEncoding() { return null; }
|
||||
|
||||
@Override
|
||||
public void setResponseCharacterEncoding(String encoding) { /* NO-OP */ }
|
||||
@Override
|
||||
public String getResponseCharacterEncoding() { return null; }
|
||||
|
||||
@Override
|
||||
public void setAllowMultipleLeadingForwardSlashInPath(
|
||||
boolean allowMultipleLeadingForwardSlashInPath) {
|
||||
// NO-OP
|
||||
}
|
||||
@Override
|
||||
public boolean getAllowMultipleLeadingForwardSlashInPath() { return false; }
|
||||
|
||||
@Override
|
||||
public void incrementInProgressAsyncCount() { /* NO-OP */ }
|
||||
@Override
|
||||
public void decrementInProgressAsyncCount() { /* NO-OP */ }
|
||||
|
||||
@Override
|
||||
public void setCreateUploadTargets(boolean createUploadTargets) { /* NO-OP */}
|
||||
@Override
|
||||
public boolean getCreateUploadTargets() { return false; }
|
||||
}
|
||||
Reference in New Issue
Block a user