//# 0 errors, 366 messages
//#
/*
    //#ModifyUser.java:1:1: class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
 * 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.admin;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.business.WebloggerFactory;
import org.apache.roller.weblogger.business.UserManager;
import org.apache.roller.weblogger.pojos.User;
import org.apache.roller.weblogger.ui.core.RollerContext;
import org.apache.roller.weblogger.ui.struts2.util.UIAction;


/**
 * Action that allows an admin to modify a users profile.
 */
public class ModifyUser extends UIAction {
    
    private static Log log = LogFactory.getLog(ModifyUser.class);
    //#ModifyUser.java:37: method: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init
    //#ModifyUser.java:37: Warning: method not available
    //#    -- call on Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init
    //#    unanalyzed callee: Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/admin/ModifyUser]
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.execute()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.getBean()Lorg/apache/roller/weblogger/ui/struts2/admin/CreateUserBean;
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.getUser()Lorg/apache/roller/weblogger/pojos/User;
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.getUserName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.isUserEditingSelf()Z
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.isWeblogRequired()Z
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.myPrepare()V
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.myValidate()V
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.requiredUserRole()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.save()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.setBean(Lorg/apache/roller/weblogger/ui/struts2/admin/CreateUserBean;)V
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.setUser(Lorg/apache/roller/weblogger/pojos/User;)V
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.setUserName(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): log
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/admin/ModifyUser] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.execute()Ljava/lang/String; == &execute
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.getBean()Lorg/apache/roller/weblogger/ui/struts2/admin/CreateUserBean; == &getBean
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.getUser()Lorg/apache/roller/weblogger/pojos/User; == &getUser
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.getUserName()Ljava/lang/String; == &getUserName
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.isUserEditingSelf()Z == &isUserEditingSelf
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.isWeblogRequired()Z == &isWeblogRequired
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.myPrepare()V == &myPrepare
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.myValidate()V == &myValidate
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.requiredUserRole()Ljava/lang/String; == &requiredUserRole
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.save()Ljava/lang/String; == &save
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.setBean(Lorg/apache/roller/weblogger/ui/struts2/admin/CreateUserBean;)V == &setBean
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.setUser(Lorg/apache/roller/weblogger/pojos/User;)V == &setUser
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): __Dispatch_Table.setUserName(Ljava/lang/String;)V == &setUserName
    //#post(org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init): init'ed(log)
    //#ModifyUser.java:37: end of method: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.org.apache.roller.weblogger.ui.struts2.admin.ModifyUser__static_init
    
    // user we are modifying
    private User user = new User();
    //#ModifyUser.java:40: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.pojos.User()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()
    //#    unanalyzed callee: void org.apache.roller.weblogger.pojos.User()
    
    // a bean to store our form data
    private CreateUserBean bean = new CreateUserBean();
    
    private String userName = null;
    
    
    public ModifyUser() {
    //#ModifyUser.java:48: method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()
    //#ModifyUser.java:48: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.ui.struts2.util.UIAction()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()
    //#    unanalyzed callee: void org.apache.roller.weblogger.ui.struts2.util.UIAction()
    //#input(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.java.lang.Boolean.TRUE
    //#input(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): new CreateUserBean(ModifyUser#2) num objects
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.__Tag
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.activationCode
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.administrator
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.emailAddress
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.enabled
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.fullName
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.id
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.locale
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.password
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.screenName
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.timeZone
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.userName
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): new User(ModifyUser#1) num objects
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.actionName
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.desiredMenu
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.pageTitle
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.user
    //#output(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.userName
    //#new obj(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): new CreateUserBean(ModifyUser#2)
    //#new obj(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): new User(ModifyUser#1)
    //#presumption(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): init'ed(org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.java.lang.Boolean.TRUE)
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.actionName == &"modifyUser"
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean == &new CreateUserBean(ModifyUser#2)
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.desiredMenu == &"admin"
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.pageTitle == &"userAdmin.title.editUser"
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.user == &new User(ModifyUser#1)
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.userName == null
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.activationCode == null
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.emailAddress == null
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.fullName == null
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.id == null
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.locale == null
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.password == null
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.screenName == null
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.timeZone == null
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.userName == null
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): new CreateUserBean(ModifyUser#2) num objects == 1
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): new User(ModifyUser#1) num objects == 1
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.__Tag == org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.administrator == 0
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): this.bean.enabled == org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.java.lang.Boolean.TRUE
    //#post(void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()): init'ed(this.bean.enabled)
        this.actionName = "modifyUser";
        this.desiredMenu = "admin";
        this.pageTitle = "userAdmin.title.editUser";
    }
    //#ModifyUser.java:52: end of method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.org.apache.roller.weblogger.ui.struts2.admin.ModifyUser()
    
    
    // admin role required
    public String requiredUserRole() {
        return "admin";
    //#ModifyUser.java:57: method: String org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.requiredUserRole()
    //#output(String requiredUserRole()): return_value
    //#post(String requiredUserRole()): return_value == &"admin"
    //#ModifyUser.java:57: end of method: String org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.requiredUserRole()
    }
    
    // no weblog required
    public boolean isWeblogRequired() { 
        return false;
    //#ModifyUser.java:62: method: bool org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.isWeblogRequired()
    //#output(bool isWeblogRequired()): return_value
    //#post(bool isWeblogRequired()): return_value == 0
    //#ModifyUser.java:62: end of method: bool org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.isWeblogRequired()
    }
    
    
    // prepare for action by loading user object we are modifying
    public void myPrepare() {
        
        // load the user object we are modifying
        if(getUserName() != null) {
    //#ModifyUser.java:70: method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.myPrepare()
    //#input(void myPrepare()): "Error looking up user - "._tainted
    //#input(void myPrepare()): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/admin/ModifyUser]
    //#input(void myPrepare()): __Descendant_Table[others]
    //#input(void myPrepare()): __Dispatch_Table.getBean()Lorg/apache/roller/weblogger/ui/struts2/admin/CreateUserBean;
    //#input(void myPrepare()): __Dispatch_Table.getUserName()Ljava/lang/String;
    //#input(void myPrepare()): __Dispatch_Table.setUser(Lorg/apache/roller/weblogger/pojos/User;)V
    //#input(void myPrepare()): log
    //#input(void myPrepare()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Descendant_Table[org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean]
    //#input(void myPrepare()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Descendant_Table[others]
    //#input(void myPrepare()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Dispatch_Table.getId()Ljava/lang/String;
    //#input(void myPrepare()): this
    //#input(void myPrepare()): this.__Tag
    //#input(void myPrepare()): this.bean
    //#input(void myPrepare()): this.bean.__Tag
    //#input(void myPrepare()): this.bean.id
    //#input(void myPrepare()): this.bean.id._tainted
    //#input(void myPrepare()): this.userName
    //#input(void myPrepare()): this.userName._tainted
    //#output(void myPrepare()): this.user
    //#pre[7] (void myPrepare()): this.__Tag == org/apache/roller/weblogger/ui/struts2/admin/ModifyUser
    //#pre[12] (void myPrepare()): init'ed(this.userName)
    //#pre[4] (void myPrepare()): (soft) log != null
    //#pre[8] (void myPrepare()): (soft) this.bean != null
    //#pre[9] (void myPrepare()): (soft) this.bean.__Tag == org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean
    //#pre[10] (void myPrepare()): (soft) init'ed(this.bean.id)
    //#presumption(void myPrepare()): org.apache.roller.weblogger.business.Weblogger:getUserManager(...)@72 != null
    //#presumption(void myPrepare()): org.apache.roller.weblogger.business.Weblogger:getUserManager(...)@82 != null
    //#presumption(void myPrepare()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@72 != null
    //#presumption(void myPrepare()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@82 != null
    //#post(void myPrepare()): possibly_updated(this.user)
    //#test_vector(void myPrepare()): this.bean.id: Addr_Set{null}, Inverse{null}
    //#test_vector(void myPrepare()): this.userName: Addr_Set{null}, Inverse{null}
            try {
                UserManager mgr = WebloggerFactory.getWeblogger().getUserManager();
    //#ModifyUser.java:72: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void myPrepare()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#ModifyUser.java:72: Warning: method not available
    //#    -- call on UserManager org.apache.roller.weblogger.business.Weblogger:getUserManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void myPrepare()
    //#    unanalyzed callee: UserManager org.apache.roller.weblogger.business.Weblogger:getUserManager()
                
                // use enabled = 'null' to get both enabled and disabled users
                setUser(mgr.getUserByUserName(getUserName(), null));
    //#ModifyUser.java:75: Warning: method not available
    //#    -- call on User org.apache.roller.weblogger.business.UserManager:getUserByUserName(String, Boolean)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void myPrepare()
    //#    unanalyzed callee: User org.apache.roller.weblogger.business.UserManager:getUserByUserName(String, Boolean)
                
            } catch(Exception e) {
                log.error("Error looking up user - "+getUserName(), e);
    //#ModifyUser.java:78: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void myPrepare()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
            }
        } else if(getBean().getId() != null) {
            try {
                UserManager mgr = WebloggerFactory.getWeblogger().getUserManager();
    //#ModifyUser.java:82: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void myPrepare()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#ModifyUser.java:82: Warning: method not available
    //#    -- call on UserManager org.apache.roller.weblogger.business.Weblogger:getUserManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void myPrepare()
    //#    unanalyzed callee: UserManager org.apache.roller.weblogger.business.Weblogger:getUserManager()
                setUser(mgr.getUser(getBean().getId()));
    //#ModifyUser.java:83: Warning: method not available
    //#    -- call on User org.apache.roller.weblogger.business.UserManager:getUser(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void myPrepare()
    //#    unanalyzed callee: User org.apache.roller.weblogger.business.UserManager:getUser(String)
            } catch(Exception e) {
                log.error("Error looking up user - "+getBean().getId(), e);
    //#ModifyUser.java:85: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void myPrepare()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
            }
        }
    }
    //#ModifyUser.java:88: end of method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.myPrepare()
    
    
    /**
     * Show admin user edit page.
     */
    public String execute() {
        
        if (getUser() != null && getUser().getId() != null) {
    //#ModifyUser.java:96: method: String org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.execute()
    //#ModifyUser.java:96: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.pojos.User:getId()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String execute()
    //#    unanalyzed callee: String org.apache.roller.weblogger.pojos.User:getId()
    //#input(String execute()): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/admin/ModifyUser]
    //#input(String execute()): __Descendant_Table[others]
    //#input(String execute()): __Dispatch_Table.getBean()Lorg/apache/roller/weblogger/ui/struts2/admin/CreateUserBean;
    //#input(String execute()): __Dispatch_Table.getUser()Lorg/apache/roller/weblogger/pojos/User;
    //#input(String execute()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Descendant_Table[org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean]
    //#input(String execute()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Descendant_Table[others]
    //#input(String execute()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Dispatch_Table.copyFrom(Lorg/apache/roller/weblogger/pojos/User;Ljava/util/Locale;)V
    //#input(String execute()): this
    //#input(String execute()): this.__Tag
    //#input(String execute()): this.bean
    //#input(String execute()): this.bean.__Tag
    //#input(String execute()): this.user
    //#output(String execute()): return_value
    //#output(String execute()): this.bean.activationCode
    //#output(String execute()): this.bean.administrator
    //#output(String execute()): this.bean.emailAddress
    //#output(String execute()): this.bean.enabled
    //#output(String execute()): this.bean.fullName
    //#output(String execute()): this.bean.id
    //#output(String execute()): this.bean.locale
    //#output(String execute()): this.bean.password
    //#output(String execute()): this.bean.screenName
    //#output(String execute()): this.bean.timeZone
    //#output(String execute()): this.bean.userName
    //#pre[13] (String execute()): this.__Tag == org/apache/roller/weblogger/ui/struts2/admin/ModifyUser
    //#pre[16] (String execute()): init'ed(this.user)
    //#pre[14] (String execute()): (soft) this.bean != null
    //#pre[15] (String execute()): (soft) this.bean.__Tag == org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean
    //#post(String execute()): return_value in Addr_Set{&"input",&"error"}
    //#post(String execute()): possibly_updated(this.bean.activationCode)
    //#post(String execute()): possibly_updated(this.bean.administrator)
    //#post(String execute()): possibly_updated(this.bean.emailAddress)
    //#post(String execute()): possibly_updated(this.bean.enabled)
    //#post(String execute()): possibly_updated(this.bean.fullName)
    //#post(String execute()): possibly_updated(this.bean.id)
    //#post(String execute()): possibly_updated(this.bean.locale)
    //#post(String execute()): possibly_updated(this.bean.password)
    //#post(String execute()): possibly_updated(this.bean.screenName)
    //#post(String execute()): possibly_updated(this.bean.timeZone)
    //#post(String execute()): possibly_updated(this.bean.userName)
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:getId
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:getUserName
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:getPassword
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:getScreenName
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:getFullName
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:getEmailAddress
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:getLocale
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:getTimeZone
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:getEnabled
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:getActivationCode
    //#unanalyzed(String execute()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:hasRole
    //#test_vector(String execute()): this.user: Addr_Set{null}, Inverse{null}
    //#test_vector(String execute()): org.apache.roller.weblogger.pojos.User:getId(...)@96: Addr_Set{null}, Inverse{null}
            // populate form data from user profile data
            getBean().copyFrom(getUser(), getLocale());
    //#ModifyUser.java:98: Warning: method not available
    //#    -- call on Locale org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:getLocale()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String execute()
    //#    unanalyzed callee: Locale org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:getLocale()
        } else {
            addError("userAdmin.error.userNotFound");
    //#ModifyUser.java:100: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addError(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String execute()
    //#    unanalyzed callee: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addError(String)
            return ERROR;
        }

        return INPUT;
    //#ModifyUser.java:104: end of method: String org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.execute()
    }
    
    
    /**
     * Save modified user profile.
     */
    public String save() {
        
        // custom validation
        myValidate();
    //#ModifyUser.java:114: method: String org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.save()
    //#input(String save()): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/admin/ModifyUser]
    //#input(String save()): __Descendant_Table[others]
    //#input(String save()): __Dispatch_Table.getBean()Lorg/apache/roller/weblogger/ui/struts2/admin/CreateUserBean;
    //#input(String save()): __Dispatch_Table.getUser()Lorg/apache/roller/weblogger/pojos/User;
    //#input(String save()): __Dispatch_Table.isUserEditingSelf()Z
    //#input(String save()): log
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Descendant_Table[org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean]
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Descendant_Table[others]
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Dispatch_Table.copyTo(Lorg/apache/roller/weblogger/pojos/User;Ljava/util/Locale;)V
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Dispatch_Table.getEmailAddress()Ljava/lang/String;
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Dispatch_Table.getPassword()Ljava/lang/String;
    //#input(String save()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Dispatch_Table.isAdministrator()Z
    //#input(String save()): this
    //#input(String save()): this.__Tag
    //#input(String save()): this.bean
    //#input(String save()): this.bean.__Tag
    //#input(String save()): this.bean.activationCode
    //#input(String save()): this.bean.administrator
    //#input(String save()): this.bean.emailAddress
    //#input(String save()): this.bean.enabled
    //#input(String save()): this.bean.fullName
    //#input(String save()): this.bean.locale
    //#input(String save()): this.bean.password
    //#input(String save()): this.bean.screenName
    //#input(String save()): this.bean.timeZone
    //#input(String save()): this.user
    //#output(String save()): return_value
    //#pre[3] (String save()): this.__Tag == org/apache/roller/weblogger/ui/struts2/admin/ModifyUser
    //#pre[4] (String save()): this.bean != null
    //#pre[5] (String save()): this.bean.__Tag == org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean
    //#pre[8] (String save()): init'ed(this.bean.emailAddress)
    //#pre[15] (String save()): this.user != null
    //#pre[1] (String save()): (soft) log != null
    //#pre[6] (String save()): (soft) init'ed(this.bean.activationCode)
    //#pre[7] (String save()): (soft) init'ed(this.bean.administrator)
    //#pre[9] (String save()): (soft) this.bean.enabled != null
    //#pre[10] (String save()): (soft) init'ed(this.bean.fullName)
    //#pre[11] (String save()): (soft) init'ed(this.bean.locale)
    //#pre[12] (String save()): (soft) init'ed(this.bean.password)
    //#pre[13] (String save()): (soft) init'ed(this.bean.screenName)
    //#pre[14] (String save()): (soft) init'ed(this.bean.timeZone)
    //#presumption(String save()): org.apache.roller.weblogger.business.Weblogger:getUserManager(...)@130 != null
    //#presumption(String save()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@130 != null
    //#presumption(String save()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@157 != null
    //#post(String save()): return_value == &"input"
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:getAuthenticatedUser
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:equals
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:getId
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addError
    //#unanalyzed(String save()): Effects-of-calling:org.apache.commons.lang.StringUtils:isEmpty
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:setScreenName
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:setFullName
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:setEmailAddress
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:setLocale
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:setTimeZone
    //#unanalyzed(String save()): Effects-of-calling:java.lang.Boolean:booleanValue
    //#unanalyzed(String save()): Effects-of-calling:java.lang.Boolean
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:setEnabled
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.pojos.User:setActivationCode
    //#test_vector(String save()): this.bean.administrator: {1}, {0}
    //#test_vector(String save()): org.apache.commons.lang.StringUtils:isEmpty(...)@121: {1}, {0}
    //#test_vector(String save()): org.apache.roller.weblogger.pojos.User:equals(...)@212: {1}, {0}
    //#test_vector(String save()): org.apache.roller.weblogger.pojos.User:hasRole(...)@133: {0}, {1}
    //#test_vector(String save()): org.apache.roller.weblogger.pojos.User:hasRole(...)@142: {1}, {0}
    //#test_vector(String save()): org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:hasActionErrors(...)@116: {1}, {0}
        
        if (!hasActionErrors()) {
    //#ModifyUser.java:116: Warning: method not available
    //#    -- call on bool org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:hasActionErrors()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: bool org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:hasActionErrors()
            
            getBean().copyTo(getUser(), getLocale());
    //#ModifyUser.java:118: Warning: method not available
    //#    -- call on Locale org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:getLocale()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: Locale org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:getLocale()
            
            // reset password if set
            if (!StringUtils.isEmpty(getBean().getPassword())) {
    //#ModifyUser.java:121: Warning: method not available
    //#    -- call on bool org.apache.commons.lang.StringUtils:isEmpty(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: bool org.apache.commons.lang.StringUtils:isEmpty(String)
                try {
                    getUser().resetPassword(getBean().getPassword());
    //#ModifyUser.java:123: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.pojos.User:resetPassword(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.pojos.User:resetPassword(String)
                } catch (WebloggerException e) {
                    addMessage("yourProfile.passwordResetError");
    //#ModifyUser.java:125: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addMessage(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addMessage(String)
                }
            }
            
            try {
                UserManager mgr = WebloggerFactory.getWeblogger().getUserManager();
    //#ModifyUser.java:130: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#ModifyUser.java:130: Warning: method not available
    //#    -- call on UserManager org.apache.roller.weblogger.business.Weblogger:getUserManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: UserManager org.apache.roller.weblogger.business.Weblogger:getUserManager()
                
                // grant/revoke admin role if needed
                if (getUser().hasRole("admin") && !getBean().isAdministrator()) {
    //#ModifyUser.java:133: Warning: method not available
    //#    -- call on bool org.apache.roller.weblogger.pojos.User:hasRole(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: bool org.apache.roller.weblogger.pojos.User:hasRole(String)
                    
                    if (!isUserEditingSelf()) {
                        // revoke role
                        mgr.revokeRole("admin", getUser());
    //#ModifyUser.java:137: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.business.UserManager:revokeRole(String, User)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.business.UserManager:revokeRole(String, User)
                    } else {
                        addError("userAdmin.cantChangeOwnRole");
    //#ModifyUser.java:139: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addError(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addError(String)
                    }
                    
                } else if(!getUser().hasRole("admin") && getBean().isAdministrator()) {
    //#ModifyUser.java:142: Warning: method not available
    //#    -- call on bool org.apache.roller.weblogger.pojos.User:hasRole(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: bool org.apache.roller.weblogger.pojos.User:hasRole(String)
                    
                    if (!isUserEditingSelf()) {
                        // grant role
                        getUser().grantRole("admin");
    //#ModifyUser.java:146: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.pojos.User:grantRole(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.pojos.User:grantRole(String)
                    } else {
                        addError("userAdmin.cantChangeOwnRole"); 
    //#ModifyUser.java:148: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addError(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addError(String)
                    }
                    
                }
            
                RollerContext.flushAuthenticationUserCache(getUser().getUserName());
    //#ModifyUser.java:153: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.pojos.User:getUserName()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: String org.apache.roller.weblogger.pojos.User:getUserName()
    //#ModifyUser.java:153: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.ui.core.RollerContext:flushAuthenticationUserCache(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.ui.core.RollerContext:flushAuthenticationUserCache(String)

                // save the updated profile
                mgr.saveUser(getUser());
    //#ModifyUser.java:156: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.business.UserManager:saveUser(User)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.business.UserManager:saveUser(User)
                WebloggerFactory.getWeblogger().flush();
    //#ModifyUser.java:157: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#ModifyUser.java:157: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.business.Weblogger:flush()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.business.Weblogger:flush()
                
                addMessage("userAdmin.userSaved");
    //#ModifyUser.java:159: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addMessage(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addMessage(String)
                                
                return INPUT;
                
            } catch (WebloggerException ex) {
                log.error("ERROR in action", ex);
    //#ModifyUser.java:164: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
                // TODO: i18n
                addError("userAdmin.error.unexpectedError");
    //#ModifyUser.java:166: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addError(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addError(String)
            }
            
        }
        
        return INPUT;
    //#ModifyUser.java:171: end of method: String org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.save()
    }
    
    
    // TODO: replace with struts2 validation
    private void myValidate() {
        
        if(getUser().getId() == null) {
    //#ModifyUser.java:178: method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.myValidate()
    //#ModifyUser.java:178: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.pojos.User:getId()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void myValidate()
    //#    unanalyzed callee: String org.apache.roller.weblogger.pojos.User:getId()
    //#input(void myValidate()): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/admin/ModifyUser]
    //#input(void myValidate()): __Descendant_Table[others]
    //#input(void myValidate()): __Dispatch_Table.getBean()Lorg/apache/roller/weblogger/ui/struts2/admin/CreateUserBean;
    //#input(void myValidate()): __Dispatch_Table.getUser()Lorg/apache/roller/weblogger/pojos/User;
    //#input(void myValidate()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Descendant_Table[org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean]
    //#input(void myValidate()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Descendant_Table[others]
    //#input(void myValidate()): org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean.__Dispatch_Table.getEmailAddress()Ljava/lang/String;
    //#input(void myValidate()): this
    //#input(void myValidate()): this.__Tag
    //#input(void myValidate()): this.bean
    //#input(void myValidate()): this.bean.__Tag
    //#input(void myValidate()): this.bean.emailAddress
    //#input(void myValidate()): this.user
    //#pre[2] (void myValidate()): this.__Tag == org/apache/roller/weblogger/ui/struts2/admin/ModifyUser
    //#pre[3] (void myValidate()): this.bean != null
    //#pre[4] (void myValidate()): this.bean.__Tag == org/apache/roller/weblogger/ui/struts2/admin/CreateUserBean
    //#pre[5] (void myValidate()): init'ed(this.bean.emailAddress)
    //#pre[6] (void myValidate()): this.user != null
    //#test_vector(void myValidate()): org.apache.commons.lang.StringUtils:isEmpty(...)@181: {0}, {1}
    //#test_vector(void myValidate()): org.apache.roller.weblogger.pojos.User:getId(...)@178: Inverse{null}, Addr_Set{null}
            addError("userAdmin.error.userNotFound");
    //#ModifyUser.java:179: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addError(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void myValidate()
    //#    unanalyzed callee: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addError(String)
        }
        if (StringUtils.isEmpty(getBean().getEmailAddress())) {
    //#ModifyUser.java:181: Warning: method not available
    //#    -- call on bool org.apache.commons.lang.StringUtils:isEmpty(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void myValidate()
    //#    unanalyzed callee: bool org.apache.commons.lang.StringUtils:isEmpty(String)
            addError("error.add.user.missingEmailAddress");
    //#ModifyUser.java:182: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addError(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: void myValidate()
    //#    unanalyzed callee: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:addError(String)
        }
    }
    //#ModifyUser.java:184: end of method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.myValidate()
    
    
    public CreateUserBean getBean() {
        return bean;
    //#ModifyUser.java:188: method: CreateUserBean org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.getBean()
    //#input(CreateUserBean getBean()): this
    //#input(CreateUserBean getBean()): this.bean
    //#output(CreateUserBean getBean()): return_value
    //#pre[2] (CreateUserBean getBean()): init'ed(this.bean)
    //#post(CreateUserBean getBean()): return_value == this.bean
    //#post(CreateUserBean getBean()): init'ed(return_value)
    //#ModifyUser.java:188: end of method: CreateUserBean org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.getBean()
    }

    public void setBean(CreateUserBean bean) {
        this.bean = bean;
    //#ModifyUser.java:192: method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.setBean(CreateUserBean)
    //#input(void setBean(CreateUserBean)): bean
    //#input(void setBean(CreateUserBean)): this
    //#output(void setBean(CreateUserBean)): this.bean
    //#post(void setBean(CreateUserBean)): this.bean == bean
    //#post(void setBean(CreateUserBean)): init'ed(this.bean)
    }
    //#ModifyUser.java:193: end of method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.setBean(CreateUserBean)

    public User getUser() {
        return user;
    //#ModifyUser.java:196: method: User org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.getUser()
    //#input(User getUser()): this
    //#input(User getUser()): this.user
    //#output(User getUser()): return_value
    //#pre[2] (User getUser()): init'ed(this.user)
    //#post(User getUser()): return_value == this.user
    //#post(User getUser()): init'ed(return_value)
    //#ModifyUser.java:196: end of method: User org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.getUser()
    }

    public void setUser(User user) {
        this.user = user;
    //#ModifyUser.java:200: method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.setUser(User)
    //#input(void setUser(User)): this
    //#input(void setUser(User)): user
    //#output(void setUser(User)): this.user
    //#post(void setUser(User)): this.user == user
    //#post(void setUser(User)): init'ed(this.user)
    }
    //#ModifyUser.java:201: end of method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.setUser(User)

    public String getUserName() {
        return userName;
    //#ModifyUser.java:204: method: String org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.getUserName()
    //#input(String getUserName()): this
    //#input(String getUserName()): this.userName
    //#output(String getUserName()): return_value
    //#pre[2] (String getUserName()): init'ed(this.userName)
    //#post(String getUserName()): return_value == this.userName
    //#post(String getUserName()): init'ed(return_value)
    //#ModifyUser.java:204: end of method: String org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.getUserName()
    }

    public void setUserName(String userName) {
        this.userName = userName;
    //#ModifyUser.java:208: method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.setUserName(String)
    //#input(void setUserName(String)): this
    //#input(void setUserName(String)): userName
    //#output(void setUserName(String)): this.userName
    //#post(void setUserName(String)): this.userName == userName
    //#post(void setUserName(String)): init'ed(this.userName)
    }
    //#ModifyUser.java:209: end of method: void org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.setUserName(String)
    
    public boolean isUserEditingSelf() {
        return getUser().equals(getAuthenticatedUser());
    //#ModifyUser.java:212: method: bool org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.isUserEditingSelf()
    //#ModifyUser.java:212: Warning: method not available
    //#    -- call on User org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:getAuthenticatedUser()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: bool isUserEditingSelf()
    //#    unanalyzed callee: User org.apache.roller.weblogger.ui.struts2.admin.ModifyUser:getAuthenticatedUser()
    //#ModifyUser.java:212: Warning: method not available
    //#    -- call on bool org.apache.roller.weblogger.pojos.User:equals(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
    //#    method: bool isUserEditingSelf()
    //#    unanalyzed callee: bool org.apache.roller.weblogger.pojos.User:equals(Object)
    //#input(bool isUserEditingSelf()): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/admin/ModifyUser]
    //#input(bool isUserEditingSelf()): __Descendant_Table[others]
    //#input(bool isUserEditingSelf()): __Dispatch_Table.getUser()Lorg/apache/roller/weblogger/pojos/User;
    //#input(bool isUserEditingSelf()): this
    //#input(bool isUserEditingSelf()): this.__Tag
    //#input(bool isUserEditingSelf()): this.user
    //#output(bool isUserEditingSelf()): return_value
    //#pre[2] (bool isUserEditingSelf()): this.__Tag == org/apache/roller/weblogger/ui/struts2/admin/ModifyUser
    //#pre[3] (bool isUserEditingSelf()): this.user != null
    //#post(bool isUserEditingSelf()): init'ed(return_value)
    //#ModifyUser.java:212: end of method: bool org.apache.roller.weblogger.ui.struts2.admin.ModifyUser.isUserEditingSelf()
    }
    
}
    //#ModifyUser.java:: end of class: org.apache.roller.weblogger.ui.struts2.admin.ModifyUser
