Revision: 606
http://stripes.svn.sourceforge.net/stripes/?rev=606&view=rev
Author: b4pro
Date: 2007-09-07 13:03:32 -0700 (Fri, 07 Sep 2007)
Log Message:
-----------
Resolved STS-412: applied patch
Modified Paths:
--------------
trunk/stripes/src/net/sourceforge/stripes/mock/MockHttpServletRequest.java
Modified:
trunk/stripes/src/net/sourceforge/stripes/mock/MockHttpServletRequest.java
===================================================================
--- trunk/stripes/src/net/sourceforge/stripes/mock/MockHttpServletRequest.java
2007-08-24 01:40:24 UTC (rev 605)
+++ trunk/stripes/src/net/sourceforge/stripes/mock/MockHttpServletRequest.java
2007-09-07 20:03:32 UTC (rev 606)
@@ -1,387 +1,387 @@
-/* Copyright 2005-2006 Tim Fennell
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package net.sourceforge.stripes.mock;
-
-import javax.servlet.ServletInputStream;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.security.Principal;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * <p>Mock implementation of an HttpServletRequest object. Allows for setting
most values that
- * are likely to be of interest (and can always be subclassed to affect
others). Of key interest
- * and perhaps not completely obvious, the way to get request parameters into
an instance of
- * MockHttpServletRequest is to fetch the parameter map using
getParameterMap() and use the
- * put() and putAll() methods on it. Values must be String arrays. Examples
follow:</p>
- *
- * <pre>
- * MockHttpServletRequest req = new MockHttpServletRequest("/foo",
"/bar.action");
- * req.getParameterMap().put("param1", new String[] {"value"});
- * req.getParameterMap().put("param2", new String[] {"value1", "value2"});
- * </pre>
- *
- * <p>It should also be noted that unless you generate an instance of
MockHttpSession (or
- * another implementation of HttpSession) and set it on the request, then your
request will
- * <i>never</i> have a session associated with it.</p>
- *
- * @author Tim Fennell
- * @since Stripes 1.1.1
- */
[EMAIL PROTECTED]("deprecation")
-public class MockHttpServletRequest implements HttpServletRequest {
- private String authType;
- private Cookie[] cookies;
- private Map<String,Object> headers = new HashMap<String,Object>();
- private Map<String,Object> attributes = new HashMap<String,Object>();
- private Map<String,String[]> parameters = new HashMap<String,String[]>();
- private String method = "POST";
- private HttpSession session;
- private String characterEncoding = "UTF-8";
- private List<Locale> locales = new ArrayList<Locale>();
- private Principal userPrincipal;
- private Set<String> roles = new HashSet<String>();
- private String forwardUrl;
- private List<String> includedUrls = new ArrayList<String>();
-
- // All the bits of the URL
- private String protocol = "https";
- private String serverName = "localhost";
- private int serverPort = 8080;
- private String contextPath = "";
- private String servletPath = "";
- private String pathInfo = "";
- private String queryString = "";
-
- /**
- * Minimal constructor that makes sense. Requires a context path (should
be the same as
- * the name of the servlet context, prepended with a '/') and a servlet
path. E.g.
- * new MockHttpServletRequest("/myapp", "/actionType/foo.action").
- *
- * @param contextPath
- * @param servletPath
- */
- public MockHttpServletRequest(String contextPath, String servletPath) {
- this.contextPath = contextPath;
- this.servletPath = servletPath;
- }
-
- /** Sets the auth type that will be reported by this request. */
- public void setAuthType(String authType) { this.authType = authType; }
-
- /** Gets the auth type being used by this request. */
- public String getAuthType() { return this.authType; }
-
- /** Sets the array of cookies that will be available from the request. */
- public void setCookies(Cookie[] cookies) { this.cookies = cookies; }
-
- /** Returns any cookies that are set on the request. */
- public Cookie[] getCookies() { return this.cookies; }
-
- /**
- * Allows headers to be set on the request. These will be returned by the
various getXxHeader()
- * methods. If the header is a date header it should be set with a Long.
If the header is an
- * Int header it should be set with an Integer.
- */
- public void addHeader(String name, Object value) {
- this.headers.put(name.toLowerCase(), value);
- }
-
- /** Gets the named header as a long. Must have been set as a long with
addHeader(). */
- public long getDateHeader(String name) { return (Long)
this.headers.get(name); }
-
- /** Returns any header as a String if it exists. */
- public String getHeader(String name) {
- if (name != null)
- name = name.toLowerCase();
- Object header = this.headers.get(name);
- if (header != null) {
- return header.toString();
- }
- else {
- return null;
- }
- }
-
- /** Returns an enumeration with single value of the named header, or an
empty enum if no value. */
- public Enumeration getHeaders(String name) {
- String header = getHeader(name);
- Collection<String> values = new ArrayList<String>();
- if (header != null) {
- values.add(header);
- }
- return Collections.enumeration(values);
- }
-
- /** Returns an enumeration containing all the names of headers supplied. */
- public Enumeration getHeaderNames() { return
Collections.enumeration(headers.keySet()); }
-
- /** Gets the named header as an int. Must have been set as an Integer with
addHeader(). */
- public int getIntHeader(String name) {
- return (Integer) this.headers.get(name);
- }
-
- /** Sets the method used by the request. Defaults to POST. */
- public void setMethod(String method) { this.method = method; }
-
- /** Gets the method used by the request. Defaults to POST. */
- public String getMethod() { return this.method; }
-
- /** Sets the path info. Defaults to the empty string. */
- public void setPathInfo(String pathInfo) { this.pathInfo = pathInfo; }
-
- /** Returns the path info. Defaults to the empty string. */
- public String getPathInfo() { return this.pathInfo; }
-
- /** Always returns the same as getPathInfo(). */
- public String getPathTranslated() { return getPathInfo(); }
-
- /** Sets the context path. Defaults to the empty string. */
- public void setContextPath(String contextPath) { this.contextPath =
contextPath; }
-
- /** Returns the context path. Defaults to the empty string. */
- public String getContextPath() { return this.contextPath; }
-
- /** Sets the query string set on the request; this value is not parsed for
anything. */
- public void setQueryString(String queryString) { this.queryString =
queryString; }
-
- /** Returns the query string set on the request. */
- public String getQueryString() { return this.queryString; }
-
- /** Returns the name from the user principal if one exists, otherwise
null. */
- public String getRemoteUser() {
- Principal p = getUserPrincipal();
- return p == null ? null : p.getName();
- }
-
- /** Sets the set of roles that the user is deemed to be in for the
request. */
- public void setRoles(Set<String> roles) { this.roles = roles; }
-
- /** Returns true if the set of roles contains the role specified, false
otherwise. */
- public boolean isUserInRole(String role) {
- return this.roles.contains(role);
- }
-
- /** Sets the Principal for the current request. */
- public void setUserPrincipal(Principal userPrincipal) { this.userPrincipal
= userPrincipal; }
-
- /** Returns the Principal if one is set on the request. */
- public Principal getUserPrincipal() { return this.userPrincipal; }
-
- /** Returns the ID of the session if one is attached to this request.
Otherwise null. */
- public String getRequestedSessionId() {
- if (this.session == null) {
- return null;
- }
- return this.session.getId();
- }
-
- /** Returns the request URI as defined by the servlet spec. */
- public String getRequestURI() { return this.contextPath + this.pathInfo; }
-
- /** Returns (an attempt at) a reconstructed URL based on it's constituent
parts. */
- public StringBuffer getRequestURL() {
- return new StringBuffer().append(this.protocol)
- .append("://")
- .append(this.serverName)
- .append(":")
- .append(this.serverPort)
- .append(this.contextPath)
- .append(this.servletPath)
- .append(this.pathInfo);
- }
-
- /** Gets the part of the path which matched the servlet. */
- public String getServletPath() { return this.servletPath; }
-
- /** Gets the session object attached to this request. */
- public HttpSession getSession(boolean b) { return this.session; }
-
- /** Gets the session object attached to this request. */
- public HttpSession getSession() { return this.session; }
-
- /** Allows a session to be associated with the request. */
- public void setSession(HttpSession session) { this.session = session; }
-
- /** Always returns true. */
- public boolean isRequestedSessionIdValid() { return true; }
-
- /** Always returns true. */
- public boolean isRequestedSessionIdFromCookie() { return true; }
-
- /** Always returns false. */
- public boolean isRequestedSessionIdFromURL() { return false; }
-
- /** Always returns false. */
- public boolean isRequestedSessionIdFromUrl() { return false; }
-
- /** Gets the named request attribute from an internal Map. */
- public Object getAttribute(String key) { return this.attributes.get(key); }
-
- /** Gets an enumeration of all request attribute names. */
- public Enumeration getAttributeNames() {
- return Collections.enumeration(this.attributes.keySet());
- }
-
- /** Gets the character encoding, defaults to UTF-8. */
- public String getCharacterEncoding() { return this.characterEncoding; }
-
- /** Sets the character encoding that will be returned by
getCharacterEncoding(). */
- public void setCharacterEncoding(String encoding) { this.characterEncoding
= encoding; }
-
- /** Always returns -1 (unknown). */
- public int getContentLength() { return -1; }
-
- /** Always returns null. */
- public String getContentType() { return null; }
-
- /** Always returns null. */
- public ServletInputStream getInputStream() throws IOException { return
null; }
-
- /** Gets the first value of the named parameter or null if a value does
not exist. */
- public String getParameter(String name) {
- String[] values = getParameterValues(name);
- if (values != null && values.length > 0) {
- return values[0];
- }
-
- return null;
- }
-
- /** Gets an enumeration containing all the parameter names present. */
- public Enumeration getParameterNames() {
- return Collections.enumeration(this.parameters.keySet());
- }
-
- /** Returns an array of all values for a parameter, or null if the
parameter does not exist. */
- public String[] getParameterValues(String name) {
- return this.parameters.get(name);
- }
-
- /**
- * Provides access to the parameter map. Note that this returns a
reference to the live,
- * modifiable parameter map. As a result it can be used to insert
parameters when constructing
- * the request.
- */
- public Map<String,String[]> getParameterMap() {
- return this.parameters;
- }
-
- /** Sets the protocol for the request. Defaults to "https". */
- public void setProtocol(String protocol) { this.protocol = protocol; }
-
- /** Gets the protocol for the request. Defaults to "https". */
- public String getProtocol() { return this.protocol; }
-
- /** Always returns the same as getProtocol. */
- public String getScheme() { return getProtocol(); }
-
- /** Sets the server name. Defaults to "localhost". */
- public void setServerName(String serverName) { this.serverName =
serverName; }
-
- /** Gets the server name. Defaults to "localhost". */
- public String getServerName() { return this.serverName; }
-
- /** Sets the server port. Defaults to 8080. */
- public void setServerPort(int serverPort) { this.serverPort = serverPort; }
-
- /** Returns the server port. Defaults to 8080. */
- public int getServerPort() { return this.serverPort; }
-
- /** Always returns null. */
- public BufferedReader getReader() throws IOException { return null; }
-
- /** Aways returns "127.0.0.1". */
- public String getRemoteAddr() { return "127.0.0.1"; }
-
- /** Always returns "localhost". */
- public String getRemoteHost() { return "localhost"; }
-
- /** Sets the supplied value for the named request attribute. */
- public void setAttribute(String name, Object value) {
- this.attributes.put(name, value);
- }
-
- /** Removes any value for the named request attribute. */
- public void removeAttribute(String name) { this.attributes.remove(name); }
-
- /** Adds a Locale to the set of requested locales. */
- public void addLocale(Locale locale) { this.locales.add(locale); }
-
- /** Returns the preferred locale. Defaults to the system locale. */
- public Locale getLocale() { return getLocales().nextElement(); }
-
- /** Returns an enumeration of requested locales. Defaults to the system
locale. */
- public Enumeration<Locale> getLocales() {
- if (this.locales.size() == 0) {
- this.locales.add( Locale.getDefault() );
- }
-
- return Collections.enumeration(this.locales);
- }
-
- /** Returns true if the protocol is set to https (default), false
otherwise. */
- public boolean isSecure() {
- return this.protocol.equalsIgnoreCase("https");
- }
-
- /**
- * Returns an instance of MockRequestDispatcher that just records what
URLs are forwarded
- * to or included. The results can be examined later by calling
getForwardUrl() and
- * getIncludedUrls().
- */
- public MockRequestDispatcher getRequestDispatcher(String url) {
- return new MockRequestDispatcher(url);
- }
-
- /** Always returns the path passed in without any alteration. */
- public String getRealPath(String path) { return path; }
-
- /** Always returns 1088 (and yes, that was picked arbitrarily). */
- public int getRemotePort() { return 1088; }
-
- /** Always returns the same value as getServerName(). */
- public String getLocalName() { return getServerName(); }
-
- /** Always returns 127.0.0.1). */
- public String getLocalAddr() { return "127.0.0.1"; }
-
- /** Always returns the same value as getServerPort(). */
- public int getLocalPort() { return getServerPort(); }
-
- /** Used by the request dispatcher to set the forward URL when a forward
is invoked. */
- void setForwardUrl(String url) { this.forwardUrl = url; }
-
- /** Gets the URL that was forwarded to, if a forward was processed. Null
otherwise. */
- public String getForwardUrl() { return this.forwardUrl; }
-
- /** Used by the request dispatcher to record that a URL was included. */
- void addIncludedUrl(String url) { this.includedUrls.add(url); }
-
- /** Gets the list (potentially empty) or URLs that were included during
the request. */
- public List<String> getIncludedUrls() { return this.includedUrls; }
-}
+/* Copyright 2005-2006 Tim Fennell
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package net.sourceforge.stripes.mock;
+
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * <p>Mock implementation of an HttpServletRequest object. Allows for setting
most values that
+ * are likely to be of interest (and can always be subclassed to affect
others). Of key interest
+ * and perhaps not completely obvious, the way to get request parameters into
an instance of
+ * MockHttpServletRequest is to fetch the parameter map using
getParameterMap() and use the
+ * put() and putAll() methods on it. Values must be String arrays. Examples
follow:</p>
+ *
+ * <pre>
+ * MockHttpServletRequest req = new MockHttpServletRequest("/foo",
"/bar.action");
+ * req.getParameterMap().put("param1", new String[] {"value"});
+ * req.getParameterMap().put("param2", new String[] {"value1", "value2"});
+ * </pre>
+ *
+ * <p>It should also be noted that unless you generate an instance of
MockHttpSession (or
+ * another implementation of HttpSession) and set it on the request, then your
request will
+ * <i>never</i> have a session associated with it.</p>
+ *
+ * @author Tim Fennell
+ * @since Stripes 1.1.1
+ */
[EMAIL PROTECTED]("deprecation")
+public class MockHttpServletRequest implements HttpServletRequest {
+ private String authType;
+ private Cookie[] cookies;
+ private Map<String,Object> headers = new HashMap<String,Object>();
+ private Map<String,Object> attributes = new HashMap<String,Object>();
+ private Map<String,String[]> parameters = new HashMap<String,String[]>();
+ private String method = "POST";
+ private HttpSession session;
+ private String characterEncoding = "UTF-8";
+ private List<Locale> locales = new ArrayList<Locale>();
+ private Principal userPrincipal;
+ private Set<String> roles = new HashSet<String>();
+ private String forwardUrl;
+ private List<String> includedUrls = new ArrayList<String>();
+
+ // All the bits of the URL
+ private String protocol = "https";
+ private String serverName = "localhost";
+ private int serverPort = 8080;
+ private String contextPath = "";
+ private String servletPath = "";
+ private String pathInfo = "";
+ private String queryString = "";
+
+ /**
+ * Minimal constructor that makes sense. Requires a context path (should
be the same as
+ * the name of the servlet context, prepended with a '/') and a servlet
path. E.g.
+ * new MockHttpServletRequest("/myapp", "/actionType/foo.action").
+ *
+ * @param contextPath
+ * @param servletPath
+ */
+ public MockHttpServletRequest(String contextPath, String servletPath) {
+ this.contextPath = contextPath;
+ this.servletPath = servletPath;
+ }
+
+ /** Sets the auth type that will be reported by this request. */
+ public void setAuthType(String authType) { this.authType = authType; }
+
+ /** Gets the auth type being used by this request. */
+ public String getAuthType() { return this.authType; }
+
+ /** Sets the array of cookies that will be available from the request. */
+ public void setCookies(Cookie[] cookies) { this.cookies = cookies; }
+
+ /** Returns any cookies that are set on the request. */
+ public Cookie[] getCookies() { return this.cookies; }
+
+ /**
+ * Allows headers to be set on the request. These will be returned by the
various getXxHeader()
+ * methods. If the header is a date header it should be set with a Long.
If the header is an
+ * Int header it should be set with an Integer.
+ */
+ public void addHeader(String name, Object value) {
+ this.headers.put(name.toLowerCase(), value);
+ }
+
+ /** Gets the named header as a long. Must have been set as a long with
addHeader(). */
+ public long getDateHeader(String name) { return (Long)
this.headers.get(name); }
+
+ /** Returns any header as a String if it exists. */
+ public String getHeader(String name) {
+ if (name != null)
+ name = name.toLowerCase();
+ Object header = this.headers.get(name);
+ if (header != null) {
+ return header.toString();
+ }
+ else {
+ return null;
+ }
+ }
+
+ /** Returns an enumeration with single value of the named header, or an
empty enum if no value. */
+ public Enumeration getHeaders(String name) {
+ String header = getHeader(name);
+ Collection<String> values = new ArrayList<String>();
+ if (header != null) {
+ values.add(header);
+ }
+ return Collections.enumeration(values);
+ }
+
+ /** Returns an enumeration containing all the names of headers supplied. */
+ public Enumeration getHeaderNames() { return
Collections.enumeration(headers.keySet()); }
+
+ /** Gets the named header as an int. Must have been set as an Integer with
addHeader(). */
+ public int getIntHeader(String name) {
+ return (Integer) this.headers.get(name);
+ }
+
+ /** Sets the method used by the request. Defaults to POST. */
+ public void setMethod(String method) { this.method = method; }
+
+ /** Gets the method used by the request. Defaults to POST. */
+ public String getMethod() { return this.method; }
+
+ /** Sets the path info. Defaults to the empty string. */
+ public void setPathInfo(String pathInfo) { this.pathInfo = pathInfo; }
+
+ /** Returns the path info. Defaults to the empty string. */
+ public String getPathInfo() { return this.pathInfo; }
+
+ /** Always returns the same as getPathInfo(). */
+ public String getPathTranslated() { return getPathInfo(); }
+
+ /** Sets the context path. Defaults to the empty string. */
+ public void setContextPath(String contextPath) { this.contextPath =
contextPath; }
+
+ /** Returns the context path. Defaults to the empty string. */
+ public String getContextPath() { return this.contextPath; }
+
+ /** Sets the query string set on the request; this value is not parsed for
anything. */
+ public void setQueryString(String queryString) { this.queryString =
queryString; }
+
+ /** Returns the query string set on the request. */
+ public String getQueryString() { return this.queryString; }
+
+ /** Returns the name from the user principal if one exists, otherwise
null. */
+ public String getRemoteUser() {
+ Principal p = getUserPrincipal();
+ return p == null ? null : p.getName();
+ }
+
+ /** Sets the set of roles that the user is deemed to be in for the
request. */
+ public void setRoles(Set<String> roles) { this.roles = roles; }
+
+ /** Returns true if the set of roles contains the role specified, false
otherwise. */
+ public boolean isUserInRole(String role) {
+ return this.roles.contains(role);
+ }
+
+ /** Sets the Principal for the current request. */
+ public void setUserPrincipal(Principal userPrincipal) { this.userPrincipal
= userPrincipal; }
+
+ /** Returns the Principal if one is set on the request. */
+ public Principal getUserPrincipal() { return this.userPrincipal; }
+
+ /** Returns the ID of the session if one is attached to this request.
Otherwise null. */
+ public String getRequestedSessionId() {
+ if (this.session == null) {
+ return null;
+ }
+ return this.session.getId();
+ }
+
+ /** Returns the request URI as defined by the servlet spec. */
+ public String getRequestURI() { return this.contextPath + this.servletPath
+ this.pathInfo; }
+
+ /** Returns (an attempt at) a reconstructed URL based on it's constituent
parts. */
+ public StringBuffer getRequestURL() {
+ return new StringBuffer().append(this.protocol)
+ .append("://")
+ .append(this.serverName)
+ .append(":")
+ .append(this.serverPort)
+ .append(this.contextPath)
+ .append(this.servletPath)
+ .append(this.pathInfo);
+ }
+
+ /** Gets the part of the path which matched the servlet. */
+ public String getServletPath() { return this.servletPath; }
+
+ /** Gets the session object attached to this request. */
+ public HttpSession getSession(boolean b) { return this.session; }
+
+ /** Gets the session object attached to this request. */
+ public HttpSession getSession() { return this.session; }
+
+ /** Allows a session to be associated with the request. */
+ public void setSession(HttpSession session) { this.session = session; }
+
+ /** Always returns true. */
+ public boolean isRequestedSessionIdValid() { return true; }
+
+ /** Always returns true. */
+ public boolean isRequestedSessionIdFromCookie() { return true; }
+
+ /** Always returns false. */
+ public boolean isRequestedSessionIdFromURL() { return false; }
+
+ /** Always returns false. */
+ public boolean isRequestedSessionIdFromUrl() { return false; }
+
+ /** Gets the named request attribute from an internal Map. */
+ public Object getAttribute(String key) { return this.attributes.get(key); }
+
+ /** Gets an enumeration of all request attribute names. */
+ public Enumeration getAttributeNames() {
+ return Collections.enumeration(this.attributes.keySet());
+ }
+
+ /** Gets the character encoding, defaults to UTF-8. */
+ public String getCharacterEncoding() { return this.characterEncoding; }
+
+ /** Sets the character encoding that will be returned by
getCharacterEncoding(). */
+ public void setCharacterEncoding(String encoding) { this.characterEncoding
= encoding; }
+
+ /** Always returns -1 (unknown). */
+ public int getContentLength() { return -1; }
+
+ /** Always returns null. */
+ public String getContentType() { return null; }
+
+ /** Always returns null. */
+ public ServletInputStream getInputStream() throws IOException { return
null; }
+
+ /** Gets the first value of the named parameter or null if a value does
not exist. */
+ public String getParameter(String name) {
+ String[] values = getParameterValues(name);
+ if (values != null && values.length > 0) {
+ return values[0];
+ }
+
+ return null;
+ }
+
+ /** Gets an enumeration containing all the parameter names present. */
+ public Enumeration getParameterNames() {
+ return Collections.enumeration(this.parameters.keySet());
+ }
+
+ /** Returns an array of all values for a parameter, or null if the
parameter does not exist. */
+ public String[] getParameterValues(String name) {
+ return this.parameters.get(name);
+ }
+
+ /**
+ * Provides access to the parameter map. Note that this returns a
reference to the live,
+ * modifiable parameter map. As a result it can be used to insert
parameters when constructing
+ * the request.
+ */
+ public Map<String,String[]> getParameterMap() {
+ return this.parameters;
+ }
+
+ /** Sets the protocol for the request. Defaults to "https". */
+ public void setProtocol(String protocol) { this.protocol = protocol; }
+
+ /** Gets the protocol for the request. Defaults to "https". */
+ public String getProtocol() { return this.protocol; }
+
+ /** Always returns the same as getProtocol. */
+ public String getScheme() { return getProtocol(); }
+
+ /** Sets the server name. Defaults to "localhost". */
+ public void setServerName(String serverName) { this.serverName =
serverName; }
+
+ /** Gets the server name. Defaults to "localhost". */
+ public String getServerName() { return this.serverName; }
+
+ /** Sets the server port. Defaults to 8080. */
+ public void setServerPort(int serverPort) { this.serverPort = serverPort; }
+
+ /** Returns the server port. Defaults to 8080. */
+ public int getServerPort() { return this.serverPort; }
+
+ /** Always returns null. */
+ public BufferedReader getReader() throws IOException { return null; }
+
+ /** Aways returns "127.0.0.1". */
+ public String getRemoteAddr() { return "127.0.0.1"; }
+
+ /** Always returns "localhost". */
+ public String getRemoteHost() { return "localhost"; }
+
+ /** Sets the supplied value for the named request attribute. */
+ public void setAttribute(String name, Object value) {
+ this.attributes.put(name, value);
+ }
+
+ /** Removes any value for the named request attribute. */
+ public void removeAttribute(String name) { this.attributes.remove(name); }
+
+ /** Adds a Locale to the set of requested locales. */
+ public void addLocale(Locale locale) { this.locales.add(locale); }
+
+ /** Returns the preferred locale. Defaults to the system locale. */
+ public Locale getLocale() { return getLocales().nextElement(); }
+
+ /** Returns an enumeration of requested locales. Defaults to the system
locale. */
+ public Enumeration<Locale> getLocales() {
+ if (this.locales.size() == 0) {
+ this.locales.add( Locale.getDefault() );
+ }
+
+ return Collections.enumeration(this.locales);
+ }
+
+ /** Returns true if the protocol is set to https (default), false
otherwise. */
+ public boolean isSecure() {
+ return this.protocol.equalsIgnoreCase("https");
+ }
+
+ /**
+ * Returns an instance of MockRequestDispatcher that just records what
URLs are forwarded
+ * to or included. The results can be examined later by calling
getForwardUrl() and
+ * getIncludedUrls().
+ */
+ public MockRequestDispatcher getRequestDispatcher(String url) {
+ return new MockRequestDispatcher(url);
+ }
+
+ /** Always returns the path passed in without any alteration. */
+ public String getRealPath(String path) { return path; }
+
+ /** Always returns 1088 (and yes, that was picked arbitrarily). */
+ public int getRemotePort() { return 1088; }
+
+ /** Always returns the same value as getServerName(). */
+ public String getLocalName() { return getServerName(); }
+
+ /** Always returns 127.0.0.1). */
+ public String getLocalAddr() { return "127.0.0.1"; }
+
+ /** Always returns the same value as getServerPort(). */
+ public int getLocalPort() { return getServerPort(); }
+
+ /** Used by the request dispatcher to set the forward URL when a forward
is invoked. */
+ void setForwardUrl(String url) { this.forwardUrl = url; }
+
+ /** Gets the URL that was forwarded to, if a forward was processed. Null
otherwise. */
+ public String getForwardUrl() { return this.forwardUrl; }
+
+ /** Used by the request dispatcher to record that a URL was included. */
+ void addIncludedUrl(String url) { this.includedUrls.add(url); }
+
+ /** Gets the list (potentially empty) or URLs that were included during
the request. */
+ public List<String> getIncludedUrls() { return this.includedUrls; }
+}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development