/** * This Method used to save the newly created user * * @param user * @param result * @param model * @param session * @param locale * @return */ @RequestMapping(value = "/saveNewUser", method = RequestMethod.POST) public String saveUser( @ModelAttribute("user") Users user, BindingResult result, ModelMap model, HttpSession session, Locale locale) { UserSessionInfo userSessionInfo = (UserSessionInfo) session.getAttribute(ApplicationConstants.USER_SESSION_KEY); List<Roles> roleInfoList = null; try { createUserValidator.userValidate(user, result, userSessionInfo); if (!result.hasErrors()) { // Save int UserId = userService.saveUser(user); if (UserId == 0) { log.info("User " + user.getUserName() + " save failed."); model.addAttribute( "Error", messageSource.getMessage( "user.save.failure", new String[] {user.getUserName()}, locale)); model.addAttribute("user", user); model.addAttribute("roleInfoList", roleInfoList); model.addAttribute("headers", "Create User"); if (user.getUserId() != 0) { model.addAttribute("Save", "Modify"); } else { model.addAttribute("Save", "Save"); } return "createUserPage"; } else { log.info("User " + user.getUserName() + " saved successfully."); model.addAttribute("response", "User \"" + user.getUserName() + "\" saved successfully"); model.addAttribute("errorresponse", ""); model.addAttribute("searchUserName", ""); model.addAttribute("headers", "Users"); return "usersList"; } } else { roleInfoList = userService.getRoleInfo(); model.addAttribute("roleInfoList", roleInfoList); model.addAttribute("headers", "Create User"); if (user.getUserId() != 0) { model.addAttribute("Save", "Modify"); } else { model.addAttribute("Save", "Save"); } return "createUserPage"; } } catch (Exception e) { model.addAttribute("user", user); model.addAttribute("response", ""); model.addAttribute("errorresponse", "Failed to save user!"); model.addAttribute("roleInfoList", roleInfoList); model.addAttribute("headers", "Create User"); model.addAttribute("Save", "Save"); log.error("Exception in saveUser::" + ExceptionUtils.getStackTrace(e)); } model.addAttribute( "Error", messageSource.getMessage("user.save.failure", new String[] {user.getUserName()}, locale)); return "createUserPage"; }