]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/commands/RefreshUsersList.java
Add dep folder
[lgpl/argeo-commons.git] / security / plugins / org.argeo.security.ui.admin / src / main / java / org / argeo / security / ui / admin / commands / RefreshUsersList.java
index 54c6f4f712684db2b0f7c2469b16a849c1475488..e4c14ab21b6ad0b3c2fe9aa83e11a5b7cbb9cf63 100644 (file)
@@ -33,10 +33,11 @@ import org.argeo.security.ui.admin.views.UsersView;
 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 EBI list, removing nodes which are not referenced by user
+ * Refreshes the main user list, removing nodes which are not referenced by user
  * admin service.
  */
 public class RefreshUsersList extends AbstractHandler {
@@ -69,12 +70,22 @@ public class RefreshUsersList extends AbstractHandler {
                } finally {
                        JcrUtils.logoutQuietly(session);
                }
-
                userAdminService.synchronize();
+
+               // FIXME try to refresh views that extend the UsersView and have another
+               // ID
+               IWorkbenchPart part = HandlerUtil.getActiveWorkbenchWindow(event)
+                               .getActivePage().getActivePart();
+               if (part instanceof UsersView)
+                       ((UsersView) part).refresh();
+
+               // Try to refresh UsersView if opened
                UsersView view = (UsersView) HandlerUtil
                                .getActiveWorkbenchWindow(event).getActivePage()
                                .findView(UsersView.ID);
-               view.refresh();
+               if (view != null)
+                       view.refresh();
+
                return null;
        }