KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > directwebremoting > util > FakeHttpServletRequest


1 /*
2  * Copyright 2005 Joe Walker
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.directwebremoting.util;
17
18 import java.io.BufferedReader JavaDoc;
19 import java.io.IOException JavaDoc;
20 import java.io.StringReader JavaDoc;
21 import java.io.UnsupportedEncodingException JavaDoc;
22 import java.security.Principal JavaDoc;
23 import java.util.Arrays JavaDoc;
24 import java.util.Collections JavaDoc;
25 import java.util.Enumeration JavaDoc;
26 import java.util.HashMap JavaDoc;
27 import java.util.Locale JavaDoc;
28 import java.util.Map JavaDoc;
29 import java.util.Vector JavaDoc;
30
31 import javax.servlet.RequestDispatcher JavaDoc;
32 import javax.servlet.ServletException JavaDoc;
33 import javax.servlet.ServletInputStream JavaDoc;
34 import javax.servlet.ServletRequest JavaDoc;
35 import javax.servlet.ServletResponse JavaDoc;
36 import javax.servlet.http.Cookie JavaDoc;
37 import javax.servlet.http.HttpServletRequest JavaDoc;
38 import javax.servlet.http.HttpSession JavaDoc;
39
40 /**
41  * For the benefit of anyone that wants to create a fake HttpServletRequest
42  * that doesn't do anything other than not be null.
43  * @author Joe Walker [joe at getahead dot ltd dot uk]
44  */

