Remove unused package.
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / util / UserMenuLink.java
index 1b7ca03f44f2fcc937498a208d6274840a9947b5..839567f4f5a29022f8a512c7f83fef3e5814f149 100644 (file)
@@ -1,12 +1,11 @@
 package org.argeo.cms.util;
 
 import javax.jcr.Node;
-import javax.security.auth.Subject;
 
 import org.argeo.cms.CmsMsg;
-import org.argeo.cms.CmsStyles;
-import org.argeo.cms.auth.AuthConstants;
 import org.argeo.cms.auth.CurrentUser;
+import org.argeo.cms.ui.CmsStyles;
+import org.argeo.cms.widgets.auth.CmsLoginShell;
 import org.eclipse.swt.events.DisposeEvent;
 import org.eclipse.swt.events.DisposeListener;
 import org.eclipse.swt.events.MouseEvent;
@@ -24,30 +23,32 @@ public class UserMenuLink extends MenuLink {
 
        @Override
        public Control createUi(Composite parent, Node context) {
-               Subject subject = CmsUtils.getCmsView().getSubject();
-               String username = CurrentUser.getUsername(subject);
-               if (username.equalsIgnoreCase(AuthConstants.ROLE_ANONYMOUS))
+               if (CurrentUser.isAnonymous())
                        setLabel(CmsMsg.login.lead());
                else {
-                       setLabel(CurrentUser.getDisplayName(subject));
+                       setLabel(CurrentUser.getDisplayName());
                }
-               Label link = (Label) ((Composite) super.createUi(parent, context))
-                               .getChildren()[0];
-               link.addMouseListener(new UserMenuLinkController());
+               Label link = (Label) ((Composite) super.createUi(parent, context)).getChildren()[0];
+               link.addMouseListener(new UserMenuLinkController(context));
                return link.getParent();
        }
 
-       protected UserMenu createUserMenu(Control source) {
-               return new UserMenu(source.getParent());
+       protected CmsLoginShell createUserMenu(Control source, Node context) {
+               return new UserMenu(source.getParent(), context);
        }
 
-       private class UserMenuLinkController implements MouseListener,
-                       DisposeListener {
+       private class UserMenuLinkController implements MouseListener, DisposeListener {
                private static final long serialVersionUID = 3634864186295639792L;
 
-               private UserMenu userMenu = null;
+               private CmsLoginShell userMenu = null;
                private long lastDisposeTS = 0l;
 
+               private final Node context;
+
+               public UserMenuLinkController(Node context) {
+                       this.context = context;
+               }
+
                //
                // MOUSE LISTENER
                //
@@ -56,11 +57,10 @@ public class UserMenuLink extends MenuLink {
                        if (e.button == 1) {
                                Control source = (Control) e.getSource();
                                if (userMenu == null) {
-                                       long durationSinceLastDispose = System.currentTimeMillis()
-                                                       - lastDisposeTS;
+                                       long durationSinceLastDispose = System.currentTimeMillis() - lastDisposeTS;
                                        // avoid to reopen the menu, if one has clicked gain
                                        if (durationSinceLastDispose > 200) {
-                                               userMenu = createUserMenu(source);
+                                               userMenu = createUserMenu(source, context);
                                                userMenu.getShell().addDisposeListener(this);
                                        }
                                }
@@ -81,4 +81,4 @@ public class UserMenuLink extends MenuLink {
                        lastDisposeTS = System.currentTimeMillis();
                }
        }
-}
\ No newline at end of file
+}