01: package com.mockrunner.example.servlet;
02:
03: import java.util.Collections;
04: import java.util.Enumeration;
05: import java.util.HashMap;
06: import java.util.Iterator;
07: import java.util.Map;
08: import java.util.Vector;
09:
10: import javax.servlet.http.HttpServletRequest;
11: import javax.servlet.http.HttpServletRequestWrapper;
12:
13: /**
14: * The request wrapper for {@link ImageButtonFilter}.
15: * Replaces request parameters.
16: */
17: public class ImageButtonRequestWrapper extends
18: HttpServletRequestWrapper {
19: public ImageButtonRequestWrapper(HttpServletRequest request) {
20: super (request);
21: }
22:
23: public String getParameter(String key) {
24: String[] parameters = getParameterValues(key);
25: if (null != parameters && parameters.length > 0)
26: return parameters[0];
27: return null;
28: }
29:
30: public Enumeration getParameterNames() {
31: return new Vector(getParameterMap().keySet()).elements();
32: }
33:
34: public String[] getParameterValues(String key) {
35: return (String[]) getParameterMap().get(key);
36: }
37:
38: public Map getParameterMap() {
39: Map parameterMap = super .getParameterMap();
40: Map newMap = new HashMap();
41:
42: if (null != parameterMap) {
43: Iterator keys = parameterMap.keySet().iterator();
44: while (keys.hasNext()) {
45: String key = (String) keys.next();
46: Object value = parameterMap.get(key);
47: if (!key.endsWith(".y")) {
48: if (key.endsWith(".x")) {
49: key = key.substring(0, key.length() - 2);
50: }
51: newMap.put(key, value);
52: }
53: }
54: }
55: return Collections.unmodifiableMap(newMap);
56: }
57: }
|