Class DefaultVoteService

java.lang.Object
com.atlassian.jira.bc.issue.vote.DefaultVoteService
All Implemented Interfaces:
VoteService

public class DefaultVoteService extends Object implements VoteService
  • Constructor Details

  • Method Details

    • validateAddVote

      public VoteService.VoteValidationResult validateAddVote(ApplicationUser remoteUser, ApplicationUser voter, Issue issue)
      Description copied from interface: VoteService
      Validates if the user currently logged in may add a vote by the user supplied for the issue provided. The remoteUser and user arguments may be the same if the current user is voting him/herself. The VoteService.VoteValidationResult produced by this method should be used in conjunction with the VoteService.addVote(ApplicationUser, VoteValidationResult) method. The following conditions will fail validation:
      • remoteUser is null (i.e. not logged in)
      • the user is the reporter of the issue
      • the issue has already been resolved
      • voting has been disabled system wide
      • the user doesn't have permission to browse the issue
      Specified by:
      validateAddVote in interface VoteService
      Parameters:
      remoteUser - The currently logged in user
      voter - The user for whom a vote is being added
      issue - The issue being voted on
      Returns:
      A validation result containing all errors, as well as the user and issue being voted on
    • addVote

      public int addVote(ApplicationUser remoteUser, VoteService.VoteValidationResult validationResult)
      Description copied from interface: VoteService
      Adds a new vote using the specified validation result. The vote will not be added if the user already voted for the issue.
      Specified by:
      addVote in interface VoteService
      Parameters:
      remoteUser - The currently logged in user
      validationResult - Validation result for adding a new vote
      Returns:
      The updated number of votes for the issue being voted for
    • validateRemoveVote

      public VoteService.VoteValidationResult validateRemoveVote(ApplicationUser remoteUser, ApplicationUser voter, Issue issue)
      Description copied from interface: VoteService
      Validates if the user currently logged in may remove a vote for the user supplied for the issue provided. The remoteUser and user arguments may be the same if the current user is voting him/herself. The VoteService.VoteValidationResult produced by this method should be used in conjunction with the VoteService.removeVote(ApplicationUser, VoteValidationResult) method. The following conditions will fail validation:
      • remoteUser is null (i.e. not logged in)
      • the user is the reporter of the issue
      • the issue has already been resolved
      • voting has been disabled system wide
      • the user doesn't have permission to browse the issue
      Specified by:
      validateRemoveVote in interface VoteService
      Parameters:
      remoteUser - The currently logged in user
      voter - The user for whom a vote is being removed
      issue - The issue being voted on
      Returns:
      A validation result containing all errors, as well as the user and issue being voted on
    • removeVote

      public int removeVote(ApplicationUser remoteUser, VoteService.VoteValidationResult validationResult)
      Description copied from interface: VoteService
      Removes a new vote using the specified validation result. The vote will not be removed if the user didn't voted for the issue.
      Specified by:
      removeVote in interface VoteService
      Parameters:
      remoteUser - The currently logged in user
      validationResult - Validation result for removing a new vote
      Returns:
      The updated number of votes for the issue being voted for
    • viewVoters

      public ServiceOutcome<Collection<ApplicationUser>> viewVoters(Issue issue, ApplicationUser remoteUser)
      Description copied from interface: VoteService
      Get the list of all users who have voted on an issue.
      Specified by:
      viewVoters in interface VoteService
      Parameters:
      issue - the issue to view
      remoteUser - the user who wants to know
      Returns:
      a service outcome. if valid you can obtain the users that have voted on the.
    • getVoterHistory

      public ServiceOutcome<List<VoteHistoryEntry>> getVoterHistory(Issue issue, ApplicationUser remoteUser)
      Description copied from interface: VoteService
      Get the list of vote history for an issue. The history will be in time sequence.
      Specified by:
      getVoterHistory in interface VoteService
      Parameters:
      issue - the issue to view
      remoteUser - the user who wants to know
      Returns:
      a service outcome. if valid you can obtain the users that have voted on the.
    • isVotingEnabled

      public boolean isVotingEnabled()
      Description copied from interface: VoteService
      Retrieves the 'jira.option.voting' property
      Specified by:
      isVotingEnabled in interface VoteService
      Returns:
      True if voting is enabled
    • hasVoted

      public boolean hasVoted(Issue issue, ApplicationUser user)
      Description copied from interface: VoteService
      Find if the specified user has voted on an issue
      Specified by:
      hasVoted in interface VoteService
      Parameters:
      issue - the issue to check
      user - the user to check
      Returns:
      true if the user has voted on the issue