// Path: chapter02/src/main/java/com/packt/pfblueprints/dao/LoginDAO.java
// public class LoginDAO {
// 
// 	private DataSource ds;
// 	Connection con;
// 
// 	public LoginDAO() throws SQLException {
// 		try {
// 			Context ctx = new InitialContext();
// 			ds = (DataSource) ctx.lookup("java:comp/env/jdbc/blueprintsdb");
// 			if (ds == null) {
// 				throw new SQLException("Can't get data source");
// 			}
// 			// get database connection
// 			con = ds.getConnection();
// 			if (con == null) {
// 				throw new SQLException("Can't get database connection");
// 			}
// 
// 		} catch (NamingException e) {
// 			e.printStackTrace();
// 		}
// 
// 	}
// 
// 	public boolean changepassword(String userid, String oldpassword,
// 			String newpassword) {
// 		try {
// 			// Persist employee
// 			PreparedStatement ps = con
// 					.prepareStatement("UPDATE blueprintsdb.employee SET password='"
// 							+ newpassword
// 							+ "' WHERE userid='"
// 							+ userid + "'  and password='" + oldpassword + "'");
// 			int count = ps.executeUpdate();
// 			return (count > 0);
// 		} catch (SQLException e) {
// 			e.printStackTrace();
// 
// 		} catch (Exception e) {
// 			e.printStackTrace();
// 
// 		}
// 		return false;
// 
// 	}
// 
// 	public boolean validateUser(String userid, String password) {
// 		try {
// 			// Check the logged jobseeker is valid user or not
// 			PreparedStatement ps = con
// 					.prepareStatement("select * FROM blueprintsdb.employee WHERE userid='"
// 							+ userid + "'  and password='" + password + "'");
// 			ResultSet resultSet = ps.executeQuery();
// 			if (resultSet.next()) {
// 				return true;
// 			} else {
// 				return false;
// 			}
// 
// 		} catch (SQLException e) {
// 			e.printStackTrace();
// 
// 		} catch (Exception e) {
// 			e.printStackTrace();
// 
// 		}
// 		return false;
// 	}
// }


import java.io.Serializable;
import java.sql.SQLException;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.bean.ViewScoped;
import javax.faces.bean.ManagedBean;
import com.packt.pfblueprints.dao.LoginDAO;
package com.packt.pfblueprints.controller;



@ManagedBean
@ViewScoped
public class LoginController implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private String username;
	private String password;
	private String newpassword;

	public LoginController() {
		super();
	}

	public String validateUser() throws SQLException {
		FacesMessage msg = null;
		boolean isValidUser = false;
		if (username.equalsIgnoreCase("admin")
				&& password.equalsIgnoreCase("admin")) {
			return "/views/admin?faces-redirect=true";
		}

// Path: chapter02/src/main/java/com/packt/pfblueprints/dao/LoginDAO.java
// public class LoginDAO {
// 
// 	private DataSource ds;
// 	Connection con;
// 
// 	public LoginDAO() throws SQLException {
// 		try {
// 			Context ctx = new InitialContext();
// 			ds = (DataSource) ctx.lookup("java:comp/env/jdbc/blueprintsdb");
// 			if (ds == null) {
// 				throw new SQLException("Can't get data source");
// 			}
// 			// get database connection
// 			con = ds.getConnection();
// 			if (con == null) {
// 				throw new SQLException("Can't get database connection");
// 			}
// 
// 		} catch (NamingException e) {
// 			e.printStackTrace();
// 		}
// 
// 	}
// 
// 	public boolean changepassword(String userid, String oldpassword,
// 			String newpassword) {
// 		try {
// 			// Persist employee
// 			PreparedStatement ps = con
// 					.prepareStatement("UPDATE blueprintsdb.employee SET password='"
// 							+ newpassword
// 							+ "' WHERE userid='"
// 							+ userid + "'  and password='" + oldpassword + "'");
// 			int count = ps.executeUpdate();
// 			return (count > 0);
// 		} catch (SQLException e) {
// 			e.printStackTrace();
// 
// 		} catch (Exception e) {
// 			e.printStackTrace();
// 
// 		}
// 		return false;
// 
// 	}
// 
// 	public boolean validateUser(String userid, String password) {
// 		try {
// 			// Check the logged jobseeker is valid user or not
// 			PreparedStatement ps = con
// 					.prepareStatement("select * FROM blueprintsdb.employee WHERE userid='"
// 							+ userid + "'  and password='" + password + "'");
// 			ResultSet resultSet = ps.executeQuery();
// 			if (resultSet.next()) {
// 				return true;
// 			} else {
// 				return false;
// 			}
// 
// 		} catch (SQLException e) {
// 			e.printStackTrace();
// 
// 		} catch (Exception e) {
// 			e.printStackTrace();
// 
// 		}
// 		return false;
// 	}
// }


// Path: chapter02/src/main/java/com/packt/pfblueprints/controller/LoginController.java
import java.io.Serializable;
import java.sql.SQLException;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.bean.ViewScoped;
import javax.faces.bean.ManagedBean;
import com.packt.pfblueprints.dao.LoginDAO;

package com.packt.pfblueprints.controller;



@ManagedBean
@ViewScoped
public class LoginController implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private String username;
	private String password;
	private String newpassword;

	public LoginController() {
		super();
	}

	public String validateUser() throws SQLException {
		FacesMessage msg = null;
		boolean isValidUser = false;
		if (username.equalsIgnoreCase("admin")
				&& password.equalsIgnoreCase("admin")) {
			return "/views/admin?faces-redirect=true";
		}

		LoginDAO dao = new LoginDAO();