]> git.argeo.org Git - lgpl/argeo-commons.git/blob - security/eclipse/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/views/CurrentUserView.java
Introduce Argeo user edition
[lgpl/argeo-commons.git] / security / eclipse / plugins / org.argeo.security.ui / src / main / java / org / argeo / security / ui / views / CurrentUserView.java
1 package org.argeo.security.ui.views;
2
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;
15
16 public class CurrentUserView extends ViewPart {
17 private TableViewer viewer;
18
19 @Override
20 public void createPartControl(Composite parent) {
21
22 // viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL
23 // | SWT.V_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());
29 }
30
31 protected Table createTable(Composite parent) {
32 int style = SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL;
33
34 Table table = new Table(parent, style);
35
36 // GridData gridData = new GridData(GridData.FILL_BOTH);
37 // gridData.grabExcessVerticalSpace = true;
38 // gridData.grabExcessHorizontalSpace = true;
39 // gridData.horizontalSpan = 3;
40 // table.setLayoutData(gridData);
41
42 table.setLinesVisible(true);
43 table.setHeaderVisible(true);
44
45 TableColumn column = new TableColumn(table, SWT.LEFT, 0);
46 column.setText("ID");
47 column.setWidth(100);
48
49 // column = new TableColumn(table, SWT.LEFT, 1);
50 // column.setText("Password");
51 // column.setWidth(200);
52
53 // column = new TableColumn(table, SWT.LEFT, 2);
54 // column.setText("Roles");
55 // column.setWidth(300);
56
57 return table;
58 }
59
60 @Override
61 public void setFocus() {
62 viewer.getTable().setFocus();
63 }
64
65 private class UsersContentProvider implements IStructuredContentProvider {
66
67 public Object[] getElements(Object inputElement) {
68 return getChildren(inputElement);
69 }
70
71 public Object[] getChildren(Object parentElement) {
72 // ILoginContext secureContext = LoginContextFactory
73 // .createContext("SPRING");
74 // try {
75 // secureContext.login();
76 // } catch (LoginException e) {
77 // // login failed
78 // }
79 //
80 // Subject subject = null;
81 // // subject = Subject.getSubject(AccessController.getContext());
82 // try {
83 // subject = secureContext.getSubject();
84 // } catch (Exception e) {
85 // e.printStackTrace();
86 // throw new ArgeoException("Cannot retrieve subject", e);
87 // }
88 //
89 // if (subject == null)
90 // throw new ArgeoException("No subject found");
91 // return subject.getPrincipals().toArray();
92 return CurrentUser.roles().toArray();
93 }
94
95 public void dispose() {
96 // TODO Auto-generated method stub
97
98 }
99
100 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
101 // TODO Auto-generated method stub
102
103 }
104
105 }
106
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) {
112 // case 0:
113 // return argeoUser.getName();
114 // case 1:
115 // return argeoUser.toString();
116 // default:
117 // throw new ArgeoException("Unmanaged column " + columnIndex);
118 // }
119 return element.toString();
120 }
121
122 public Image getColumnImage(Object element, int columnIndex) {
123 // TODO Auto-generated method stub
124 return null;
125 }
126
127 }
128
129 }