public class DefaultWatcherService extends Object implements WatcherService
WatcherService.BulkWatchResult
Constructor and Description |
---|
DefaultWatcherService(ApplicationProperties applicationProperties,
I18nHelper.BeanFactory i18n,
PermissionManager permissionManager,
WatcherManager watcherManager,
UserManager userManager)
Creates a new DefaultWatcherService with the given dependencies.
|
Modifier and Type | Method and Description |
---|---|
ServiceOutcome<List<ApplicationUser>> |
addWatcher(Issue issue,
ApplicationUser remoteUser,
ApplicationUser watcher)
Adds a watcher to an issue's list of watchers, returning the updated list of watchers.
|
WatcherService.BulkWatchResult |
addWatcherToAll(Collection<Issue> issues,
ApplicationUser remoteUser,
ApplicationUser watcher)
Adds a watcher to all of the supplied issues.
|
WatcherService.BulkWatchResult |
addWatcherToAll(Collection<Issue> issues,
ApplicationUser remoteUser,
ApplicationUser watcher,
Context taskContext)
Adds a watcher to all of the supplied issues.
|
protected boolean |
canEditWatcherList(Issue issue,
ApplicationUser remoteUser)
Returns true iff the given User has permission to edit the watcher list of the issue.
|
boolean |
canUnwatchAll(Iterable<Issue> issues,
ApplicationUser remoteUser)
Whether the specified user can unwatch all the specified issues.
|
boolean |
canWatchAll(Iterable<Issue> issues,
ApplicationUser applicationUser)
Whether the specified user can watch all the specified issues.
|
protected void |
checkModifyWatchersPermission(Issue issue,
ApplicationUser remoteUser,
ApplicationUser watcher)
Ensures that the given remoteUser has permission to add or remove the given watcher to/from the issue.
|
protected <T extends ApplicationUser> |
convertUsers(Pair<Integer,List<String>> watchers,
com.google.common.base.Function<String,T> function)
Converts the usernames into User objects using the given function.
|
protected List<ApplicationUser> |
getCurrentWatchersFor(Issue issue)
Returns a List containing the users that are currently watching an issue.
|
ServiceOutcome<Pair<Integer,List<ApplicationUser>>> |
getWatchers(Issue issue,
ApplicationUser remoteUser)
Returns a the total number of watchers for a given issue in the first element of the returned Pair, and the list
of visible watchers in the second element of the Pair.
|
protected Pair<Integer,List<String>> |
getWatcherUsernames(Issue issue,
ApplicationUser remoteUser)
Returns a pair containing the watcher count and the watcher usernames for a given issue.
|
boolean |
hasViewWatcherListPermission(Issue issue,
ApplicationUser remoteUser)
Returns true iff the given User has permission to view the watcher list of the issue.
|
boolean |
isWatchingEnabled()
Returns true iff watching is enabled.
|
ServiceOutcome<List<ApplicationUser>> |
removeWatcher(Issue issue,
ApplicationUser remoteUser,
ApplicationUser watcher)
Removes a watcher from an issue's list of watchers, returning the updated list of watchers.
|
WatcherService.BulkWatchResult |
removeWatcherFromAll(Collection<Issue> issues,
ApplicationUser remoteUser,
ApplicationUser watcher)
Removes a watcher from all of the supplied issues.
|
WatcherService.BulkWatchResult |
removeWatcherFromAll(Collection<Issue> issues,
ApplicationUser remoteUser,
ApplicationUser watcher,
Context taskContext)
Removes a watcher from all of the supplied issues.
|
public DefaultWatcherService(ApplicationProperties applicationProperties, I18nHelper.BeanFactory i18n, PermissionManager permissionManager, WatcherManager watcherManager, UserManager userManager)
applicationProperties
- an ApplicationPropertiesi18n
- a I18nBeanpermissionManager
- a PermissionManagerwatcherManager
- a WatcherManageruserManager
- a UserManagerpublic ServiceOutcome<Pair<Integer,List<ApplicationUser>>> getWatchers(Issue issue, @Nullable ApplicationUser remoteUser) throws WatchingDisabledException
WatcherService
getWatchers
in interface WatcherService
issue
- the Issue to find watchers forremoteUser
- the calling UserWatchingDisabledException
- if watching is currently disabledpublic ServiceOutcome<List<ApplicationUser>> addWatcher(Issue issue, ApplicationUser remoteUser, ApplicationUser watcher) throws WatchingDisabledException
WatcherService
addWatcher
in interface WatcherService
issue
- the issue to updateremoteUser
- the remote user on behalf of which the operation is performedwatcher
- the watcher to addWatchingDisabledException
- if watching is currently disabledpublic WatcherService.BulkWatchResult addWatcherToAll(Collection<Issue> issues, ApplicationUser remoteUser, ApplicationUser watcher) throws WatchingDisabledException
WatcherService
addWatcherToAll
in interface WatcherService
issues
- the list of issues to updateremoteUser
- the remote user on behalf of which the operation is performedwatcher
- the watcher to addWatchingDisabledException
- if watching is currently disabledpublic WatcherService.BulkWatchResult addWatcherToAll(Collection<Issue> issues, ApplicationUser remoteUser, ApplicationUser watcher, Context taskContext) throws WatchingDisabledException
WatcherService
addWatcherToAll
in interface WatcherService
issues
- the list of issues to updateremoteUser
- the remote user on behalf of which the operation is performedwatcher
- the watcher to addtaskContext
- a context through which progress can be reported backWatchingDisabledException
- if watching is currently disabledpublic ServiceOutcome<List<ApplicationUser>> removeWatcher(Issue issue, ApplicationUser remoteUser, ApplicationUser watcher) throws WatchingDisabledException
WatcherService
removeWatcher
in interface WatcherService
issue
- the Issue to updateremoteUser
- a User indicating the user on behalf of whom this operation is being performedwatcher
- a User representing the User to remove from the watcher listWatchingDisabledException
- if watching is currently disabledpublic WatcherService.BulkWatchResult removeWatcherFromAll(Collection<Issue> issues, ApplicationUser remoteUser, ApplicationUser watcher) throws WatchingDisabledException
WatcherService
removeWatcherFromAll
in interface WatcherService
issues
- the list of Issues to updateremoteUser
- an ApplicationUser indicating the user on behalf of whom this operation is being performedwatcher
- an ApplicationUser representing the user to remove from the watcher list for each issueWatchingDisabledException
- if watching is currently disabledpublic WatcherService.BulkWatchResult removeWatcherFromAll(Collection<Issue> issues, ApplicationUser remoteUser, ApplicationUser watcher, Context taskContext) throws WatchingDisabledException
WatcherService
removeWatcherFromAll
in interface WatcherService
issues
- the list of Issues to updateremoteUser
- an ApplicationUser indicating the user on behalf of whom this operation is being performedwatcher
- an ApplicationUser representing the user to remove from the watcher list for each issuetaskContext
- a context through which progress can be reported backWatchingDisabledException
- if watching is currently disabledpublic boolean canWatchAll(Iterable<Issue> issues, ApplicationUser applicationUser)
WatcherService
canWatchAll
in interface WatcherService
issues
- The list of issues to checkapplicationUser
- The user to execute this check forpublic boolean canUnwatchAll(Iterable<Issue> issues, ApplicationUser remoteUser)
WatcherService
canUnwatchAll
in interface WatcherService
issues
- The list of issues to checkremoteUser
- The user to execute this check forpublic boolean isWatchingEnabled()
isWatchingEnabled
in interface WatcherService
public boolean hasViewWatcherListPermission(Issue issue, @Nullable ApplicationUser remoteUser)
hasViewWatcherListPermission
in interface WatcherService
issue
- an IssueremoteUser
- a Userprotected Pair<Integer,List<String>> getWatcherUsernames(Issue issue, ApplicationUser remoteUser) throws WatchingDisabledException
issue
- the IssueremoteUser
- the calling UserWatchingDisabledException
- if watching is disabledprotected List<ApplicationUser> getCurrentWatchersFor(Issue issue)
issue
- the Issue to get the watcher list forprotected boolean canEditWatcherList(Issue issue, @Nullable ApplicationUser remoteUser)
issue
- an IssueremoteUser
- a Userprotected <T extends ApplicationUser> Pair<Integer,List<T>> convertUsers(Pair<Integer,List<String>> watchers, com.google.common.base.Function<String,T> function)
watchers
- a Pair of watcher count and watcher usernamesfunction
- a Function used for conversionprotected void checkModifyWatchersPermission(Issue issue, ApplicationUser remoteUser, ApplicationUser watcher) throws com.atlassian.jira.bc.issue.watcher.DefaultWatcherService.PermissionException, WatchingDisabledException
issue
- an IssueremoteUser
- a User representing the callerwatcher
- a User representing the watcher to add or removePermissionException
- if the caller does not have permission to manage watchers, or cannot see the issueWatchingDisabledException
- if watching is disabledcom.atlassian.jira.bc.issue.watcher.DefaultWatcherService.PermissionException
Copyright © 2002-2015 Atlassian. All Rights Reserved.