]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/parts/UserEditor.java
Work on user UI
[lgpl/argeo-commons.git] / org.argeo.security.ui.admin / src / org / argeo / security / ui / admin / internal / parts / UserEditor.java
index 71eba27f646ba1b6bc0ccc0fa21593340cdbfea6..e49c803e4db890c74da29c58b3443e3177cfe2c9 100644 (file)
@@ -19,25 +19,20 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.argeo.ArgeoException;
+import org.argeo.osgi.useradmin.LdifName;
 import org.argeo.security.ui.admin.SecurityAdminPlugin;
 import org.argeo.security.ui.admin.internal.UiAdminUtils;
 import org.argeo.security.ui.admin.internal.UserAdminConstants;
 import org.argeo.security.ui.admin.internal.UserAdminWrapper;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorSite;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.forms.AbstractFormPart;
 import org.eclipse.ui.forms.editor.FormEditor;
-import org.eclipse.ui.forms.widgets.FormToolkit;
 import org.osgi.service.useradmin.Authorization;
 import org.osgi.service.useradmin.Role;
 import org.osgi.service.useradmin.User;
@@ -49,8 +44,10 @@ import org.osgi.service.useradmin.UserAdminListener;
 public class UserEditor extends FormEditor implements UserAdminConstants {
        private static final long serialVersionUID = 8357851520380820241L;
 
-       public final static String ID = SecurityAdminPlugin.PLUGIN_ID
+       public final static String USER_EDITOR_ID = SecurityAdminPlugin.PLUGIN_ID
                        + ".userEditor";
+       public final static String GROUP_EDITOR_ID = SecurityAdminPlugin.PLUGIN_ID
+                       + ".groupEditor";
 
        /* DEPENDENCY INJECTION */
        private UserAdminWrapper userAdminWrapper;
@@ -70,13 +67,7 @@ public class UserEditor extends FormEditor implements UserAdminConstants {
 
                listener = new NameChangeListener(user);
                userAdminWrapper.addListener(listener);
-
-               // TODO: following has been disabled because it causes NPE after a
-               // login/logout on RAP
-               // Image titleIcon = user.getType() == Role.GROUP ?
-               // SecurityAdminImages.ICON_GROUP
-               // : SecurityAdminImages.ICON_USER;
-               // setTitleImage(titleIcon);
+               updateEditorTitle(null);
        }
 
        /**
@@ -108,8 +99,9 @@ public class UserEditor extends FormEditor implements UserAdminConstants {
 
        void updateEditorTitle(String title) {
                if (title == null) {
-                       String commonName = UiAdminUtils.getProperty(user, KEY_CN);
-                       title = "".equals(commonName) ? commonName : user.getName();
+                       String commonName = UiAdminUtils.getProperty(user,
+                                       LdifName.cn.name());
+                       title = "".equals(commonName) ? user.getName() : commonName;
                }
                setPartName(title);
        }
@@ -125,15 +117,6 @@ public class UserEditor extends FormEditor implements UserAdminConstants {
                }
        }
 
-       /**
-        * Updates the property in the working copy. The transaction must be
-        * explicitly committed to persist the update.
-        */
-       @SuppressWarnings("unchecked")
-       protected void setProperty(String key, String value) {
-               user.getProperties().put(key, value);
-       }
-
        @Override
        public void doSave(IProgressMonitor monitor) {
                userAdminWrapper.beginTransactionIfNeeded();
@@ -160,7 +143,7 @@ public class UserEditor extends FormEditor implements UserAdminConstants {
 
        // CONTROLERS FOR THIS EDITOR AND ITS PAGES
 
-       class NameChangeListener implements UserAdminListener {
+       private class NameChangeListener implements UserAdminListener {
 
                private final User user;