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.resources.app;
35
36 import info.magnolia.i18nsystem.SimpleTranslator;
37 import info.magnolia.jcr.util.NodeTypes;
38 import info.magnolia.jcr.util.NodeTypes.Renderable;
39 import info.magnolia.jcr.util.NodeUtil;
40 import info.magnolia.module.resources.ResourceTypes;
41 import info.magnolia.ui.workbench.column.AbstractColumnFormatter;
42
43 import javax.inject.Inject;
44 import javax.jcr.Item;
45 import javax.jcr.Node;
46 import javax.jcr.RepositoryException;
47
48 import org.apache.commons.lang3.StringUtils;
49 import org.slf4j.Logger;
50 import org.slf4j.LoggerFactory;
51
52 import com.vaadin.v7.ui.Table;
53
54
55
56
57
58
59
60
61 @Deprecated
62 public class ResourceTemplateColumnFormatter extends AbstractColumnFormatter<ResourceColumnDefinition> {
63
64 private static final long serialVersionUID = 4761675760647565415L;
65 private static final Logger log = LoggerFactory.getLogger(ResourceTemplateColumnFormatter.class);
66 private SimpleTranslator simpleTranslator;
67
68 @Inject
69 public ResourceTemplateColumnFormatter(ResourceColumnDefinition definition, SimpleTranslator simpleTranslator) {
70 super(definition);
71 this.simpleTranslator = simpleTranslator;
72 }
73
74
75
76
77
78 @Override
79 public Object generateCell(Table source, Object itemId, Object columnId) {
80 final Item jcrItem = getJcrItem(source, itemId);
81 if (jcrItem != null && jcrItem.isNode()) {
82 Node node = (Node) jcrItem;
83 try {
84 if (NodeUtil.isNodeType(node, NodeTypes.Content.NAME)) {
85 String resourceType = StringUtils.substringAfter(Renderable.getTemplate(node), ResourceTypes.RESOURCES_PREFIX);
86 if (NodeUtil.hasMixin(node, NodeTypes.Deleted.NAME)) {
87 return simpleTranslator.translate("processed-resources.content.mgnl-template.options.deleted");
88 }
89 if (resourceType == null) {
90 return simpleTranslator.translate("processed-resources.content.mgnl-template.options.noTemplate");
91 }
92 if (ResourceTypes.BINARY_SUFFIX.equals(resourceType) && node.hasNode(ResourceTypes.BINARY_SUFFIX) && node.getNode(ResourceTypes.BINARY_SUFFIX).hasProperty("extension")) {
93 return simpleTranslator.translate("processed-resources.content.mgnl-template.options.binary.extension", node.getNode(ResourceTypes.BINARY_SUFFIX).getProperty("extension").getString());
94 }
95 return simpleTranslator.translate("processed-resources.content.mgnl-template.options." + resourceType);
96 }
97 } catch (RepositoryException e) {
98 log.warn("Unable to get name of resource template for column", e);
99 }
100 }
101 return "";
102 }
103 }