]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/providers/UserTableDefaultDClickListener.java
Work on security Admin UI, batch processing, specific admin abilities, some code...
[lgpl/argeo-commons.git] / org.argeo.security.ui.admin / src / org / argeo / security / ui / admin / internal / providers / UserTableDefaultDClickListener.java
index 94434bd8a3a6942c2a64abc39807cbe00b056732..fa45edd86ebc33b2678ff235850c860920811775 100644 (file)
@@ -10,6 +10,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.PartInitException;
+import org.osgi.service.useradmin.Group;
 import org.osgi.service.useradmin.User;
 
 /**
@@ -23,15 +24,18 @@ public class UserTableDefaultDClickListener implements IDoubleClickListener {
                Object obj = ((IStructuredSelection) evt.getSelection())
                                .getFirstElement();
                User user = (User) obj;
-               // IWorkbench iw =
                IWorkbenchWindow iww = WorkbenchUiPlugin.getDefault().getWorkbench()
                                .getActiveWorkbenchWindow();
                IWorkbenchPage iwp = iww.getActivePage();
                UserEditorInput uei = new UserEditorInput(user.getName());
 
                try {
-                       // IEditorPart editor =
-                       iwp.openEditor(uei, UserEditor.ID);
+                       // Works around the fact that dynamic setting of the editor icon
+                       // causes NPE after a login/logout on RAP
+                       if (user instanceof Group)
+                               iwp.openEditor(uei, UserEditor.GROUP_EDITOR_ID);
+                       else
+                               iwp.openEditor(uei, UserEditor.USER_EDITOR_ID);
                } catch (PartInitException pie) {
                        throw new ArgeoException("Unable to open UserEditor for " + user,
                                        pie);