Advertisement
Guest User

Untitled

a guest
May 27th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.79 KB | None | 0 0
  1. package by.botyanov.library.web.command.auth;
  2.  
  3. import by.botyanov.library.dao.DAOException;
  4. import by.botyanov.library.domain.User;
  5. import by.botyanov.library.domain.UserRole;
  6. import by.botyanov.library.service.DataValidator;
  7. import by.botyanov.library.service.ServiceException;
  8. import by.botyanov.library.service.UserService;
  9. import by.botyanov.library.web.PageConstants;
  10. import by.botyanov.library.web.ParamConstants;
  11. import by.botyanov.library.web.command.Command;
  12. import by.botyanov.library.web.command.CommandException;
  13. import by.botyanov.library.web.command.util.DataChecker;
  14. import by.botyanov.library.web.command.util.MD5;
  15. import org.apache.log4j.Logger;
  16.  
  17. import javax.servlet.http.HttpServletRequest;
  18. import javax.servlet.http.HttpSession;
  19.  
  20. public class RegisterCommand implements Command {
  21. private static final Logger LOG = Logger.getLogger(RegisterCommand.class);
  22.  
  23. private RegisterCommand() {
  24. }
  25.  
  26. private static class RegisterCommandHolder {
  27. private final static RegisterCommand instance = new RegisterCommand();
  28. }
  29.  
  30. public static RegisterCommand getInstance() {
  31. return RegisterCommandHolder.instance;
  32. }
  33.  
  34. @Override
  35. public String execute(HttpServletRequest request) throws CommandException {
  36. HttpSession session = request.getSession();
  37. String page = PageConstants.REGISTER_PAGE;
  38. String login = request.getParameter(ParamConstants.USER_LOGIN);
  39. String password = request.getParameter(ParamConstants.USER_PASSWORD);
  40. String passwordRepeat = request.getParameter(ParamConstants.USER_PASSWORD_REPEAT);
  41. String firstName = request.getParameter(ParamConstants.USER_FIRST_NAME);
  42. String lastName = request.getParameter(ParamConstants.USER_LAST_NAME);
  43. String role = String.valueOf(request.getSession().getAttribute(ParamConstants.USER_ROLE));
  44. LOG.debug(login + " " + password + " " + passwordRepeat + " " + firstName + " " + lastName + " " + role);
  45.  
  46. if (login == null || firstName == null || lastName == null) {
  47. LOG.debug("Some of fields is empty");
  48. request.setAttribute("emptyFields", true);
  49. return page;
  50. }
  51. if (password == null || !password.equals(passwordRepeat)) {
  52. LOG.debug("Password Error");
  53. request.setAttribute("passwordError", true);
  54. return page;
  55. }
  56. if (!DataValidator.validateRegisterData(login, password)) {
  57. LOG.debug("RegEx Error");
  58. request.setAttribute("regexError", true);
  59. return page;
  60. }
  61. try {
  62. if (DataChecker.checkLoginExist(login)) {
  63. LOG.debug("Entered Login Exists");
  64. request.setAttribute("loginExists", true);
  65. return page;
  66. }
  67. } catch (DAOException e) {
  68. throw new CommandException(e);
  69. }
  70. String hashPwd = MD5.md5(password);
  71. UserRole userRole = UserRole.USER;
  72. User user = new User(-1, login, hashPwd, firstName, lastName, userRole, false);
  73. try {
  74. UserService.add(user);
  75. page = PageConstants.WELCOME_USER_PAGE;
  76. } catch (ServiceException e) {
  77. LOG.error("Error while saving user to database", e);
  78. request.setAttribute("errorRegistration", true);
  79. return page;
  80. }
  81. session.setAttribute(ParamConstants.USER_ID, user.getId());
  82. session.setAttribute(ParamConstants.USER_LOGIN, user.getLogin());
  83. session.setAttribute(ParamConstants.USER_FIRST_NAME, user.getFirstName());
  84. session.setAttribute(ParamConstants.USER_LAST_NAME, user.getLastName());
  85. session.setAttribute(ParamConstants.USER_ROLE, user.getUserRole().toString().toUpperCase());
  86.  
  87. return page;
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement