]>
git.argeo.org Git - gpl/argeo-suite.git/blob - swt/org.argeo.app.ui/src/org/argeo/app/ui/people/UserColumn.java
1 package org
.argeo
.app
.ui
.people
;
3 import org
.argeo
.api
.acr
.Content
;
4 import org
.argeo
.api
.acr
.ldap
.LdapAcrUtils
;
5 import org
.argeo
.api
.acr
.ldap
.LdapAttr
;
6 import org
.argeo
.api
.acr
.ldap
.LdapObj
;
7 import org
.argeo
.api
.cms
.ux
.CmsIcon
;
8 import org
.argeo
.app
.ui
.SuiteIcon
;
9 import org
.argeo
.cms
.CurrentUser
;
10 import org
.argeo
.cms
.auth
.UserAdminUtils
;
11 import org
.argeo
.cms
.ux
.widgets
.Column
;
12 import org
.osgi
.service
.useradmin
.User
;
14 public class UserColumn
implements Column
<Content
> {
16 public String
getText(Content role
) {
17 if (role
.hasContentClass(LdapObj
.inetOrgPerson
))
18 return UserAdminUtils
.getUserDisplayName(role
.adapt(User
.class));
19 else if (role
.hasContentClass(LdapObj
.organization
))
20 return role
.attr(LdapAttr
.o
);
21 else if (role
.hasContentClass(LdapObj
.groupOfNames
)) {
22 // TODO make it more generic at ACR level
23 Object label
= LdapAcrUtils
.getLocalized(role
, LdapAttr
.cn
.qName(), CurrentUser
.locale());
24 return label
.toString();
30 public CmsIcon
getIcon(Content role
) {
31 if (role
.hasContentClass(LdapObj
.posixAccount
))
32 return SuiteIcon
.user
;
33 else if (role
.hasContentClass(LdapObj
.inetOrgPerson
))
34 return SuiteIcon
.person
;
35 else if (role
.hasContentClass(LdapObj
.organization
))
36 return SuiteIcon
.organisationContact
;
37 else if (role
.hasContentClass(LdapObj
.groupOfNames
))
38 return SuiteIcon
.group
;