]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/providers/UserAdminAbstractLP.java
Improve and simplify OSGi Boot
[lgpl/argeo-commons.git] / org.argeo.security.ui.admin / src / org / argeo / security / ui / admin / internal / providers / UserAdminAbstractLP.java
index 68138ca26d7ce3628da54c115001966dbf851b2c..2b0a13db79da99e006aff2a9d1b460c233d06c46 100644 (file)
@@ -3,8 +3,8 @@ package org.argeo.security.ui.admin.internal.providers;
 import javax.naming.InvalidNameException;
 import javax.naming.ldap.LdapName;
 
-import org.argeo.security.ui.admin.internal.UiAdminUtils;
-import org.argeo.security.ui.admin.internal.UserAdminConstants;
+import org.argeo.cms.CmsException;
+import org.argeo.cms.util.useradmin.UserAdminUtils;
 import org.eclipse.jface.resource.JFaceResources;
 import org.eclipse.jface.viewers.ColumnLabelProvider;
 import org.eclipse.swt.SWT;
@@ -16,8 +16,7 @@ import org.osgi.service.useradmin.User;
  * Utility class that add font modifications to a column label provider
  * depending on the given user properties
  */
-public abstract class UserAdminAbstractLP extends ColumnLabelProvider implements
-               UserAdminConstants {
+public abstract class UserAdminAbstractLP extends ColumnLabelProvider {
        private static final long serialVersionUID = 137336765024922368L;
 
        // private Font italic;
@@ -27,15 +26,18 @@ public abstract class UserAdminAbstractLP extends ColumnLabelProvider implements
        public Font getFont(Object element) {
                // Self as bold
                try {
-                       LdapName selfUserName = UiAdminUtils.getLdapName();
-                       String userName = UiAdminUtils.getProperty((User) element,
-                                       UserAdminConstants.KEY_DN);
+                       LdapName selfUserName = UserAdminUtils.getCurrentUserLdapName();
+                       String userName = ((User) element).getName();
                        LdapName userLdapName = new LdapName(userName);
-                       if (userLdapName.equals(selfUserName))
+                       if (userLdapName.equals(selfUserName)) {
+                               if (bold == null)
+                                       bold = JFaceResources.getFontRegistry()
+                                                       .defaultFontDescriptor().setStyle(SWT.BOLD)
+                                                       .createFont(Display.getCurrent());
                                return bold;
+                       }
                } catch (InvalidNameException e) {
-                       // TODO Auto-generated catch block
-                       e.printStackTrace();
+                       throw new CmsException("cannot parse dn for " + element, e);
                }
 
                // Disabled as Italic
@@ -57,7 +59,7 @@ public abstract class UserAdminAbstractLP extends ColumnLabelProvider implements
                // italic = JFaceResources.getFontRegistry().defaultFontDescriptor()
                // .setStyle(SWT.ITALIC).createFont(display);
                bold = JFaceResources.getFontRegistry().defaultFontDescriptor()
-                               .setStyle(SWT.BOLD).createFont(display);
+                               .setStyle(SWT.BOLD).createFont(Display.getCurrent());
        }
 
        public abstract String getText(User user);