]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms.ui/src/org/argeo/cms/ui/useradmin/UserLP.java
Move RCP support to Argeo SLC
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / ui / useradmin / UserLP.java
1 package org.argeo.cms.ui.useradmin;
2
3 import org.argeo.cms.util.UserAdminUtils;
4 import org.argeo.node.NodeConstants;
5 import org.eclipse.jface.resource.JFaceResources;
6 import org.eclipse.jface.viewers.ColumnLabelProvider;
7 import org.eclipse.swt.SWT;
8 import org.eclipse.swt.graphics.Font;
9 import org.eclipse.swt.graphics.Image;
10 import org.eclipse.swt.widgets.Display;
11 import org.osgi.service.useradmin.Role;
12 import org.osgi.service.useradmin.User;
13
14 /** Centralize label providers for the group table */
15 class UserLP extends ColumnLabelProvider {
16 private static final long serialVersionUID = -4645930210988368571L;
17
18 final static String COL_ICON = "colID.icon";
19 final static String COL_DN = "colID.dn";
20 final static String COL_DISPLAY_NAME = "colID.displayName";
21 final static String COL_DOMAIN = "colID.domain";
22
23 final String currType;
24
25 // private Font italic;
26 private Font bold;
27
28 UserLP(String colId) {
29 this.currType = colId;
30 }
31
32 @Override
33 public Font getFont(Object element) {
34 // Current user as bold
35 if (UserAdminUtils.isCurrentUser(((User) element))) {
36 if (bold == null)
37 bold = JFaceResources.getFontRegistry().defaultFontDescriptor().setStyle(SWT.BOLD)
38 .createFont(Display.getCurrent());
39 return bold;
40 }
41 return null;
42 }
43
44 @Override
45 public Image getImage(Object element) {
46 if (COL_ICON.equals(currType)) {
47 User user = (User) element;
48 String dn = user.getName();
49 if (dn.endsWith(NodeConstants.ROLES_BASEDN))
50 return UsersImages.ICON_ROLE;
51 else if (user.getType() == Role.GROUP)
52 return UsersImages.ICON_GROUP;
53 else
54 return UsersImages.ICON_USER;
55 } else
56 return null;
57 }
58
59 @Override
60 public String getText(Object element) {
61 User user = (User) element;
62 return getText(user);
63
64 }
65
66 public String getText(User user) {
67 if (COL_DN.equals(currType))
68 return user.getName();
69 else if (COL_DISPLAY_NAME.equals(currType))
70 return UserAdminUtils.getCommonName(user);
71 else if (COL_DOMAIN.equals(currType))
72 return UserAdminUtils.getDomainName(user);
73 else
74 return "";
75 }
76 }