1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.webapp.filter.portlet;
20
21 import java.util.ArrayList;
22 import java.util.Enumeration;
23 import java.util.HashMap;
24 import java.util.List;
25 import java.util.Map;
26 import javax.portlet.PortletRequest;
27
28 import org.apache.myfaces.webapp.filter.servlet.AbstractAttributeMap;
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 public class RequestHeaderValuesMap extends AbstractAttributeMap
44 {
45 private final PortletRequest _portletRequest;
46 private final Map _valueCache = new HashMap();
47
48 RequestHeaderValuesMap(PortletRequest portletRequest)
49 {
50 _portletRequest = portletRequest;
51 }
52
53 protected Object getAttribute(String key)
54 {
55 Object ret = _valueCache.get(key);
56 if (ret == null)
57 {
58 _valueCache.put(key, ret = toArray(_portletRequest
59 .getProperties(key)));
60 }
61
62 return ret;
63 }
64
65 protected void setAttribute(String key, Object value)
66 {
67 throw new UnsupportedOperationException(
68 "Cannot set PortletRequest Properties");
69 }
70
71 protected void removeAttribute(String key)
72 {
73 throw new UnsupportedOperationException(
74 "Cannot remove PortletRequest Properties");
75 }
76
77 protected Enumeration getAttributeNames()
78 {
79 return _portletRequest.getPropertyNames();
80 }
81
82 private String[] toArray(Enumeration e)
83 {
84 List ret = new ArrayList();
85
86 while (e.hasMoreElements())
87 {
88 ret.add(e.nextElement());
89 }
90
91 return (String[]) ret.toArray(new String[ret.size()]);
92 }
93 }