X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=security%2Fplugins%2Forg.argeo.security.ui.admin%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Fviews%2FUsersView.java;h=a41f20af5560daada24541d3a9f9a860f2445a2d;hb=f763d5bc49fa5cae85e85ca8ae69f51d10a86060;hp=af3a886efb950c58f91b31958cc15da068e2e96b;hpb=2f510fb09e18bc3d3e902c8131d0037763c5f279;p=lgpl%2Fargeo-commons.git diff --git a/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/views/UsersView.java b/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/views/UsersView.java index af3a886ef..a41f20af5 100644 --- a/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/views/UsersView.java +++ b/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/views/UsersView.java @@ -12,14 +12,10 @@ import javax.jcr.observation.EventListener; import javax.jcr.query.Query; import org.argeo.ArgeoException; -import org.argeo.eclipse.ui.dialogs.Error; import org.argeo.jcr.ArgeoNames; import org.argeo.jcr.ArgeoTypes; -import org.argeo.security.ArgeoUser; import org.argeo.security.ui.admin.SecurityAdminPlugin; import org.argeo.security.ui.admin.commands.OpenArgeoUserEditor; -import org.argeo.security.ui.admin.editors.ArgeoUserEditor; -import org.argeo.security.ui.admin.editors.ArgeoUserEditorInput; import org.eclipse.core.commands.Command; import org.eclipse.core.commands.IParameter; import org.eclipse.core.commands.Parameterization; @@ -39,7 +35,6 @@ import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.PartInitException; import org.eclipse.ui.commands.ICommandService; import org.eclipse.ui.handlers.IHandlerService; import org.eclipse.ui.part.ViewPart; @@ -58,6 +53,7 @@ public class UsersView extends ViewPart implements ArgeoNames, ArgeoTypes, viewer.setContentProvider(new UsersContentProvider()); viewer.setLabelProvider(new UsersLabelProvider()); viewer.addDoubleClickListener(new ViewDoubleClickListener()); + getViewSite().setSelectionProvider(viewer); viewer.setInput(getViewSite()); } @@ -106,7 +102,7 @@ public class UsersView extends ViewPart implements ArgeoNames, ArgeoTypes, .getWorkspace() .getQueryManager() .createQuery( - "select [" + ARGEO_USER_PROFILE + "] from [" + "select [" + ARGEO_PROFILE + "] from [" + ARGEO_USER_HOME + "]", Query.JCR_SQL2); NodeIterator nit = query.execute().getNodes(); List userProfiles = new ArrayList(); @@ -133,6 +129,7 @@ public class UsersView extends ViewPart implements ArgeoNames, ArgeoTypes, public String getColumnText(Object element, int columnIndex) { try { Node userHome = (Node) element; + Node userProfile = userHome.getNode(ARGEO_PROFILE); switch (columnIndex) { case 0: String userName = userHome.getProperty(ARGEO_USER_ID) @@ -142,45 +139,23 @@ public class UsersView extends ViewPart implements ArgeoNames, ArgeoTypes, else return userName; case 1: - return userHome.getNode(ARGEO_USER_PROFILE) - .getProperty(ARGEO_FIRST_NAME).getString(); + return userProfile.hasProperty(ARGEO_FIRST_NAME) ? userProfile + .getProperty(ARGEO_FIRST_NAME).getString() : ""; case 2: - return userHome.getNode(ARGEO_USER_PROFILE) - .getProperty(ARGEO_LAST_NAME).getString(); + return userProfile.hasProperty(ARGEO_LAST_NAME) ? userProfile + .getProperty(ARGEO_LAST_NAME).getString() : ""; case 3: - return userHome.getNode(ARGEO_USER_PROFILE) - .getProperty(ARGEO_PRIMARY_EMAIL).getString(); + return userProfile.hasProperty(ARGEO_PRIMARY_EMAIL) ? userProfile + .getProperty(ARGEO_PRIMARY_EMAIL).getString() : ""; default: throw new ArgeoException("Unmanaged column " + columnIndex); } } catch (RepositoryException e) { throw new ArgeoException("Cannot get text", e); } - - // String currentUsername = CurrentUser.getUsername(); - // String currentUsername = ""; - // ArgeoUser user = (ArgeoUser) element; - // SimpleUserNature simpleNature = SimpleUserNature - // .findSimpleUserNature(user, simpleNatureType); - // switch (columnIndex) { - // case 0: - // String userName = user.getUsername(); - // if (userName.equals(currentUsername)) - // userName = userName + "*"; - // return userName; - // case 1: - // return simpleNature.getFirstName(); - // case 2: - // return simpleNature.getLastName(); - // case 3: - // return simpleNature.getEmail(); - // default: - // throw new ArgeoException("Unmanaged column " + columnIndex); - // } } public Image getColumnImage(Object element, int columnIndex) { - // TODO Auto-generated method stub return null; } @@ -194,23 +169,12 @@ public class UsersView extends ViewPart implements ArgeoNames, ArgeoTypes, Object obj = ((IStructuredSelection) evt.getSelection()) .getFirstElement(); if (obj instanceof Node) { - try { - IWorkbench iw = SecurityAdminPlugin.getDefault() - .getWorkbench(); - iw.getActiveWorkbenchWindow() - .getActivePage() - .openEditor(new ArgeoUserEditorInput((Node) obj), - ArgeoUserEditor.ID); - } catch (PartInitException e) { - Error.show("Cannot open user editor for " + obj, e); - } - } else if (obj instanceof ArgeoUser) { - ArgeoUser argeoUser = (ArgeoUser) obj; - IWorkbench iw = SecurityAdminPlugin.getDefault().getWorkbench(); IHandlerService handlerService = (IHandlerService) iw .getService(IHandlerService.class); try { + String username = ((Node) obj).getProperty(ARGEO_USER_ID) + .getString(); String commandId = OpenArgeoUserEditor.COMMAND_ID; String paramName = OpenArgeoUserEditor.PARAM_USERNAME; @@ -223,7 +187,7 @@ public class UsersView extends ViewPart implements ArgeoNames, ArgeoTypes, ArrayList parameters = new ArrayList(); IParameter iparam = cmd.getParameter(paramName); Parameterization param = new Parameterization(iparam, - argeoUser.getUsername()); + username); parameters.add(param); ParameterizedCommand pc = new ParameterizedCommand(cmd, parameters.toArray(new Parameterization[parameters