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