Factor out approvals change status syncing
The changeOpen status is cached in the PatchSetApprovals table for performance reasons, so the approvals must be updated whenever the change status changes. This update is done in a few places and is likely not ever obvious why the update is being done. Make a function to do the update which makes the code self documenting all while sharing the implementation. Create an new ApprovalsUtil class for this function which can be a good place for more approval manipulating functions in the future. Change-Id: If92f3757963048a141003304f2c96036c915ab89
This commit is contained in:
@@ -403,12 +403,7 @@ public class ChangeUtil {
|
||||
}
|
||||
db.changeMessages().insert(Collections.singleton(cmsg));
|
||||
|
||||
final List<PatchSetApproval> approvals =
|
||||
db.patchSetApprovals().byChange(change.getId()).toList();
|
||||
for (PatchSetApproval a : approvals) {
|
||||
a.cache(change);
|
||||
}
|
||||
db.patchSetApprovals().update(approvals);
|
||||
ApprovalsUtil.syncChangeStatus(db, change);
|
||||
|
||||
// Email the reviewers
|
||||
final ReplyToChangeSender cm = senderFactory.create(change);
|
||||
|
Reference in New Issue
Block a user