package org.books.business;
import org.books.domain.Book;
import org.books.domain.BookQuery;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import java.util.ArrayList;
import java.util.List;
@Stateless
public class CatalogManagerImpl implements CatalogManager {
@PersistenceContext(unitName = "bookstore")
private EntityManager entityManager;
private String message = "first";
public List<Book> searchBooks(BookQuery bookQuery) {
if ((bookQuery.getTitle() + bookQuery.getAuthor() + bookQuery.getPublisher()).length() == 0) {
return new ArrayList<Book>();
}
Query query = entityManager.createNamedQuery("findBooks");
query.setParameter("title", "%" + bookQuery.getTitle().toLowerCase() + "%");
query.setParameter("author", "%" + bookQuery.getAuthor().toLowerCase() + "%");
query.setParameter("publisher", "%" + bookQuery.getPublisher().toLowerCase() + "%");
return query.getResultList();
}
public void setMessage(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
}