1 package org
.argeo
.suite
.ui
;
4 import javax
.jcr
.RepositoryException
;
6 import org
.argeo
.cms
.CmsUserManager
;
7 import org
.argeo
.cms
.ui
.CmsUiProvider
;
8 import org
.argeo
.cms
.ui
.util
.CmsUiUtils
;
9 import org
.argeo
.cms
.ui
.viewers
.Section
;
10 import org
.argeo
.naming
.LdapAttrs
;
11 import org
.eclipse
.swt
.SWT
;
12 import org
.eclipse
.swt
.widgets
.Composite
;
13 import org
.eclipse
.swt
.widgets
.Control
;
14 import org
.eclipse
.swt
.widgets
.Label
;
15 import org
.eclipse
.swt
.widgets
.Text
;
16 import org
.osgi
.service
.useradmin
.User
;
18 /** Edit a suite user. */
19 public class SuiteUserUiProvider
implements CmsUiProvider
{
20 private CmsUserManager cmsUserManager
;
23 public Control
createUi(Composite parent
, Node context
) throws RepositoryException
{
24 Section main
= new Section(parent
, SWT
.NONE
, context
);
25 main
.setLayoutData(CmsUiUtils
.fillAll());
27 String uid
= context
.getName();
28 User user
= cmsUserManager
.getUserFromLocalId(uid
);
30 Text givenName
= new Text(main
, SWT
.SINGLE
);
31 givenName
.setText(getUserProperty(user
, LdapAttrs
.givenName
.name()));
33 Text sn
= new Text(main
, SWT
.SINGLE
);
34 sn
.setText(getUserProperty(user
, LdapAttrs
.sn
.name()));
36 Text email
= new Text(main
, SWT
.SINGLE
);
37 email
.setText(getUserProperty(user
, LdapAttrs
.mail
.name()));
39 Label lbl
= new Label(main
, SWT
.NONE
);
42 Label dnL
= new Label(main
, SWT
.NONE
);
43 dnL
.setText(user
.getName());
46 Section rolesSection
= new Section(main
, SWT
.NONE
, context
);
47 new Label(rolesSection
, SWT
.NONE
).setText("Roles:");
48 String
[] roles
= cmsUserManager
.getUserRoles(user
.getName());
49 for (String role
: roles
) {
50 new Label(rolesSection
, SWT
.NONE
).setText(role
);
56 public void setCmsUserManager(CmsUserManager cmsUserManager
) {
57 this.cmsUserManager
= cmsUserManager
;
60 private String
getUserProperty(Object element
, String key
) {
61 Object value
= ((User
) element
).getProperties().get(key
);
62 return value
!= null ? value
.toString() : null;