Merge "Instead of deleting patch-set-approval set vote to zero"

This commit is contained in:
Edwin Kempin
2016-03-11 14:44:05 +00:00
committed by Gerrit Code Review

View File

@@ -361,8 +361,8 @@ abstract class SubmitStrategyOp extends BatchUpdate.Op {
PatchSet.Id psId = update.getPatchSetId(); PatchSet.Id psId = update.getPatchSetId();
ctx.getDb().patchSetApprovals().upsert( ctx.getDb().patchSetApprovals().upsert(
convertPatchSet(normalized.getNormalized(), psId)); convertPatchSet(normalized.getNormalized(), psId));
ctx.getDb().patchSetApprovals().delete( ctx.getDb().patchSetApprovals().update(
convertPatchSet(normalized.deleted(), psId)); zero(convertPatchSet(normalized.deleted(), psId)));
for (PatchSetApproval psa : normalized.updated()) { for (PatchSetApproval psa : normalized.updated()) {
update.putApprovalFor(psa.getAccountId(), psa.getLabel(), psa.getValue()); update.putApprovalFor(psa.getAccountId(), psa.getLabel(), psa.getValue());
} }
@@ -400,6 +400,19 @@ abstract class SubmitStrategyOp extends BatchUpdate.Op {
return Iterables.transform(approvals, convertPatchSet(psId)); return Iterables.transform(approvals, convertPatchSet(psId));
} }
private static Iterable<PatchSetApproval> zero(
Iterable<PatchSetApproval> approvals) {
return Iterables.transform(approvals,
new Function<PatchSetApproval, PatchSetApproval>() {
@Override
public PatchSetApproval apply(PatchSetApproval in) {
PatchSetApproval copy = new PatchSetApproval(in.getPatchSetId(), in);
copy.setValue((short) 0);
return copy;
}
});
}
private String getByAccountName() { private String getByAccountName() {
checkNotNull(submitter, checkNotNull(submitter,
"getByAccountName called before submitter populated"); "getByAccountName called before submitter populated");