Hi,
I'm storing tuples of strings in the database (accessing via ActiveObjects).
One of the strings is the username of a bamboo user. When getting the membership of this user I usually call:
com.atlassian.user.User user = getBambooUserManager().getUser(userName);
Pager<Group> groups = getBambooUserManager().getGroups(user);
But sometimes it happens that this call will return an empty list.
When I then check using all known groups:
for(Group g : groups){
System.out.println(g.getName());
Pager<String> members = getBambooUserManager().getMemberNames(g);
for(String m : members){
User user = getBambooUserManager().getUser(m);
System.out.println(user);
}
}
and iterating and checking the names of the member the affected user will be in that list of a certain group. But still calling
getBambooUserManager().getGroups(com.atlassian.user.User user)
will return an empty list.
The instance of BambooUserManager is always the same (a static reference in a class).
When I assign groups to the affected user and will double check this at /admin/user/viewUsers.action
everythings looks fine and need and the method getGroups(com.atlassian.user.User user) will return a list (or a pager) whith all assigned usergroups. When I then restart the bamboo server, the problem again occurs that the call of getGroups(User user) will return an empty list.
Best regards
Titus
Hi!
have you fix it?
I have met with the same issue.
Cheers,
Gonchik Tsymzhitov
Hi Gonchik,
yeah I'm using now the method getMemberNamesAsList() because I can start with the group names. Propably it helps:
BambooUserManager bum = getBambooUserManager();
ArrayList _groupNames = new ArrayList<String>();
Pager<Group> pager = bum.getGroups();
Collection<Group> page = pager.getCurrentPage();
for (Group group : page) {
_groupNames.add(group.getName());
}
while (!pager.onLastPage()) {
pager.nextPage();
page = pager.getCurrentPage();
for (Group group : page) {
_groupNames.add(group.getName());
}
}
for(String _groupName : _groupNames){
Group group = bum.getGroup(_groupName);
List<String> userNamesAsList = bum.getMemberNamesAsList(group);
for (String username : userNamesAsList) {
User u = bum.getUser(username);
}
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.