@RequestMapping(value = "/users/password", method = RequestMethod.POST)
public String setPasswordPage(@Valid UserPasswordDTO userPasswordDTO, BindingResult result, Model model,
                              RedirectAttributes attributes) {

    long userId = userPasswordDTO.getUserId();
    if (result.hasErrors()) {
        model.addAttribute("userDescription", getUserDescription(userId));
        return ADMIN_USERPASSWORD_VIEW;
    } else {
        if (!userPasswordDTO.getPassword().equals(userPasswordDTO.getRepeatedPassword())) {
            result.reject(GLOBAL_ERROR_PASSWORDS_DONOT_MATCH_KEY);
            model.addAttribute("userDescription", getUserDescription(userId));
            return ADMIN_USERPASSWORD_VIEW;
        } else {
            userService.updatePassword(userPasswordDTO);
            Optional<User> user = userService.getUserById(userPasswordDTO.getUserId());
            if (user.isPresent()) {
                webUI.addFeedbackMessage(attributes, FEEDBACK_USER_PASSWORD_UPDATED_KEY, user.get().getFirstName(),
                        user.get().getLastName());
            }
        }
    }
    return "redirect:/admin/users";
}

        
main