public class DefaultCommentService extends Object implements CommentService
CommentService.CommentCreateValidationResult, CommentService.CommentParameters, CommentService.CommentUpdateValidationResult, CommentService.CommentVisibility
Modifier and Type | Field and Description |
---|---|
static String |
ERROR_BODY_TOOLONG |
static String |
ERROR_COMMENT_DELETE_ISSUE_UPDATE_FAILED |
static String |
ERROR_COMMENT_DELETE_NO_PERMISSION |
static String |
ERROR_COMMENT_DELETE_NON_EDITABLE_ISSUE |
static String |
ERROR_COMMENT_EDIT_NON_EDITABLE_ISSUE |
static String |
ERROR_NULL_COMMENT |
static String |
ERROR_NULL_COMMENT_DELETE |
static String |
ERROR_NULL_COMMENT_ID |
static String |
ERROR_NULL_COMMENT_ID_DELETE |
Constructor and Description |
---|
DefaultCommentService(CommentManager commentManager,
PermissionManager permissionManager,
JiraAuthenticationContext jiraAuthenticationContext,
CommentPermissionManager commentPermissionManager,
IssueUpdater issueUpdater,
IssueManager issueManager,
VisibilityValidator visibilityValidator,
TextFieldCharacterLengthValidator textFieldCharacterLengthValidator) |
Modifier and Type | Method and Description |
---|---|
Comment |
create(ApplicationUser applicationUser,
CommentService.CommentCreateValidationResult validationResult,
boolean dispatchEvent)
|
Comment |
create(ApplicationUser user,
Issue issue,
String body,
boolean dispatchEvent,
ErrorCollection errorCollection)
|
Comment |
create(ApplicationUser user,
Issue issue,
String body,
String groupLevel,
Long roleLevelId,
boolean dispatchEvent,
ErrorCollection errorCollection)
|
Comment |
create(ApplicationUser user,
Issue issue,
String body,
String groupLevel,
Long roleLevelId,
Date created,
boolean dispatchEvent,
ErrorCollection errorCollection)
|
Comment |
create(com.atlassian.crowd.embedded.api.User user,
Issue issue,
String body,
boolean dispatchEvent,
ErrorCollection errorCollection)
|
Comment |
create(com.atlassian.crowd.embedded.api.User user,
Issue issue,
String body,
String groupLevel,
Long roleLevelId,
boolean dispatchEvent,
ErrorCollection errorCollection)
|
Comment |
create(com.atlassian.crowd.embedded.api.User user,
Issue issue,
String body,
String groupLevel,
Long roleLevelId,
Date created,
boolean dispatchEvent,
ErrorCollection errorCollection)
|
void |
delete(JiraServiceContext jiraServiceContext,
Comment comment,
boolean dispatchEvent)
Deletes a comment and updates the issue's change history and updated date.
|
protected void |
doUpdateWithChangelog(Long eventTypeId,
List<ChangeItemBean> changeItems,
Issue issue,
ApplicationUser user,
boolean dispatchEvent)
This method 'completes' the update of an issue entity.
|
Comment |
getCommentById(ApplicationUser user,
Long commentId,
ErrorCollection errorCollection) |
Comment |
getCommentById(com.atlassian.crowd.embedded.api.User user,
Long commentId,
ErrorCollection errorCollection)
Will return a comment for the passed in commentId.
|
List<Comment> |
getCommentsForUser(ApplicationUser user,
Issue issue)
|
List<Comment> |
getCommentsForUser(ApplicationUser currentUser,
Issue issue,
ErrorCollection errorCollection)
Will return a list of
Comment s for the given user. |
List<Comment> |
getCommentsForUser(com.atlassian.crowd.embedded.api.User currentUser,
Issue issue,
ErrorCollection errorCollection)
Will return a list of
Comment s for the given user. |
List<Comment> |
getCommentsForUserSince(ApplicationUser currentUser,
Issue issue,
Date since)
Will return a list of
Comment s that were created or updated since the provided date, for the given user. |
MutableComment |
getMutableComment(ApplicationUser user,
Long commentId,
ErrorCollection errorCollection) |
MutableComment |
getMutableComment(com.atlassian.crowd.embedded.api.User user,
Long commentId,
ErrorCollection errorCollection)
Will return a
MutableComment for the passed in commentId. |
boolean |
hasPermissionToCreate(ApplicationUser user,
Issue issue,
ErrorCollection errorCollection) |
boolean |
hasPermissionToCreate(com.atlassian.crowd.embedded.api.User user,
Issue issue,
ErrorCollection errorCollection)
Has the correct permission to create a comment for the given issue.
|
boolean |
hasPermissionToDelete(JiraServiceContext jiraServiceContext,
Long commentId)
Determines whether the user can delete a comment.
|
boolean |
hasPermissionToEdit(ApplicationUser user,
Comment comment,
ErrorCollection errorCollection) |
boolean |
hasPermissionToEdit(JiraServiceContext jiraServiceContext,
Long commentId)
Determines whether the user can edit a comment.
|
boolean |
hasPermissionToEdit(com.atlassian.crowd.embedded.api.User user,
Comment comment,
ErrorCollection errorCollection)
Determine whether the current user has the permission to edit the
comment.
|
protected boolean |
hasVisibility(JiraServiceContext jiraServiceContext,
Comment comment) |
boolean |
isGroupVisibilityEnabled()
Returns the flag that indicates whether group visiblity is enabled
|
boolean |
isGroupVisiblityEnabled()
Returns the flag that indicates whether group visiblity is enabled
|
boolean |
isProjectRoleVisibilityEnabled()
Returns the flag that indicates whether project role visibility is enabled
|
boolean |
isProjectRoleVisiblityEnabled()
Returns the flag that indicates whether project role visibility is enabled
|
boolean |
isValidAllCommentData(ApplicationUser currentUser,
Issue issue,
String body,
String groupLevel,
String roleLevelId,
ErrorCollection errorCollection) |
boolean |
isValidAllCommentData(ApplicationUser currentUser,
Issue issue,
String body,
Visibility visibility,
ErrorCollection errorCollection)
Will call all other validate methods setting the appropriate errors
in the
errorCollection if any errors occur. |
boolean |
isValidAllCommentData(com.atlassian.crowd.embedded.api.User user,
Issue issue,
String body,
String groupLevel,
String roleLevelId,
ErrorCollection errorCollection)
Will call all other validate methods setting the appropriate errors
in the
errorCollection if any errors occur. |
boolean |
isValidCommentBody(String body,
ErrorCollection errorCollection)
Validates that the body is a valid string, if not the appropriate error
is added to the
errorCollection . |
boolean |
isValidCommentBody(String body,
ErrorCollection errorCollection,
boolean allowEmpty)
Validates that the body is a valid string, if not the appropriate error
is added to the
errorCollection . |
boolean |
isValidCommentData(ApplicationUser currentUser,
Issue issue,
String groupLevel,
String roleLevelId,
ErrorCollection errorCollection) |
boolean |
isValidCommentData(com.atlassian.crowd.embedded.api.User user,
Issue issue,
String groupLevel,
String roleLevelId,
ErrorCollection errorCollection)
This method validates if the comment has the correct role and group
levels set.
|
boolean |
isValidCommentVisibility(ApplicationUser currentUser,
Issue issue,
Visibility visibility,
ErrorCollection errorCollection)
This method validates if the comment has the correct role and group
levels set.
|
void |
update(ApplicationUser user,
CommentService.CommentUpdateValidationResult validationResult,
boolean dispatchEvent)
Updates a
Comment and sets the comments updated date to be now and the updatedAuthor to be the
passed in user. |
void |
update(ApplicationUser user,
MutableComment comment,
boolean dispatchEvent,
ErrorCollection errorCollection)
Updates a
Comment and sets the comments updated date to be now and the updatedAuthor to be the
passed in user. |
void |
update(com.atlassian.crowd.embedded.api.User user,
MutableComment comment,
boolean dispatchEvent,
ErrorCollection errorCollection)
Updates a
Comment and sets the comments updated date to be now and the updatedAuthor to be the
passed in user. |
CommentService.CommentCreateValidationResult |
validateCommentCreate(ApplicationUser user,
CommentService.CommentParameters commentParameters)
Confirms the parameters to create a comment are valid and that the user has the permission to do so.
|
CommentService.CommentUpdateValidationResult |
validateCommentUpdate(ApplicationUser user,
Long commentId,
CommentService.CommentParameters commentParameters)
Confirms the parameters to update a comment are valid and that the updating user has the permission to do so.
|
void |
validateCommentUpdate(ApplicationUser user,
Long commentId,
String body,
String groupLevel,
Long roleLevelId,
ErrorCollection errorCollection)
Confirms the parameters to update a comment are valid and that the updating user has the permission to do so.
|
void |
validateCommentUpdate(com.atlassian.crowd.embedded.api.User user,
Long commentId,
String body,
String groupLevel,
Long roleLevelId,
ErrorCollection errorCollection)
Confirms the parameters to update a comment are valid and that the updating user has the permission to do so.
|
public static final String ERROR_NULL_COMMENT_ID
public static final String ERROR_NULL_COMMENT
public static final String ERROR_NULL_COMMENT_DELETE
public static final String ERROR_NULL_COMMENT_ID_DELETE
public static final String ERROR_COMMENT_DELETE_ISSUE_UPDATE_FAILED
public static final String ERROR_COMMENT_EDIT_NON_EDITABLE_ISSUE
public static final String ERROR_COMMENT_DELETE_NON_EDITABLE_ISSUE
public static final String ERROR_COMMENT_DELETE_NO_PERMISSION
public static final String ERROR_BODY_TOOLONG
public DefaultCommentService(CommentManager commentManager, PermissionManager permissionManager, JiraAuthenticationContext jiraAuthenticationContext, CommentPermissionManager commentPermissionManager, IssueUpdater issueUpdater, IssueManager issueManager, VisibilityValidator visibilityValidator, TextFieldCharacterLengthValidator textFieldCharacterLengthValidator)
public void validateCommentUpdate(ApplicationUser user, Long commentId, String body, String groupLevel, Long roleLevelId, ErrorCollection errorCollection)
CommentService
CommentService.update(com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.issue.comments.MutableComment, boolean, com.atlassian.jira.util.ErrorCollection)
to persist the changes. If an error is encountered
then the ErrorCollection
will contain the specific error message.validateCommentUpdate
in interface CommentService
user
- The ApplicationUser
who will be performing the operation and who will be the updatedAuthor.commentId
- The id of the comment to be updated. Permissions will be checked to ensure that the user
has the right to update this comment. If the comment does not exist an error will be reported.body
- The body of the comment to be updated.groupLevel
- The group level visibility of the comment (null if roleLevelId specified)roleLevelId
- The role level visibility id of the comment (null if groupLevel specified)errorCollection
- holder for any errors that were thrown attempting to update a commentpublic CommentService.CommentUpdateValidationResult validateCommentUpdate(ApplicationUser user, Long commentId, CommentService.CommentParameters commentParameters)
CommentService
CommentService.update(com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.issue.comments.MutableComment, boolean, com.atlassian.jira.util.ErrorCollection)
to persist the changes. If an error is encountered
then the ErrorCollection
will contain the specific error message.validateCommentUpdate
in interface CommentService
user
- The ApplicationUser
who will be performing the operation and who will be the updatedAuthor.commentId
- The id of the comment to be updated. Permissions will be checked to ensure that the user
has the right to update this comment. If the comment does not exist an error will be reported.commentParameters
- the comment parameters.public void validateCommentUpdate(com.atlassian.crowd.embedded.api.User user, Long commentId, String body, String groupLevel, Long roleLevelId, ErrorCollection errorCollection)
CommentService
CommentService.update(com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.issue.comments.MutableComment, boolean, com.atlassian.jira.util.ErrorCollection)
to persist the changes. If an error is encountered
then the ErrorCollection
will contain the specific error message.validateCommentUpdate
in interface CommentService
user
- The ApplicationUser
who will be performing the operation and who will be the updatedAuthor.commentId
- The id of the comment to be updated. Permissions will be checked to ensure that the user
has the right to update this comment. If the comment does not exist an error will be reported.body
- The body of the comment to be updated.groupLevel
- The group level visibility of the comment (null if roleLevelId specified)roleLevelId
- The role level visibility id of the comment (null if groupLevel specified)errorCollection
- holder for any errors that were thrown attempting to update a commentpublic void update(com.atlassian.crowd.embedded.api.User user, MutableComment comment, boolean dispatchEvent, ErrorCollection errorCollection)
CommentService
Comment
and sets the comments updated date to be now and the updatedAuthor to be the
passed in user.update
in interface CommentService
user
- the User
who must have permission to update this comment and who will be used as the updateAuthorcomment
- the object that contains the changes to the comment to persist.dispatchEvent
- whether or not you want to have an event dispatched on Comment update. If false then
the issue will not be reindexed.errorCollection
- holder for any errors that were thrown attempting to update a commentpublic void update(ApplicationUser user, MutableComment comment, boolean dispatchEvent, ErrorCollection errorCollection)
CommentService
Comment
and sets the comments updated date to be now and the updatedAuthor to be the
passed in user.update
in interface CommentService
user
- the ApplicationUser
who must have permission to update this comment and who will be used as the updateAuthorcomment
- the object that contains the changes to the comment to persist.dispatchEvent
- whether or not you want to have an event dispatched on Comment update. If false then
the issue will not be reindexed.errorCollection
- holder for any errors that were thrown attempting to update a commentpublic void update(ApplicationUser user, CommentService.CommentUpdateValidationResult validationResult, boolean dispatchEvent)
CommentService
Comment
and sets the comments updated date to be now and the updatedAuthor to be the
passed in user.update
in interface CommentService
user
- the ApplicationUser
who must have permission to update this comment and who will be used as the updateAuthorvalidationResult
- the comment parameters.dispatchEvent
- whether or not you want to have an event dispatched on Comment update. If false then
the issue will not be reindexed.public CommentService.CommentCreateValidationResult validateCommentCreate(ApplicationUser user, @Nonnull CommentService.CommentParameters commentParameters)
CommentService
CommentService.create(ApplicationUser, com.atlassian.jira.bc.issue.comment.CommentService.CommentCreateValidationResult, boolean)
to persist the changes.
If an error is encountered then the CommentService.CommentCreateValidationResult
will contain the specific error message.validateCommentCreate
in interface CommentService
user
- The ApplicationUser
who will be performing the operation.commentParameters
- the comment parameters.public Comment create(com.atlassian.crowd.embedded.api.User user, Issue issue, String body, boolean dispatchEvent, ErrorCollection errorCollection)
CommentService
Comment
on the given Issue
set with current date and time, visible to all
- no group level or role level restriction.create
in interface CommentService
user
- The User
who will be performing the operation.issue
- The Issue
you wish to associate the Comment
with. This can not be nullbody
- The body of the commentdispatchEvent
- whether or not you want to have an event dispatched on Comment creationerrorCollection
- holder for any errors that were thrown attempting to create a commentpublic Comment create(ApplicationUser user, Issue issue, String body, boolean dispatchEvent, ErrorCollection errorCollection)
CommentService
Comment
on the given Issue
set with current date and time, visible to all
- no group level or role level restriction.create
in interface CommentService
user
- The ApplicationUser
who will be performing the operation.issue
- The Issue
you wish to associate the Comment
with. This can not be nullbody
- The body of the commentdispatchEvent
- whether or not you want to have an event dispatched on Comment creationerrorCollection
- holder for any errors that were thrown attempting to create a commentpublic Comment create(com.atlassian.crowd.embedded.api.User user, Issue issue, String body, String groupLevel, Long roleLevelId, boolean dispatchEvent, ErrorCollection errorCollection)
CommentService
create
in interface CommentService
user
- The User
who will be performing the operation.issue
- The Issue
you wish to associate the Comment
with. This can not be nullbody
- The body of the commentgroupLevel
- The group level visibility of the comment (null if roleLevelId specified)roleLevelId
- The role level visibility id of the comment (null if groupLevel specified)dispatchEvent
- whether or not you want to have an event dispatched on Comment creationerrorCollection
- holder for any errors that were thrown attempting to create a commentpublic Comment create(ApplicationUser user, Issue issue, String body, String groupLevel, Long roleLevelId, boolean dispatchEvent, ErrorCollection errorCollection)
CommentService
create
in interface CommentService
user
- The ApplicationUser
who will be performing the operation.issue
- The Issue
you wish to associate the Comment
with. This can not be nullbody
- The body of the commentgroupLevel
- The group level visibility of the comment (null if roleLevelId specified)roleLevelId
- The role level visibility id of the comment (null if groupLevel specified)dispatchEvent
- whether or not you want to have an event dispatched on Comment creationerrorCollection
- holder for any errors that were thrown attempting to create a commentpublic Comment create(com.atlassian.crowd.embedded.api.User user, Issue issue, String body, String groupLevel, Long roleLevelId, Date created, boolean dispatchEvent, ErrorCollection errorCollection)
CommentService
create
in interface CommentService
user
- The User
who will be performing the operation.issue
- The Issue
you wish to associate the Comment
with. This can not be nullbody
- The body of the commentgroupLevel
- The group level visibility of the comment (null if roleLevelId specified)roleLevelId
- The role level visibility id of the comment (null if groupLevel specified)created
- The date of comment creationdispatchEvent
- whether or not you want to have an event dispatched on Comment creationerrorCollection
- holder for any errors that were thrown attempting to create a commentpublic Comment create(ApplicationUser user, Issue issue, String body, String groupLevel, Long roleLevelId, Date created, boolean dispatchEvent, ErrorCollection errorCollection)
CommentService
create
in interface CommentService
user
- The ApplicationUser
who will be performing the operation.issue
- The Issue
you wish to associate the Comment
with. This can not be nullbody
- The body of the commentgroupLevel
- The group level visibility of the comment (null if roleLevelId specified)roleLevelId
- The role level visibility id of the comment (null if groupLevel specified)created
- The date of comment creationdispatchEvent
- whether or not you want to have an event dispatched on Comment creationerrorCollection
- holder for any errors that were thrown attempting to create a commentpublic Comment create(ApplicationUser applicationUser, CommentService.CommentCreateValidationResult validationResult, boolean dispatchEvent)
CommentService
create
in interface CommentService
applicationUser
- The ApplicationUser
who will be performing the operation.validationResult
- the results of CommentService.validateCommentCreate(ApplicationUser, com.atlassian.jira.bc.issue.comment.CommentService.CommentParameters)
.dispatchEvent
- whether or not you want to have an event dispatched on Comment creationpublic List<Comment> getCommentsForUser(ApplicationUser currentUser, Issue issue, ErrorCollection errorCollection)
CommentService
Comment
s for the given user.getCommentsForUser
in interface CommentService
currentUser
- current ApplicationUser
issue
- the issue with associated commentserrorCollection
- holder for any errors that were thrown attempting to retrieve commentspublic List<Comment> getCommentsForUser(com.atlassian.crowd.embedded.api.User currentUser, Issue issue, ErrorCollection errorCollection)
CommentService
Comment
s for the given user.getCommentsForUser
in interface CommentService
currentUser
- current User
issue
- the issue with associated commentserrorCollection
- holder for any errors that were thrown attempting to retrieve comments@Nonnull public List<Comment> getCommentsForUser(@Nullable ApplicationUser user, @Nonnull Issue issue)
CommentService
Comment
s for the given user
Will return a list of Comment
s for the given user.getCommentsForUser
in interface CommentService
user
- the user to check permissions against ApplicationUser
, or anonymous if null.issue
- the issue with associated comments. Must not be null.@Nonnull public List<Comment> getCommentsForUserSince(@Nullable ApplicationUser currentUser, @Nonnull Issue issue, @Nonnull Date since)
CommentService
Comment
s that were created or updated since the provided date, for the given user.getCommentsForUserSince
in interface CommentService
currentUser
- the user to check permissions against ApplicationUser
, or anonymous if null.issue
- the issue with associated comments. Must not be null.since
- only comments created or updated after this date will be returned. Must not be null.public boolean isValidCommentData(ApplicationUser currentUser, Issue issue, String groupLevel, String roleLevelId, ErrorCollection errorCollection)
isValidCommentData
in interface CommentService
public boolean isValidCommentData(com.atlassian.crowd.embedded.api.User user, Issue issue, String groupLevel, String roleLevelId, ErrorCollection errorCollection)
CommentService
errorCollection
will contain the errors.isValidCommentData
in interface CommentService
user
- The User
who will be performing the operation.issue
- issue to associate the comment withgroupLevel
- comment group visibility levelroleLevelId
- comment project role visibility level iderrorCollection
- holder for any errors that can occur in process of validationpublic boolean isValidCommentVisibility(ApplicationUser currentUser, Issue issue, Visibility visibility, ErrorCollection errorCollection)
CommentService
errorCollection
will contain the errors.isValidCommentVisibility
in interface CommentService
currentUser
- The User
who will be performing the operation.issue
- issue to associate the comment withvisibility
- comment visibility levelerrorCollection
- holder for any errors that can occur in process of validationpublic boolean isValidCommentBody(String body, ErrorCollection errorCollection)
CommentService
errorCollection
. This method was added so
the CommentSystemField can validate the body and set the appropriate error message.isValidCommentBody
in interface CommentService
body
- comment body to validateerrorCollection
- holder for any errors that can occur in process of validationpublic boolean isValidCommentBody(String body, ErrorCollection errorCollection, boolean allowEmpty)
CommentService
errorCollection
. This method was added so
the CommentSystemField can validate the body and set the appropriate error message.isValidCommentBody
in interface CommentService
body
- comment body to validateerrorCollection
- holder for any errors that can occur in process of validationallowEmpty
- indicates whether empty body is allowedpublic boolean isValidAllCommentData(ApplicationUser currentUser, Issue issue, String body, String groupLevel, String roleLevelId, ErrorCollection errorCollection)
isValidAllCommentData
in interface CommentService
public boolean isValidAllCommentData(com.atlassian.crowd.embedded.api.User user, Issue issue, String body, String groupLevel, String roleLevelId, ErrorCollection errorCollection)
CommentService
errorCollection
if any errors occur.isValidAllCommentData
in interface CommentService
user
- The User
who will be performing the operation.issue
- issue to associate the comment withbody
- comment bodygroupLevel
- comment group visibility levelroleLevelId
- comment project role visibility level iderrorCollection
- holder for any errors that can occur in process of validarionpublic boolean isValidAllCommentData(ApplicationUser currentUser, Issue issue, String body, Visibility visibility, ErrorCollection errorCollection)
CommentService
errorCollection
if any errors occur.isValidAllCommentData
in interface CommentService
currentUser
- The User
who will be performing the operation.issue
- issue to associate the comment withbody
- comment bodyvisibility
- visibility levelerrorCollection
- holder for any errors that can occur in process of validarionpublic boolean isGroupVisiblityEnabled()
CommentService
isGroupVisiblityEnabled
in interface CommentService
public boolean isProjectRoleVisiblityEnabled()
CommentService
isProjectRoleVisiblityEnabled
in interface CommentService
public boolean isGroupVisibilityEnabled()
CommentService
isGroupVisibilityEnabled
in interface CommentService
public boolean isProjectRoleVisibilityEnabled()
CommentService
isProjectRoleVisibilityEnabled
in interface CommentService
public Comment getCommentById(ApplicationUser user, Long commentId, ErrorCollection errorCollection)
getCommentById
in interface CommentService
public Comment getCommentById(com.atlassian.crowd.embedded.api.User user, Long commentId, ErrorCollection errorCollection)
CommentService
getCommentById
in interface CommentService
user
- who is looking up the commentcommentId
- the id representing the Comment
you would like to retrieve.errorCollection
- holder for any errors that can occur in process of validationComment
or null (if the user cannot browse the comment).public MutableComment getMutableComment(ApplicationUser user, Long commentId, ErrorCollection errorCollection)
getMutableComment
in interface CommentService
public MutableComment getMutableComment(com.atlassian.crowd.embedded.api.User user, Long commentId, ErrorCollection errorCollection)
CommentService
MutableComment
for the passed in commentId. This
will return null if the user does not have permission to view the
comment. The difference between this method and
CommentService.getCommentById(User, Long, ErrorCollection)
is that this method
returns a version of the Comment
that we can set values on.getMutableComment
in interface CommentService
user
- the current user.commentId
- the id that we use to find the comment object.errorCollection
- holder for any errors that can occur in process of validationpublic boolean hasPermissionToDelete(JiraServiceContext jiraServiceContext, Long commentId)
CommentService
hasPermissionToDelete
in interface CommentService
jiraServiceContext
- jiraServiceContext containing the user who wishes to delete a comment and the
errorCollection that will contain any errors encountered when calling the methodcommentId
- the id of the target comment (cannot be null)protected boolean hasVisibility(JiraServiceContext jiraServiceContext, Comment comment)
public void delete(JiraServiceContext jiraServiceContext, Comment comment, boolean dispatchEvent)
CommentService
CommentService.hasPermissionToDelete(com.atlassian.jira.bc.JiraServiceContext, Long)
is successfully called first.delete
in interface CommentService
jiraServiceContext
- containing the user who wishes to delete a comment and the errorCollection
that will contain any errors encountered when calling the methodcomment
- the comment to delete (cannot be null)dispatchEvent
- a flag indicating whether to dispatch an issue updated event. If this flag is false then
the issue will not be reindexed.public boolean hasPermissionToCreate(ApplicationUser user, Issue issue, ErrorCollection errorCollection)
hasPermissionToCreate
in interface CommentService
public boolean hasPermissionToCreate(com.atlassian.crowd.embedded.api.User user, Issue issue, ErrorCollection errorCollection)
CommentService
hasPermissionToCreate
in interface CommentService
user
- The User
who will be performing the operation.issue
- The Issue
you wish to associate the Comment
with. This can not be null.errorCollection
- holder for any errors that were thrown attempting permission checkspublic boolean hasPermissionToEdit(JiraServiceContext jiraServiceContext, Long commentId)
CommentService
hasPermissionToEdit
in interface CommentService
jiraServiceContext
- JIRA service context containing the user who wishes to edit a comment and the
errorCollection that will contain any errors encountered when calling the methodcommentId
- the id of the target comment (cannot be null)public boolean hasPermissionToEdit(ApplicationUser user, Comment comment, ErrorCollection errorCollection)
hasPermissionToEdit
in interface CommentService
public boolean hasPermissionToEdit(com.atlassian.crowd.embedded.api.User user, Comment comment, ErrorCollection errorCollection)
CommentService
hasPermissionToEdit
in interface CommentService
user
- The User
who will be performing the operation.comment
- The Comment
you wish to edit.errorCollection
- holder for any errors that were thrown attempting permission checksprotected void doUpdateWithChangelog(Long eventTypeId, List<ChangeItemBean> changeItems, Issue issue, ApplicationUser user, boolean dispatchEvent)
eventTypeId
- event type idchangeItems
- list of change itemsissue
- issue to updateuser
- user performing this operationdispatchEvent
- dispatch event flagJiraException
- if update failsCopyright © 2002-2015 Atlassian. All Rights Reserved.