X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.ui.admin%2Fsrc%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Fcommands%2FRefreshUsersList.java;fp=org.argeo.security.ui.admin%2Fsrc%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Fcommands%2FRefreshUsersList.java;h=e6be8d91ae5954a83644ff704141ac0806c127a5;hb=f090d55a56532e0e6c2cde5760a451e56ef25f1c;hp=fd98e718f2d453359b891bd686979425c1b30e30;hpb=50911fdcc6df5cd35e71a0a4ecddf03f98f742a2;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/commands/RefreshUsersList.java b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/commands/RefreshUsersList.java index fd98e718f..e6be8d91a 100644 --- a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/commands/RefreshUsersList.java +++ b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/commands/RefreshUsersList.java @@ -15,26 +15,12 @@ */ package org.argeo.security.ui.admin.commands; -import java.util.Set; - -import javax.jcr.Node; -import javax.jcr.NodeIterator; import javax.jcr.Repository; -import javax.jcr.RepositoryException; -import javax.jcr.Session; -import javax.jcr.query.Query; -import org.argeo.ArgeoException; -import org.argeo.jcr.ArgeoNames; -import org.argeo.jcr.ArgeoTypes; -import org.argeo.jcr.JcrUtils; import org.argeo.security.UserAdminService; -import org.argeo.security.ui.admin.views.JcrUsersView; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; -import org.eclipse.ui.IWorkbenchPart; -import org.eclipse.ui.handlers.HandlerUtil; /** * Refreshes the main user list, removing nodes which are not referenced by user @@ -45,46 +31,47 @@ public class RefreshUsersList extends AbstractHandler { private Repository repository; public Object execute(ExecutionEvent event) throws ExecutionException { - Set users = userAdminService.listUsers(); - Session session = null; - try { - session = repository.login(); - Query query = session - .getWorkspace() - .getQueryManager() - .createQuery( - "select * from [" + ArgeoTypes.ARGEO_USER_HOME - + "]", Query.JCR_SQL2); - NodeIterator nit = query.execute().getNodes(); - while (nit.hasNext()) { - Node node = nit.nextNode(); - String username = node.getProperty(ArgeoNames.ARGEO_USER_ID) - .getString(); - if (!users.contains(username)) - node.remove(); - } - session.save(); - } catch (RepositoryException e) { - JcrUtils.discardQuietly(session); - throw new ArgeoException("Cannot list users", e); - } finally { - JcrUtils.logoutQuietly(session); - } - userAdminService.synchronize(); - - // FIXME try to refresh views that extend the JcrUsersView and have another - // ID - IWorkbenchPart part = HandlerUtil.getActiveWorkbenchWindow(event) - .getActivePage().getActivePart(); - if (part instanceof JcrUsersView) - ((JcrUsersView) part).refresh(); - - // Try to refresh JcrUsersView if opened - JcrUsersView view = (JcrUsersView) HandlerUtil - .getActiveWorkbenchWindow(event).getActivePage() - .findView(JcrUsersView.ID); - if (view != null) - view.refresh(); + // Set users = userAdminService.listUsers(); + // Session session = null; + // try { + // session = repository.login(); + // Query query = session + // .getWorkspace() + // .getQueryManager() + // .createQuery( + // "select * from [" + ArgeoTypes.ARGEO_USER_HOME + // + "]", Query.JCR_SQL2); + // NodeIterator nit = query.execute().getNodes(); + // while (nit.hasNext()) { + // Node node = nit.nextNode(); + // String username = node.getProperty(ArgeoNames.ARGEO_USER_ID) + // .getString(); + // if (!users.contains(username)) + // node.remove(); + // } + // session.save(); + // } catch (RepositoryException e) { + // JcrUtils.discardQuietly(session); + // throw new ArgeoException("Cannot list users", e); + // } finally { + // JcrUtils.logoutQuietly(session); + // } + // userAdminService.synchronize(); + // + // // FIXME try to refresh views that extend the JcrUsersView and have + // another + // // ID + // IWorkbenchPart part = HandlerUtil.getActiveWorkbenchWindow(event) + // .getActivePage().getActivePart(); + // if (part instanceof JcrUsersView) + // ((JcrUsersView) part).refresh(); + // + // // Try to refresh JcrUsersView if opened + // JcrUsersView view = (JcrUsersView) HandlerUtil + // .getActiveWorkbenchWindow(event).getActivePage() + // .findView(JcrUsersView.ID); + // if (view != null) + // view.refresh(); return null; }