|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.atlassian.jira.bc.issue.watcher.DefaultWatcherService
public class DefaultWatcherService
Implementation of WatcherService.
Constructor Summary | |
---|---|
DefaultWatcherService(ApplicationProperties applicationProperties,
I18nHelper.BeanFactory i18n,
PermissionManager permissionManager,
WatcherManager watcherManager,
UserManager userManager)
Creates a new DefaultWatcherService with the given dependencies. |
Method Summary | ||
---|---|---|
ServiceOutcome<List<com.atlassian.crowd.embedded.api.User>> |
addWatcher(Issue issue,
com.atlassian.crowd.embedded.api.User remoteUser,
com.atlassian.crowd.embedded.api.User watcher)
Adds a watcher to an issue's list of watchers, returning the updated list of watchers. |
|
protected boolean |
canEditWatcherList(Issue issue,
com.atlassian.crowd.embedded.api.User remoteUser)
Returns true iff the given User has permission to edit the watcher list of the issue. |
|
protected void |
checkModifyWatchersPermission(Issue issue,
com.atlassian.crowd.embedded.api.User remoteUser,
com.atlassian.crowd.embedded.api.User watcher)
Ensures that the given remoteUser has permission to add or remove the given watcher to/from the issue. |
|
protected
|
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
|
getCurrentWatchersFor(Issue issue)
Returns a List containing the users that are currently watching an issue. |
|
ServiceOutcome<Pair<Integer,List<com.atlassian.crowd.embedded.api.User>>> |
getWatchers(Issue issue,
com.atlassian.crowd.embedded.api.User 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,
com.atlassian.crowd.embedded.api.User remoteUser)
Returns a pair containing the watcher count and the watcher usernames for a given issue. |
|
boolean |
hasViewWatcherListPermission(Issue issue,
com.atlassian.crowd.embedded.api.User 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<com.atlassian.crowd.embedded.api.User>> |
removeWatcher(Issue issue,
com.atlassian.crowd.embedded.api.User remoteUser,
com.atlassian.crowd.embedded.api.User watcher)
Removes a watcher from an issue's list of watchers, returning the updated list of watchers. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DefaultWatcherService(ApplicationProperties applicationProperties, I18nHelper.BeanFactory i18n, PermissionManager permissionManager, WatcherManager watcherManager, UserManager userManager)
applicationProperties
- an ApplicationPropertiesi18n
- a I18nBeanpermissionManager
- a PermissionManagerwatcherManager
- a WatcherManageruserManager
- a UserManagerMethod Detail |
---|
public ServiceOutcome<Pair<Integer,List<com.atlassian.crowd.embedded.api.User>>> getWatchers(Issue issue, @Nullable com.atlassian.crowd.embedded.api.User remoteUser) throws WatchingDisabledException
WatcherService
getWatchers
in interface WatcherService
issue
- the Issue to find watchers forremoteUser
- the calling User
WatchingDisabledException
- if watching is currently disabledpublic ServiceOutcome<List<com.atlassian.crowd.embedded.api.User>> addWatcher(Issue issue, com.atlassian.crowd.embedded.api.User remoteUser, com.atlassian.crowd.embedded.api.User watcher) throws WatchingDisabledException
WatcherService
addWatcher
in interface WatcherService
issue
- the issue to updateremoteUser
- the remote user on behalf of whichwatcher
- the watcher to add
WatchingDisabledException
- if watching is currently disabledpublic ServiceOutcome<List<com.atlassian.crowd.embedded.api.User>> removeWatcher(Issue issue, com.atlassian.crowd.embedded.api.User remoteUser, com.atlassian.crowd.embedded.api.User 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 list
WatchingDisabledException
- if watching is currently disabledpublic boolean isWatchingEnabled()
isWatchingEnabled
in interface WatcherService
public boolean hasViewWatcherListPermission(Issue issue, @Nullable com.atlassian.crowd.embedded.api.User remoteUser)
hasViewWatcherListPermission
in interface WatcherService
issue
- an IssueremoteUser
- a User
protected Pair<Integer,List<String>> getWatcherUsernames(Issue issue, com.atlassian.crowd.embedded.api.User remoteUser) throws WatchingDisabledException
issue
- the IssueremoteUser
- the calling User
WatchingDisabledException
- if watching is disabledprotected <T> List<com.atlassian.crowd.embedded.api.User> getCurrentWatchersFor(Issue issue)
issue
- the Issue to get the watcher list for
protected boolean canEditWatcherList(Issue issue, @Nullable com.atlassian.crowd.embedded.api.User remoteUser)
issue
- an IssueremoteUser
- a User
protected <T extends com.atlassian.crowd.embedded.api.User> 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 conversion
protected void checkModifyWatchersPermission(Issue issue, com.atlassian.crowd.embedded.api.User remoteUser, com.atlassian.crowd.embedded.api.User 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 remove
PermissionException
- if the caller does not have permission to manage watchers, or cannot see the issue
WatchingDisabledException
- if watching is disabled
com.atlassian.jira.bc.issue.watcher.DefaultWatcherService.PermissionException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |