HTML and CSS Reference
In-Depth Information
Listing 13-12 shows the first part of BookRequestManager EJB class.
Listing 13-12. First Part of BookRequestManager EJB Class
package com.jsfprohtml5.megaapp.service;
import com.jsfprohtml5.megaapp.model.Book;
import com.jsfprohtml5.megaapp.model.BookRequest;
import com.jsfprohtml5.megaapp.model.Constants;
import com.jsfprohtml5.megaapp.model.MegaUser;
import com.jsfprohtml5.megaapp.model.UserGroup;
import com.jsfprohtml5.megaapp.service.exception.BookRequestAlreadyExists;
import com.jsfprohtml5.megaapp.service.exception.BookRequestNotFound;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
@Stateless
public class BookRequestManager implements BookRequestManagerLocal {
@PersistenceContext(unitName = "megaAppUnit")
EntityManager em;
@Override
public BookRequest sendBookRequest(BookRequest bookRequest) throws BookRequestAlreadyExists {
Query query = em.createQuery("select bookRequest from BookRequest bookRequest where "
+ "bookRequest.bookId.id = :bookId and bookRequest.userId.id = :userId");
query.setParameter("bookId", bookRequest.getBookId().getId());
query.setParameter("userId", bookRequest.getUserId().getId());
try {
query.getSingleResult();
throw new BookRequestAlreadyExists();
} catch (NoResultException exception) {
Logger.getLogger(BookManager.class.getName()).log(Level.FINER, "No book request found");
}
bookRequest.setRequestTime(System.currentTimeMillis());
bookRequest.setStatus(Constants.PENDING_REQUEST); //pending status...
em.persist(bookRequest);
em.flush();
return bookRequest;
}
Search WWH ::




Custom Search