//# 2 errors, 136 messages
//#
/*
    //#Members.java:1:1: class: org.apache.roller.weblogger.ui.struts2.editor.Members
 * Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  The ASF licenses this file to You
 * under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.  For additional information regarding
 * copyright in this work, please see the NOTICE file in the top level
 * directory of this distribution.
 */

package org.apache.roller.weblogger.ui.struts2.editor;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.business.WebloggerFactory;
import org.apache.roller.weblogger.business.UserManager;
import org.apache.roller.weblogger.pojos.WeblogPermission;
import org.apache.roller.weblogger.pojos.User;
import org.apache.roller.weblogger.ui.struts2.util.UIAction;
import org.apache.struts2.interceptor.ParameterAware;


/**
 * Allows weblog admin to list/modify member permissions.
 *
 * TODO: fix bug in UserManager which doesn't remove permissions from the
 * website.permissions collection when a permission is deleted.
 */
public class Members extends UIAction implements ParameterAware {
    
    private static Log log = LogFactory.getLog(Members.class);
    //#Members.java:43: method: org.apache.roller.weblogger.ui.struts2.editor.Members.org.apache.roller.weblogger.ui.struts2.editor.Members__static_init
    //#Members.java:43: Warning: method not available
    //#    -- call on Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: org.apache.roller.weblogger.ui.struts2.editor.Members__static_init
    //#    unanalyzed callee: Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#output(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/Members]
    //#output(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Dispatch_Table.execute()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Dispatch_Table.getParameter(Ljava/lang/String;)Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Dispatch_Table.getParameters()Ljava/util/Map;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Dispatch_Table.requiredWeblogPermissions()S
    //#output(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Dispatch_Table.save()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Dispatch_Table.setParameters(Ljava/util/Map;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): log
    //#post(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/Members] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Dispatch_Table.execute()Ljava/lang/String; == &execute
    //#post(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Dispatch_Table.getParameter(Ljava/lang/String;)Ljava/lang/String; == &getParameter
    //#post(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Dispatch_Table.getParameters()Ljava/util/Map; == &getParameters
    //#post(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Dispatch_Table.requiredWeblogPermissions()S == &requiredWeblogPermissions
    //#post(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Dispatch_Table.save()Ljava/lang/String; == &save
    //#post(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): __Dispatch_Table.setParameters(Ljava/util/Map;)V == &setParameters
    //#post(org.apache.roller.weblogger.ui.struts2.editor.Members__static_init): init'ed(log)
    //#Members.java:43: end of method: org.apache.roller.weblogger.ui.struts2.editor.Members.org.apache.roller.weblogger.ui.struts2.editor.Members__static_init
    
