diff --git a/java/com/google/gerrit/server/restapi/change/PostReviewers.java b/java/com/google/gerrit/server/restapi/change/PostReviewers.java index cbaad81099..15fcb27504 100644 --- a/java/com/google/gerrit/server/restapi/change/PostReviewers.java +++ b/java/com/google/gerrit/server/restapi/change/PostReviewers.java @@ -446,7 +446,7 @@ public class PostReviewers caller = rsrc.getUser().asIdentifiedUser(); op = postReviewersOpFactory.create( - rsrc, this.reviewers, this.reviewersByEmail, state, notify, accountsToNotify); + this.reviewers, this.reviewersByEmail, state, notify, accountsToNotify); this.exactMatchFound = exactMatchFound; } diff --git a/java/com/google/gerrit/server/restapi/change/PostReviewersOp.java b/java/com/google/gerrit/server/restapi/change/PostReviewersOp.java index 08b66aa8b1..3eba707de5 100644 --- a/java/com/google/gerrit/server/restapi/change/PostReviewersOp.java +++ b/java/com/google/gerrit/server/restapi/change/PostReviewersOp.java @@ -41,7 +41,6 @@ import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.PatchSetUtil; import com.google.gerrit.server.account.AccountCache; import com.google.gerrit.server.account.AccountState; -import com.google.gerrit.server.change.ChangeResource; import com.google.gerrit.server.extensions.events.ReviewerAdded; import com.google.gerrit.server.mail.send.AddReviewerSender; import com.google.gerrit.server.notedb.NotesMigration; @@ -65,7 +64,6 @@ public class PostReviewersOp implements BatchUpdateOp { public interface Factory { PostReviewersOp create( - ChangeResource rsrc, Set reviewers, Collection
reviewersByEmail, ReviewerState state, @@ -102,7 +100,6 @@ public class PostReviewersOp implements BatchUpdateOp { private final NotesMigration migration; private final Provider user; private final Provider dbProvider; - private final ChangeResource rsrc; private final Set reviewers; private final Collection
reviewersByEmail; private final ReviewerState state; @@ -112,6 +109,7 @@ public class PostReviewersOp implements BatchUpdateOp { private List addedReviewers = new ArrayList<>(); private Collection addedCCs = new ArrayList<>(); private Collection
addedCCsByEmail = new ArrayList<>(); + private Change change; private PatchSet patchSet; private Result opResult; @@ -126,7 +124,6 @@ public class PostReviewersOp implements BatchUpdateOp { NotesMigration migration, Provider user, Provider dbProvider, - @Assisted ChangeResource rsrc, @Assisted Set reviewers, @Assisted Collection
reviewersByEmail, @Assisted ReviewerState state, @@ -142,7 +139,6 @@ public class PostReviewersOp implements BatchUpdateOp { this.user = user; this.dbProvider = dbProvider; - this.rsrc = rsrc; this.reviewers = reviewers; this.reviewersByEmail = reviewersByEmail; this.state = state; @@ -153,11 +149,12 @@ public class PostReviewersOp implements BatchUpdateOp { @Override public boolean updateChange(ChangeContext ctx) throws RestApiException, OrmException, IOException { + change = ctx.getChange(); if (!reviewers.isEmpty()) { if (migration.readChanges() && state == CC) { addedCCs = approvalsUtil.addCcs( - ctx.getNotes(), ctx.getUpdate(ctx.getChange().currentPatchSetId()), reviewers); + ctx.getNotes(), ctx.getUpdate(change.currentPatchSetId()), reviewers); if (addedCCs.isEmpty()) { return false; } @@ -166,11 +163,9 @@ public class PostReviewersOp implements BatchUpdateOp { approvalsUtil.addReviewers( ctx.getDb(), ctx.getNotes(), - ctx.getUpdate(ctx.getChange().currentPatchSetId()), - projectCache - .checkedGet(rsrc.getProject()) - .getLabelTypes(rsrc.getChange().getDest()), - rsrc.getChange(), + ctx.getUpdate(change.currentPatchSetId()), + projectCache.checkedGet(change.getProject()).getLabelTypes(change.getDest()), + change, reviewers); if (addedReviewers.isEmpty()) { return false; @@ -179,11 +174,11 @@ public class PostReviewersOp implements BatchUpdateOp { } for (Address a : reviewersByEmail) { - ctx.getUpdate(ctx.getChange().currentPatchSetId()) + ctx.getUpdate(change.currentPatchSetId()) .putReviewerByEmail(a, ReviewerStateInternal.fromReviewerState(state)); } - patchSet = psUtil.current(dbProvider.get(), rsrc.getNotes()); + patchSet = psUtil.current(dbProvider.get(), ctx.getNotes()); return true; } @@ -195,14 +190,14 @@ public class PostReviewersOp implements BatchUpdateOp { .setAddedCCs(ImmutableList.copyOf(addedCCs)) .build(); emailReviewers( - rsrc.getChange(), + change, Lists.transform(addedReviewers, PatchSetApproval::getAccountId), addedCCs == null ? ImmutableList.of() : addedCCs, reviewersByEmail, addedCCsByEmail, notify, accountsToNotify, - !rsrc.getChange().isWorkInProgress()); + !change.isWorkInProgress()); if (!addedReviewers.isEmpty()) { List reviewers = addedReviewers @@ -210,7 +205,7 @@ public class PostReviewersOp implements BatchUpdateOp { .map(r -> accountCache.get(r.getAccountId())) .flatMap(Streams::stream) .collect(toList()); - reviewerAdded.fire(rsrc.getChange(), patchSet, reviewers, ctx.getAccount(), ctx.getWhen()); + reviewerAdded.fire(change, patchSet, reviewers, ctx.getAccount(), ctx.getWhen()); } }