X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=security%2Feclipse%2Fplugins%2Forg.argeo.security.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2Fviews%2FUsersView.java;h=d77ad0e07f154471f1f9fc71976cc4ef4d09a3b8;hb=136dab5338b5f731b285d17c804861bd5e5a9b5c;hp=d830155207f1db851dbb51297a5ebb2076e23d89;hpb=d6b532e59ebbea777f53fe55119524234dc95144;p=lgpl%2Fargeo-commons.git diff --git a/security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/views/UsersView.java b/security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/views/UsersView.java index d83015520..d77ad0e07 100644 --- a/security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/views/UsersView.java +++ b/security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/views/UsersView.java @@ -6,6 +6,7 @@ import org.argeo.ArgeoException; import org.argeo.security.ArgeoSecurityService; import org.argeo.security.ArgeoUser; import org.argeo.security.equinox.CurrentUser; +import org.argeo.security.nature.SimpleUserNature; import org.argeo.security.ui.SecurityUiPlugin; import org.argeo.security.ui.commands.OpenArgeoUserEditor; import org.eclipse.core.commands.Command; @@ -31,49 +32,40 @@ import org.eclipse.ui.commands.ICommandService; import org.eclipse.ui.handlers.IHandlerService; import org.eclipse.ui.part.ViewPart; +/** List all users. */ public class UsersView extends ViewPart { + public final static String ID = "org.argeo.security.ui.usersView"; + private TableViewer viewer; private ArgeoSecurityService securityService; + private String simpleNatureType = null; + @Override public void createPartControl(Composite parent) { - - // viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL - // | SWT.V_SCROLL); viewer = new TableViewer(createTable(parent)); viewer.setContentProvider(new UsersContentProvider()); viewer.setLabelProvider(new UsersLabelProvider()); - viewer.setInput(getViewSite()); viewer.addDoubleClickListener(new ViewDoubleClickListener()); - // viewer.setInput(SecurityContextHolder.getContext()); + viewer.setInput(getViewSite()); } protected Table createTable(Composite parent) { - int style = SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL; - - Table table = new Table(parent, style); - - // GridData gridData = new GridData(GridData.FILL_BOTH); - // gridData.grabExcessVerticalSpace = true; - // gridData.grabExcessHorizontalSpace = true; - // gridData.horizontalSpan = 3; - // table.setLayoutData(gridData); - + Table table = new Table(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); table.setLinesVisible(true); table.setHeaderVisible(true); - TableColumn column = new TableColumn(table, SWT.LEFT, 0); - column.setText("ID"); - column.setWidth(100); - + column.setText("User"); + column.setWidth(50); column = new TableColumn(table, SWT.LEFT, 1); - column.setText("Password"); - column.setWidth(200); - - // column = new TableColumn(table, SWT.LEFT, 2); - // column.setText("Roles"); - // column.setWidth(300); - + column.setText("First Name"); + column.setWidth(100); + column = new TableColumn(table, SWT.LEFT, 2); + column.setText("Last Name"); + column.setWidth(100); + column = new TableColumn(table, SWT.LEFT, 3); + column.setText("E-mail"); + column.setWidth(100); return table; } @@ -86,31 +78,24 @@ public class UsersView extends ViewPart { this.securityService = securityService; } - private class UsersContentProvider implements IStructuredContentProvider { + public void setSimpleNatureType(String simpleNatureType) { + this.simpleNatureType = simpleNatureType; + } - public Object[] getElements(Object inputElement) { - return getChildren(inputElement); - } + public void refresh() { + viewer.refresh(); + } - public Object[] getChildren(Object parentElement) { - // try { - // Thread.sleep(3000); - // } catch (InterruptedException e) { - // // TODO Auto-generated catch block - // e.printStackTrace(); - // } + private class UsersContentProvider implements IStructuredContentProvider { - return securityService.getSecurityDao().listUsers().toArray(); + public Object[] getElements(Object inputElement) { + return securityService.listUsers().toArray(); } public void dispose() { - // TODO Auto-generated method stub - } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - // TODO Auto-generated method stub - } } @@ -119,17 +104,21 @@ public class UsersView extends ViewPart { ITableLabelProvider { public String getColumnText(Object element, int columnIndex) { String currentUsername = CurrentUser.getUsername(); - ArgeoUser argeoUser = (ArgeoUser) element; + ArgeoUser user = (ArgeoUser) element; + SimpleUserNature simpleNature = SimpleUserNature + .findSimpleUserNature(user, simpleNatureType); switch (columnIndex) { case 0: - String userName = argeoUser.getUsername(); + String userName = user.getUsername(); if (userName.equals(currentUsername)) userName = userName + "*"; return userName; case 1: - return argeoUser.getPassword(); + return simpleNature.getFirstName(); case 2: - return argeoUser.getRoles().toString(); + return simpleNature.getLastName(); + case 3: + return simpleNature.getEmail(); default: throw new ArgeoException("Unmanaged column " + columnIndex); }