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.context;
35
36 import info.magnolia.cms.beans.runtime.MultipartForm;
37 import info.magnolia.cms.core.AggregationState;
38 import info.magnolia.cms.core.HTMLEscapingAggregationState;
39 import info.magnolia.cms.i18n.Messages;
40 import info.magnolia.cms.security.AccessManager;
41 import info.magnolia.cms.security.User;
42 import info.magnolia.objectfactory.Components;
43
44 import java.io.IOException;
45 import java.io.Writer;
46 import java.util.Collection;
47 import java.util.Locale;
48 import java.util.Map;
49 import java.util.Set;
50 import java.util.function.BiConsumer;
51 import java.util.function.BiFunction;
52 import java.util.function.Function;
53
54 import javax.jcr.LoginException;
55 import javax.jcr.RepositoryException;
56 import javax.jcr.Session;
57 import javax.security.auth.Subject;
58 import javax.servlet.ServletContext;
59 import javax.servlet.ServletException;
60 import javax.servlet.http.HttpServletRequest;
61 import javax.servlet.http.HttpServletResponse;
62
63
64
65
66
67
68
69 public class HTMLEscapingWebContextWrapper implements WebContext {
70
71 private WebContext original;
72
73 public HTMLEscapingWebContextWrapper(WebContext original) {
74 this.original = original;
75 }
76
77
78
79
80 public WebContext unwrap() {
81 return original;
82 }
83
84 @Override
85 public void init(HttpServletRequest request, HttpServletResponse response, ServletContext servletContext) {
86 original.init(request, response, servletContext);
87 }
88
89
90
91
92 @Override
93 public AggregationState getAggregationState() {
94 return Components.getComponent(HTMLEscapingAggregationState.class);
95 }
96
97 @Override
98 public void resetAggregationState() {
99 original.resetAggregationState();
100 }
101
102 @Override
103 public MultipartForm getPostedForm() {
104 return original.getPostedForm();
105 }
106
107 @Override
108 public String getParameter(String name) {
109 return original.getParameter(name);
110 }
111
112 @Override
113 public Map<String, String> getParameters() {
114 return original.getParameters();
115 }
116
117 @Override
118 public String getContextPath() {
119 return original.getContextPath();
120 }
121
122 @Override
123 public HttpServletRequest getRequest() {
124 return original.getRequest();
125 }
126
127 @Override
128 public HttpServletResponse getResponse() {
129 return original.getResponse();
130 }
131
132 @Override
133 public User getUser() {
134 return original.getUser();
135 }
136
137 @Override
138 public Subject getSubject() {
139 return original.getSubject();
140 }
141
142 @Override
143 public void setLocale(Locale locale) {
144 original.setLocale(locale);
145 }
146
147 @Override
148 public ServletContext getServletContext() {
149 return original.getServletContext();
150 }
151
152 @Override
153 public Locale getLocale() {
154 return original.getLocale();
155 }
156
157 @Override
158 public Session getJCRSession(String workspaceName) throws LoginException, RepositoryException {
159 return original.getJCRSession(workspaceName);
160 }
161
162 @Override
163 public void include(String path, Writer out) throws ServletException, IOException {
164 original.include(path, out);
165 }
166
167 @Override
168 public AccessManager getAccessManager(String name) {
169 return original.getAccessManager(name);
170 }
171
172 @Override
173 public void push(HttpServletRequest request, HttpServletResponse response) {
174 original.push(request, response);
175 }
176
177 @Override
178 public void pop() {
179 original.pop();
180 }
181
182 @Override
183 public void setAttribute(String name, Object value, int scope) {
184 original.setAttribute(name, value, scope);
185 }
186
187 @Override
188 public String[] getParameterValues(String name) {
189 return original.getParameterValues(name);
190 }
191
192 @Override
193 public <T> T getAttribute(String name, int scope) {
194 return original.getAttribute(name, scope);
195 }
196
197 @Override
198 public <T> T getAttribute(String name) {
199 return original.getAttribute(name);
200 }
201
202 @Override
203 public Map<String, Object> getAttributes(int scope) {
204 return original.getAttributes(scope);
205 }
206
207 @Override
208 public void removeAttribute(String name, int scope) {
209 original.removeAttribute(name, scope);
210 }
211
212 @Override
213 public Map<String, Object> getAttributes() {
214 return original.getAttributes();
215 }
216
217 @Override
218 public Messages getMessages() {
219 return original.getMessages();
220 }
221
222 @Override
223 public Messages getMessages(String basename) {
224 return original.getMessages(basename);
225 }
226
227 @Override
228 public void release() {
229 original.release();
230 }
231
232 @Override
233 public int size() {
234 return original.size();
235 }
236
237 @Override
238 public boolean isEmpty() {
239 return original.isEmpty();
240 }
241
242 @Override
243 public boolean containsKey(Object key) {
244 return original.containsKey(key);
245 }
246
247 @Override
248 public boolean containsValue(Object value) {
249 return original.containsValue(value);
250 }
251
252 @Override
253 public Object get(Object key) {
254 return original.get(key);
255 }
256
257 @Override
258 public Object put(Object key, Object value) {
259 return original.put(key, value);
260 }
261
262 @Override
263 public Object remove(Object key) {
264 return original.remove(key);
265 }
266
267 @Override
268 public void putAll(Map m) {
269 original.putAll(m);
270 }
271
272 @Override
273 public void clear() {
274 original.clear();
275 }
276
277 @Override
278 public Set keySet() {
279 return original.keySet();
280 }
281
282 @Override
283 public Collection values() {
284 return original.values();
285 }
286
287 @Override
288 public Set<Entry> entrySet() {
289 return original.entrySet();
290 }
291
292 @Override
293 public boolean equals(Object o) {
294 return original.equals(o);
295 }
296
297 @Override
298 public int hashCode() {
299 return original.hashCode();
300 }
301
302 @Override
303 public Object getOrDefault(Object key, Object defaultValue) {
304 return original.getOrDefault(key, defaultValue);
305 }
306
307 @Override
308 public void forEach(BiConsumer action) {
309 original.forEach(action);
310 }
311
312 @Override
313 public void replaceAll(BiFunction function) {
314 original.replaceAll(function);
315 }
316
317 @Override
318 public Object putIfAbsent(Object key, Object value) {
319 return original.putIfAbsent(key, value);
320 }
321
322 @Override
323 public boolean remove(Object key, Object value) {
324 return original.remove(key, value);
325 }
326
327 @Override
328 public boolean replace(Object key, Object oldValue, Object newValue) {
329 return original.replace(key, oldValue, newValue);
330 }
331
332 @Override
333 public Object replace(Object key, Object value) {
334 return original.replace(key, value);
335 }
336
337 @Override
338 public Object computeIfAbsent(Object key, Function mappingFunction) {
339 return original.computeIfAbsent(key, mappingFunction);
340 }
341
342 @Override
343 public Object computeIfPresent(Object key, BiFunction remappingFunction) {
344 return original.computeIfPresent(key, remappingFunction);
345 }
346
347 @Override
348 public Object compute(Object key, BiFunction remappingFunction) {
349 return original.compute(key, remappingFunction);
350 }
351
352 @Override
353 public Object merge(Object key, Object value, BiFunction remappingFunction) {
354 return original.merge(key, value, remappingFunction);
355 }
356 }