]> git.argeo.org Git - lgpl/argeo-commons.git/blob - eclipse/org.argeo.cms.e4/src/org/argeo/cms/e4/users/providers/UserAdminAbstractLP.java
Simplify hierarchy units
[lgpl/argeo-commons.git] / eclipse / org.argeo.cms.e4 / src / org / argeo / cms / e4 / users / providers / UserAdminAbstractLP.java
1 package org.argeo.cms.e4.users.providers;
2
3 import javax.naming.InvalidNameException;
4 import javax.naming.ldap.LdapName;
5
6 import org.argeo.cms.CmsException;
7 import org.argeo.cms.auth.UserAdminUtils;
8 import org.eclipse.jface.resource.JFaceResources;
9 import org.eclipse.jface.viewers.ColumnLabelProvider;
10 import org.eclipse.swt.SWT;
11 import org.eclipse.swt.graphics.Font;
12 import org.eclipse.swt.widgets.Display;
13 import org.osgi.service.useradmin.User;
14
15 /**
16 * Utility class that add font modifications to a column label provider
17 * depending on the given user properties
18 */
19 public abstract class UserAdminAbstractLP extends ColumnLabelProvider {
20 private static final long serialVersionUID = 137336765024922368L;
21
22 // private Font italic;
23 private Font bold;
24
25 @Override
26 public Font getFont(Object element) {
27 // Self as bold
28 try {
29 LdapName selfUserName = UserAdminUtils.getCurrentUserLdapName();
30 String userName = ((User) element).getName();
31 LdapName userLdapName = new LdapName(userName);
32 if (userLdapName.equals(selfUserName)) {
33 if (bold == null)
34 bold = JFaceResources.getFontRegistry()
35 .defaultFontDescriptor().setStyle(SWT.BOLD)
36 .createFont(Display.getCurrent());
37 return bold;
38 }
39 } catch (InvalidNameException e) {
40 throw new CmsException("cannot parse dn for " + element, e);
41 }
42
43 // Disabled as Italic
44 // Node userProfile = (Node) elem;
45 // if (!userProfile.getProperty(ARGEO_ENABLED).getBoolean())
46 // return italic;
47
48 return null;
49 // return super.getFont(element);
50 }
51
52 @Override
53 public String getText(Object element) {
54 User user = (User) element;
55 return getText(user);
56 }
57
58 public void setDisplay(Display display) {
59 // italic = JFaceResources.getFontRegistry().defaultFontDescriptor()
60 // .setStyle(SWT.ITALIC).createFont(display);
61 bold = JFaceResources.getFontRegistry().defaultFontDescriptor()
62 .setStyle(SWT.BOLD).createFont(Display.getCurrent());
63 }
64
65 public abstract String getText(User user);
66 }