package servlet;

import java.io.PrintWriter;

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

import account.AccountManager;

public class LoginServlet extends HttpServlet {

	// 受け取る部分							↓reqで受け取る　　　　　　　　　　　↓respで返す
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, java.io.IOException {
		
		// AccountManagerを使うために宣言しておく                      　↓シングルトンパターンを利用しているため
		AccountManager accountmgr = AccountManager.getInstance();
		
		//返す文字の宣言 resp
		PrintWriter printwriter = resp.getWriter();
		
		/*******************************
		 *	パラメータを受け取る req
		 *******************************/
		String name = req.getParameter("name");
		String pass = req.getParameter("pass");
		String sId = req.getSession().getId();
		

		
		/*******************************
		 *	ログイン処理
		 *******************************/
		if (accountmgr.login(name, pass, sId) == 0) {
			printwriter.println("<result id = \"ok\" sid =\"" + sId + "\" name = \"" + name + "\">");
			System.out.println("Login OK");
		} else if (accountmgr.login(name, pass, sId) == 1) {
			printwriter.println("<result id = \"passng\">");	
			System.out.println("Login PASS NG");		
		} else if (accountmgr.login(name, pass, sId) == 2){
			printwriter.println("<result id = \"nameng\">");
			System.out.println("Login NAME NG");
		}
		
System.out.println("Login sId : " + sId);
		
		printwriter.println("</result>");		
	
	}                                                                                                                                                                                                                                                                                                                                                                                               

	// 返す部分(テスト用)
	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, java.io.IOException {

		// 共有させることによってこちらだけで実効できる
		doPost(req, resp);

	}

}