package org.etk.kernel.container.mock.servlet; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; import java.util.Set; import java.util.Vector; import javax.servlet.RequestDispatcher; import javax.servlet.Servlet; import javax.servlet.ServletContext; import javax.servlet.ServletException; public class MockServletContext implements ServletContext { private String name_; private HashMap initParams_; private HashMap attributes_; private String contextPath_; private StringBuffer logBuffer = new StringBuffer(); public MockServletContext() { this("portlet_app_1"); } public MockServletContext(String name) { name_ = name; initParams_ = new HashMap(); attributes_ = new HashMap(); } public MockServletContext(String name, String path) { this(name); contextPath_ = path; attributes_.put("javax.servlet.context.tempdir", path); } public void setName(String name) { name_ = name; } public String getLogBuffer() { try { return logBuffer.toString(); } finally { logBuffer = new StringBuffer(); } } public ServletContext getContext(String s) { return null; } public int getMajorVersion() { return 2; } public int getMinorVersion() { return 3; } public String getMimeType(String s) { return "text/html"; } public Set getResourcePaths(String s) { Set set = new HashSet(); set.add("/test1"); set.add("/WEB-INF"); set.add("/test2"); return set; } public URL getResource(String s) throws MalformedURLException { String path = "file:" + contextPath_ + s; URL url = new URL(path); return url; } public InputStream getResourceAsStream(String s) { try { return getResource(s).openStream(); } catch (IOException e) { e.printStackTrace(); } return null; } public RequestDispatcher getRequestDispatcher(String s) { return null; } public RequestDispatcher getNamedDispatcher(String s) { return null; } public Servlet getServlet(String s) throws ServletException { return null; } public Enumeration getServlets() { return null; } public Enumeration getServletNames() { return null; } public void log(String s) { logBuffer.append(s); } public void log(Exception e, String s) { logBuffer.append(s + e.getMessage()); } public void log(String s, Throwable throwable) { logBuffer.append(s + throwable.getMessage()); } public void setContextPath(String s) { contextPath_ = s; } public String getRealPath(String s) { return contextPath_ + s; } public String getServerInfo() { return null; } public void setInitParameter(String name, String value) { initParams_.put(name, value); } public String getInitParameter(String name) { return (String) initParams_.get(name); } public Enumeration getInitParameterNames() { Vector keys = new Vector(initParams_.keySet()); return keys.elements(); } public Object getAttribute(String name) { return attributes_.get(name); } public Enumeration getAttributeNames() { Vector keys = new Vector(attributes_.keySet()); return keys.elements(); } public void setAttribute(String name, Object value) { attributes_.put(name, value); } public void removeAttribute(String name) { attributes_.remove(name); } public String getServletContextName() { return name_; } @Override public String getContextPath() { // TODO Auto-generated method stub return null; } }