/*******************************************************************************
* Copyright (c) 2009, 2014 EclipseSource and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* EclipseSource - initial API and implementation
* Frank Appel - replaced singletons and static fields (Bug 337787)
******************************************************************************/
package org.eclipse.rap.rwt.testfixture.internal;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Enumeration;
import java.util.EventListener;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.servlet.Filter;
import javax.servlet.FilterRegistration;
import javax.servlet.RequestDispatcher;
import javax.servlet.Servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;
import javax.servlet.ServletRegistration.Dynamic;
import javax.servlet.SessionCookieConfig;
import javax.servlet.SessionTrackingMode;
import javax.servlet.descriptor.JspConfigDescriptor;
/**
* <p>
* <strong>IMPORTANT:</strong> This class is <em>not</em> part the public RAP
* API. It may change or disappear without further notice. Use this class at
* your own risk.
* </p>
*/
public class TestServletContext implements ServletContext {
private final Map<String,Object> initParameters;
private final Map<String,Object> attributes;
private final Map<String,FilterRegistration> filters;
private final Map<String,ServletRegistration> servlets;
private String servletContextName;
private TestLogger logger;
private int majorVersion;
private int minorVersion;
public TestServletContext() {
initParameters = new HashMap<String,Object>();
attributes = new HashMap<String,Object>();
filters = new HashMap<String,FilterRegistration>();
servlets = new HashMap<String,ServletRegistration>();
}
public void setVersion( int majorVersion, int minorVersion ) {
this.majorVersion = majorVersion;
this.minorVersion = minorVersion;
}
public void setLogger( TestLogger logger ) {
this.logger = logger;
}
public ServletContext getContext( String arg0 ) {
return null;
}
public int getMajorVersion() {
return majorVersion;
}
public int getMinorVersion() {
return minorVersion;
}
public String getMimeType( String arg0 ) {
return null;
}
public Set<String> getResourcePaths( String arg0 ) {
return null;
}
public URL getResource( String arg0 ) throws MalformedURLException {
return null;
}
public InputStream getResourceAsStream( String arg0 ) {
return null;
}
public RequestDispatcher getRequestDispatcher( String arg0 ) {
return null;
}
public RequestDispatcher getNamedDispatcher( String arg0 ) {
return null;
}
public Servlet getServlet( String arg0 ) throws ServletException {
return null;
}
public Enumeration<Servlet> getServlets() {
return null;
}
public Enumeration<String> getServletNames() {
return null;
}
public void log( String arg0 ) {
log( arg0, null );
}
public void log( Exception arg0, String arg1 ) {
log( arg1, arg0 );
}
public void log( String arg0, Throwable arg1 ) {
if( logger != null ) {
logger.log( arg0, arg1 );
}
}
public String getRealPath( String path ) {
return Fixture.WEB_CONTEXT_DIR + path;
}
public String getServerInfo() {
return null;
}
public String getInitParameter( String name ) {
return ( String )initParameters.get( name );
}
public boolean setInitParameter( String name, String value ) {
initParameters.put( name, value );
return true;
}
public Enumeration<String> getInitParameterNames() {
return null;
}
public Object getAttribute( String arg0 ) {
return attributes.get( arg0 );
}
public Enumeration<String> getAttributeNames() {
return new Enumeration<String>() {
Iterator<String> iterator = attributes.keySet().iterator();
public boolean hasMoreElements() {
return iterator.hasNext();
}
public String nextElement() {
return iterator.next();
}
};
}
public void setAttribute( String arg0, Object arg1 ) {
attributes.put( arg0, arg1 );
}
public void removeAttribute( String arg0 ) {
attributes.remove( arg0 );
}
public String getServletContextName() {
return servletContextName;
}
public void setServletContextName( String servletContextName ) {
this.servletContextName = servletContextName;
}
public String getVirtualServerName() {
return null;
}
public String getContextPath() {
return null;
}
public int getEffectiveMajorVersion() {
return 0;
}
public int getEffectiveMinorVersion() {
return 0;
}
public Dynamic addServlet( String servletName, String className ) {
return null;
}
public Dynamic addServlet( String servletName, Servlet servlet ) {
TestServletRegistration result = new TestServletRegistration( servletName, servlet );
servlets.put( servletName, result );
return result;
}
public Dynamic addServlet( String servletName, Class<? extends Servlet> servletClass ) {
return null;
}
public <T extends Servlet> T createServlet( Class<T> clazz ) throws ServletException {
return null;
}
public ServletRegistration getServletRegistration( String servletName ) {
return servlets.get( servletName );
}
public Map<String, ? extends ServletRegistration> getServletRegistrations() {
return servlets;
}
public javax.servlet.FilterRegistration.Dynamic addFilter( String filterName, String className ) {
return null;
}
public javax.servlet.FilterRegistration.Dynamic addFilter( String filterName, Filter filter ) {
TestFilterRegistration result = new TestFilterRegistration( filterName, filter );
filters.put( filterName, result );
return result;
}
public javax.servlet.FilterRegistration.Dynamic addFilter( String filterName,
Class<? extends Filter> filterClass )
{
return null;
}
public <T extends Filter> T createFilter( Class<T> clazz ) throws ServletException {
return null;
}
public FilterRegistration getFilterRegistration( String filterName ) {
return filters.get( filterName );
}
public Map<String, ? extends FilterRegistration> getFilterRegistrations() {
return filters;
}
public SessionCookieConfig getSessionCookieConfig() {
return null;
}
public void setSessionTrackingModes( Set<SessionTrackingMode> sessionTrackingModes ) {
}
public Set<SessionTrackingMode> getDefaultSessionTrackingModes() {
return null;
}
public Set<SessionTrackingMode> getEffectiveSessionTrackingModes() {
return null;
}
public void addListener( String className ) {
}
public <T extends EventListener> void addListener( T t ) {
}
public void addListener( Class<? extends EventListener> listenerClass ) {
}
public <T extends EventListener> T createListener( Class<T> clazz ) throws ServletException {
return null;
}
public JspConfigDescriptor getJspConfigDescriptor() {
return null;
}
public ClassLoader getClassLoader() {
return null;
}
public void declareRoles( String... roleNames ) {
}
}