1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table;
20
21 import org.apache.commons.lang3.StringUtils;
22 import org.apache.wicket.AttributeModifier;
23 import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
24 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
25 import org.apache.wicket.markup.html.basic.Label;
26 import org.apache.wicket.markup.repeater.Item;
27 import org.apache.wicket.model.IModel;
28 import org.springframework.beans.BeanWrapper;
29 import org.springframework.beans.BeanWrapperImpl;
30
31
32
33
34
35
36 public class BooleanPropertyColumn<T> extends PropertyColumn<T, String> {
37
38 private static final long serialVersionUID = 3527840552172947705L;
39
40 public BooleanPropertyColumn(
41 final IModel<String> displayModel,
42 final String sortProperty,
43 final String propertyExpression) {
44
45 super(displayModel, sortProperty, propertyExpression);
46 }
47
48 @Override
49 public void populateItem(final Item<ICellPopulator<T>> item, final String componentId, final IModel<T> rowModel) {
50 BeanWrapper bwi = new BeanWrapperImpl(rowModel.getObject());
51 Object obj = bwi.getPropertyValue(getPropertyExpression());
52
53 item.add(new Label(componentId, StringUtils.EMPTY));
54 if (obj != null && Boolean.valueOf(obj.toString())) {
55 item.add(new AttributeModifier("class", "fa fa-check"));
56 item.add(new AttributeModifier("style", "display: table-cell; text-align: center;"));
57 }
58 }
59 }