]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UiAdminUtils.java
05858cbd4e4b290a74a0afb5821137e4e734a2de
[lgpl/argeo-commons.git] / org.argeo.security.ui.admin / src / org / argeo / security / ui / admin / internal / UiAdminUtils.java
1 package org.argeo.security.ui.admin.internal;
2
3 import java.security.AccessController;
4 import java.security.Principal;
5
6 import javax.security.auth.Subject;
7 import javax.security.auth.x500.X500Principal;
8
9 import org.osgi.service.useradmin.Role;
10 import org.osgi.service.useradmin.User;
11
12 /** First effort to centralize back end methods used by the user admin UI */
13 public class UiAdminUtils {
14 public final static String getUsername() {
15 Subject subject = Subject.getSubject(AccessController.getContext());
16 Principal principal = subject.getPrincipals(X500Principal.class)
17 .iterator().next();
18 return principal.getName();
19
20 }
21
22 public final static String getUsername(User user) {
23 String cn = getProperty(user, UserAdminConstants.KEY_CN);
24 if (isEmpty(cn))
25 cn = getProperty(user, UserAdminConstants.KEY_UID);
26 return cn;
27 }
28
29 public final static String getProperty(Role role, String key) {
30 Object obj = role.getProperties().get(key);
31 if (obj != null)
32 return (String) obj;
33 else
34 return "";
35 }
36
37 public final static String getDefaultCn(String firstName, String lastName) {
38 return (firstName.trim() + " " + lastName.trim() + " ").trim();
39 }
40
41 /*
42 * INTERNAL METHODS: Below methods are meant to stay here and are not part
43 * of a potential generic backend to manage the useradmin
44 */
45 public final static boolean notNull(String string) {
46 if (string == null)
47 return false;
48 else
49 return !"".equals(string.trim());
50 }
51
52 public final static boolean isEmpty(String string) {
53 if (string == null)
54 return true;
55 else
56 return "".equals(string.trim());
57 }
58
59 }