summaryrefslogtreecommitdiffstats
path: root/java/com/google/gerrit/server/restapi/change/DeleteVote.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/google/gerrit/server/restapi/change/DeleteVote.java')
-rw-r--r--java/com/google/gerrit/server/restapi/change/DeleteVote.java19
1 files changed, 11 insertions, 8 deletions
diff --git a/java/com/google/gerrit/server/restapi/change/DeleteVote.java b/java/com/google/gerrit/server/restapi/change/DeleteVote.java
index 7ee38d4bff..208cecf241 100644
--- a/java/com/google/gerrit/server/restapi/change/DeleteVote.java
+++ b/java/com/google/gerrit/server/restapi/change/DeleteVote.java
@@ -40,6 +40,7 @@ import com.google.gerrit.server.PatchSetUtil;
import com.google.gerrit.server.account.AccountState;
import com.google.gerrit.server.approval.ApprovalsUtil;
import com.google.gerrit.server.change.AddToAttentionSetOp;
+import com.google.gerrit.server.change.AttentionSetUnchangedOp;
import com.google.gerrit.server.change.NotifyResolver;
import com.google.gerrit.server.change.ReviewerResource;
import com.google.gerrit.server.change.VoteResource;
@@ -81,7 +82,7 @@ public class DeleteVote implements RestModifyView<VoteResource, DeleteVoteInput>
private final RemoveReviewerControl removeReviewerControl;
private final ProjectCache projectCache;
private final MessageIdGenerator messageIdGenerator;
- private final AddToAttentionSetOp.Factory attentionSetOpfactory;
+ private final AddToAttentionSetOp.Factory attentionSetOpFactory;
private final Provider<CurrentUser> currentUserProvider;
@Inject
@@ -108,7 +109,7 @@ public class DeleteVote implements RestModifyView<VoteResource, DeleteVoteInput>
this.removeReviewerControl = removeReviewerControl;
this.projectCache = projectCache;
this.messageIdGenerator = messageIdGenerator;
- this.attentionSetOpfactory = attentionSetOpFactory;
+ this.attentionSetOpFactory = attentionSetOpFactory;
this.currentUserProvider = currentUserProvider;
}
@@ -133,7 +134,7 @@ public class DeleteVote implements RestModifyView<VoteResource, DeleteVoteInput>
try (BatchUpdate bu =
updateFactory.create(
- change.getProject(), r.getChangeResource().getUser(), TimeUtil.nowTs())) {
+ change.getProject(), r.getChangeResource().getUser(), TimeUtil.now())) {
bu.setNotify(
notifyResolver.resolve(
firstNonNull(input.notify, NotifyHandling.ALL), input.notifyDetails));
@@ -146,14 +147,18 @@ public class DeleteVote implements RestModifyView<VoteResource, DeleteVoteInput>
r.getReviewerUser().state(),
rsrc.getLabel(),
input));
- if (!r.getReviewerUser().getAccountId().equals(currentUserProvider.get().getAccountId())) {
+ if (!input.ignoreAutomaticAttentionSetRules
+ && !r.getReviewerUser().getAccountId().equals(currentUserProvider.get().getAccountId())) {
bu.addOp(
change.getId(),
- attentionSetOpfactory.create(
+ attentionSetOpFactory.create(
r.getReviewerUser().getAccountId(),
/* reason= */ "Their vote was deleted",
/* notify= */ false));
}
+ if (input.ignoreAutomaticAttentionSetRules) {
+ bu.addOp(change.getId(), new AttentionSetUnchangedOp());
+ }
bu.execute();
}
@@ -192,9 +197,7 @@ public class DeleteVote implements RestModifyView<VoteResource, DeleteVoteInput>
Account.Id accountId = accountState.account().id();
- for (PatchSetApproval a :
- approvalsUtil.byPatchSetUser(
- ctx.getNotes(), psId, accountId, ctx.getRevWalk(), ctx.getRepoView().getConfig())) {
+ for (PatchSetApproval a : approvalsUtil.byPatchSetUser(ctx.getNotes(), psId, accountId)) {
if (!labelTypes.byLabel(a.labelId()).isPresent()) {
continue; // Ignore undefined labels.
} else if (!a.label().equals(label)) {