X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.ui.admin%2Fsrc%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Finternal%2Fproviders%2FUserTableDefaultDClickListener.java;h=fa45edd86ebc33b2678ff235850c860920811775;hb=1c75ba2f683c41d0e081970758d1fb5b2e91689f;hp=94434bd8a3a6942c2a64abc39807cbe00b056732;hpb=732542c8de267ed7d6cbb8c66b84cc90c8ad22d7;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/providers/UserTableDefaultDClickListener.java b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/providers/UserTableDefaultDClickListener.java index 94434bd8a..fa45edd86 100644 --- a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/providers/UserTableDefaultDClickListener.java +++ b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/providers/UserTableDefaultDClickListener.java @@ -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);