HTML and CSS Reference
In-Depth Information
Listing 13-13. The Second Part of BookRequestManager EJB Class
@Stateless
public class BookRequestManager implements BookRequestManagerLocal {
@PersistenceContext(unitName = "megaAppUnit")
EntityManager em;
// ...
@Override
public List<BookRequest> viewRequests(String userID, int status) {
String requestQuery = "select bookRequest.id, book.id, book.title, bookRequest.requestTime,
bookRequest.responseTime, bookRequest.userId.id "
+ "from BookRequest bookRequest JOIN bookRequest.bookId book JOIN
bookRequest.userId user "
+ "where bookRequest.status = :statusID";
Query query = null;
UserGroup group = getUserGroup(userID);
if (group.getGroupId() == Constants.USER_GROUP) {
requestQuery += " and bookRequest.userId.id = :userId";
query = em.createQuery(requestQuery);
query.setParameter("statusID", status);
query.setParameter("userId", userID);
} else {
query = em.createQuery(requestQuery);
query.setParameter("statusID", status);
}
List<BookRequest> bookRequests = new ArrayList<BookRequest>();
List<Object []> results = (List<Object []>) query.getResultList();
if (results == null) {
return bookRequests;
}
for (Object[] result : results) {
BookRequest bookRequest = new BookRequest((Integer) result[0]);
Book book = new Book();
book.setId((Integer) result[1]);
book.setTitle((String) result[2]);
Search WWH ::




Custom Search