package org.ripla.rap; 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() { this.initParameters = new HashMap<String, Object>(); this.attributes = new HashMap<String, Object>(); this.filters = new HashMap<String, FilterRegistration>(); this.servlets = new HashMap<String, ServletRegistration>(); } public void setVersion(final int majorVersion, final int minorVersion) { this.majorVersion = majorVersion; this.minorVersion = minorVersion; } public void setLogger(final TestLogger logger) { this.logger = logger; } @Override public ServletContext getContext(final String arg0) { return null; } @Override public int getMajorVersion() { return majorVersion; } @Override public int getMinorVersion() { return minorVersion; } @Override public String getMimeType(final String arg0) { return null; } @Override public Set<String> getResourcePaths(final String arg0) { return null; } @Override public URL getResource(final String arg0) throws MalformedURLException { return null; } @Override public InputStream getResourceAsStream(final String arg0) { return null; } @Override public RequestDispatcher getRequestDispatcher(final String arg0) { return null; } @Override public RequestDispatcher getNamedDispatcher(final String arg0) { return null; } @Override public Servlet getServlet(final String arg0) throws ServletException { return null; } @Override public Enumeration<Servlet> getServlets() { return null; } @Override public Enumeration<String> getServletNames() { return null; } @Override public void log(final String arg0) { log(arg0, null); } @Override public void log(final Exception arg0, final String arg1) { log(arg1, arg0); } @Override public void log(final String arg0, final Throwable arg1) { if (logger != null) { logger.log(arg0, arg1); } } @Override public String getRealPath(final String path) { return path; // return Fixture.WEB_CONTEXT_DIR + path; } @Override public String getServerInfo() { return null; } @Override public String getInitParameter(final String name) { return (String) initParameters.get(name); } @Override public boolean setInitParameter(final String name, final String value) { initParameters.put(name, value); return true; } @Override public Enumeration<String> getInitParameterNames() { return null; } @Override public Object getAttribute(final String arg0) { return attributes.get(arg0); } @Override public Enumeration<String> getAttributeNames() { return new Enumeration<String>() { Iterator<String> iterator = attributes.keySet().iterator(); @Override public boolean hasMoreElements() { return iterator.hasNext(); } @Override public String nextElement() { return iterator.next(); } }; } @Override public void setAttribute(final String arg0, final Object arg1) { // ThemeManagerHelper.adaptApplicationContext(arg1); // attributes.put(arg0, arg1); } @Override public void removeAttribute(final String arg0) { attributes.remove(arg0); } @Override public String getServletContextName() { return servletContextName; } public void setServletContextName(final String servletContextName) { this.servletContextName = servletContextName; } @Override public String getContextPath() { return null; } @Override public int getEffectiveMajorVersion() { return 0; } @Override public int getEffectiveMinorVersion() { return 0; } @Override public Dynamic addServlet(final String servletName, final String className) { return null; } @Override public Dynamic addServlet(final String servletName, final Servlet servlet) { return null; // final TestServletRegistration result = new TestServletRegistration( // servletName, servlet); // servlets.put(servletName, result); // return result; } @Override public Dynamic addServlet(final String servletName, final Class<? extends Servlet> servletClass) { return null; } @Override public <T extends Servlet> T createServlet(final Class<T> clazz) throws ServletException { return null; } @Override public ServletRegistration getServletRegistration(final String servletName) { return servlets.get(servletName); } @Override public Map<String, ? extends ServletRegistration> getServletRegistrations() { return servlets; } @Override public javax.servlet.FilterRegistration.Dynamic addFilter( final String filterName, final String className) { return null; } @Override public javax.servlet.FilterRegistration.Dynamic addFilter( final String filterName, final Filter filter) { return null; // final TestFilterRegistration result = new TestFilterRegistration( // filterName, filter); // filters.put(filterName, result); // return result; } @Override public javax.servlet.FilterRegistration.Dynamic addFilter( final String filterName, final Class<? extends Filter> filterClass) { return null; } @Override public <T extends Filter> T createFilter(final Class<T> clazz) throws ServletException { return null; } @Override public FilterRegistration getFilterRegistration(final String filterName) { return filters.get(filterName); } @Override public Map<String, ? extends FilterRegistration> getFilterRegistrations() { return filters; } @Override public SessionCookieConfig getSessionCookieConfig() { return null; } @Override public void setSessionTrackingModes( final Set<SessionTrackingMode> sessionTrackingModes) { } @Override public Set<SessionTrackingMode> getDefaultSessionTrackingModes() { return null; } @Override public Set<SessionTrackingMode> getEffectiveSessionTrackingModes() { return null; } @Override public void addListener(final String className) { } @Override public <T extends EventListener> void addListener(final T t) { } @Override public void addListener(final Class<? extends EventListener> listenerClass) { } @Override public <T extends EventListener> T createListener(final Class<T> clazz) throws ServletException { return null; } @Override public JspConfigDescriptor getJspConfigDescriptor() { return null; } @Override public ClassLoader getClassLoader() { return null; } @Override public void declareRoles(final String... roleNames) { } }