1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.module.blossom.support;
35
36 import java.util.Enumeration;
37 import java.util.LinkedHashMap;
38 import javax.servlet.FilterConfig;
39 import javax.servlet.ServletConfig;
40 import javax.servlet.http.HttpServletRequest;
41 import javax.servlet.http.HttpServletRequestWrapper;
42
43
44
45
46
47
48 public class ServletApiUtils {
49
50 public static <T extends HttpServletRequestWrapper> T getWrappedRequest(HttpServletRequest request, Class<T> clazz) {
51 while (request != null) {
52 if (clazz.isAssignableFrom(request.getClass())) {
53 return (T) request;
54 }
55 if (!(request instanceof HttpServletRequestWrapper)) {
56 break;
57 }
58 request = (HttpServletRequest) ((HttpServletRequestWrapper) request).getRequest();
59 }
60 return null;
61 }
62
63 public static LinkedHashMap<String, String> initParametersToMap(ServletConfig config) {
64 LinkedHashMap<String, String> initParameters = new LinkedHashMap<String, String>();
65 Enumeration parameterNames = config.getInitParameterNames();
66 while (parameterNames.hasMoreElements()) {
67 String parameterName = (String) parameterNames.nextElement();
68 initParameters.put(parameterName, config.getInitParameter(parameterName));
69 }
70 return initParameters;
71 }
72
73 public static LinkedHashMap<String, String> initParametersToMap(FilterConfig config) {
74 LinkedHashMap<String, String> initParameters = new LinkedHashMap<String, String>();
75 Enumeration parameterNames = config.getInitParameterNames();
76 while (parameterNames.hasMoreElements()) {
77 String parameterName = (String) parameterNames.nextElement();
78 initParameters.put(parameterName, config.getInitParameter(parameterName));
79 }
80 return initParameters;
81 }
82 }