示例#1
0
  public void updateUser(String username, AppUser userShell) {

    AppUser userEntity = getUserByUsername(username);

    String oldEmailAddress = userEntity.getEmailAddress();
    String oldPassword = userEntity.getPassword();

    copyProperties(userShell, userEntity);

    String newEmailAddress = userEntity.getEmailAddress();
    String newPassword = userEntity.getPassword();

    if (changed(oldPassword, newPassword)) {
      validatePassword(newPassword);
      hashPassword(userEntity);
    }

    validateEntity(userEntity);

    if (changed(oldEmailAddress, newEmailAddress)) {
      checkEmailAddressIsNotRegistered(newEmailAddress);
      updateCurrentPrincipal(userEntity, newEmailAddress);
    }

    userDao.merge(userEntity);
  }
示例#2
0
  public boolean enableUserByValidationKey(String emailValidationKey) {

    AppUser user = userDao.findByEmailValidationKey(emailValidationKey);
    boolean emailKeyExists = user != null;

    if (emailKeyExists) {
      user.setEnabled(true);
      user.setEmailValidationKey(null);
      userDao.merge(user);
    }

    return emailKeyExists;
  }