1 /*
2 * $Id: MockHttpServletRequest.java,v 1.1.1.1 2004/02/24 20:34:19 eelco12 Exp $
3 * $Revision: 1.1.1.1 $
4 * $Date: 2004/02/24 20:34:19 $
5 *
6 * ====================================================================
7 * Copyright (c) 2003, Open Edge B.V.
8 * All rights reserved.
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are met:
11 * Redistributions of source code must retain the above copyright notice,
12 * this list of conditions and the following disclaimer. Redistributions
13 * in binary form must reproduce the above copyright notice, this list of
14 * conditions and the following disclaimer in the documentation and/or other
15 * materials provided with the distribution. Neither the name of OpenEdge B.V.
16 * nor the names of its contributors may be used to endorse or promote products
17 * derived from this software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
29 * THE POSSIBILITY OF SUCH DAMAGE.
30 */
31
32 package nl.openedge.baritus.test.mock;
33
34 import java.util.Enumeration;
35 import java.util.HashMap;
36 import java.util.Iterator;
37 import java.util.Locale;
38 import java.util.Map;
39
40 /***
41 * @author Eelco Hillenius
42 */
43 public class MockHttpServletRequest extends com.mockobjects.servlet.MockHttpServletRequest
44 {
45
46 private Map attributes = new HashMap();
47
48 /***
49 * @see javax.servlet.http.HttpServletRequest#getDateHeader(java.lang.String)
50 */
51 public long getDateHeader(String arg0)
52 {
53 return System.currentTimeMillis();
54 }
55
56 /***
57 * @see javax.servlet.ServletRequest#getLocale()
58 */
59 public Locale getLocale()
60 {
61 return null;
62 }
63
64 /***
65 * @see javax.servlet.ServletRequest#getAttribute(java.lang.String)
66 */
67 public Object getAttribute(String anAttributeName)
68 {
69 return attributes.get(anAttributeName);
70 }
71
72 /***
73 * @see javax.servlet.ServletRequest#getAttributeNames()
74 */
75 public Enumeration getAttributeNames()
76 {
77 return new ItEnum(attributes.keySet().iterator());
78 }
79
80 /***
81 * @see javax.servlet.ServletRequest#removeAttribute(java.lang.String)
82 */
83 public void removeAttribute(String anAttributeToRemove)
84 {
85 attributes.remove(anAttributeToRemove);
86 }
87
88 /***
89 * @see javax.servlet.ServletRequest#setAttribute(java.lang.String, java.lang.Object)
90 */
91 public void setAttribute(String attributeName, Object attributeValue)
92 {
93 attributes.put(attributeName, attributeValue);
94 }
95
96 }
97
98 class ItEnum implements Enumeration
99 {
100 Iterator i = null;
101
102 public ItEnum(Iterator i)
103 {
104 this.i = i;
105 }
106
107 public boolean hasMoreElements()
108 {
109 return i.hasNext();
110 }
111
112 public Object nextElement()
113 {
114 return i.next();
115 }
116 }