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.googlesitemap.app.subapp.sitemapdetail.virtualuris;
35
36 import info.magnolia.i18nsystem.SimpleTranslator;
37 import info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.base.SiteMapContentView;
38 import info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.base.SiteMapContentViewImpl;
39 import info.magnolia.ui.vaadin.grid.MagnoliaTable;
40
41 import javax.inject.Inject;
42
43 import org.apache.commons.lang.StringUtils;
44
45 import com.vaadin.data.Container;
46 import com.vaadin.data.Property;
47
48
49
50
51 public class SiteMapVirtualUrisViewImpl extends SiteMapContentViewImpl<MagnoliaTable, SiteMapContentView.Listener> implements SiteMapVirtualUrisView {
52
53 public static final int TO_COLUMN_WIDTH = 350;
54 public static final int FROM_COLUMN_WIDTH = 250;
55
56 @Inject
57 public SiteMapVirtualUrisViewImpl(SimpleTranslator translator) {
58 super(new MagnoliaTable() {
59 @Override
60 protected String formatPropertyValue(Object rowId, Object colId, Property<?> property) {
61 if ("styleAlert".equals(colId)) {
62 StringBuilder sb = new StringBuilder("<span class=\"").
63 append(!(Boolean)property.getValue() ? "icon-tick" : "icon-close").
64 append("\"></span>");
65 return sb.toString();
66 }
67
68 Object value = property.getValue();
69 if (value == null || StringUtils.isEmpty(String.valueOf(value))) {
70 return "-";
71 }
72 return super.formatPropertyValue(rowId, colId, property);
73 }
74 }, translator);
75 }
76
77 @Override
78 public void setDatasource(Container container) {
79 super.setDatasource(container);
80 getTable().setColumnWidth("to", TO_COLUMN_WIDTH);
81 getTable().setColumnWidth("from", FROM_COLUMN_WIDTH);
82 }
83
84 @Override
85 protected String[] getColumnCaptions() {
86 return new String[]{"siteMaps.entry.to", "siteMaps.entry.from", "siteMaps.entry.show", "siteMaps.entry.priority", "siteMaps.entry.change_frequency"};
87 }
88
89 @Override
90 protected String[] getColumnIds() {
91 return new String[]{"to", "from", "styleAlert", "priority", "changefreq"};
92 }
93 }