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.site;
35
36 import info.magnolia.cms.beans.config.URI2RepositoryMapping;
37 import info.magnolia.cms.i18n.I18nContentSupport;
38 import info.magnolia.module.site.templates.TemplateSettings;
39 import info.magnolia.module.site.theme.ThemeReference;
40 import info.magnolia.util.EscapeUtil;
41
42 import java.util.List;
43 import java.util.Map;
44 import java.util.stream.Collectors;
45
46
47
48
49
50 public class HTMLEscapingSiteWrapper implements Site {
51
52 private Site original;
53
54 public HTMLEscapingSiteWrapper(Site original) {
55 this.original = original;
56 }
57
58 @Override
59 public String getName() {
60 return original.getName();
61 }
62
63 @Override
64 public Boolean isEnabled() {
65 return original.isEnabled();
66 }
67
68 @Override
69 public ThemeReference getTheme() {
70 return original.getTheme();
71 }
72
73 @Override
74 public TemplateSettings getTemplates() {
75 return original.getTemplates();
76 }
77
78 @Override
79 public I18nContentSupport getI18n() {
80 return original.getI18n();
81 }
82
83 @Override
84 public Map<String, Object> getParameters() {
85 return original.getParameters().entrySet()
86 .stream()
87 .collect(Collectors.toMap(Map.Entry::getKey, param -> EscapeUtil.escapeXss((String) param.getValue())));
88 }
89
90 @Override
91 public List<Domain> getDomains() {
92 return original.getDomains();
93 }
94
95 @Override
96 public Map<String, URI2RepositoryMapping> getMappings() {
97 return original.getMappings();
98 }
99
100 @Override
101 public Map<String, Site> getVariations() {
102 return original.getVariations();
103 }
104 }