1 package servletunit;
2
3 // StrutsTestCase - a JUnit extension for testing Struts actions
4 // within the context of the ActionServlet.
5 // Copyright (C) 2002 Deryl Seale
6 //
7 // This library is free software; you can redistribute it and/or
8 // modify it under the terms of the Apache Software License as
9 // published by the Apache Software Foundation; either version 1.1
10 // of the License, or (at your option) any later version.
11 //
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // Apache Software Foundation Licens for more details.
16 //
17 // You may view the full text here: http://www.apache.org/LICENSE.txt
18
19 import javax.servlet.ServletConfig;
20 import javax.servlet.ServletContext;
21 import java.util.Enumeration;
22 import java.util.Hashtable;
23
24 /**
25 * This class simulates a ServletConfig.
26 */
27
28 public class ServletConfigSimulator implements ServletConfig
29 {
30
31 private Hashtable parameters;
32 private ServletContext context;
33
34 public ServletConfigSimulator()
35 {
36 parameters=new Hashtable();
37 context = new ServletContextSimulator();
38 }
39
40 /**
41 * Returns a <code>String</code> containing the value of the
42 * named initialization parameter, or <code>null</code> if
43 * the parameter does not exist.
44 *
45 * @param name a <code>String</code> specifying the name
46 * of the initialization parameter
47 *
48 * @return a <code>String</code> containing the value
49 * of the initialization parameter
50 *
51 */
52 public String getInitParameter(String name)
53 {
54 return (String) parameters.get(name);
55 }
56
57 /**
58 * Returns the names of the servlet's initialization parameters
59 * as an <code>Enumeration</code> of <code>String</code> objects,
60 * or an empty <code>Enumeration</code> if the servlet has
61 * no initialization parameters.
62 *
63 * @return an <code>Enumeration</code> of <code>String</code>
64 * objects containing the names of the servlet's
65 * initialization parameters
66 *
67 *
68 *
69 */
70 public Enumeration getInitParameterNames()
71 {
72 return parameters.keys();
73 }
74
75 /**
76 * Returns a reference to the {@link ServletContext} in which the caller
77 * is executing.
78 *
79 *
80 * @return a {@link ServletContext} object, used
81 * by the caller to interact with its servlet
82 * container
83 *
84 * @see ServletContext
85 *
86 */
87 public ServletContext getServletContext()
88 {
89 return context;
90 }
91
92 /**
93 * Returns the name of this servlet instance.
94 * The name may be provided via server administration, assigned in the
95 * web application deployment descriptor, or for an unregistered (and thus
96 * unnamed) servlet instance it will be the servlet's class name.
97 *
98 * @return the String "ActionServlet"
99 *
100 *
101 *
102 */
103 public String getServletName()
104 {
105 return "ActionServlet";
106 }
107
108 /**
109 * Sets a named initialization parameter with the supplied
110 * <code>String</code> value.
111 *
112 * @param key a <code>String</code> specifying the name
113 * of the initialization parameter
114 *
115 * @param value a <code>String</code> value for this initialization
116 * parameter
117 *
118 */
119 public void setInitParameter(String key,String value)
120 {
121 parameters.put(key,value);
122 }
123
124 }
125