Package com.gnizr.web.action.user

Source Code of com.gnizr.web.action.user.EditUser

/*
* gnizr is a trademark of Image Matters LLC in the United States.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (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.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License
* for the specific language governing rights and limitations under the License.
*
* The Initial Contributor of the Original Code is Image Matters LLC.
* Portions created by the Initial Contributor are Copyright (C) 2007
* Image Matters LLC. All Rights Reserved.
*/
package com.gnizr.web.action.user;

import java.util.List;

import org.apache.log4j.Logger;

import com.gnizr.core.exceptions.NoSuchUserException;
import com.gnizr.core.folder.FolderManager;
import com.gnizr.core.user.UserManager;
import com.gnizr.core.util.GnizrDaoUtil;
import com.gnizr.db.dao.Folder;
import com.gnizr.db.dao.User;
import com.gnizr.db.vocab.AccountStatus;
import com.gnizr.web.action.AbstractAction;

public class EditUser extends AbstractAction {

  /**
   *
   */
  private static final long serialVersionUID = -5568453303140180078L;

  private static final Logger logger = Logger.getLogger(EditUser.class);

  private List<User> gnizrUsers;

  private String username;

  private User editUser;

  private UserManager userManager;
 
  private FolderManager folderManager;

  public FolderManager getFolderManager() {
    return folderManager;
  }

  public void setFolderManager(FolderManager folderManager) {
    this.folderManager = folderManager;
  }

  public UserManager getUserManager() {
    return userManager;
  }

  public void setUserManager(UserManager userManager) {
    this.userManager = userManager;
  }

  public String getUsername() {
    return username;
  }

  public void setUsername(String username) {
    this.username = username;
  }

  public List<User> getGnizrUsers() {
    return gnizrUsers;
  }

  @Override
  protected String go() throws Exception {
    return SUCCESS;
  }

  public String fetchEditData() {
    try {
      gnizrUsers = userManager.listUsers();
      return SUCCESS;
    } catch (Exception e) {
      logger.error("error fetching user account info", e);
    }
    return ERROR;
  }

  public String doChangePassword() {
    String op = INPUT;
    try{
      if(editUser.getPassword() != null){
        User u = userManager.getUser(editUser.getUsername());
        u.setPassword(editUser.getPassword());
        if(userManager.changePassword(u) == true){
          addActionMessage("Successfully changed user password!");
          op = SUCCESS;         
        }else{
          addActionError("unable to change password for user: " + editUser.getUsername());
          op = ERROR;
        }
      }
      editUser = userManager.getUser(editUser.getUsername());
    }catch(Exception e){
      addActionMessage("No such user: " + editUser.getUsername());
      op = INPUT;
    }   
    return op;
  }
 
  public String doChangeStatus() {
    String op = INPUT;
    boolean isOkay = false;
    try{   
      if(editUser.getAccountStatus() == AccountStatus.ACTIVE){
        isOkay = userManager.activateUserAccount(editUser);
      }else if(editUser.getAccountStatus() == AccountStatus.INACTIVE){
        isOkay = userManager.inactivateUserAccount(editUser);
      }else if(editUser.getAccountStatus() == AccountStatus.DISABLED){
        isOkay = userManager.disableUserAccount(editUser);
      }     
      editUser = userManager.getUser(editUser.getUsername());
    }catch(Exception e){
      addActionMessage("No such user: " + editUser.getUsername());
      op = INPUT;
    }   
    if(isOkay == true){
      addActionMessage("Successfully changed user account status!");
      op = SUCCESS;
    }
    return op;
  }
 
  public String doUpdate() {
    String op = INPUT;
    try {
      if (editUser == null) {
        editUser = userManager.getUser(username);
        op = SUCCESS;
      } else {
        boolean isOkay = userManager.changeProfile(editUser);
        if(isOkay == true){                   
          addActionMessage("Successfully changed user profile");
          op = SUCCESS;
        }else{
          op = ERROR;
        }
      }
      editUser = userManager.getUser(editUser.getUsername());
    } catch (NoSuchUserException e) {
      logger.debug(e);
      addActionMessage("No such user: " + username);
      op = INPUT;
   
    return op;
  }

  public String doDelete() {
    String op = INPUT;
    if (username != null) {
      try {
        boolean isOkay = userManager.deleteUser(new User(username));
        if (isOkay == false) {
          addActionError("unable to delete user account: " + username);
          op = ERROR;
        } else {
          addActionMessage("Successfully deleted user account: "
              + username);
          op = SUCCESS;
        }
      } catch (Exception e) {
        logger.debug(e);
        addActionMessage("No such user: " + username);
        op = INPUT;
      }
    }
    fetchEditData();
    return op;
  }

  public User getEditUser() {
    return editUser;
  }

  public void setEditUser(User editUser) {
    this.editUser = editUser;
  }

 
  public String doAddNewUser() {
    String op = INPUT;
    if(editUser != null){
      try{
        editUser.setCreatedOn(GnizrDaoUtil.getNow());
        boolean isOkay = userManager.createUser(editUser);
        if(isOkay == true){
          Folder myf = folderManager.createFolder(editUser,FolderManager.MY_BOOKMARKS_LABEL,"");
          if(myf == null){
            logger.error("Unable to create My Bookmarks folder");
            return ERROR;
          }
          op = SUCCESS;
          addActionMessage("Successfully added a new user account!");
        }else{
          addActionError("Unable to create a new user account");
          logger.error("unable to create a new user account: user=" + editUser);
          op = ERROR;
        }
      }catch(Exception e){
        addActionMessage("An user account of the same username already exists.");
        op = INPUT;
      }
    }
    return op;
  }
}
TOP

Related Classes of com.gnizr.web.action.user.EditUser

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.