diff options
Diffstat (limited to 'sonar-server/src/main/java/org/sonar/server/issue/IssueBulkChangeService.java')
-rw-r--r-- | sonar-server/src/main/java/org/sonar/server/issue/IssueBulkChangeService.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/issue/IssueBulkChangeService.java b/sonar-server/src/main/java/org/sonar/server/issue/IssueBulkChangeService.java index 586280b143e..cc23710a2c6 100644 --- a/sonar-server/src/main/java/org/sonar/server/issue/IssueBulkChangeService.java +++ b/sonar-server/src/main/java/org/sonar/server/issue/IssueBulkChangeService.java @@ -35,6 +35,7 @@ import org.sonar.core.issue.db.IssueStorage; import org.sonar.server.user.UserSession; import javax.annotation.CheckForNull; + import java.util.Date; import java.util.List; @@ -75,12 +76,10 @@ public class IssueBulkChangeService { IssueChangeContext issueChangeContext = IssueChangeContext.createUser(new Date(), userSession.login()); for (Issue issue : issues) { + ActionContext actionContext = new ActionContext(issue, issueChangeContext); for (Action action : bulkActions) { try { - ActionContext actionContext = new ActionContext(issue, issueChangeContext); if (action.supports(issue) && action.execute(issueBulkChangeQuery.properties(action.key()), actionContext)) { - issueStorage.save((DefaultIssue) issue); - issueNotifications.sendChanges((DefaultIssue) issue, issueChangeContext, issueQueryResult); result.addIssueChanged(issue); } else { result.addIssueNotChanged(issue); @@ -90,6 +89,10 @@ public class IssueBulkChangeService { LOG.info("An error occur when trying to apply the action : "+ action.key() + " on issue : "+ issue.key() + ". This issue has been ignored.", e); } } + if (result.issuesChanged().contains(issue)) { + issueStorage.save((DefaultIssue) issue); + issueNotifications.sendChanges((DefaultIssue) issue, issueChangeContext, issueQueryResult); + } } return result; } |