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 RegistServlet extends HttpServlet {

	// 受け取る部分							↓reqで受け取る　　　　　　　　　　　↓respで返す
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, java.io.IOException {

long start = System.currentTimeMillis();
		
		// 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.registration(name, pass, sId)) {
			printwriter.println("<result id = \"ok\" sid =\"" + sId + "\" name = \"" + name + "\">");
			System.out.println("Registration OK");
		} else {
			printwriter.println("<result id = \"ng\">");
			System.out.println("Registration NG");			
		}
		
		printwriter.println("</result>");		
	
System.out.println("Registration sId : " + sId);


long end = System.currentTimeMillis();
System.out.println("RegistrationServlet : " + (end - start)  + "ms");
		
	}                                                                                                                                                                                                                                                                                                                                                                          

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

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

	}

}