// Path: chapter04/src/main/java/com/packt/pfblueprints/dao/DealerDAO.java
// public class DealerDAO {
// 
// 	private  SessionFactory sessionFactory;
// 	private  String dealerNumber;
// 	
// 	private  SessionFactory configureSessionFactory()
// 			throws HibernateException {
// 		Configuration configuration = new Configuration();
// 		configuration.configure();
// 		StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
// 				.applySettings(configuration.getProperties());
// 		SessionFactory sessionfactory = configuration
// 				.buildSessionFactory(builder.build());
// 		return sessionfactory;
// 	}
//     
// 	public DealerDAO() {
// 		super();
// 		
// 		ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
// 		Map<String, Object> sessionMap = externalContext.getSessionMap();
// 		dealerNumber=(String) sessionMap.get("dealertinnumber");
// 		// TODO Auto-generated constructor stub
// 	}
// 
// 	public List<Advisor> getAllAdvisors() {
// 		sessionFactory = configureSessionFactory();
// 		Session session = sessionFactory.openSession();
// 		session.beginTransaction();
// 		Query queryResult=null;
// 		if(dealerNumber!=""){
// 			queryResult = session.createQuery("from Advisor where dealernumber = :dealerNum");
// 			queryResult.setParameter("dealerNum", dealerNumber);
// 			}else{
// 		    queryResult = session.createQuery("from Advisor");	
// 			}
// 		List<Advisor> allDealers = queryResult.list();
// 		for(Advisor dealerobj:allDealers){
// 			List<ProgressStatus> progressStatus=generateProgressStatus();
// 			dealerobj.setProgressStatus(progressStatus);
// 		}
// 		session.getTransaction().commit();
// 		return allDealers;
// 	}
// 	
// 	public List<ProgressStatus> generateProgressStatus(){
// 		 List<ProgressStatus> progressStatus=new ArrayList<ProgressStatus>();
// 		 progressStatus.add(new ProgressStatus("2000",((int)(Math.random()*10))+""));
// 		 progressStatus.add(new ProgressStatus("2002",((int)(Math.random()*10))+""));
// 		 progressStatus.add(new ProgressStatus("2004",((int)(Math.random()*10))+""));
// 		 progressStatus.add(new ProgressStatus("2006",((int)(Math.random()*10))+""));
// 		 return progressStatus;
// 	}
// 
// }
// 
// Path: chapter04/src/main/java/com/packt/pfblueprints/model/Advisor.java
// public class Advisor implements Serializable{
// 
// 	private static final long serialVersionUID = 1L;
// 	private int id;
// 	private String dealernumber;
// 	private String advisorname;
// 	private String advisornumber;
// 	private String managementcompany;
// 	private String branch;
// 	private int year;
// 	private boolean status;
// 	private int revenue;
// 	private List<ProgressStatus> progressStatus;
// 	
// 	public int getId() {
// 		return id;
// 	}
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 	public String getDealernumber() {
// 		return dealernumber;
// 	}
// 	public void setDealernumber(String dealernumber) {
// 		this.dealernumber = dealernumber;
// 	}
// 	public String getAdvisorname() {
// 		return advisorname;
// 	}
// 	public void setAdvisorname(String advisorname) {
// 		this.advisorname = advisorname;
// 	}
// 	public String getAdvisornumber() {
// 		return advisornumber;
// 	}
// 	public void setAdvisornumber(String advisornumber) {
// 		this.advisornumber = advisornumber;
// 	}
// 	
// 	public String getManagementcompany() {
// 		return managementcompany;
// 	}
// 	public void setManagementcompany(String managementcompany) {
// 		this.managementcompany = managementcompany;
// 	}
// 	public int getYear() {
// 		return year;
// 	}
// 	public void setYear(int year) {
// 		this.year = year;
// 	}
// 	public int getRevenue() {
// 		return revenue;
// 	}
// 	public void setRevenue(int revenue) {
// 		this.revenue = revenue;
// 	}
// 	public String getBranch() {
// 		return branch;
// 	}
// 	public void setBranch(String branch) {
// 		this.branch = branch;
// 	}
// 	
// 	public boolean isStatus() {
// 		return status;
// 	}
// 	public void setStatus(boolean status) {
// 		this.status = status;
// 	}
// 	public List<ProgressStatus> getProgressStatus() {
// 		return progressStatus;
// 	}
// 	public void setProgressStatus(List<ProgressStatus> progressStatus) {
// 		this.progressStatus = progressStatus;
// 	}
// 
// }


import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;
import com.packt.pfblueprints.dao.DealerDAO;
import com.packt.pfblueprints.model.Advisor;

package com.packt.pfblueprints.controller;




@ManagedBean
@ViewScoped
public class DealerController implements Serializable{

	private static final long serialVersionUID = 1L;
	private List<Advisor> dealerInfo=new ArrayList<Advisor>();
	private SelectItem[] managementcompanies;
	private String[] branches;
	private Advisor advisorobj=new Advisor();

// Path: chapter04/src/main/java/com/packt/pfblueprints/dao/DealerDAO.java
// public class DealerDAO {
// 
// 	private  SessionFactory sessionFactory;
// 	private  String dealerNumber;
// 	
// 	private  SessionFactory configureSessionFactory()
// 			throws HibernateException {
// 		Configuration configuration = new Configuration();
// 		configuration.configure();
// 		StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
// 				.applySettings(configuration.getProperties());
// 		SessionFactory sessionfactory = configuration
// 				.buildSessionFactory(builder.build());
// 		return sessionfactory;
// 	}
//     
// 	public DealerDAO() {
// 		super();
// 		
// 		ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
// 		Map<String, Object> sessionMap = externalContext.getSessionMap();
// 		dealerNumber=(String) sessionMap.get("dealertinnumber");
// 		// TODO Auto-generated constructor stub
// 	}
// 
// 	public List<Advisor> getAllAdvisors() {
// 		sessionFactory = configureSessionFactory();
// 		Session session = sessionFactory.openSession();
// 		session.beginTransaction();
// 		Query queryResult=null;
// 		if(dealerNumber!=""){
// 			queryResult = session.createQuery("from Advisor where dealernumber = :dealerNum");
// 			queryResult.setParameter("dealerNum", dealerNumber);
// 			}else{
// 		    queryResult = session.createQuery("from Advisor");	
// 			}
// 		List<Advisor> allDealers = queryResult.list();
// 		for(Advisor dealerobj:allDealers){
// 			List<ProgressStatus> progressStatus=generateProgressStatus();
// 			dealerobj.setProgressStatus(progressStatus);
// 		}
// 		session.getTransaction().commit();
// 		return allDealers;
// 	}
// 	
// 	public List<ProgressStatus> generateProgressStatus(){
// 		 List<ProgressStatus> progressStatus=new ArrayList<ProgressStatus>();
// 		 progressStatus.add(new ProgressStatus("2000",((int)(Math.random()*10))+""));
// 		 progressStatus.add(new ProgressStatus("2002",((int)(Math.random()*10))+""));
// 		 progressStatus.add(new ProgressStatus("2004",((int)(Math.random()*10))+""));
// 		 progressStatus.add(new ProgressStatus("2006",((int)(Math.random()*10))+""));
// 		 return progressStatus;
// 	}
// 
// }
// 
// Path: chapter04/src/main/java/com/packt/pfblueprints/model/Advisor.java
// public class Advisor implements Serializable{
// 
// 	private static final long serialVersionUID = 1L;
// 	private int id;
// 	private String dealernumber;
// 	private String advisorname;
// 	private String advisornumber;
// 	private String managementcompany;
// 	private String branch;
// 	private int year;
// 	private boolean status;
// 	private int revenue;
// 	private List<ProgressStatus> progressStatus;
// 	
// 	public int getId() {
// 		return id;
// 	}
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 	public String getDealernumber() {
// 		return dealernumber;
// 	}
// 	public void setDealernumber(String dealernumber) {
// 		this.dealernumber = dealernumber;
// 	}
// 	public String getAdvisorname() {
// 		return advisorname;
// 	}
// 	public void setAdvisorname(String advisorname) {
// 		this.advisorname = advisorname;
// 	}
// 	public String getAdvisornumber() {
// 		return advisornumber;
// 	}
// 	public void setAdvisornumber(String advisornumber) {
// 		this.advisornumber = advisornumber;
// 	}
// 	
// 	public String getManagementcompany() {
// 		return managementcompany;
// 	}
// 	public void setManagementcompany(String managementcompany) {
// 		this.managementcompany = managementcompany;
// 	}
// 	public int getYear() {
// 		return year;
// 	}
// 	public void setYear(int year) {
// 		this.year = year;
// 	}
// 	public int getRevenue() {
// 		return revenue;
// 	}
// 	public void setRevenue(int revenue) {
// 		this.revenue = revenue;
// 	}
// 	public String getBranch() {
// 		return branch;
// 	}
// 	public void setBranch(String branch) {
// 		this.branch = branch;
// 	}
// 	
// 	public boolean isStatus() {
// 		return status;
// 	}
// 	public void setStatus(boolean status) {
// 		this.status = status;
// 	}
// 	public List<ProgressStatus> getProgressStatus() {
// 		return progressStatus;
// 	}
// 	public void setProgressStatus(List<ProgressStatus> progressStatus) {
// 		this.progressStatus = progressStatus;
// 	}
// 
// }


// Path: chapter04/src/main/java/com/packt/pfblueprints/controller/DealerController.java
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;
import com.packt.pfblueprints.dao.DealerDAO;
import com.packt.pfblueprints.model.Advisor;

package com.packt.pfblueprints.controller;




@ManagedBean
@ViewScoped
public class DealerController implements Serializable{

	private static final long serialVersionUID = 1L;
	private List<Advisor> dealerInfo=new ArrayList<Advisor>();
	private SelectItem[] managementcompanies;
	private String[] branches;
	private Advisor advisorobj=new Advisor();

	DealerDAO dao = new DealerDAO();
