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 info.magnolia.cms.util.ServletUtil;
37
38 import java.util.Collections;
39 import java.util.Enumeration;
40 import java.util.LinkedHashMap;
41 import java.util.Map;
42 import javax.servlet.FilterConfig;
43 import javax.servlet.ServletConfig;
44 import javax.servlet.ServletContext;
45
46
47
48
49
50
51 public class CustomServletConfig implements ServletConfig {
52
53 private String servletName;
54 private ServletContext servletContext;
55 private Map<String, String> initParameters;
56
57 public CustomServletConfig(String servletName, ServletContext servletContext, Map<String, String> initParameters) {
58 this.servletName = servletName;
59 this.servletContext = servletContext;
60 this.initParameters = initParameters;
61 }
62
63 public CustomServletConfig(String servletName, ServletContext servletContext) {
64 this(servletName, servletContext, new LinkedHashMap<String, String>());
65 }
66
67 public CustomServletConfig(FilterConfig config) {
68 this(config.getFilterName(), config.getServletContext(), ServletUtil.initParametersToMap(config));
69 }
70
71 public CustomServletConfig(ServletConfig config) {
72 this(config.getServletName(), config.getServletContext(), ServletUtil.initParametersToMap(config));
73 }
74
75 @Override
76 public String getServletName() {
77 return servletName;
78 }
79
80 @Override
81 public ServletContext getServletContext() {
82 return servletContext;
83 }
84
85 @Override
86 public String getInitParameter(String name) {
87 return initParameters.get(name);
88 }
89
90 @Override
91 public Enumeration getInitParameterNames() {
92 return Collections.enumeration(initParameters.keySet());
93 }
94
95 public void addInitParameters(Map<String, String> map) {
96 this.initParameters.putAll(map);
97 }
98
99 public void addInitParameter(String name, String value) {
100 this.initParameters.put(name, value);
101 }
102
103 public String removeInitParameter(String name) {
104 return initParameters.remove(name);
105 }
106 }