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.forum.app.column;
35
36 import info.magnolia.jcr.util.NodeUtil;
37 import info.magnolia.jcr.util.PropertyUtil;
38 import info.magnolia.module.forum.DefaultForumManager;
39 import info.magnolia.ui.workbench.column.AbstractColumnFormatter;
40
41 import javax.jcr.Item;
42 import javax.jcr.Node;
43
44 import org.slf4j.Logger;
45 import org.slf4j.LoggerFactory;
46
47 import com.vaadin.v7.ui.Table;
48
49
50
51
52
53 public class LockedColumnFormatter extends AbstractColumnFormatter<LockedColumnDefinition> {
54
55 private static final Logger log = LoggerFactory.getLogger(LockedColumnFormatter.class);
56
57 public LockedColumnFormatter(LockedColumnDefinition definition) {
58 super(definition);
59 }
60
61
62 @Override
63 public Object generateCell(Table source, Object itemId, Object columnId) {
64 Object cellValue = " ";
65 Node node = null;
66 try {
67 Item jcrItem = getJcrItem(source, itemId);
68 node = (Node) jcrItem;
69 if (NodeUtil.isNodeType(node, DefaultForumManager.FORUM_NODETYPE) || NodeUtil.isNodeType(node, DefaultForumManager.THREAD_NODETYPE)) {
70 if (PropertyUtil.getBoolean(node, DefaultForumManager.LOCKED_PROPERTY, false)) {
71 cellValue = "<span class=\"icon-lock column-icon\"></span>";
72 }
73 }
74 } catch (Exception ex) {
75 log.info("Failed to retrieve the selected node.", ex);
76 }
77 return cellValue;
78 }
79
80 }