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.templates.components;
35
36
37 import info.magnolia.jcr.util.ContentMap;
38 import info.magnolia.jcr.util.NodeUtil;
39 import info.magnolia.jcr.util.PropertyUtil;
40 import info.magnolia.module.templatingkit.functions.STKTemplatingFunctions;
41 import info.magnolia.module.templatingkit.style.CssSelectorBuilder;
42 import info.magnolia.rendering.model.RenderingModel;
43 import info.magnolia.rendering.template.TemplateDefinition;
44 import info.magnolia.templating.functions.TemplatingFunctions;
45
46 import javax.jcr.Node;
47 import javax.jcr.RepositoryException;
48
49 import javax.inject.Inject;
50
51
52
53
54
55
56
57
58
59 public abstract class AbstractTeaserModel<RD extends TemplateDefinition> extends ImageModel<TemplateDefinition> {
60
61 @Inject
62 public AbstractTeaserModel(Node content, RD definition, RenderingModel< ? > parent, STKTemplatingFunctions stkFunctions, CssSelectorBuilder cssSelectorBuilder, TemplatingFunctions templatingFunctions) {
63 super(content, definition, parent, stkFunctions, cssSelectorBuilder, templatingFunctions);
64 }
65
66 public ContentMap getTarget(){
67 String id = PropertyUtil.getString(content, "link");
68 if(id == null){
69 return null;
70 }
71 Node target = null;
72 try {
73 target = NodeUtil.getNodeByIdentifier(getRepository(),id);
74 return templatingFunctions.asContentMap(stkFunctions.wrap(target));
75 }
76 catch (RepositoryException e1) {
77 }
78 return null;
79 }
80
81 @Override
82 protected String getImageName() {
83 return "teaserImg";
84 }
85
86 public String getTeaserLink(){
87 String linkUUID = PropertyUtil.getString(content,"link");
88 return templatingFunctions.link(getRepository(), linkUUID);
89 }
90
91 abstract protected String getRepository();
92
93 }