X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.ui.admin%2Fsrc%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Finternal%2Fparts%2FUsersView.java;h=5bb50a40f654d92b1484221b2963f8dcfb707ef3;hb=f2d02f1aa5dc31c75049be1ba2b79a49f3d856af;hp=ca5e6ab741d2dcd92370d27f953cec213bffe03d;hpb=f295f8e7a43efc1839416158f4e0f268506c88b5;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/parts/UsersView.java b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/parts/UsersView.java index ca5e6ab74..5bb50a40f 100644 --- a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/parts/UsersView.java +++ b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/parts/UsersView.java @@ -20,13 +20,14 @@ import java.util.List; import org.argeo.ArgeoException; import org.argeo.cms.auth.AuthConstants; -import org.argeo.cms.util.useradmin.UserAdminUtils; import org.argeo.eclipse.ui.ColumnDefinition; import org.argeo.eclipse.ui.EclipseUiUtils; import org.argeo.eclipse.ui.parts.LdifUsersTable; import org.argeo.jcr.ArgeoNames; import org.argeo.osgi.useradmin.LdifName; import org.argeo.security.ui.admin.SecurityAdminPlugin; +import org.argeo.security.ui.admin.internal.UiUserAdminListener; +import org.argeo.security.ui.admin.internal.UserAdminUtils; import org.argeo.security.ui.admin.internal.UserAdminWrapper; import org.argeo.security.ui.admin.internal.providers.CommonNameLP; import org.argeo.security.ui.admin.internal.providers.DomainNameLP; @@ -40,6 +41,7 @@ import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; import org.eclipse.ui.part.ViewPart; import org.osgi.framework.InvalidSyntaxException; import org.osgi.service.useradmin.Role; @@ -100,16 +102,22 @@ public class UsersView extends ViewPart implements ArgeoNames { userViewer)); // Register a useradmin listener - listener = new UserAdminListener() { - @Override - public void roleChanged(UserAdminEvent event) { - if (userViewer != null && !userViewer.getTable().isDisposed()) - refresh(); - } - }; + listener = new MyUiUAListener(parent.getDisplay()); userAdminWrapper.addListener(listener); } + private class MyUiUAListener extends UiUserAdminListener { + public MyUiUAListener(Display display) { + super(display); + } + + @Override + public void roleChangedToUiThread(UserAdminEvent event) { + if (userViewer != null && !userViewer.getTable().isDisposed()) + refresh(); + } + } + private class MyUserTableViewer extends LdifUsersTable { private static final long serialVersionUID = 8467999509931900367L;