    // raw parameters from request
    private Map parameters = Collections.EMPTY_MAP;
    
    
    public Members() {
    //#Members.java:49: method: void org.apache.roller.weblogger.ui.struts2.editor.Members.org.apache.roller.weblogger.ui.struts2.editor.Members()
    //#Members.java:49: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.ui.struts2.util.UIAction()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: void org.apache.roller.weblogger.ui.struts2.editor.Members()
    //#    unanalyzed callee: void org.apache.roller.weblogger.ui.struts2.util.UIAction()
    //#input(void org.apache.roller.weblogger.ui.struts2.editor.Members()): java.util.Collections.EMPTY_MAP
    //#input(void org.apache.roller.weblogger.ui.struts2.editor.Members()): log
    //#input(void org.apache.roller.weblogger.ui.struts2.editor.Members()): this
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.Members()): this.actionName
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.Members()): this.desiredMenu
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.Members()): this.pageTitle
    //#output(void org.apache.roller.weblogger.ui.struts2.editor.Members()): this.parameters
    //#pre[1] (void org.apache.roller.weblogger.ui.struts2.editor.Members()): log != null
    //#presumption(void org.apache.roller.weblogger.ui.struts2.editor.Members()): init'ed(java.util.Collections.EMPTY_MAP)
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.Members()): this.actionName == &"members"
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.Members()): this.desiredMenu == &"editor"
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.Members()): this.pageTitle == &"memberPermissions.title"
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.Members()): this.parameters == java.util.Collections.EMPTY_MAP
    //#post(void org.apache.roller.weblogger.ui.struts2.editor.Members()): (soft) init'ed(this.parameters)
        log.debug("Instantiating members action");
    //#Members.java:50: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: void org.apache.roller.weblogger.ui.struts2.editor.Members()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
        
        this.actionName = "members";
        this.desiredMenu = "editor";
        this.pageTitle = "memberPermissions.title";
    }
    //#Members.java:55: end of method: void org.apache.roller.weblogger.ui.struts2.editor.Members.org.apache.roller.weblogger.ui.struts2.editor.Members()
    
    
    // admin perms required
    public short requiredWeblogPermissions() {
        return WeblogPermission.ADMIN;
    //#Members.java:60: method: short org.apache.roller.weblogger.ui.struts2.editor.Members.requiredWeblogPermissions()
    //#input(short requiredWeblogPermissions()): org.apache.roller.weblogger.pojos.WeblogPermission.ADMIN
    //#output(short requiredWeblogPermissions()): return_value
    //#presumption(short requiredWeblogPermissions()): init'ed(org.apache.roller.weblogger.pojos.WeblogPermission.ADMIN)
    //#post(short requiredWeblogPermissions()): return_value == org.apache.roller.weblogger.pojos.WeblogPermission.ADMIN
    //#post(short requiredWeblogPermissions()): (soft) init'ed(return_value)
    //#Members.java:60: end of method: short org.apache.roller.weblogger.ui.struts2.editor.Members.requiredWeblogPermissions()
    }
    
    
    public String execute() {
        
        log.debug("Showing weblog members page");
    //#Members.java:66: method: String org.apache.roller.weblogger.ui.struts2.editor.Members.execute()
    //#Members.java:66: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String execute()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
    //#input(String execute()): log
    //#output(String execute()): return_value
    //#pre[1] (String execute()): log != null
    //#post(String execute()): return_value == &"list"
        
        return LIST;
    //#Members.java:68: end of method: String org.apache.roller.weblogger.ui.struts2.editor.Members.execute()
    }
    
    
    public String save() {
        
        log.debug("Attempting to processing weblog permissions updates");
    //#Members.java:74: method: String org.apache.roller.weblogger.ui.struts2.editor.Members.save()
    //#Members.java:74: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
    //#input(String save()): ""._tainted
    //#input(String save()): "Error saving permissions on weblog - "._tainted
    //#input(String save()): "perm-"._tainted
    //#input(String save()): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/Members]
    //#input(String save()): __Descendant_Table[others]
    //#input(String save()): __Dispatch_Table.getParameter(Ljava/lang/String;)Ljava/lang/String;
    //#input(String save()): __Dispatch_Table.getParameters()Ljava/util/Map;
    //#input(String save()): log
    //#input(String save()): this
    //#input(String save()): this.__Tag
    //#input(String save()): this.parameters
    //#output(String save()): return_value
    //#pre[1] (String save()): log != null
    //#pre[3] (String save()): (soft) this.__Tag == org/apache/roller/weblogger/ui/struts2/editor/Members
    //#pre[4] (String save()): (soft) this.parameters != null
    //#presumption(String save()): java.util.Iterator:next(...)@90 != null
    //#presumption(String save()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@76 != null
    //#presumption(String save()): org.apache.roller.weblogger.pojos.Weblog:getPermissions(...)@78 != null
    //#presumption(String save()): org.apache.roller.weblogger.ui.struts2.editor.Members:getActionWeblog(...)@118 != null
    //#presumption(String save()): org.apache.roller.weblogger.ui.struts2.editor.Members:getActionWeblog(...)@78 != null
    //#post(String save()): return_value == &"list"
    //#unanalyzed(String save()): Effects-of-calling:java.util.Map:get
    //#test_vector(String save()): java.util.Iterator:hasNext(...)@83: {0}, {1}
    //#test_vector(String save()): java.util.Iterator:hasNext(...)@90: {0}, {1}
        
        UserManager userMgr = WebloggerFactory.getWeblogger().getUserManager();
    //#Members.java:76: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#Members.java:76: Warning: method not available
    //#    -- call on UserManager org.apache.roller.weblogger.business.Weblogger:getUserManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    unanalyzed callee: UserManager org.apache.roller.weblogger.business.Weblogger:getUserManager()
        
        List<WeblogPermission> permissions = getActionWeblog().getPermissions();
    //#Members.java:78: Warning: method not available
    //#    -- call on Weblog org.apache.roller.weblogger.ui.struts2.editor.Members:getActionWeblog()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    unanalyzed callee: Weblog org.apache.roller.weblogger.ui.struts2.editor.Members:getActionWeblog()
    //#Members.java:78: Warning: method not available
    //#    -- call on List org.apache.roller.weblogger.pojos.Weblog:getPermissions()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    unanalyzed callee: List org.apache.roller.weblogger.pojos.Weblog:getPermissions()
        
        // we have to copy the permissions list so that when we remove permissions
        // below we don't get ConcurrentModificationExceptions
        List<WeblogPermission> permsList = new ArrayList();
        for( WeblogPermission perm : permissions ) {
            permsList.add(perm);
        }
        
        int removed = 0;
        int changed = 0;
        try {
            for( WeblogPermission perms : permsList ) {
                
                String sval = getParameter("perm-" + perms.getId());
    //#Members.java:92: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.pojos.WeblogPermission:getId()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    unanalyzed callee: String org.apache.roller.weblogger.pojos.WeblogPermission:getId()
    //#Members.java:92: ?use of default init
    //#    init'ed(Obj_Id#390:getParameter(...))
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    basic block: bb_7
    //#    assertion: init'ed(Obj_Id#390:getParameter(...))
    //#    VN: getParameter(...)
    //#    Expected: Univ-VN-Set
    //#    Bad: {Invalid}
    //#    Attribs:  Ptr  Bad only invalid
                if (sval != null) {
    //#Members.java:93: Warning: test always goes same way
    //#    test predetermined because sval == null
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    from bb: bb_7
    //#    live edge: bb_7-->bb_15
    //#    tested vn: getParameter(...) == null
    //#    tested vn values: {1}
                    short val = Short.parseShort(sval);
    //#Members.java:94: Warning: dead code
    //#    dead code here because sval == null
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    dead bb: bb_8
                    User user = getAuthenticatedUser();
                    if (perms.getUser().getId().equals(user.getId()) && 
    //#Members.java:96: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    dead bb: bb_9
                            val < perms.getPermissionMask()) {
                        addError("memberPermissions.noSelfDemotions");
    //#Members.java:98: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    dead bb: bb_10
                    } else if (val != perms.getPermissionMask()) {
    //#Members.java:99: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    dead bb: bb_11
                        if (val == -1) {
    //#Members.java:100: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    dead bb: bb_12
                            userMgr.removePermissions(perms);
    //#Members.java:101: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    dead bb: bb_13
                            removed++;
                        } else {
                            perms.setPermissionMask(val);
    //#Members.java:104: Warning: dead code continues
    //#    dead code continues
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    dead bb: bb_14
                            userMgr.savePermissions(perms);
                            changed++;
                        }
                    }
                }
            }
            
            if (removed > 0 || changed > 0) {
    //#Members.java:112: Warning: test always goes same way
    //#    test predetermined because removed == 0
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    from bb: bb_16
    //#    live edge: bb_16-->bb_17
    //#    tested vn: removed
    //#    tested vn values: {0}
                log.debug("Weblog permissions updated, flushing changes");
    //#Members.java:113: Warning: dead code
    //#    dead code here because removed == 0
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    dead bb: bb_18
                
                WebloggerFactory.getWeblogger().flush();
            }
        } catch (Exception ex) {
            log.error("Error saving permissions on weblog - "+getActionWeblog().getHandle(), ex);
    //#Members.java:118: Warning: method not available
    //#    -- call on Weblog org.apache.roller.weblogger.ui.struts2.editor.Members:getActionWeblog()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    unanalyzed callee: Weblog org.apache.roller.weblogger.ui.struts2.editor.Members:getActionWeblog()
    //#Members.java:118: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.pojos.Weblog:getHandle()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    unanalyzed callee: String org.apache.roller.weblogger.pojos.Weblog:getHandle()
    //#Members.java:118: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
            // TODO: i18n
            addError("Error saving permissions");
    //#Members.java:120: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.ui.struts2.editor.Members:addError(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.ui.struts2.editor.Members:addError(String)
        }
        
        if (removed > 0) {
    //#Members.java:123: Warning: test always goes same way
    //#    test predetermined because removed == 0
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    from bb: bb_21
    //#    live edge: bb_21-->bb_23
    //#    tested vn: removed
    //#    tested vn values: {0}
            addMessage("memberPermissions.membersRemoved", ""+removed);
    //#Members.java:124: Warning: dead code
    //#    dead code here because removed == 0
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    dead bb: bb_22
        }
        if (changed > 0) {
    //#Members.java:126: Warning: test always goes same way
    //#    test predetermined because changed == 0
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    from bb: bb_23
    //#    live edge: bb_23-->bb_25
    //#    tested vn: changed
    //#    tested vn values: {0}
            addMessage("memberPermissions.membersChanged", ""+changed);
    //#Members.java:127: Warning: dead code
    //#    dead code here because changed == 0
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String save()
    //#    dead bb: bb_24
        }
        
        return LIST;
    //#Members.java:130: end of method: String org.apache.roller.weblogger.ui.struts2.editor.Members.save()
    }
    
    
    // convenience for accessing a single parameter with a single value
    public String getParameter(String key) {
        if(key != null) {
    //#Members.java:136: method: String org.apache.roller.weblogger.ui.struts2.editor.Members.getParameter(String)
    //#input(String getParameter(String)): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/Members]
    //#input(String getParameter(String)): __Descendant_Table[others]
    //#input(String getParameter(String)): __Dispatch_Table.getParameters()Ljava/util/Map;
    //#input(String getParameter(String)): key
    //#input(String getParameter(String)): this
    //#input(String getParameter(String)): this.__Tag
    //#input(String getParameter(String)): this.parameters
    //#output(String getParameter(String)): return_value
    //#pre[3] (String getParameter(String)): (soft) this.__Tag == org/apache/roller/weblogger/ui/struts2/editor/Members
    //#pre[4] (String getParameter(String)): (soft) this.parameters != null
    //#post(String getParameter(String)): return_value == null
    //#test_vector(String getParameter(String)): key: Addr_Set{null}, Inverse{null}
    //#test_vector(String getParameter(String)): java.util.Map:get(...)@137: Addr_Set{null}, Inverse{null}
    //#test_vector(String getParameter(String)): value.length@137: {0}, {1..+Inf}
            String[] value = (String[]) getParameters().get(key);
            if(value != null && value.length > 0) {
                return value[0];
    //#Members.java:139: ?use of default init
    //#    init'ed(value[0])
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.Members
    //#    method: String getParameter(String)
    //#    basic block: bb_4
    //#    assertion: init'ed(value[0])
    //#    VN: undefined
    //#    Expected: Univ-VN-Set
    //#    Bad: {Invalid}
    //#    Attribs:  Ptr  Bad only invalid
            }
        }
        return null;
    //#Members.java:142: end of method: String org.apache.roller.weblogger.ui.struts2.editor.Members.getParameter(String)
    }
    
    
    public Map getParameters() {
        return parameters;
    //#Members.java:147: method: Map org.apache.roller.weblogger.ui.struts2.editor.Members.getParameters()
    //#input(Map getParameters()): this
    //#input(Map getParameters()): this.parameters
    //#output(Map getParameters()): return_value
    //#pre[2] (Map getParameters()): init'ed(this.parameters)
    //#post(Map getParameters()): return_value == this.parameters
    //#post(Map getParameters()): init'ed(return_value)
    //#Members.java:147: end of method: Map org.apache.roller.weblogger.ui.struts2.editor.Members.getParameters()
    }

    public void setParameters(Map parameters) {
        this.parameters = parameters;
    //#Members.java:151: method: void org.apache.roller.weblogger.ui.struts2.editor.Members.setParameters(Map)
    //#input(void setParameters(Map)): parameters
    //#input(void setParameters(Map)): this
    //#output(void setParameters(Map)): this.parameters
    //#post(void setParameters(Map)): this.parameters == parameters
    //#post(void setParameters(Map)): init'ed(this.parameters)
    }
    //#Members.java:152: end of method: void org.apache.roller.weblogger.ui.struts2.editor.Members.setParameters(Map)
}
    //#Members.java:: end of class: org.apache.roller.weblogger.ui.struts2.editor.Members
