// Path: jcart-core/src/main/java/com/sivalabs/jcart/customers/CustomerService.java
// @Service
// @Transactional
// public class CustomerService {
// 	@Autowired CustomerRepository customerRepository;
// 	
// 	public Customer getCustomerByEmail(String email) {
// 		return customerRepository.findByEmail(email);
// 	}
// 
// 	public Customer createCustomer(Customer customer) {
// 		return customerRepository.save(customer);
// 	}
// 
// 	public List<Customer> getAllCustomers() {
// 		return customerRepository.findAll();
// 	}
// 
// 	public Customer getCustomerById(Integer id) {
// 		return customerRepository.findOne(id);
// 	}
// 
// 	public List<Order> getCustomerOrders(String email) {
// 		return customerRepository.getCustomerOrders(email);
// 	}
// 
// }
// 
// Path: jcart-core/src/main/java/com/sivalabs/jcart/entities/Customer.java
// @Entity
// @Table(name="customers")
// public class Customer implements Serializable
// {
// 	private static final long serialVersionUID = 1L;
// 	@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
// 	private Integer id;
// 	@Column(name="firstname", nullable=false)
// 	@NotEmpty
// 	private String firstName;
// 	@Column(name="lastname")
// 	private String lastName;
// 	@NotEmpty
// 	@Email
// 	@Column(name="email", nullable=false, unique=true)
// 	private String email;
// 	@NotEmpty
// 	@Column(name="password", nullable=false)
// 	private String password;
// 	private String phone;
// 	
// 	public Integer getId()
// 	{
// 		return id;
// 	}
// 	public void setId(Integer id)
// 	{
// 		this.id = id;
// 	}
// 	public String getFirstName()
// 	{
// 		return firstName;
// 	}
// 	public void setFirstName(String firstName)
// 	{
// 		this.firstName = firstName;
// 	}
// 	public String getLastName()
// 	{
// 		return lastName;
// 	}
// 	public void setLastName(String lastName)
// 	{
// 		this.lastName = lastName;
// 	}
// 	public String getEmail()
// 	{
// 		return email;
// 	}
// 	public void setEmail(String email)
// 	{
// 		this.email = email;
// 	}
// 	public String getPhone()
// 	{
// 		return phone;
// 	}
// 	public void setPhone(String phone)
// 	{
// 		this.phone = phone;
// 	}
// 	public String getPassword() {
// 		return password;
// 	}
// 	public void setPassword(String password) {
// 		this.password = password;
// 	}
// 	
// }


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
import com.sivalabs.jcart.customers.CustomerService;
import com.sivalabs.jcart.entities.Customer;
/**
 * 
 */
package com.sivalabs.jcart.site.web.validators;



/**
 * @author Siva
 *
 */
@Component
public class CustomerValidator implements Validator
{
	@Autowired private CustomerService custmoerService;

	@Override
	public boolean supports(Class<?> clazz) {
// Path: jcart-core/src/main/java/com/sivalabs/jcart/customers/CustomerService.java
// @Service
// @Transactional
// public class CustomerService {
// 	@Autowired CustomerRepository customerRepository;
// 	
// 	public Customer getCustomerByEmail(String email) {
// 		return customerRepository.findByEmail(email);
// 	}
// 
// 	public Customer createCustomer(Customer customer) {
// 		return customerRepository.save(customer);
// 	}
// 
// 	public List<Customer> getAllCustomers() {
// 		return customerRepository.findAll();
// 	}
// 
// 	public Customer getCustomerById(Integer id) {
// 		return customerRepository.findOne(id);
// 	}
// 
// 	public List<Order> getCustomerOrders(String email) {
// 		return customerRepository.getCustomerOrders(email);
// 	}
// 
// }
// 
// Path: jcart-core/src/main/java/com/sivalabs/jcart/entities/Customer.java
// @Entity
// @Table(name="customers")
// public class Customer implements Serializable
// {
// 	private static final long serialVersionUID = 1L;
// 	@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
// 	private Integer id;
// 	@Column(name="firstname", nullable=false)
// 	@NotEmpty
// 	private String firstName;
// 	@Column(name="lastname")
// 	private String lastName;
// 	@NotEmpty
// 	@Email
// 	@Column(name="email", nullable=false, unique=true)
// 	private String email;
// 	@NotEmpty
// 	@Column(name="password", nullable=false)
// 	private String password;
// 	private String phone;
// 	
// 	public Integer getId()
// 	{
// 		return id;
// 	}
// 	public void setId(Integer id)
// 	{
// 		this.id = id;
// 	}
// 	public String getFirstName()
// 	{
// 		return firstName;
// 	}
// 	public void setFirstName(String firstName)
// 	{
// 		this.firstName = firstName;
// 	}
// 	public String getLastName()
// 	{
// 		return lastName;
// 	}
// 	public void setLastName(String lastName)
// 	{
// 		this.lastName = lastName;
// 	}
// 	public String getEmail()
// 	{
// 		return email;
// 	}
// 	public void setEmail(String email)
// 	{
// 		this.email = email;
// 	}
// 	public String getPhone()
// 	{
// 		return phone;
// 	}
// 	public void setPhone(String phone)
// 	{
// 		this.phone = phone;
// 	}
// 	public String getPassword() {
// 		return password;
// 	}
// 	public void setPassword(String password) {
// 		this.password = password;
// 	}
// 	
// }


// Path: jcart-site/src/main/java/com/sivalabs/jcart/site/web/validators/CustomerValidator.java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
import com.sivalabs.jcart.customers.CustomerService;
import com.sivalabs.jcart.entities.Customer;

/**
 * 
 */
package com.sivalabs.jcart.site.web.validators;



/**
 * @author Siva
 *
 */
@Component
public class CustomerValidator implements Validator
{
	@Autowired private CustomerService custmoerService;

	@Override
	public boolean supports(Class<?> clazz) {
		return Customer.class.isAssignableFrom(clazz);