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