import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import model.User;
import businessLogic.CookieManager;
import businessLogic.LoginManager;

public class Controller extends HttpServlet 
{
	private static final long serialVersionUID = 1L;

	public Controller() 
	{
		// TODO Auto-generated constructor stub
	}
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
		LoginManager.setServerURL(request);
		String URLVue = "index.jsp";
		String login = request.getParameter("name"); // Je récupère le paramètre name
		String password = request.getParameter("pass"); // Je récupère le paramètre pass
		if(login == null || login.trim().equals("")) URLVue = "index.jsp?error=Entrez votre login!"; // Si le login n'est pas entré, l'URL de ma vue est fixée à index.jsp, avec un paramètre error contenant un message d'erreur
		else if(password == null || password.trim().equals("")) URLVue = "index.jsp?error=Entrez votre password!"; // idem si le password n'est pas entré
		else if(LoginManager.verifyLoginPass(login,password)) 
		{
			User u = new User();
			u.setName(login);
			u.setPassword(password);
			request.getSession().setAttribute("user", u); // J'ajoute l'utilisateur loggé en paramètre de session
			CookieManager.createCookie(response, u.getKey()); // J'appelle ma classe métier pour qu'elle crée le cookie
			URLVue = "PageSecrete.jsp";
		}
		else URLVue = "index.jsp?error=Identifiants invalides!"; // Code d'erreur pour ma JSP : mauvais login/password
		RequestDispatcher rd = request.getRequestDispatcher(URLVue);
		rd.forward(request, response);
	}
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
		doGet(request, response);
	}

}
