PostReview: Move post steps out of the BatchUpdate try-with-resources block
The post steps, like reloading the change, do not need to be part of
the try-with-resources block that create BatchUpdate. Moving them out
makes it clearer that these are things that are done after the
BatchUpdate has been performed.
Signed-off-by: Edwin Kempin <ekempin@google.com>
Release-Notes: skip
Change-Id: Ib9d2130377607a6439fc82f9ddc976b8c8245ab9
diff --git a/java/com/google/gerrit/server/restapi/change/PostReview.java b/java/com/google/gerrit/server/restapi/change/PostReview.java
index 1e1c0a6..39bd0d0 100644
--- a/java/com/google/gerrit/server/restapi/change/PostReview.java
+++ b/java/com/google/gerrit/server/restapi/change/PostReview.java
@@ -354,10 +354,11 @@
}
output.labels = input.labels;
+ // Notify based on ReviewInput, ignoring the notify settings from any ReviewerInputs.
+ NotifyResolver.Result notify = notifyResolver.resolve(input.notify, input.notifyDetails);
+
try (BatchUpdate bu =
updateFactory.create(revision.getChange().getProject(), revision.getUser(), ts)) {
- // Notify based on ReviewInput, ignoring the notify settings from any ReviewerInputs.
- NotifyResolver.Result notify = notifyResolver.resolve(input.notify, input.notifyDetails);
bu.setNotify(notify);
Account account = revision.getUser().asIdentifiedUser().getAccount();
@@ -438,19 +439,19 @@
replyAttentionSetUpdates.updateAttentionSet(
bu, revision.getNotes(), input, revision.getUser());
bu.execute();
-
- // Re-read change to take into account results of the update.
- ChangeData cd = changeDataFactory.create(revision.getProject(), revision.getChange().getId());
- for (ReviewerModification reviewerResult : reviewerResults) {
- reviewerResult.gatherResults(cd);
- }
-
- // Sending emails and events from ReviewersOps was suppressed so we can send a single batch
- // email/event here.
- batchEmailReviewers(revision.getUser(), revision.getChange(), reviewerResults, notify);
- batchReviewerEvents(revision.getUser(), cd, revision.getPatchSet(), reviewerResults, ts);
}
+ // Re-read change to take into account results of the update.
+ ChangeData cd = changeDataFactory.create(revision.getProject(), revision.getChange().getId());
+ for (ReviewerModification reviewerResult : reviewerResults) {
+ reviewerResult.gatherResults(cd);
+ }
+
+ // Sending emails and events from ReviewersOps was suppressed so we can send a single batch
+ // email/event here.
+ batchEmailReviewers(revision.getUser(), revision.getChange(), reviewerResults, notify);
+ batchReviewerEvents(revision.getUser(), cd, revision.getPatchSet(), reviewerResults, ts);
+
return Response.ok(output);
}