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%2FUserTableComposite.java;h=720faded4c808de1273df7a86141331f87cb4aaa;hb=a0970624072b4d5464ce778529a20115c8d68636;hp=5e969653cd4fe00489eeee52ac5210e6feea8d55;hpb=368bd27f3da5356a1e45ae3645f64e674eb89904;p=lgpl%2Fargeo-commons.git diff --git a/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/UserTableComposite.java b/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/UserTableComposite.java index 5e969653c..720faded4 100644 --- a/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/UserTableComposite.java +++ b/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/UserTableComposite.java @@ -51,6 +51,8 @@ public class UserTableComposite extends Composite implements ArgeoNames { // private final static Log log = // LogFactory.getLog(UserTableComposite.class); + private static final long serialVersionUID = -7385959046279360420L; + private TableViewer usersViewer; private Text filterTxt; private final static String FILTER_HELP_MSG = "Type filter criterion " @@ -139,6 +141,13 @@ public class UserTableComposite extends Composite implements ArgeoNames { public TableViewer getTableViewer() { return usersViewer; } + + /** Returns filter String or null*/ + protected String getFilterString() { + return hasFilter ? filterTxt.getText() : null; + } + + private TableViewer createTableViewer(final Composite parent) { int style = SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL; @@ -161,19 +170,21 @@ public class UserTableComposite extends Composite implements ArgeoNames { TableViewerColumn column; int offset = 0; - // if (hasSelectionColumn) { if (hasSelectionColumn) { offset = 1; column = ViewerUtils.createTableViewerColumn(viewer, "", SWT.NONE, 25); - // column.setEditingSupport(new SelectedEditingSupport(viewer)); column.setLabelProvider(new ColumnLabelProvider() { + private static final long serialVersionUID = 1L; + @Override public String getText(Object element) { return null; } }); SelectionAdapter selectionAdapter = new SelectionAdapter() { + private static final long serialVersionUID = 1L; + boolean allSelected = false; @Override @@ -211,41 +222,10 @@ public class UserTableComposite extends Composite implements ArgeoNames { return viewer; } - // private class SelectedEditingSupport extends EditingSupport { - // private final TableViewer viewer; - // - // public SelectedEditingSupport(TableViewer viewer) { - // super(viewer); - // this.viewer = viewer; - // } - // - // @Override - // protected CellEditor getCellEditor(Object element) { - // return new CheckboxCellEditor(viewer.getTable()); - // } - // - // @Override - // protected boolean canEdit(Object element) { - // return true; - // } - // - // @Override - // protected Object getValue(Object element) { - // return selectedItems.contains(element); - // } - // - // @Override - // protected void setValue(Object element, Object value) { - // if ((Boolean) value && !selectedItems.contains(element)) - // selectedItems.add((Node) element); - // else if (!(Boolean) value && selectedItems.contains(element)) - // selectedItems.remove((Node) element); - // viewer.update(element, null); - // } - // } - private class CLProvider extends SimpleJcrNodeLabelProvider { + private static final long serialVersionUID = 1L; + public CLProvider(String propertyName) { super(propertyName); } @@ -301,6 +281,7 @@ public class UserTableComposite extends Composite implements ArgeoNames { } private class UsersContentProvider implements IStructuredContentProvider { + private static final long serialVersionUID = 1L; public Object[] getElements(Object inputElement) { return (Object[]) inputElement; @@ -322,6 +303,7 @@ public class UserTableComposite extends Composite implements ArgeoNames { filterTxt.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL)); filterTxt.addModifyListener(new ModifyListener() { + private static final long serialVersionUID = 1L; public void modifyText(ModifyEvent event) { refreshFilteredList(); @@ -331,12 +313,9 @@ public class UserTableComposite extends Composite implements ArgeoNames { /** * Refresh the user list: caller might overwrite in order to display a - * subset of all users + * subset of all users, typically to remove current user from the list */ protected void refreshFilteredList() { - // if (hasSelectionColumn) - // selectedItems.clear(); - List nodes; try { nodes = JcrUtils.nodeIteratorToList(listFilteredElements(session, @@ -347,18 +326,6 @@ public class UserTableComposite extends Composite implements ArgeoNames { } } - // /** - // * Enable a children class to directly set an array of users to the - // viewer, - // * when such a behaviour cannot be achieved by overwriting the - // * refreshFilteredList() method - // */ - // protected void setFilteredList(Object[] nodes) { - // // if (hasSelectionColumn) - // // selectedItems.clear(); - // usersViewer.setInput(nodes); - // } - /** * Build repository request : caller might overwrite in order to display a * subset of all users @@ -371,21 +338,9 @@ public class UserTableComposite extends Composite implements ArgeoNames { Selector source = factory.selector(ArgeoTypes.ARGEO_USER_PROFILE, ArgeoTypes.ARGEO_USER_PROFILE); - // // Create a dynamic operand for each property on which we want to - // filter - // DynamicOperand userIdDO = factory.propertyValue( - // source.getSelectorName(), ARGEO_USER_ID); - // DynamicOperand fullNameDO = factory.propertyValue( - // source.getSelectorName(), Property.JCR_TITLE); - // DynamicOperand mailDO = - // factory.propertyValue(source.getSelectorName(), - // ARGEO_PRIMARY_EMAIL); - - // Default Constraint: no source artifacts + // Dynamically build constraint depending on the filter String Constraint defaultC = null; - // Build constraints based the textArea content if (filter != null && !"".equals(filter.trim())) { - // Parse the String String[] strs = filter.trim().split(" "); for (String token : strs) { StaticOperand so = factory.literal(session.getValueFactory()