ProductService.java
package estore.business;
import java.util.ArrayList;
import java.util.List;
import estore.data.IProductCatalogRepository;
import estore.data.Product;
import estore.logging.ILogger;
import estore.logging.Logger;
public class ProductService implements IProductService {
private final IProductCatalogRepository catalogRepository;
private final ILogger logger;
public ProductService(IProductCatalogRepository catalogRepository) {
this(catalogRepository, new Logger());
}
public ProductService(IProductCatalogRepository catalogRepository, ILogger logger) {
this.catalogRepository = catalogRepository;
this.logger = logger;
}
@Override
public void addProduct(Product product) {
logger.info("Adding product with id=" + product.getID());
catalogRepository.add(product);
}
@Override
public List<Product> searchProducts(String id, String name, String year) {
logger.info("Searching products with id=" + id + ", name=" + name + ", year=" + year);
return catalogRepository.search(id, name, year);
}
}