1 package org.argeo.people.web.providers;
2
3 import javax.jcr.Node;
4
5 import org.argeo.connect.resources.ResourcesService;
6 import org.argeo.connect.util.ConnectJcrUtils;
7 import org.argeo.connect.util.ConnectUtils;
8 import org.argeo.people.PeopleService;
9 import org.argeo.people.PeopleTypes;
10 import org.argeo.people.web.PeopleWebConstants;
11 import org.eclipse.jface.viewers.ILabelProvider;
12 import org.eclipse.jface.viewers.ILabelProviderListener;
13 import org.eclipse.swt.graphics.Image;
14
15
16 public class EntitySingleLineLabelProvider implements ILabelProvider {
17
18 private static final long serialVersionUID = 1L;
19 private PeopleService peopleService;
20
21 private final PersonOverviewLP personOLP;
22 private final OrgOverviewLP orgOLP;
23
24 public EntitySingleLineLabelProvider(ResourcesService resourceService, PeopleService peopleService) {
25 this.peopleService = peopleService;
26 this.personOLP = new PersonOverviewLP(resourceService, peopleService,
27 PeopleWebConstants.OVERVIEW_TYPE_SINGLE_LINE_LIST);
28 orgOLP = new OrgOverviewLP(resourceService, peopleService, PeopleWebConstants.OVERVIEW_TYPE_SINGLE_LINE_LIST);
29 }
30
31 public String getText(Object element) {
32 Node entity = (Node) element;
33 if (ConnectJcrUtils.isNodeType(entity, PeopleTypes.PEOPLE_PERSON))
34 return personOLP.getText(entity);
35 else if (ConnectJcrUtils.isNodeType(entity, PeopleTypes.PEOPLE_ORG))
36 return orgOLP.getText(entity);
37 else {
38 StringBuilder builder = new StringBuilder();
39 builder.append("<b>");
40 builder.append(peopleService.getDisplayName(entity));
41 builder.append("</b>");
42 return ConnectUtils.replaceAmpersand(builder.toString());
43 }
44 }
45
46 @Override
47 public void addListener(ILabelProviderListener listener) {
48 }
49
50 @Override
51 public void dispose() {
52 }
53
54 @Override
55 public boolean isLabelProperty(Object element, String property) {
56 return false;
57 }
58
59 @Override
60 public void removeListener(ILabelProviderListener listener) {
61 }
62
63 @Override
64 public Image getImage(Object element) {
65 return null;
66 }
67 }