1 package org.argeo.connect.ui.widgets;
2
3 import java.util.ArrayList;
4 import java.util.LinkedHashMap;
5 import java.util.List;
6 import java.util.Map;
7
8 import org.argeo.connect.UserAdminService;
9 import org.argeo.eclipse.ui.EclipseUiUtils;
10 import org.eclipse.swt.widgets.Text;
11 import org.osgi.service.useradmin.User;
12
13
14 @Deprecated
15 public class AssignedToDropDown extends ConnectAbstractDropDown {
16 private final UserAdminService userService;
17 private final boolean includeUsers;
18 private final boolean includeSystemRoles;
19
20
21
22 private Map<String, User> userMap = new LinkedHashMap<String, User>();
23
24
25
26
27
28
29
30 public AssignedToDropDown(Text text, UserAdminService userAdminService, boolean includeUsers,
31 boolean includeSystemRoles) {
32 super(text);
33 this.userService = userAdminService;
34 this.includeUsers = includeUsers;
35 this.includeSystemRoles = includeSystemRoles;
36 init();
37 }
38
39 public void resetDN(String dn) {
40 reset(userService.getUserDisplayName(dn));
41 }
42
43 @Override
44 public String getText() {
45 String groupId = null;
46 String dname = super.getText();
47 if (EclipseUiUtils.notEmpty(dname))
48 groupId = userMap.get(dname).getName();
49 return groupId;
50 }
51
52
53 @Override
54 protected List<String> getFilteredValues(String filter) {
55 List<User> users = userService.listGroups(filter, includeUsers, includeSystemRoles);
56 userMap.clear();
57 List<String> res = new ArrayList<String>();
58
59 for (User user : users) {
60 String dn = user.getName();
61 String userDName = userService.getUserDisplayName(dn);
62 userMap.put(userDName, user);
63 res.add(userDName);
64 }
65 return res;
66 }
67 }