1 package org
.argeo
.security
.ui
.views
;
3 import org
.argeo
.security
.equinox
.CurrentUser
;
4 import org
.eclipse
.jface
.viewers
.IStructuredContentProvider
;
5 import org
.eclipse
.jface
.viewers
.ITableLabelProvider
;
6 import org
.eclipse
.jface
.viewers
.LabelProvider
;
7 import org
.eclipse
.jface
.viewers
.TableViewer
;
8 import org
.eclipse
.jface
.viewers
.Viewer
;
9 import org
.eclipse
.swt
.SWT
;
10 import org
.eclipse
.swt
.graphics
.Image
;
11 import org
.eclipse
.swt
.widgets
.Composite
;
12 import org
.eclipse
.swt
.widgets
.Table
;
13 import org
.eclipse
.swt
.widgets
.TableColumn
;
14 import org
.eclipse
.ui
.part
.ViewPart
;
16 public class CurrentUserView
extends ViewPart
{
17 private TableViewer viewer
;
20 public void createPartControl(Composite parent
) {
22 // viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL
24 viewer
= new TableViewer(createTable(parent
));
25 viewer
.setContentProvider(new UsersContentProvider());
26 viewer
.setLabelProvider(new UsersLabelProvider());
27 viewer
.setInput(getViewSite());
28 // viewer.setInput(SecurityContextHolder.getContext());
31 protected Table
createTable(Composite parent
) {
32 int style
= SWT
.MULTI
| SWT
.H_SCROLL
| SWT
.V_SCROLL
;
34 Table table
= new Table(parent
, style
);
36 // GridData gridData = new GridData(GridData.FILL_BOTH);
37 // gridData.grabExcessVerticalSpace = true;
38 // gridData.grabExcessHorizontalSpace = true;
39 // gridData.horizontalSpan = 3;
40 // table.setLayoutData(gridData);
42 table
.setLinesVisible(true);
43 table
.setHeaderVisible(true);
45 TableColumn column
= new TableColumn(table
, SWT
.LEFT
, 0);
49 // column = new TableColumn(table, SWT.LEFT, 1);
50 // column.setText("Password");
51 // column.setWidth(200);
53 // column = new TableColumn(table, SWT.LEFT, 2);
54 // column.setText("Roles");
55 // column.setWidth(300);
61 public void setFocus() {
62 viewer
.getTable().setFocus();
65 private class UsersContentProvider
implements IStructuredContentProvider
{
67 public Object
[] getElements(Object inputElement
) {
68 return getChildren(inputElement
);
71 public Object
[] getChildren(Object parentElement
) {
72 // ILoginContext secureContext = LoginContextFactory
73 // .createContext("SPRING");
75 // secureContext.login();
76 // } catch (LoginException e) {
80 // Subject subject = null;
81 // // subject = Subject.getSubject(AccessController.getContext());
83 // subject = secureContext.getSubject();
84 // } catch (Exception e) {
85 // e.printStackTrace();
86 // throw new ArgeoException("Cannot retrieve subject", e);
89 // if (subject == null)
90 // throw new ArgeoException("No subject found");
91 // return subject.getPrincipals().toArray();
92 return CurrentUser
.roles().toArray();
95 public void dispose() {
96 // TODO Auto-generated method stub
100 public void inputChanged(Viewer viewer
, Object oldInput
, Object newInput
) {
101 // TODO Auto-generated method stub
107 private class UsersLabelProvider
extends LabelProvider
implements
108 ITableLabelProvider
{
109 public String
getColumnText(Object element
, int columnIndex
) {
110 // Principal argeoUser = (Principal) element;
111 // switch (columnIndex) {
113 // return argeoUser.getName();
115 // return argeoUser.toString();
117 // throw new ArgeoException("Unmanaged column " + columnIndex);
119 return element
.toString();
122 public Image
getColumnImage(Object element
, int columnIndex
) {
123 // TODO Auto-generated method stub