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 2007/07/13 17:18:06 UTC

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

Author: andreas
Date: Fri Jul 13 08:18:05 2007
New Revision: 556032

URL: http://svn.apache.org/viewvc?view=rev&rev=556032
Log:
Initialize parameters in initParameters() instead of in setParameter(), see bug 42827.

Modified:
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupMembers.java
    lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/IPRangeGroups.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?view=diff&rev=556032&r1=556031&r2=556032
==============================================================================
--- 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 Fri Jul 13 08:18:05 2007
@@ -33,8 +33,6 @@
  */
 public class GroupMembers extends AccessControlUsecase {
 
-    private Group group;
-
     protected static final String GROUP_USERS = "groupUsers";
     protected static final String OTHER_USERS = "otherUsers";
     protected static final String ADD = "add";
@@ -47,6 +45,26 @@
      */
     protected void initParameters() {
         super.initParameters();
+        
+        Groupable[] members = getGroup().getMembers();
+        List groupUsers = new ArrayList();
+        for (int i = 0; i < members.length; i++) {
+            if (members[i] instanceof User) {
+                groupUsers.add(members[i]);
+            }
+        }
+        setParameter(GROUP_USERS, groupUsers);
+
+        User[] allUsers = getUserManager().getUsers();
+
+        List otherUsers = new ArrayList();
+        for (int i = 0; i < allUsers.length; i++) {
+            if (!groupUsers.contains(allUsers[i])) {
+                otherUsers.add(allUsers[i]);
+            }
+        }
+        setParameter(OTHER_USERS, otherUsers);
+        
         setExitParameter(GroupProfile.ID, getParameterAsString(GroupProfile.ID));
     }
 
@@ -56,12 +74,13 @@
     protected void doExecute() throws Exception {
         super.doExecute();
 
-        this.group.removeAllMembers();
+        final Group group = getGroup();
+        group.removeAllMembers();
 
         List groupUsers = (List) getParameter(GROUP_USERS);
         for (Iterator i = groupUsers.iterator(); i.hasNext();) {
             User user = (User) i.next();
-            this.group.add(user);
+            group.add(user);
             user.save();
         }
     }
@@ -110,41 +129,14 @@
         }
 
     }
-
-    /**
-     * @see org.apache.lenya.cms.usecase.Usecase#setParameter(java.lang.String, java.lang.Object)
-     */
-    public void setParameter(String name, Object value) {
-        super.setParameter(name, value);
-        if (name.equals(GroupProfile.ID)) {
-            String groupId = (String) value;
-            this.group = getGroupManager().getGroup(groupId);
-            if (this.group == null) {
-                throw new RuntimeException("Group [" + groupId + "] not found.");
-            }
-
-            Groupable[] members = this.group.getMembers();
-            List groupUsers = new ArrayList();
-            for (int i = 0; i < members.length; i++) {
-                if (members[i] instanceof User) {
-                    groupUsers.add(members[i]);
-                }
-            }
-            setParameter(GROUP_USERS, groupUsers);
-
-            User[] allUsers = getUserManager().getUsers();
-
-            List otherUsers = new ArrayList();
-
-            for (int i = 0; i < allUsers.length; i++) {
-                if (!groupUsers.contains(allUsers[i])) {
-                    otherUsers.add(allUsers[i]);
-                }
-            }
-
-            setParameter(OTHER_USERS, otherUsers);
+    
+    protected Group getGroup() {
+        String groupId = getParameterAsString(GroupProfile.ID);
+        Group group = getGroupManager().getGroup(groupId);
+        if (group == null) {
+            throw new RuntimeException("Group [" + groupId + "] not found.");
         }
-
+        return group;
     }
 
 }

Modified: lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/IPRangeGroups.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/IPRangeGroups.java?view=diff&rev=556032&r1=556031&r2=556032
==============================================================================
--- lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/IPRangeGroups.java (original)
+++ lenya/trunk/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/IPRangeGroups.java Fri Jul 13 08:18:05 2007
@@ -31,8 +31,6 @@
  */
 public class IPRangeGroups extends AccessControlUsecase {
 
-    private IPRange ipRange;
-
     protected static final String IP_RANGE_GROUPS = "ipRangeGroups";
     protected static final String OTHER_GROUPS = "otherGroups";
     protected static final String ADD = "add";
@@ -46,15 +44,25 @@
     protected void doExecute() throws Exception {
         super.doExecute();
         
-        this.ipRange.removeFromAllGroups();
+        IPRange ipRange = getIpRange();
+        ipRange.removeFromAllGroups();
         
         List ipRangeGroups = (List) getParameter(IP_RANGE_GROUPS);
         for (Iterator i = ipRangeGroups.iterator(); i.hasNext(); ) {
             Group group = (Group) i.next();
-            group.add(this.ipRange);
+            group.add(ipRange);
         }
         ipRange.save();
     }
+    
+    protected IPRange getIpRange() {
+        String ipRangeId = getParameterAsString(IPRangeProfile.ID);
+        IPRange ipRange = getIpRangeManager().getIPRange(ipRangeId);
+        if (ipRange == null) {
+            throw new RuntimeException("IP range [" + ipRangeId + "] not found.");
+        }
+        return ipRange;
+    }
 
     /**
      * @see org.apache.lenya.cms.usecase.Usecase#advance()
@@ -101,37 +109,21 @@
 
     }
 
-    /**
-     * @see org.apache.lenya.cms.usecase.Usecase#setParameter(java.lang.String,
-     *      java.lang.Object)
-     */
-    public void setParameter(String name, Object value) {
-        super.setParameter(name, value);
-        if (name.equals(IPRangeProfile.ID)) {
-            String ipRangeId = (String) value;
-            this.ipRange = getIpRangeManager().getIPRange(ipRangeId);
-            if (this.ipRange == null) {
-                throw new RuntimeException("IP range [" + ipRangeId + "] not found.");
-            }
-
-            Group[] ipRangeGroupArray = this.ipRange.getGroups();
-            List ipRangeGroups = new ArrayList(Arrays.asList(ipRangeGroupArray));
-
-            setParameter(IP_RANGE_GROUPS, ipRangeGroups);
-
-            Group[] allGroups = getGroupManager().getGroups();
-
-            List otherGroups = new ArrayList();
+    protected void initParameters() {
+        super.initParameters();
+        Group[] ipRangeGroupArray = getIpRange().getGroups();
+        
+        List ipRangeGroups = new ArrayList(Arrays.asList(ipRangeGroupArray));
+        setParameter(IP_RANGE_GROUPS, ipRangeGroups);
 
-            for (int i = 0; i < allGroups.length; i++) {
-                if (!ipRangeGroups.contains(allGroups[i])) {
-                    otherGroups.add(allGroups[i]);
-                }
+        Group[] allGroups = getGroupManager().getGroups();
+        List otherGroups = new ArrayList();
+        for (int i = 0; i < allGroups.length; i++) {
+            if (!ipRangeGroups.contains(allGroups[i])) {
+                otherGroups.add(allGroups[i]);
             }
-
-            setParameter(OTHER_GROUPS, otherGroups);
         }
-
+        setParameter(OTHER_GROUPS, otherGroups);
     }
 
 }



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