001: /*
002: * $Id: StrutsMockHttpServletRequest.java 471756 2006-11-06 15:01:43Z husted $
003: *
004: * Licensed to the Apache Software Foundation (ASF) under one
005: * or more contributor license agreements. See the NOTICE file
006: * distributed with this work for additional information
007: * regarding copyright ownership. The ASF licenses this file
008: * to you under the Apache License, Version 2.0 (the
009: * "License"); you may not use this file except in compliance
010: * with the License. You may obtain a copy of the License at
011: *
012: * http://www.apache.org/licenses/LICENSE-2.0
013: *
014: * Unless required by applicable law or agreed to in writing,
015: * software distributed under the License is distributed on an
016: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017: * KIND, either express or implied. See the License for the
018: * specific language governing permissions and limitations
019: * under the License.
020: */
021: package org.apache.struts2.views.jsp;
022:
023: import java.util.Collections;
024: import java.util.Enumeration;
025: import java.util.HashMap;
026: import java.util.Locale;
027: import java.util.Map;
028: import java.util.Vector;
029:
030: import javax.servlet.RequestDispatcher;
031: import javax.servlet.http.HttpSession;
032:
033: import junit.framework.AssertionFailedError;
034:
035: import com.mockobjects.servlet.MockHttpServletRequest;
036:
037: /**
038: * StrutsMockHttpServletRequest
039: *
040: */
041: public class StrutsMockHttpServletRequest extends
042: MockHttpServletRequest {
043:
044: Locale locale = Locale.US;
045: private Map attributes = new HashMap();
046: private Map parameterMap = new HashMap();
047: private String context = "";
048: private String pathInfo = "";
049: private String queryString;
050: private String requestURI;
051: private String scheme;
052: private String serverName;
053: private int serverPort;
054: private String encoding;
055: private String requestDispatherString;
056:
057: public void setAttribute(String s, Object o) {
058: attributes.put(s, o);
059: }
060:
061: public Object getAttribute(String s) {
062: return attributes.get(s);
063: }
064:
065: public Enumeration getAttributeNames() {
066: Vector v = new Vector();
067: v.addAll(attributes.keySet());
068:
069: return v.elements();
070: }
071:
072: public String getContextPath() {
073: return this .context;
074: }
075:
076: public void setLocale(Locale locale) {
077: this .locale = locale;
078: }
079:
080: public Locale getLocale() {
081: return locale;
082: }
083:
084: public void setCharacterEncoding(String s) {
085: this .encoding = s;
086: }
087:
088: public String getCharacterEncoding() {
089: return encoding;
090: }
091:
092: public void setParameterMap(Map parameterMap) {
093: this .parameterMap = parameterMap;
094: }
095:
096: public Map getParameterMap() {
097: return parameterMap;
098: }
099:
100: public String getParameter(String string) {
101: return (String) parameterMap.get(string);
102: }
103:
104: public Enumeration getParameterNames() {
105: return Collections.enumeration(parameterMap.keySet());
106: }
107:
108: public String[] getParameterValues(String string) {
109: return (String[]) parameterMap.get(string);
110: }
111:
112: public String getPathInfo() {
113: return pathInfo;
114: }
115:
116: public void setQueryString(String queryString) {
117: this .queryString = queryString;
118: }
119:
120: public String getQueryString() {
121: return queryString;
122: }
123:
124: public RequestDispatcher getRequestDispatcher(String string) {
125: this .requestDispatherString = string;
126: return super .getRequestDispatcher(string);
127: }
128:
129: /**
130: * Get's the source string that was used in the last getRequestDispatcher method call.
131: */
132: public String getRequestDispatherString() {
133: return requestDispatherString;
134: }
135:
136: public void setRequestURI(String requestURI) {
137: this .requestURI = requestURI;
138: }
139:
140: public String getRequestURI() {
141: return requestURI;
142: }
143:
144: public void setScheme(String scheme) {
145: this .scheme = scheme;
146: }
147:
148: public String getScheme() {
149: return scheme;
150: }
151:
152: public void setServerName(String serverName) {
153: this .serverName = serverName;
154: }
155:
156: public String getServerName() {
157: return serverName;
158: }
159:
160: public void setServerPort(int serverPort) {
161: this .serverPort = serverPort;
162: }
163:
164: public int getServerPort() {
165: return serverPort;
166: }
167:
168: public HttpSession getSession() {
169: HttpSession session = null;
170:
171: try {
172: session = super .getSession();
173: } catch (AssertionFailedError e) {
174: //ignore
175: }
176:
177: if (session == null) {
178: session = new StrutsMockHttpSession();
179: setSession(session);
180: }
181:
182: return session;
183: }
184:
185: public void setupGetContext(String context) {
186: this .context = context;
187: }
188:
189: public void setupGetPathInfo(String pathInfo) {
190: this .pathInfo = pathInfo;
191: }
192:
193: public int getRemotePort() {
194: return 0;
195: }
196:
197: public String getLocalName() {
198: return null;
199: }
200:
201: public String getLocalAddr() {
202: return null;
203: }
204:
205: public int getLocalPort() {
206: return 0;
207: }
208: }
|