@Override public String execute(HttpServletRequest request) { MessageManager message = new MessageManager(); IService<User> userService = null; try { userService = UserService.getInstance(); } catch (LogicException e) { LOG.error("User to edit action failed", e); return getForwardError(); } String idString = request.getParameter(PARAM_USER_ID); if (idValidator.isValid(idString)) { try { long id = Long.valueOf(idString); User user = userService.get(id, message); request.setAttribute(PARAM_USER_GET, user); } catch (LogicException e) { LOG.error("User finding failed", e); } } else { message.addMessage(idValidator.getMessage()); } setMessages(request, message); String forward = resources.getString(JSP_USER_EDIT); return forward; }
@Override public User getUser(MessageManager message, String email) throws LogicException { try { User user = userDao.findByEmail(email); if (user == null) { message.addMessage(MSG_LOGIN); throw new LogicException("Getting user failed"); } return user; } catch (DatabaseException e) { message.addMessage(MSG_LOGIN); throw new LogicException("Getting user failed", e); } }
@Override public boolean checkPasswords(MessageManager message, User user, int password) { if (user.getPassword() == password) { return true; } message.addMessage(MSG_PASSWORD); return false; }
@Override public boolean checkPasswords(MessageManager message, String password, String confirmPassword) { if (password.equals(confirmPassword)) { return true; } message.addMessage(MSG_MATCH); return false; }
@Override public boolean register(MessageManager message, User user) { if (user == null) { LOG.warn("User is null"); return false; } if (isRegistered(user.getEmail())) { message.addMessage(MSG_EMAIL); return false; } try { userDao.save(user); } catch (DatabaseException e) { LOG.error("Register failed", e); message.addMessage(MSG_REGISTER); return false; } return true; }
@Override public boolean login(MessageManager message, User user) { if (user == null) { LOG.warn("User is null"); return false; } int password = user.getPassword(); try { user = userDao.findByEmail(user.getEmail()); if (user == null || user.getPassword() != password) { message.addMessage(MSG_ICORRECT); return false; } } catch (DatabaseException e) { LOG.error("Login failed", e); message.addMessage(MSG_LOGIN); return false; } return true; }
@Override public boolean edit(MessageManager message, User user) { if (user == null) { LOG.warn("User is null"); return false; } try { userDao.update(user); } catch (DatabaseException e) { LOG.error("Profile editing failed", e); message.addMessage(MSG_EDIT); return false; } return true; }