private boolean currentUserIsAuthor(JCUser currentUser, PrivateMessage privateMessage) { boolean isAuthor = false; try { //because a recipient can be deleted. isAuthor = currentUser.equals(privateMessage.getUserTo()); } catch (org.hibernate.ObjectNotFoundException e) { logger.warn("The recipient doesn't exist", e); } return isAuthor; }
public int getUserPostCount(JCUser user) { int count = 0; for (Post post : getPosts()) { if (post.getUserCreated().equals(user)) { count ++; } } return count; }
/** * Checks if this topic contains only posts added by topic Owner. * * @return <code>true</code> if condition is followed, otherwise <code>false</code> */ public boolean isContainsOwnerPostsOnly() { for (Post post : getPosts()) { if (!post.getUserCreated().equals(topicStarter)) { return false; } } return true; }
/** * Get draft of specified user in current topic * * @param user user to search draft * * @return draft of specified user or null if draft not found */ public PostDraft getDraftForUser(JCUser user) { for (PostDraft draft : getDrafts()) { if (draft.getAuthor().equals(user)) { return draft; } } return null; }
/** * Determines if user voted down for the post * * @param user user to check * * @return true if user voted down for the post * false if user voted up for the post * false if user not voted for the post */ public boolean isVotedDownBy(JCUser user) { for (PostVote vote : votes) { if (vote.getUser().equals(user)) { return !vote.isVotedUp(); } } return false; }
/** * Determines if user voted up for the post * * @param user user to check * * @return true if user voted up for the post * false if user voted down for the post * false if user not voted for the post */ public boolean isVotedUpBy(JCUser user) { for (PostVote vote : votes) { if (vote.getUser().equals(user)) { return vote.isVotedUp(); } } return false; }
private boolean hasCurrentUserAccessToPM(PrivateMessage privateMessage) throws NotFoundException { JCUser currentUser = userService.getCurrentUser(); PrivateMessageStatus messageStatus = privateMessage.getStatus(); if (currentUser.equals(privateMessage.getUserFrom()) && (messageStatus.equals(PrivateMessageStatus.DELETED_FROM_OUTBOX))) { return false; } return !(currentUserIsAuthor(currentUser, privateMessage) && (messageStatus.equals(PrivateMessageStatus.DELETED_FROM_INBOX))); }
/** * {@inheritDoc} */ @Override public void deleteDraft(Long draftId) throws NotFoundException{ if (!postDraftDao.isExist(draftId)) { throw new NotFoundException("Draft with id=" + draftId + " not found"); } PostDraft draft = postDraftDao.get(draftId); if (!draft.getAuthor().equals(userService.getCurrentUser())) { throw new AccessDeniedException("Only author can delete draft"); } Topic topic = draft.getTopic(); topic.getDrafts().remove(draft); topicDao.saveOrUpdate(topic); logger.debug("Deleted draft id={}", draft.getId()); }
/** * Adds new vote to the post or overrides existent * * @param vote vote to add or override */ public void putVote(PostVote vote) { vote.setPost(this); for (PostVote storedVote : votes) { if (storedVote.getUser().equals(vote.getUser()) && storedVote.getPost().equals(vote.getPost())) { storedVote.setVotedUp(vote.isVotedUp()); storedVote.setVoteDate(vote.getVoteDate()); return; } } votes.add(vote); }
break; case SENT: if (currentUser.equals(message.getUserFrom())) { message.setStatus(PrivateMessageStatus.DELETED_FROM_OUTBOX); result = "outbox";