Commit 3a25f069 authored by Gaston Dombiak's avatar Gaston Dombiak Committed by gato

1) Fixed deletion of groups. JM-701

2) Fixed caching problem. JM-801

git-svn-id: http://svn.igniterealtime.org/svn/repos/wildfire/trunk@4852 b35dd754-fafc-0310-a699-88a17e54d16e
parent 4eb05b84
......@@ -255,9 +255,14 @@ public class RosterManager extends BasicModule implements GroupEventListener, Us
}
public void groupDeleting(Group group, Map params) {
// Iterate on all the group users and update their rosters
for (JID deletedUser : getAffectedUsers(group)) {
groupUserDeleted(group, deletedUser);
// Get group members
Collection<JID> users = new HashSet<JID>(group.getMembers());
users.addAll(group.getAdmins());
// Get users whose roster will be updated
Collection<JID> affectedUsers = getAffectedUsers(group);
// Iterate on group members and update rosters of affected users
for (JID deletedUser : users) {
groupUserDeleted(group, affectedUsers, deletedUser);
}
}
......@@ -618,6 +623,11 @@ public class RosterManager extends BasicModule implements GroupEventListener, Us
if (roster != null) {
roster.addSharedUser(group, addedUser);
}
// Check if the roster is still not in memory
if (addedUserRoster == null && server.isLocal(addedUser)) {
addedUserRoster =
(Roster) CacheManager.getCache("Roster").get(addedUser.getNode());
}
// Update the roster of the newly added group user.
if (addedUserRoster != null) {
Collection<Group> groups = GroupManager.getInstance().getGroups(userToUpdate);
......@@ -681,6 +691,11 @@ public class RosterManager extends BasicModule implements GroupEventListener, Us
if (roster != null) {
roster.deleteSharedUser(group, deletedUser);
}
// Check if the roster is still not in memory
if (deletedUserRoster == null && server.isLocal(deletedUser)) {
deletedUserRoster =
(Roster) CacheManager.getCache("Roster").get(deletedUser.getNode());
}
// Update the roster of the newly deleted group user.
if (deletedUserRoster != null) {
deletedUserRoster.deleteSharedUser(userToUpdate, group);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment