package jp.ac.kcska.questionsystem.usermanager.horizon;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class UpdateUserServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		int no = Integer.parseInt(req.getParameter("no"));
		String username = req.getParameter("username");
		String password = req.getParameter("password");
		byte adminFlag = Byte.parseByte(req.getParameter("admin"));

		try {
			Connection connection = getConnection();
			String sql = "UPDATE MST_USER SET username = ? ,password = ? , adminFlag = ? WHERE no = ?";
			PreparedStatement statement = connection.prepareStatement(sql);

			statement.setString(1, username);
			statement.setString(2, password);
			statement.setByte(3, adminFlag);
			statement.setInt(4, no);

			statement.executeUpdate();
			connection.commit();
		} catch (SQLException e) {
			e.printStackTrace();
		}

		RequestDispatcher dispatcher = req.getRequestDispatcher("/UserManager");
		dispatcher.forward(req, resp);
	}

	private Connection getConnection() throws SQLException {
		Connection connection = DriverManager.getConnection(
				"jdbc:mysql://localhost/questionsystem", "root", "mysql");
		connection.setAutoCommit(false);
		return connection;
	}

}
