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=8f4a35a18059ba3d227da3090d1f5de261a7bc74;hb=8260f4470f514ea347ca53f5b4dfc632c4a4de66;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..8f4a35a18 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 @@ -1,6 +1,6 @@ package org.argeo.security.ui.admin.internal.providers; -import org.argeo.ArgeoException; +import org.argeo.cms.CmsException; import org.argeo.eclipse.ui.workbench.WorkbenchUiPlugin; import org.argeo.security.ui.admin.internal.parts.UserEditor; import org.argeo.security.ui.admin.internal.parts.UserEditorInput; @@ -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,17 +24,20 @@ 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, + throw new CmsException("Unable to open UserEditor for " + user, pie); } }