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