Package oss.ngocminh.lego.service

Source Code of oss.ngocminh.lego.service.GuestLoginController

package oss.ngocminh.lego.service;

import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;

import oss.ngocminh.lego.data.User;
import oss.ngocminh.lego.persistence.UserDAO;
import oss.ngocminh.lego.util.EmailValidator;
import oss.ngocminh.lego.util.SessionUtils;

/**
* Servlet implementation class GuestLoginController
*/
public class GuestLoginController extends AbstractController {
  private static final long serialVersionUID = 1L;

    /**
     * Default constructor.
     */
    public GuestLoginController() {
    }

  /**
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    renderView(request, response);
  }

  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
   *      response)
   */
  protected void doPost(HttpServletRequest request,
      HttpServletResponse response) throws ServletException, IOException {
    Errors errors = new Errors();
    String email = getEmail(request, errors);
    String firstName = getFirstName(request, errors);
    String lastName = getLastName(request, errors);
    String address = getAddress(request, errors);
    String company = getCompany(request, errors);
    String telephone = getTelephone(request, errors);
    String mobile = getMobile(request, errors);
    if (errors.isNotEmpty()) {
      request.setAttribute("errors", errors);
      renderView(request, response);
      return;
    }
   
    User user = new User();
    user.put("email", email);
    user.put("firstName", firstName);
    user.put("lastName", lastName);
    user.put("address", address);
    user.put("company", company);
    user.put("telephone", telephone);
    user.put("mobile", mobile);
   
    try {
      Connection conn = getConnection();
      UserDAO userDAO = new UserDAO(conn);
      userDAO.save(user);
      conn.close();
    } catch (SQLException e) {
      throw new ServletException(e);
    }
   
    SessionUtils.login(request, user);
    String returnUrl = StringUtils.defaultIfEmpty(
        request.getParameter("returnUrl"), "home");
    redirect(returnUrl, response);
  }

  private String getMobile(HttpServletRequest request, Errors errors) {
    return request.getParameter("mobile");
  }

  private String getTelephone(HttpServletRequest request, Errors errors) {
    return request.getParameter("telephone");
  }

  private String getCompany(HttpServletRequest request, Errors errors) {
    return request.getParameter("company");
  }

  private String getAddress(HttpServletRequest request, Errors errors) {
    return request.getParameter("address");
  }

  private String getLastName(HttpServletRequest request, Errors errors) {
    return request.getParameter("lastName");
  }

  private String getFirstName(HttpServletRequest request, Errors errors) {
    String firstName = request.getParameter("firstName");
    if (StringUtils.isBlank(firstName)) {
      errors.put("firstName", "Cần phải điền tên của bạn");
    }
    return firstName;
  }

  private String getEmail(HttpServletRequest request, Errors errors) throws ServletException {
    String email = request.getParameter("email").trim();
    if (StringUtils.isNotEmpty(email)) {
      if (EmailValidator.isNotValid(email)) {
        errors.put("email", "Địa chỉ thư không hợp lệ");
      }
      try {
        Connection conn = getConnection();
        UserDAO userDAO = new UserDAO(conn);
        if (userDAO.findByEmail(email) != null) {
          errors.put("email", "Địa chỉ thư đã được sử dụng");
        }
        conn.close();
      } catch (SQLException e) {
        throw new ServletException(e);
      }
    }
    return email;
  }

}
TOP

Related Classes of oss.ngocminh.lego.service.GuestLoginController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.