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.templatingkit.renderers;
35
36 import info.magnolia.cms.core.Content;
37 import info.magnolia.module.templating.RenderException;
38 import info.magnolia.module.templating.RenderableDefinition;
39 import info.magnolia.module.templating.RenderingModel;
40 import info.magnolia.module.templating.renderers.FreemarkerTemplateRenderer;
41 import info.magnolia.module.templatingkit.badge.BadgeSupport;
42 import info.magnolia.module.templatingkit.sites.Site;
43 import info.magnolia.module.templatingkit.util.STKUtil;
44
45 import java.io.Writer;
46 import java.util.Map;
47
48 import org.slf4j.Logger;
49 import org.slf4j.LoggerFactory;
50
51
52
53
54
55
56
57
58 public class STKTemplateRenderer extends FreemarkerTemplateRenderer {
59
60 private static Logger log = LoggerFactory.getLogger(STKTemplateRenderer.class);
61
62 private BadgeSupport badgeSupport = BadgeSupport.getInstance();
63
64 @Override
65 protected void render(Content content, RenderableDefinition definition, Writer out) throws RenderException {
66 throw new UnsupportedOperationException("Deprecated");
67 }
68
69 @Override
70 protected void setupContext(Map ctx, Content content, RenderableDefinition definition, RenderingModel model, Object actionResult) {
71 ctx.put("stk", STKUtil.INSTANCE);
72
73 super.setupContext(ctx, content, definition, model, actionResult);
74 }
75
76 @Override
77 public RenderingModel newModel(Content content, RenderableDefinition definition, RenderingModel parentModel) throws RenderException {
78 throw new UnsupportedOperationException("Deprecated");
79 }
80
81 @Override
82 protected Content wrapNodeForTemplate(Content currentContent, Content mainContent) {
83 return STKUtil.encode(super.wrapNodeForTemplate(currentContent, mainContent));
84 }
85
86 protected Site getSite(Content content) {
87 final Site site = STKUtil.getSite();
88 if(site == null){
89 throw new IllegalStateException("No site configuration found for [" + content.getHandle() + "]");
90 }
91 return site;
92 }
93 }