View Javadoc

1   package test.crispy.mock;
2   
3   import java.io.InputStream;
4   import java.net.MalformedURLException;
5   import java.net.URL;
6   import java.util.Enumeration;
7   import java.util.HashSet;
8   import java.util.Hashtable;
9   import java.util.Properties;
10  import java.util.Set;
11  
12  import javax.servlet.RequestDispatcher;
13  import javax.servlet.Servlet;
14  import javax.servlet.ServletContext;
15  
16  import org.apache.commons.logging.Log;
17  import org.apache.commons.logging.LogFactory;
18  
19  public class MockServletContext implements ServletContext {
20  
21  	protected static final Log log = LogFactory.getLog (MockServletContext.class);
22  
23  	private final String resourceBasePath = "";
24  	private final Properties initParameters = new Properties();
25  	private final Hashtable attributes = new Hashtable();
26  	private String servletContextName = "MockServletContext";
27  
28  
29  	public MockServletContext() {
30  
31  	}
32  
33  	protected String getResourceLocation(String path) {
34  		if (!path.startsWith("/")) {
35  			path = "/" + path;
36  		}
37  		return this.resourceBasePath + path;
38  	}
39  
40  
41  	public ServletContext getContext(String name) {
42  		throw new UnsupportedOperationException("getContext " + name);
43  	}
44  
45  	public int getMajorVersion() {
46  		return 2;
47  	}
48  
49  	public int getMinorVersion() {
50  		return 4;
51  	}
52  
53  	public String getMimeType(String filePath) {
54  		throw new UnsupportedOperationException("getMimeType " + filePath);
55  	}
56  
57  	public Set getResourcePaths(String path) {
58  		return new HashSet();
59  	}
60  
61  	public URL getResource(String path) throws MalformedURLException {
62  		URL lvUrl = new URL("http://localhost");
63  		return lvUrl;
64  	}
65  
66  	public InputStream getResourceAsStream(String path) {
67  		return null;
68  	}
69  
70  	public RequestDispatcher getRequestDispatcher(String path) {
71  		return null;
72  	}
73  
74  	public RequestDispatcher getNamedDispatcher(String path) {
75  		throw new UnsupportedOperationException("getNamedDispatcher " + path);
76  	}
77  
78  	public Servlet getServlet(String name) {
79  		throw new UnsupportedOperationException("getServlet " + name);
80  	}
81  
82  	public Enumeration getServlets() {
83  		throw new UnsupportedOperationException("getServlets");
84  	}
85  
86  	public Enumeration getServletNames() {
87  		throw new UnsupportedOperationException("getServletNames");
88  	}
89  
90  	public void log(String message) {
91  		log.info(message);
92  	}
93  
94  	public void log(Exception e, String message) {
95  		log.info(message, e);
96  	}
97  
98  	public void log(String message, Throwable t) {
99  		log.info(message, t);
100 	}
101 
102 	public String getRealPath(String path) {
103 		return "/";
104 	}
105 
106 	public String getServerInfo() {
107 		return "MockServletContext";
108 	}
109 
110 	public String getInitParameter(String name) {
111 		return this.initParameters.getProperty(name);
112 	}
113 
114 	public void addInitParameter(String name, String value) {
115 		this.initParameters.setProperty(name, value);
116 	}
117 
118 	public Enumeration getInitParameterNames() {
119 		return this.initParameters.keys();
120 	}
121 
122 	public Object getAttribute(String name) {
123 		return this.attributes.get(name);
124 	}
125 
126 	public Enumeration getAttributeNames() {
127 		return this.attributes.keys();
128 	}
129 
130 	public void setAttribute(String name, Object value) {
131 		if (value != null) {
132 			this.attributes.put(name, value);
133 		}
134 		else {
135 			this.attributes.remove(name);
136 		}
137 	}
138 
139 	public void removeAttribute(String name) {
140 		this.attributes.remove(name);
141 	}
142 
143 	public void setServletContextName(String servletContextName) {
144 		this.servletContextName = servletContextName;
145 	}
146 
147 	public String getServletContextName() {
148 		return servletContextName;	}
149 
150 }