From: Mathieu Baudier Date: Tue, 14 Nov 2017 13:36:05 +0000 (+0100) Subject: Improve user admin perspective X-Git-Tag: argeo-commons-2.1.70~26 X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=5e5546ae33d363f1fab83f10f98c32eec6bfc3ca Improve user admin perspective --- diff --git a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/SecurityAdminPerspective.java b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/SecurityAdminPerspective.java index f9904f2f1..04b54ee80 100644 --- a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/SecurityAdminPerspective.java +++ b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/SecurityAdminPerspective.java @@ -28,9 +28,9 @@ public class SecurityAdminPerspective implements IPerspectiveFactory { layout.setEditorAreaVisible(true); layout.setFixed(false); - IFolderLayout left = layout.createFolder("left", IPageLayout.LEFT, - 0.25f, editorArea); + IFolderLayout left = layout.createFolder("left", IPageLayout.LEFT, 0.3f, editorArea); + IFolderLayout right = layout.createFolder("right", IPageLayout.RIGHT, 0.5f, editorArea); left.addView(UsersView.ID); - left.addView(GroupsView.ID); + right.addView(GroupsView.ID); } } diff --git a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/GroupMainPage.java b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/GroupMainPage.java index 32219d2d7..2103ec9ad 100644 --- a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/GroupMainPage.java +++ b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/GroupMainPage.java @@ -38,7 +38,6 @@ import org.argeo.cms.ui.workbench.internal.useradmin.providers.CommonNameLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.MailLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.RoleIconLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserFilter; -import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserNameLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserTableDefaultDClickListener; import org.argeo.cms.util.CmsUtils; import org.argeo.cms.util.UserAdminUtils; @@ -132,18 +131,17 @@ public class GroupMainPage extends FormPage implements ArgeoNames { protected void appendOverviewPart(final Composite parent, final Group group) { FormToolkit tk = getManagedForm().getToolkit(); Composite body = addSection(tk, parent); - GridLayout layout = new GridLayout(5, false); + // GridLayout layout = new GridLayout(5, false); + GridLayout layout = new GridLayout(2, false); body.setLayout(layout); - final Text dnTxt = createLT(body, "DN", group.getName()); - dnTxt.setEnabled(false); + String cn = UserAdminUtils.getProperty(group, LdapAttrs.cn.name()); + Text cnTxt = createReadOnlyLT(body, "Common Name", cn); - final String cn = UserAdminUtils.getProperty(group, LdapAttrs.cn.name()); - final Text cnTxt = createLT(body, "Common Name", cn); - cnTxt.setEnabled(false); + Text dnTxt = createReadOnlyLT(body, "DN", group.getName()); - final Link markAsWorkgroupLk = new Link(body, SWT.NONE); - markAsWorkgroupLk.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + Link markAsWorkgroupLk = new Link(body, SWT.NONE); + markAsWorkgroupLk.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1)); // Label descLbl = new Label(body, SWT.LEAD); // descLbl.setText("Description"); @@ -248,7 +246,8 @@ public class GroupMainPage extends FormPage implements ArgeoNames { columnDefs.add(new ColumnDefinition(new RoleIconLP(), "", 0, 24)); columnDefs.add(new ColumnDefinition(new CommonNameLP(), "Common Name", 150)); columnDefs.add(new ColumnDefinition(new MailLP(), "Primary Mail", 150)); - columnDefs.add(new ColumnDefinition(new UserNameLP(), "Distinguished Name", 240)); + // columnDefs.add(new ColumnDefinition(new UserNameLP(), "Distinguished Name", + // 240)); // Create and configure the table LdifUsersTable userViewerCmp = new MyUserTableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, @@ -287,6 +286,7 @@ public class GroupMainPage extends FormPage implements ArgeoNames { Role[] roles = group.getMembers(); List users = new ArrayList(); userFilter.setSearchText(filter); + // userFilter.setShowSystemRole(true); for (Role role : roles) // if (role.getType() == Role.GROUP) if (userFilter.select(null, null, role)) @@ -482,14 +482,27 @@ public class GroupMainPage extends FormPage implements ArgeoNames { } /** Creates label and text. */ - private Text createLT(Composite parent, String label, String value) { +// private Text createLT(Composite parent, String label, String value) { +// FormToolkit toolkit = getManagedForm().getToolkit(); +// Label lbl = toolkit.createLabel(parent, label); +// lbl.setLayoutData(new GridData(SWT.LEAD, SWT.CENTER, false, false)); +// lbl.setFont(EclipseUiUtils.getBoldFont(parent)); +// Text text = toolkit.createText(parent, value, SWT.BORDER); +// text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); +// CmsUtils.style(text, CmsWorkbenchStyles.WORKBENCH_FORM_TEXT); +// return text; +// } +// + Text createReadOnlyLT(Composite parent, String label, String value) { FormToolkit toolkit = getManagedForm().getToolkit(); Label lbl = toolkit.createLabel(parent, label); lbl.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false)); lbl.setFont(EclipseUiUtils.getBoldFont(parent)); - Text text = toolkit.createText(parent, value, SWT.BORDER); + Text text = toolkit.createText(parent, value, SWT.NONE); text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + text.setEditable(false); CmsUtils.style(text, CmsWorkbenchStyles.WORKBENCH_FORM_TEXT); return text; } + } diff --git a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/GroupsView.java b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/GroupsView.java index 0d33677ac..545a7c896 100644 --- a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/GroupsView.java +++ b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/GroupsView.java @@ -30,7 +30,6 @@ import org.argeo.cms.ui.workbench.internal.useradmin.providers.CommonNameLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.DomainNameLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.RoleIconLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserDragListener; -import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserNameLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserTableDefaultDClickListener; import org.argeo.eclipse.ui.ColumnDefinition; import org.argeo.eclipse.ui.EclipseUiUtils; @@ -45,6 +44,7 @@ import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; @@ -75,29 +75,27 @@ public class GroupsView extends ViewPart implements ArgeoNames { public void createPartControl(Composite parent) { parent.setLayout(EclipseUiUtils.noSpaceGridLayout()); - boolean isAdmin = CurrentUser.isInRole(NodeConstants.ROLE_ADMIN); +// boolean isAdmin = CurrentUser.isInRole(NodeConstants.ROLE_ADMIN); // Define the displayed columns - columnDefs.add(new ColumnDefinition(new RoleIconLP(), "", 26)); - columnDefs.add(new ColumnDefinition(new CommonNameLP(), "Common Name", - 150)); - columnDefs.add(new ColumnDefinition(new DomainNameLP(), "Domain", 200)); + columnDefs.add(new ColumnDefinition(new RoleIconLP(), "", 19)); + columnDefs.add(new ColumnDefinition(new CommonNameLP(), "Common Name", 150)); + columnDefs.add(new ColumnDefinition(new DomainNameLP(), "Domain", 100)); // Only show technical DN to admin - if (isAdmin) - columnDefs.add(new ColumnDefinition(new UserNameLP(), - "Distinguished Name", 300)); + // if (isAdmin) + // columnDefs.add(new ColumnDefinition(new UserNameLP(), + // "Distinguished Name", 300)); // Create and configure the table - groupTableViewerCmp = new MyUserTableViewer(parent, SWT.MULTI - | SWT.H_SCROLL | SWT.V_SCROLL); + groupTableViewerCmp = new MyUserTableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); groupTableViewerCmp.setColumnDefinitions(columnDefs); - if (isAdmin) - groupTableViewerCmp.populateWithStaticFilters(false, false); - else +// if (isAdmin) +// groupTableViewerCmp.populateWithStaticFilters(false, false); +// else groupTableViewerCmp.populate(true, false); - groupTableViewerCmp.setLayoutData(EclipseUiUtils.fillAll()); + groupTableViewerCmp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); // Links userViewer = groupTableViewerCmp.getTableViewer(); @@ -110,8 +108,7 @@ public class GroupsView extends ViewPart implements ArgeoNames { // Drag and drop int operations = DND.DROP_COPY | DND.DROP_MOVE; Transfer[] tt = new Transfer[] { TextTransfer.getInstance() }; - userViewer.addDragSupport(operations, tt, new UserDragListener( - userViewer)); + userViewer.addDragSupport(operations, tt, new UserDragListener(userViewer)); // // Register a useradmin listener // listener = new UserAdminListener() { @@ -144,23 +141,22 @@ public class GroupsView extends ViewPart implements ArgeoNames { private class MyUserTableViewer extends LdifUsersTable { private static final long serialVersionUID = 8467999509931900367L; - private boolean showSystemRoles; + private boolean showSystemRoles = true; - private final String[] knownProps = { LdapAttrs.uid.name(), - LdapAttrs.cn.name(), LdapAttrs.DN }; + private final String[] knownProps = { LdapAttrs.uid.name(), LdapAttrs.cn.name(), LdapAttrs.DN }; public MyUserTableViewer(Composite parent, int style) { super(parent, style); + showSystemRoles = CurrentUser.isInRole(NodeConstants.ROLE_ADMIN); } protected void populateStaticFilters(Composite staticFilterCmp) { staticFilterCmp.setLayout(new GridLayout()); - final Button showSystemRoleBtn = new Button(staticFilterCmp, - SWT.CHECK); + final Button showSystemRoleBtn = new Button(staticFilterCmp, SWT.CHECK); showSystemRoleBtn.setText("Show system roles"); showSystemRoles = CurrentUser.isInRole(NodeConstants.ROLE_ADMIN); showSystemRoleBtn.setSelection(showSystemRoles); - + showSystemRoleBtn.addSelectionListener(new SelectionAdapter() { private static final long serialVersionUID = -7033424592697691676L; @@ -188,39 +184,27 @@ public class GroupsView extends ViewPart implements ArgeoNames { tmpBuilder.append("*)"); } if (tmpBuilder.length() > 1) { - builder.append("(&(").append(LdapAttrs.objectClass.name()) - .append("=").append(LdapObjs.groupOfNames.name()) - .append(")"); + builder.append("(&(").append(LdapAttrs.objectClass.name()).append("=") + .append(LdapObjs.groupOfNames.name()).append(")"); if (!showSystemRoles) - builder.append("(!(").append(LdapAttrs.DN).append("=*") - .append(NodeConstants.ROLES_BASEDN) + builder.append("(!(").append(LdapAttrs.DN).append("=*").append(NodeConstants.ROLES_BASEDN) .append("))"); builder.append("(|"); builder.append(tmpBuilder.toString()); builder.append("))"); } else { if (!showSystemRoles) - builder.append("(&(") - .append(LdapAttrs.objectClass.name()) - .append("=") - .append(LdapObjs.groupOfNames.name()) - .append(")(!(").append(LdapAttrs.DN) - .append("=*") - .append(NodeConstants.ROLES_BASEDN) - .append(")))"); + builder.append("(&(").append(LdapAttrs.objectClass.name()).append("=") + .append(LdapObjs.groupOfNames.name()).append(")(!(").append(LdapAttrs.DN).append("=*") + .append(NodeConstants.ROLES_BASEDN).append(")))"); else - builder.append("(") - .append(LdapAttrs.objectClass.name()) - .append("=") - .append(LdapObjs.groupOfNames.name()) - .append(")"); + builder.append("(").append(LdapAttrs.objectClass.name()).append("=") + .append(LdapObjs.groupOfNames.name()).append(")"); } - roles = userAdminWrapper.getUserAdmin().getRoles( - builder.toString()); + roles = userAdminWrapper.getUserAdmin().getRoles(builder.toString()); } catch (InvalidSyntaxException e) { - throw new CmsException("Unable to get roles with filter: " - + filter, e); + throw new CmsException("Unable to get roles with filter: " + filter, e); } List users = new ArrayList(); for (Role role : roles) diff --git a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/UserMainPage.java b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/UserMainPage.java index 570a3a1dd..1edbee1a7 100644 --- a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/UserMainPage.java +++ b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/UserMainPage.java @@ -15,6 +15,13 @@ */ package org.argeo.cms.ui.workbench.internal.useradmin.parts; +import static org.argeo.cms.util.UserAdminUtils.getProperty; +import static org.argeo.naming.LdapAttrs.cn; +import static org.argeo.naming.LdapAttrs.givenName; +import static org.argeo.naming.LdapAttrs.mail; +import static org.argeo.naming.LdapAttrs.sn; +import static org.argeo.naming.LdapAttrs.uid; + import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -30,7 +37,6 @@ import org.argeo.cms.ui.workbench.internal.useradmin.providers.CommonNameLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.DomainNameLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.RoleIconLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserFilter; -import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserNameLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserTableDefaultDClickListener; import org.argeo.cms.util.CmsUtils; import org.argeo.cms.util.UserAdminUtils; @@ -127,14 +133,14 @@ public class UserMainPage extends FormPage implements ArgeoNames { Composite body = tk.createComposite(section, SWT.WRAP); body.setLayoutData(EclipseUiUtils.fillAll()); section.setClient(body); - body.setLayout(new GridLayout(6, false)); - - final Text commonName = createLT(tk, body, "User Name", UserAdminUtils.getProperty(user, LdapAttrs.cn.name())); - commonName.setEnabled(false); + // body.setLayout(new GridLayout(6, false)); + body.setLayout(new GridLayout(2, false)); - final Text distinguishedName = createLT(tk, body, "Login", - UserAdminUtils.getProperty(user, LdapAttrs.uid.name())); - distinguishedName.setEnabled(false); + Text commonName = createReadOnlyLT(tk, body, "Name", getProperty(user, cn)); + Text distinguishedName = createReadOnlyLT(tk, body, "Login", getProperty(user, uid)); + Text firstName = createLT(tk, body, "First name", getProperty(user, givenName)); + Text lastName = createLT(tk, body, "Last name", getProperty(user, sn)); + Text email = createLT(tk, body, "Email", getProperty(user, mail)); Link resetPwdLk = new Link(body, SWT.NONE); if (!UserAdminUtils.isCurrentUser(user)) { @@ -142,13 +148,6 @@ public class UserMainPage extends FormPage implements ArgeoNames { } resetPwdLk.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1)); - final Text firstName = createLT(tk, body, "First name", - UserAdminUtils.getProperty(user, LdapAttrs.givenName.name())); - - final Text lastName = createLT(tk, body, "Last name", UserAdminUtils.getProperty(user, LdapAttrs.sn.name())); - - final Text email = createLT(tk, body, "Email", UserAdminUtils.getProperty(user, LdapAttrs.mail.name())); - // create form part (controller) AbstractFormPart part = new SectionPart((Section) body.getParent()) { private MainInfoListener listener; @@ -289,25 +288,26 @@ public class UserMainPage extends FormPage implements ArgeoNames { Composite body = (Composite) section.getClient(); body.setLayout(EclipseUiUtils.noSpaceGridLayout()); - boolean isAdmin = CurrentUser.isInRole(NodeConstants.ROLE_ADMIN); + // boolean isAdmin = CurrentUser.isInRole(NodeConstants.ROLE_ADMIN); // Displayed columns List columnDefs = new ArrayList(); columnDefs.add(new ColumnDefinition(new RoleIconLP(), "", 0, 24)); - columnDefs.add(new ColumnDefinition(new CommonNameLP(), "Common Name", 250)); - columnDefs.add(new ColumnDefinition(new DomainNameLP(), "Domain Name", 120)); + columnDefs.add(new ColumnDefinition(new CommonNameLP(), "Common Name", 150)); + columnDefs.add(new ColumnDefinition(new DomainNameLP(), "Domain Name", 100)); // Only show technical DN to administrators - if (isAdmin) - columnDefs.add(new ColumnDefinition(new UserNameLP(), "Distinguished Name", 300)); + // if (isAdmin) + // columnDefs.add(new ColumnDefinition(new UserNameLP(), "Distinguished Name", + // 300)); // Create and configure the table final LdifUsersTable userViewerCmp = new MyUserTableViewer(body, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, user); userViewerCmp.setColumnDefinitions(columnDefs); - if (isAdmin) - userViewerCmp.populateWithStaticFilters(false, false); - else - userViewerCmp.populate(true, false); + // if (isAdmin) + // userViewerCmp.populateWithStaticFilters(false, false); + // else + userViewerCmp.populate(true, false); GridData gd = EclipseUiUtils.fillAll(); gd.heightHint = 500; userViewerCmp.setLayoutData(gd); @@ -557,4 +557,15 @@ public class UserMainPage extends FormPage implements ArgeoNames { CmsUtils.style(text, CmsWorkbenchStyles.WORKBENCH_FORM_TEXT); return text; } + + Text createReadOnlyLT(FormToolkit toolkit, Composite parent, String label, String value) { + Label lbl = toolkit.createLabel(parent, label); + lbl.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false)); + lbl.setFont(EclipseUiUtils.getBoldFont(parent)); + Text text = toolkit.createText(parent, value, SWT.NONE); + text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + text.setEditable(false); + CmsUtils.style(text, CmsWorkbenchStyles.WORKBENCH_FORM_TEXT); + return text; + } } diff --git a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/providers/CommonNameLP.java b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/providers/CommonNameLP.java index 5059f7c3e..cbe6b6a1c 100644 --- a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/providers/CommonNameLP.java +++ b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/providers/CommonNameLP.java @@ -12,4 +12,10 @@ public class CommonNameLP extends UserAdminAbstractLP { public String getText(User user) { return UserAdminUtils.getProperty(user, LdapAttrs.cn.name()); } + + @Override + public String getToolTipText(Object element) { + return UserAdminUtils.getProperty((User) element, LdapAttrs.DN); + } + } diff --git a/org.argeo.cms.ui/src/org/argeo/cms/util/UserAdminUtils.java b/org.argeo.cms.ui/src/org/argeo/cms/util/UserAdminUtils.java index 83f3d0042..f8c7a5720 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/util/UserAdminUtils.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/util/UserAdminUtils.java @@ -51,8 +51,8 @@ public class UserAdminUtils { // OTHER USERS HELPERS /** - * Retrieves the local id of a user or group, that is respectively the uid - * or cn of the passed dn with no {@link UserAdmin} + * Retrieves the local id of a user or group, that is respectively the uid or cn + * of the passed dn with no {@link UserAdmin} */ public static String getUserLocalId(String dn) { LdapName ldapName = getLdapName(dn); @@ -65,8 +65,8 @@ public class UserAdminUtils { } /** - * Returns the local username if no user with this dn is found or if the - * found user has no defined display name + * Returns the local username if no user with this dn is found or if the found + * user has no defined display name */ public static String getUserDisplayName(UserAdmin userAdmin, String dn) { Role user = userAdmin.getRole(dn); @@ -97,8 +97,8 @@ public class UserAdminUtils { // LDAP NAMES HELPERS /** - * Easily retrieves one of the {@link Role}'s property or an empty String if - * the requested property is not defined + * Easily retrieves one of the {@link Role}'s property or an empty String if the + * requested property is not defined */ public final static String getProperty(Role role, String key) { Object obj = role.getProperties().get(key); @@ -108,9 +108,16 @@ public class UserAdminUtils { return ""; } + public final static String getProperty(Role role, Enum key) { + Object obj = role.getProperties().get(key.name()); + if (obj != null) + return (String) obj; + else + return ""; + } + /** - * Simply retrieves a LDAP name from a {@link LdapAttrs.DN} with no - * exception + * Simply retrieves a LDAP name from a {@link LdapAttrs.DN} with no exception */ private static LdapName getLdapName(String dn) { try { diff --git a/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/parts/LdifUsersTable.java b/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/parts/LdifUsersTable.java index 07e5b2a35..d6dc82cef 100644 --- a/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/parts/LdifUsersTable.java +++ b/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/parts/LdifUsersTable.java @@ -66,8 +66,7 @@ public abstract class LdifUsersTable extends Composite { } // TODO workaround the bug of the table layout in the Form - public LdifUsersTable(Composite parent, int style, - boolean preventTableLayout) { + public LdifUsersTable(Composite parent, int style, boolean preventTableLayout) { super(parent, SWT.NO_FOCUS); this.tableStyle = style; this.preventTableLayout = preventTableLayout; @@ -83,8 +82,8 @@ public abstract class LdifUsersTable extends Composite { * @param addFilter * choose to add a field to filter results or not * @param addSelection - * choose to add a column to select some of the displayed results - * or not + * choose to add a column to select some of the displayed results or + * not */ public void populate(boolean addFilter, boolean addSelection) { // initialization @@ -110,8 +109,8 @@ public abstract class LdifUsersTable extends Composite { * @param showMore * display static filters on creation * @param addSelection - * choose to add a column to select some of the displayed results - * or not + * choose to add a column to select some of the displayed results or + * not */ public void populateWithStaticFilters(boolean showMore, boolean addSelection) { // initialization @@ -134,8 +133,7 @@ public abstract class LdifUsersTable extends Composite { /** Enable access to the selected users or groups */ public List getSelectedUsers() { if (hasSelectionColumn) { - Object[] elements = ((CheckboxTableViewer) usersViewer) - .getCheckedElements(); + Object[] elements = ((CheckboxTableViewer) usersViewer).getCheckedElements(); List result = new ArrayList(); for (Object obj : elements) { @@ -143,8 +141,8 @@ public abstract class LdifUsersTable extends Composite { } return result; } else - throw new EclipseUiException("Unvalid request: no selection column " - + "has been created for the current table"); + throw new EclipseUiException( + "Unvalid request: no selection column " + "has been created for the current table"); } /** Returns the User table viewer, typically to add doubleclick listener */ @@ -153,8 +151,8 @@ public abstract class LdifUsersTable extends Composite { } /** - * Force the refresh of the underlying table using the current filter string - * if relevant + * Force the refresh of the underlying table using the current filter string if + * relevant */ public void refresh() { String filter = hasFilter ? filterTxt.getText().trim() : null; @@ -218,10 +216,8 @@ public abstract class LdifUsersTable extends Composite { /* MANAGE FILTER */ private void createFilterPart(Composite parent) { // Text Area for the filter - filterTxt = new Text(parent, SWT.BORDER | SWT.SEARCH | SWT.ICON_SEARCH - | SWT.ICON_CANCEL); - filterTxt.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL - | GridData.HORIZONTAL_ALIGN_FILL)); + filterTxt = new Text(parent, SWT.BORDER | SWT.SEARCH | SWT.ICON_SEARCH | SWT.ICON_CANCEL); + filterTxt.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false)); filterTxt.addModifyListener(new ModifyListener() { private static final long serialVersionUID = 1L; @@ -236,10 +232,10 @@ public abstract class LdifUsersTable extends Composite { filterComp.setLayout(new GridLayout(2, false)); filterComp.setLayoutData(EclipseUiUtils.fillWidth()); // generic search - filterTxt = new Text(filterComp, SWT.BORDER | SWT.SEARCH - | SWT.ICON_SEARCH | SWT.ICON_CANCEL); - filterTxt.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL - | GridData.HORIZONTAL_ALIGN_FILL)); + filterTxt = new Text(filterComp, SWT.BORDER | SWT.SEARCH | SWT.ICON_SEARCH | SWT.ICON_CANCEL); + filterTxt.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false)); + // filterTxt.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | + // GridData.HORIZONTAL_ALIGN_FILL)); filterTxt.addModifyListener(new ModifyListener() { private static final long serialVersionUID = 1L; @@ -254,8 +250,7 @@ public abstract class LdifUsersTable extends Composite { staticFilterCmp.setLayoutData(EclipseUiUtils.fillWidth(2)); populateStaticFilters(staticFilterCmp); - MoreLinkListener listener = new MoreLinkListener(moreLk, - staticFilterCmp, showMore); + MoreLinkListener listener = new MoreLinkListener(moreLk, staticFilterCmp, showMore); // initialise the layout listener.refresh(); moreLk.addSelectionListener(listener); @@ -274,8 +269,7 @@ public abstract class LdifUsersTable extends Composite { private final Composite staticFilterCmp; private final Link moreLk; - public MoreLinkListener(Link moreLk, Composite staticFilterCmp, - boolean isShown) { + public MoreLinkListener(Link moreLk, Composite staticFilterCmp, boolean isShown) { this.moreLk = moreLk; this.staticFilterCmp = staticFilterCmp; this.isShown = isShown; @@ -332,8 +326,7 @@ public abstract class LdifUsersTable extends Composite { // int offset = 0; if (hasSelectionColumn) { // offset = 1; - column = ViewerUtils.createTableViewerColumn(viewer, "", SWT.NONE, - 25); + column = ViewerUtils.createTableViewerColumn(viewer, "", SWT.NONE, 25); column.setLabelProvider(new ColumnLabelProvider() { private static final long serialVersionUID = 1L; @@ -342,8 +335,7 @@ public abstract class LdifUsersTable extends Composite { return null; } }); - layout.setColumnData(column.getColumn(), new ColumnWeightData(25, - 25, false)); + layout.setColumnData(column.getColumn(), new ColumnWeightData(25, 25, false)); SelectionAdapter selectionAdapter = new SelectionAdapter() { private static final long serialVersionUID = 1L; @@ -353,8 +345,7 @@ public abstract class LdifUsersTable extends Composite { @Override public void widgetSelected(SelectionEvent e) { allSelected = !allSelected; - ((CheckboxTableViewer) usersViewer) - .setAllChecked(allSelected); + ((CheckboxTableViewer) usersViewer).setAllChecked(allSelected); } }; column.getColumn().addSelectionListener(selectionAdapter); @@ -386,8 +377,8 @@ public abstract class LdifUsersTable extends Composite { } /** Default creation of a column for a user table */ - private TableViewerColumn createTableColumn(TableViewer tableViewer, - TableColumnLayout layout, ColumnDefinition columnDef) { + private TableViewerColumn createTableColumn(TableViewer tableViewer, TableColumnLayout layout, + ColumnDefinition columnDef) { boolean resizable = true; TableViewerColumn tvc = new TableViewerColumn(tableViewer, SWT.NONE); @@ -404,8 +395,7 @@ public abstract class LdifUsersTable extends Composite { // .getDisplay()); tvc.setLabelProvider(lp); - layout.setColumnData(column, new ColumnWeightData( - columnDef.getWeight(), columnDef.getMinWidth(), resizable)); + layout.setColumnData(column, new ColumnWeightData(columnDef.getWeight(), columnDef.getMinWidth(), resizable)); return tvc; }