1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.portals.bridges.jsf;
17
18 import java.util.Enumeration;
19
20 import javax.portlet.PortletRequest;
21
22 import org.apache.portals.bridges.jsf.AbstractAttributeMap;
23
24 /***
25 * <p>{@link PortletRequest} parameters as Map.</p>
26 * <p>
27 * See MyFaces project for servlet implementation.
28 * </p>
29 *
30 * @author <a href="dlestrat@apache.org">David Le Strat</a>
31 */
32 public class RequestParameterMap extends AbstractAttributeMap
33 {
34 /*** Illegal argument exception message. */
35 final private static String ILLEGAL_ARGUMENT = "Only PortletContext supported";
36 /*** The {@link PortletRequest}. */
37 private final PortletRequest portletRequest;
38
39 /***
40 * @param request The request.
41 */
42 public RequestParameterMap(Object request)
43 {
44 if (request instanceof PortletRequest)
45 {
46 this.portletRequest = (PortletRequest) request;
47 }
48 else
49 {
50 throw new IllegalArgumentException(ILLEGAL_ARGUMENT);
51 }
52 }
53
54 /***
55 * @see org.apache.portals.bridges.jsf.AbstractAttributeMap#getAttribute(java.lang.String)
56 */
57 public Object getAttribute(String key)
58 {
59 if (null != this.portletRequest)
60 {
61 return this.portletRequest.getParameter(key);
62 }
63 else
64 {
65 throw new IllegalArgumentException(ILLEGAL_ARGUMENT);
66 }
67 }
68
69 /***
70 * @see org.apache.portals.bridges.jsf.AbstractAttributeMap#setAttribute(java.lang.String, java.lang.Object)
71 */
72 public void setAttribute(String key, Object value)
73 {
74 throw new UnsupportedOperationException("Cannot set PortletRequest Parameter");
75 }
76
77 /***
78 * @see org.apache.portals.bridges.jsf.AbstractAttributeMap#removeAttribute(java.lang.String)
79 */
80 public void removeAttribute(String key)
81 {
82 throw new UnsupportedOperationException("Cannot remove PortletRequest Parameter");
83 }
84
85 /***
86 * @see org.apache.portals.bridges.jsf.AbstractAttributeMap#getAttributeNames()
87 */
88 public Enumeration getAttributeNames()
89 {
90 if (null != this.portletRequest)
91 {
92 return this.portletRequest.getParameterNames();
93 }
94 else
95 {
96 throw new IllegalArgumentException(ILLEGAL_ARGUMENT);
97 }
98 }
99 }