You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2009/01/22 13:08:41 UTC

svn commit: r736615 - /lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupMembers.java

Author: andreas
Date: Thu Jan 22 04:08:40 2009
New Revision: 736615

URL: http://svn.apache.org/viewvc?rev=736615&view=rev
Log:
Save users after they have been removed from a group. Fixes bug 46111.

Modified:
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupMembers.java

Modified: lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupMembers.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupMembers.java?rev=736615&r1=736614&r2=736615&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupMembers.java (original)
+++ lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupMembers.java Thu Jan 22 04:08:40 2009
@@ -18,8 +18,10 @@
 package org.apache.lenya.cms.ac.usecases;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Set;
 
 import org.apache.lenya.ac.Group;
 import org.apache.lenya.ac.Groupable;
@@ -74,14 +76,27 @@
     protected void doExecute() throws Exception {
         super.doExecute();
 
+        Set usersToSave = new HashSet();
+        
         final Group group = getGroup();
+        Groupable[] members = group.getMembers();
+        for (int i = 0; i < members.length; i++) {
+            if (members[i] instanceof User) {
+                usersToSave.add(members[i]);
+            }
+        }
+        
         group.removeAllMembers();
 
         List groupUsers = (List) getParameter(GROUP_USERS);
         for (Iterator i = groupUsers.iterator(); i.hasNext();) {
             User user = (User) i.next();
             group.add(user);
-            user.save();
+            usersToSave.add(user);
+        }
+        
+        for (Iterator i = usersToSave.iterator(); i.hasNext(); ) {
+            ((User) i.next()).save();
         }
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org