45 public class FakeHttpServletRequest implements HttpServletRequest JavaDoc
46 {
47     /* (non-Javadoc)
48      * @see javax.servlet.http.HttpServletRequest#getAuthType()
49      */

50     public String JavaDoc getAuthType()
51     {
52         return null;
53     }
54
55     /* (non-Javadoc)
56      * @see javax.servlet.http.HttpServletRequest#getCookies()
57      */

58     public Cookie JavaDoc[] getCookies()
59     {
60         return null;
61     }
62
63     /* (non-Javadoc)
64      * @see javax.servlet.http.HttpServletRequest#getDateHeader(java.lang.String)
65      */

66     public long getDateHeader(String JavaDoc name)
67     {
68         return -1;
69     }
70
71     /* (non-Javadoc)
72      * @see javax.servlet.http.HttpServletRequest#getHeader(java.lang.String)
73      */

74     public String JavaDoc getHeader(String JavaDoc name)
75     {
76         return null;
77     }
78
79     /* (non-Javadoc)
80      * @see javax.servlet.http.HttpServletRequest#getHeaders(java.lang.String)
81      */

82     public Enumeration JavaDoc getHeaders(String JavaDoc name)
83     {
84         return new Vector JavaDoc().elements();
85     }
86
87     /* (non-Javadoc)
88      * @see javax.servlet.http.HttpServletRequest#getHeaderNames()
89      */

90     public Enumeration JavaDoc getHeaderNames()
91     {
92         return new Vector JavaDoc().elements();
93     }
94
95     /* (non-Javadoc)
96      * @see javax.servlet.http.HttpServletRequest#getIntHeader(java.lang.String)
97      */

98     public int getIntHeader(String JavaDoc name)
99     {
100         return -1;
101     }
102
103     /* (non-Javadoc)
104      * @see javax.servlet.http.HttpServletRequest#getMethod()
105      */

106     public String JavaDoc getMethod()
107     {
108         log.warn("Inventing data in FakeHttpServletRequest.getMethod() to remain plausible.");
109         return "GET";
110     }
111
112     /* (non-Javadoc)
113      * @see javax.servlet.http.HttpServletRequest#getPathInfo()
114      */

115     public String JavaDoc getPathInfo()
116     {
117         return null;
118     }
119
120     /* (non-Javadoc)
121      * @see javax.servlet.http.HttpServletRequest#getPathTranslated()
122      */

123     public String JavaDoc getPathTranslated()
124     {
125         return null;
126     }
127
128     /* (non-Javadoc)
129      * @see javax.servlet.http.HttpServletRequest#getContextPath()
130      */

131     public String JavaDoc getContextPath()
132     {
133         log.warn("Inventing data in FakeHttpServletRequest.getContextPath() to remain plausible.");
134         return "";
135     }
136
137     /* (non-Javadoc)
138      * @see javax.servlet.http.HttpServletRequest#getQueryString()
139      */

140     public String JavaDoc getQueryString()
141     {
142         return null;
143     }
144
145     /* (non-Javadoc)
146      * @see javax.servlet.http.HttpServletRequest#getRemoteUser()
147      */

148     public String JavaDoc getRemoteUser()
149     {
150         return null;
151     }
152
153     /* (non-Javadoc)
154      * @see javax.servlet.http.HttpServletRequest#isUserInRole(java.lang.String)
155      */

156     public boolean isUserInRole(String JavaDoc role)
157     {
158         return false;
159     }
160
161     /* (non-Javadoc)
162      * @see javax.servlet.http.HttpServletRequest#getUserPrincipal()
163      */

164     public Principal JavaDoc getUserPrincipal()
165     {
166         return null;
167     }
168
169     /* (non-Javadoc)
170      * @see javax.servlet.http.HttpServletRequest#getRequestedSessionId()
171      */

172     public String JavaDoc getRequestedSessionId()
173     {
174         return null;
175     }
176
177     /* (non-Javadoc)
178      * @see javax.servlet.http.HttpServletRequest#getRequestURI()
179      */

180     public String JavaDoc getRequestURI()
181     {
182         log.warn("Inventing data in FakeHttpServletRequest.getRequestURI() to remain plausible.");
183         return "/";
184     }
185
186     /* (non-Javadoc)
187      * @see javax.servlet.http.HttpServletRequest#getRequestURL()
188      */

189     public StringBuffer JavaDoc getRequestURL()
190     {
191         log.warn("Inventing data in FakeHttpServletRequest.getRequestURL() to remain plausible.");
192         return new StringBuffer JavaDoc("http://localhost/");
193     }
194
195     /* (non-Javadoc)
196      * @see javax.servlet.http.HttpServletRequest#getServletPath()
197      */

198     public String JavaDoc getServletPath()
199     {
200         log.warn("Inventing data in FakeHttpServletRequest.getServletPath() to remain plausible.");
201         return "";
202     }
203
204     /* (non-Javadoc)
205      * @see javax.servlet.http.HttpServletRequest#getSession(boolean)
206      */

207     public HttpSession JavaDoc getSession(boolean create)
208     {
209         if (!create)
210         {
211             return null;
212         }
213
214         return new FakeHttpSession();
215     }
216
217     /* (non-Javadoc)
218      * @see javax.servlet.http.HttpServletRequest#getSession()
219      */

220     public HttpSession JavaDoc getSession()
221     {
222         return null;
223     }
224
225     /* (non-Javadoc)
226      * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdValid()
227      */

228     public boolean isRequestedSessionIdValid()
229     {
230         return false;
231     }
232
233     /* (non-Javadoc)
234      * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromCookie()
235      */

236     public boolean isRequestedSessionIdFromCookie()
237     {
238         return false;
239     }
240
241     /* (non-Javadoc)
242      * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromURL()
243      */

244     public boolean isRequestedSessionIdFromURL()
245     {
246         return false;
247     }
248
249     /* (non-Javadoc)
250      * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromUrl()
251      */

252     public boolean isRequestedSessionIdFromUrl()
253     {
254         return false;
255     }
256
257     /* (non-Javadoc)
258      * @see javax.servlet.ServletRequest#getAttribute(java.lang.String)
259      */

260     public Object JavaDoc getAttribute(String JavaDoc name)
261     {
262         return attributes.get(name);
263     }
264
265     /* (non-Javadoc)
266      * @see javax.servlet.ServletRequest#getAttributeNames()
267      */

268     public Enumeration JavaDoc getAttributeNames()
269     {
270         return Collections.enumeration(attributes.keySet());
271     }
272
273     /* (non-Javadoc)
274      * @see javax.servlet.ServletRequest#getCharacterEncoding()
275      */

276     public String JavaDoc getCharacterEncoding()
277     {
278         return characterEncoding;
279     }
280
281     /* (non-Javadoc)
282      * @see javax.servlet.ServletRequest#setCharacterEncoding(java.lang.String)
283      */

284     public void setCharacterEncoding(String JavaDoc characterEncoding) throws UnsupportedEncodingException JavaDoc
285     {
286         this.characterEncoding = characterEncoding;
287     }
288
289     /* (non-Javadoc)
290      * @see javax.servlet.ServletRequest#getContentLength()
291      */

292     public int getContentLength()
293     {
294         return 0;
295     }
296
297     /* (non-Javadoc)
298      * @see javax.servlet.ServletRequest#getContentType()
299      */

300     public String JavaDoc getContentType()
301     {
302         log.warn("Inventing data in FakeHttpServletRequest.getContentType() to remain plausible.");
303         return "text/plain";
304     }
305
306     /* (non-Javadoc)
307      * @see javax.servlet.ServletRequest#getInputStream()
308      */

309     public ServletInputStream JavaDoc getInputStream() throws IOException JavaDoc
310     {
311         return new ServletInputStream JavaDoc()
312         {
313             /* (non-Javadoc)
314              * @see java.io.InputStream#read()
315              */

316             public int read() throws IOException JavaDoc
317             {
318                 return -1;
319             }
320         };
321     }
322
323     /**
324      * @return "127.0.0.1"
325      */

326     public String JavaDoc getLocalAddr()
327     {
328         log.warn("Inventing data in FakeHttpServletRequest.getLocalAddr() to remain plausible.");
329         return "127.0.0.1";
330     }
331
332     /**
333      * @return "localhost"
334      */

335     public String JavaDoc getLocalName()
336     {
337         log.warn("Inventing data in FakeHttpServletRequest.getLocalName() to remain plausible.");
338         return "localhost";
339     }
340
341     /**
342      * @return 80
343      */

344     public int getLocalPort()
345     {
346         log.warn("Inventing data in FakeHttpServletRequest.getLocalPort() to remain plausible.");
347         return 80;
348     }
349
350     /* (non-Javadoc)
351      * @see javax.servlet.ServletRequest#getParameter(java.lang.String)
352      */

353     public String JavaDoc getParameter(String JavaDoc name)
354     {
355         return null;
356     }
357
358     /* (non-Javadoc)
359      * @see javax.servlet.ServletRequest#getParameterNames()
360      */

361     public Enumeration JavaDoc getParameterNames()
362     {
363         return new Vector JavaDoc().elements();
364     }
365
366     /* (non-Javadoc)
367      * @see javax.servlet.ServletRequest#getParameterValues(java.lang.String)
368      */

369     public String JavaDoc[] getParameterValues(String JavaDoc name)
370     {
371         return null;
372     }
373
374     /* (non-Javadoc)
375      * @see javax.servlet.ServletRequest#getParameterMap()
376      */

377     public Map JavaDoc getParameterMap()
378     {
379         return Collections.EMPTY_MAP;
380     }
381
382     /* (non-Javadoc)
383      * @see javax.servlet.ServletRequest#getProtocol()
384      */

385     public String JavaDoc getProtocol()
386     {
387         log.warn("Inventing data in FakeHttpServletRequest.getProtocol() to remain plausible.");
388         return "HTTP/1.1";
389     }
390
391     /* (non-Javadoc)
392      * @see javax.servlet.ServletRequest#getScheme()
393      */

394     public String JavaDoc getScheme()
395     {
396         log.warn("Inventing data in FakeHttpServletRequest.getScheme() to remain plausible.");
397         return "http";
398     }
399
400     /* (non-Javadoc)
401      * @see javax.servlet.ServletRequest#getServerName()
402      */

403     public String JavaDoc getServerName()
404     {
405         log.warn("Inventing data in FakeHttpServletRequest.getServerName() to remain plausible.");
406         return "localhost";
407     }
408
409     /* (non-Javadoc)
410      * @see javax.servlet.ServletRequest#getServerPort()
411      */

412     public int getServerPort()
413     {
414         log.warn("Inventing data in FakeHttpServletRequest.getServerPort() to remain plausible.");
415         return 80;
416     }
417
418     /* (non-Javadoc)
419      * @see javax.servlet.ServletRequest#getReader()
420      */

421     public BufferedReader JavaDoc getReader() throws IOException JavaDoc
422     {
423         return new BufferedReader JavaDoc(new StringReader JavaDoc(""));
424     }
425
426     /* (non-Javadoc)
427      * @see javax.servlet.ServletRequest#getRemoteAddr()
428      */

429     public String JavaDoc getRemoteAddr()
430     {
431         log.warn("Inventing data in FakeHttpServletRequest.getRemoteAddr() to remain plausible.");
432         return "localhost";
433     }
434
435     /* (non-Javadoc)
436      * @see javax.servlet.ServletRequest#getRemoteHost()
437      */

438     public String JavaDoc getRemoteHost()
439     {
440         log.warn("Inventing data in FakeHttpServletRequest.getRemoteHost() to remain plausible.");
441         return "localhost";
442     }
443
444     /**
445      * @return 80
446      */

447     public int getRemotePort()
448     {
449         log.warn("Inventing data in FakeHttpServletRequest.getRemotePort() to remain plausible.");
450         return 80;
451     }
452
453     /* (non-Javadoc)
454      * @see javax.servlet.ServletRequest#setAttribute(java.lang.String, java.lang.Object)
455      */

456     public void setAttribute(String JavaDoc name, Object JavaDoc o)
457     {
458         attributes.put(name, o);
459     }
460
461     /* (non-Javadoc)
462      * @see javax.servlet.ServletRequest#removeAttribute(java.lang.String)
463      */

464     public void removeAttribute(String JavaDoc name)
465     {
466         attributes.remove(name);
467     }
468
469     /* (non-Javadoc)
470      * @see javax.servlet.ServletRequest#getLocale()
471      */

472     public Locale JavaDoc getLocale()
473     {
474         return Locale.getDefault();
475     }
476
477     /* (non-Javadoc)
478      * @see javax.servlet.ServletRequest#getLocales()
479      */

480     public Enumeration JavaDoc getLocales()
481     {
482         return Collections.enumeration(Arrays.asList(new Locale JavaDoc[] { Locale.getDefault() }));
483     }
484
485     /* (non-Javadoc)
486      * @see javax.servlet.ServletRequest#isSecure()
487      */

488     public boolean isSecure()
489     {
490         return false;
491     }
492
493     /* (non-Javadoc)
494      * @see javax.servlet.ServletRequest#getRequestDispatcher(java.lang.String)
495      */

496     public RequestDispatcher JavaDoc getRequestDispatcher(String JavaDoc path)
497     {
498         return new RequestDispatcher JavaDoc()
499         {
500             /* (non-Javadoc)
501              * @see javax.servlet.RequestDispatcher#include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
502              */

503             public void include(ServletRequest JavaDoc request, ServletResponse JavaDoc response) throws ServletException JavaDoc, IOException JavaDoc
504             {
505             }
506
507             /* (non-Javadoc)
508              * @see javax.servlet.RequestDispatcher#forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
509              */

510             public void forward(ServletRequest JavaDoc request, ServletResponse JavaDoc response) throws ServletException JavaDoc, IOException JavaDoc
511             {
512             }
513         };
514     }
515
516     /* (non-Javadoc)
517      * @see javax.servlet.ServletRequest#getRealPath(java.lang.String)
518      */

519     public String JavaDoc getRealPath(String JavaDoc path)
520     {
521         return null;
522     }
523
524     /**
525      * The character encoding in the supposed request
526      */

527     private String JavaDoc characterEncoding = null;
528
529     /**
530      * The list of attributes
531      */

532     private Map JavaDoc attributes = new HashMap JavaDoc();
533
534     /**
535      * The log stream
536      */

537     private static final Logger log = Logger.getLogger(FakeHttpServletRequest.class);
538 }
539
Popular Tags