/** * {@inheritDoc} */ @SuppressWarnings("unchecked") @Override public Page<PrivateMessage> getAllFromUser(JCUser userFrom, PageRequest pageRequest) { PrivateMessageStatus[] statuses = PrivateMessageStatus.getOutboxStatus(); int totalCount = getOutboxMessageCount(userFrom, statuses); pageRequest.adjustPageNumber(totalCount); Query query = session().getNamedQuery("getAllFromUser") .setParameterList(STATUSES, statuses) .setEntity("user", userFrom); query.setFirstResult(pageRequest.getOffset()); query.setMaxResults(pageRequest.getPageSize()); List<PrivateMessage> messages = (List<PrivateMessage>) query.list(); return new PageImpl<PrivateMessage>(messages, pageRequest, totalCount); }