Add convenience methods for constructing approvals and messages
This saves a lot of boilerplate, nested key construction, ChangeUtil usage, etc. Particularly in the case of ChangeMessage, we can usually infer pretty much everything directly from the ChangeContext. Change-Id: I93eb1e5f5c766b4f661bf21084760141b4d1db02
This commit is contained in:
@@ -26,6 +26,7 @@ import com.google.common.collect.ListMultimap;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Ordering;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.common.primitives.Shorts;
|
||||
import com.google.gerrit.common.data.LabelType;
|
||||
import com.google.gerrit.common.data.LabelTypes;
|
||||
import com.google.gerrit.common.data.Permission;
|
||||
@@ -86,6 +87,18 @@ public class ApprovalsUtil {
|
||||
return SORT_APPROVALS.sortedCopy(approvals);
|
||||
}
|
||||
|
||||
public static PatchSetApproval newApproval(PatchSet.Id psId, CurrentUser user,
|
||||
LabelId labelId, int value, Date when) {
|
||||
PatchSetApproval psa = new PatchSetApproval(
|
||||
new PatchSetApproval.Key(
|
||||
psId,
|
||||
user.getAccountId(),
|
||||
labelId),
|
||||
Shorts.checkedCast(value),
|
||||
when);
|
||||
return psa;
|
||||
}
|
||||
|
||||
private static Iterable<PatchSetApproval> filterApprovals(
|
||||
Iterable<PatchSetApproval> psas, final Account.Id accountId) {
|
||||
return Iterables.filter(
|
||||
@@ -288,12 +301,9 @@ public class ApprovalsUtil {
|
||||
Date ts = update.getWhen();
|
||||
for (Map.Entry<String, Short> vote : approvals.entrySet()) {
|
||||
LabelType lt = labelTypes.byLabel(vote.getKey());
|
||||
cells.add(new PatchSetApproval(new PatchSetApproval.Key(
|
||||
ps.getId(),
|
||||
ps.getUploader(),
|
||||
lt.getLabelId()),
|
||||
vote.getValue(),
|
||||
ts));
|
||||
cells.add(
|
||||
newApproval(ps.getId(), changeCtl.getUser(), lt.getLabelId(),
|
||||
vote.getValue(), ts));
|
||||
}
|
||||
for (PatchSetApproval psa : cells) {
|
||||
update.putApproval(psa.getLabel(), psa.getValue());
|
||||
|
@@ -14,12 +14,15 @@
|
||||
|
||||
package com.google.gerrit.server;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static com.google.common.base.Preconditions.checkState;
|
||||
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.ChangeMessage;
|
||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.git.BatchUpdate;
|
||||
import com.google.gerrit.server.notedb.ChangeNotes;
|
||||
import com.google.gerrit.server.notedb.ChangeUpdate;
|
||||
import com.google.gerrit.server.notedb.NotesMigration;
|
||||
@@ -27,6 +30,7 @@ import com.google.gwtorm.server.OrmException;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@@ -39,6 +43,25 @@ import java.util.Objects;
|
||||
*/
|
||||
@Singleton
|
||||
public class ChangeMessagesUtil {
|
||||
public static ChangeMessage newMessage(BatchUpdate.ChangeContext ctx,
|
||||
String body) throws OrmException {
|
||||
return newMessage(
|
||||
ctx.getDb(), ctx.getChange().currentPatchSetId(),
|
||||
ctx.getUser(), ctx.getWhen(), body);
|
||||
}
|
||||
|
||||
public static ChangeMessage newMessage(
|
||||
ReviewDb db, PatchSet.Id psId, CurrentUser user, Timestamp when,
|
||||
String body) throws OrmException {
|
||||
checkNotNull(psId);
|
||||
Account.Id accountId = user.isInternalUser() ? null : user.getAccountId();
|
||||
ChangeMessage m = new ChangeMessage(
|
||||
new ChangeMessage.Key(psId.getParentKey(), ChangeUtil.messageUUID(db)),
|
||||
accountId, when, psId);
|
||||
m.setMessage(body);
|
||||
return m;
|
||||
}
|
||||
|
||||
private static List<ChangeMessage> sortChangeMessages(
|
||||
Iterable<ChangeMessage> changeMessage) {
|
||||
return ChangeNotes.MESSAGE_BY_TIME.sortedCopy(changeMessage);
|
||||
|
@@ -31,7 +31,6 @@ import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
import com.google.gerrit.reviewdb.client.Project;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.PatchSetUtil;
|
||||
import com.google.gerrit.server.extensions.events.ChangeAbandoned;
|
||||
@@ -106,7 +105,7 @@ public class Abandon implements RestModifyView<ChangeResource, AbandonInput>,
|
||||
|
||||
public Change abandon(ChangeControl control, String msgTxt,
|
||||
NotifyHandling notifyHandling) throws RestApiException, UpdateException {
|
||||
Op op = new Op(control.getUser(), msgTxt, notifyHandling);
|
||||
Op op = new Op(msgTxt, notifyHandling);
|
||||
try (BatchUpdate u =
|
||||
batchUpdateFactory.create(
|
||||
dbProvider.get(),
|
||||
@@ -142,8 +141,7 @@ public class Abandon implements RestModifyView<ChangeResource, AbandonInput>,
|
||||
control.getProject().getNameKey().get(),
|
||||
project.get()));
|
||||
}
|
||||
u.addOp(
|
||||
control.getId(), new Op(control.getUser(), msgTxt, notifyHandling));
|
||||
u.addOp(control.getId(), new Op(msgTxt, notifyHandling));
|
||||
}
|
||||
u.execute();
|
||||
}
|
||||
@@ -164,18 +162,14 @@ public class Abandon implements RestModifyView<ChangeResource, AbandonInput>,
|
||||
private class Op extends BatchUpdate.Op {
|
||||
private final String msgTxt;
|
||||
private final NotifyHandling notifyHandling;
|
||||
private final Account account;
|
||||
|
||||
private Change change;
|
||||
private PatchSet patchSet;
|
||||
private ChangeMessage message;
|
||||
|
||||
private Op(CurrentUser user, String msgTxt, NotifyHandling notifyHandling) {
|
||||
private Op(String msgTxt, NotifyHandling notifyHandling) {
|
||||
this.msgTxt = msgTxt;
|
||||
this.notifyHandling = notifyHandling;
|
||||
account = user.isIdentifiedUser()
|
||||
? user.asIdentifiedUser().getAccount()
|
||||
: null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -208,19 +202,14 @@ public class Abandon implements RestModifyView<ChangeResource, AbandonInput>,
|
||||
msg.append(msgTxt.trim());
|
||||
}
|
||||
|
||||
ChangeMessage message = new ChangeMessage(
|
||||
new ChangeMessage.Key(
|
||||
change.getId(),
|
||||
ChangeUtil.messageUUID(ctx.getDb())),
|
||||
account != null ? account.getId() : null,
|
||||
ctx.getWhen(),
|
||||
change.currentPatchSetId());
|
||||
message.setMessage(msg.toString());
|
||||
return message;
|
||||
return ChangeMessagesUtil.newMessage(ctx, msg.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postUpdate(Context ctx) throws OrmException {
|
||||
Account account = ctx.getUser().isIdentifiedUser()
|
||||
? ctx.getUser().asIdentifiedUser().getAccount()
|
||||
: null;
|
||||
try {
|
||||
ReplyToChangeSender cm =
|
||||
abandonedSenderFactory.create(ctx.getProject(), change.getId());
|
||||
|
@@ -34,7 +34,6 @@ import com.google.gerrit.reviewdb.client.PatchSetInfo;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.ApprovalsUtil;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.PatchSetUtil;
|
||||
import com.google.gerrit.server.events.CommitReceivedEvent;
|
||||
@@ -364,11 +363,9 @@ public class ChangeInserter extends BatchUpdate.InsertChangeOp {
|
||||
approvalsUtil.addApprovalsForNewPatchSet(
|
||||
db, update, labelTypes, patchSet, ctx.getControl(), approvals);
|
||||
if (message != null) {
|
||||
changeMessage =
|
||||
new ChangeMessage(new ChangeMessage.Key(change.getId(),
|
||||
ChangeUtil.messageUUID(db)), ctx.getAccountId(),
|
||||
patchSet.getCreatedOn(), patchSet.getId());
|
||||
changeMessage.setMessage(message);
|
||||
changeMessage = ChangeMessagesUtil.newMessage(
|
||||
db, patchSet.getId(), ctx.getUser(), patchSet.getCreatedOn(),
|
||||
message);
|
||||
cmUtil.addChangeMessage(db, update, changeMessage);
|
||||
}
|
||||
return true;
|
||||
|
@@ -272,10 +272,6 @@ public class CherryPickChange {
|
||||
|
||||
@Override
|
||||
public boolean updateChange(ChangeContext ctx) throws OrmException {
|
||||
ChangeMessage changeMessage = new ChangeMessage(
|
||||
new ChangeMessage.Key(
|
||||
ctx.getChange().getId(), ChangeUtil.messageUUID(ctx.getDb())),
|
||||
ctx.getAccountId(), ctx.getWhen(), psId);
|
||||
StringBuilder sb = new StringBuilder("Patch Set ")
|
||||
.append(psId.get())
|
||||
.append(": Cherry Picked")
|
||||
@@ -284,8 +280,8 @@ public class CherryPickChange {
|
||||
.append(destBranch)
|
||||
.append(" as commit ")
|
||||
.append(cherryPickCommit.name());
|
||||
changeMessage.setMessage(sb.toString());
|
||||
|
||||
ChangeMessage changeMessage = ChangeMessagesUtil.newMessage(
|
||||
ctx.getDb(), psId, ctx.getUser(), ctx.getWhen(), sb.toString());
|
||||
cmUtil.addChangeMessage(ctx.getDb(), ctx.getUpdate(psId), changeMessage);
|
||||
return true;
|
||||
}
|
||||
|
@@ -25,7 +25,6 @@ import com.google.gerrit.reviewdb.client.Change;
|
||||
import com.google.gerrit.reviewdb.client.ChangeMessage;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.account.AccountInfoCacheFactory;
|
||||
import com.google.gerrit.server.account.AccountJson;
|
||||
import com.google.gerrit.server.change.DeleteAssignee.Input;
|
||||
@@ -115,14 +114,8 @@ public class DeleteAssignee implements RestModifyView<ChangeResource, Input> {
|
||||
|
||||
private void addMessage(BatchUpdate.ChangeContext ctx,
|
||||
ChangeUpdate update, Account deleted) throws OrmException {
|
||||
ChangeMessage cmsg = new ChangeMessage(
|
||||
new ChangeMessage.Key(
|
||||
ctx.getChange().getId(),
|
||||
ChangeUtil.messageUUID(ctx.getDb())),
|
||||
ctx.getAccountId(), ctx.getWhen(),
|
||||
ctx.getChange().currentPatchSetId());
|
||||
cmsg.setMessage(
|
||||
"Assignee deleted: " + deleted.getName(anonymousCowardName));
|
||||
ChangeMessage cmsg = ChangeMessagesUtil.newMessage(
|
||||
ctx, "Assignee deleted: " + deleted.getName(anonymousCowardName));
|
||||
cmUtil.addChangeMessage(ctx.getDb(), update, cmsg);
|
||||
}
|
||||
|
||||
|
@@ -36,7 +36,6 @@ import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDbUtil;
|
||||
import com.google.gerrit.server.ApprovalsUtil;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.PatchSetUtil;
|
||||
import com.google.gerrit.server.extensions.events.ReviewerDeleted;
|
||||
@@ -185,11 +184,7 @@ public class DeleteReviewer
|
||||
ChangeUpdate update = ctx.getUpdate(currPs.getId());
|
||||
update.removeReviewer(reviewerId);
|
||||
|
||||
changeMessage = new ChangeMessage(
|
||||
new ChangeMessage.Key(currChange.getId(),
|
||||
ChangeUtil.messageUUID(ctx.getDb())),
|
||||
ctx.getAccountId(), ctx.getWhen(), currPs.getId());
|
||||
changeMessage.setMessage(msg.toString());
|
||||
changeMessage = ChangeMessagesUtil.newMessage(ctx, msg.toString());
|
||||
cmUtil.addChangeMessage(ctx.getDb(), update, changeMessage);
|
||||
|
||||
return true;
|
||||
|
@@ -35,7 +35,6 @@ import com.google.gerrit.reviewdb.client.PatchSetApproval;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.ApprovalsUtil;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.PatchSetUtil;
|
||||
import com.google.gerrit.server.extensions.events.VoteDeleted;
|
||||
@@ -170,20 +169,13 @@ public class DeleteVote
|
||||
ctx.getDb().patchSetApprovals().upsert(
|
||||
Collections.singleton(deletedApproval(ctx)));
|
||||
|
||||
changeMessage =
|
||||
new ChangeMessage(new ChangeMessage.Key(change.getId(),
|
||||
ChangeUtil.messageUUID(ctx.getDb())),
|
||||
ctx.getAccountId(),
|
||||
ctx.getWhen(),
|
||||
change.currentPatchSetId());
|
||||
StringBuilder msg = new StringBuilder();
|
||||
msg.append("Removed ");
|
||||
LabelVote.appendTo(msg, label, checkNotNull(oldApprovals.get(label)));
|
||||
changeMessage.setMessage(
|
||||
msg.append(" by ")
|
||||
.append(userFactory.create(accountId).getNameEmail())
|
||||
.append("\n")
|
||||
.toString());
|
||||
msg.append(" by ")
|
||||
.append(userFactory.create(accountId).getNameEmail())
|
||||
.append("\n");
|
||||
changeMessage = ChangeMessagesUtil.newMessage(ctx, msg.toString());
|
||||
cmUtil.addChangeMessage(ctx.getDb(), ctx.getUpdate(psId),
|
||||
changeMessage);
|
||||
|
||||
|
@@ -33,8 +33,6 @@ import com.google.gerrit.reviewdb.client.Project;
|
||||
import com.google.gerrit.reviewdb.client.RefNames;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.PatchSetUtil;
|
||||
import com.google.gerrit.server.git.BatchUpdate;
|
||||
import com.google.gerrit.server.git.BatchUpdate.ChangeContext;
|
||||
@@ -94,7 +92,7 @@ public class Move implements RestModifyView<ChangeResource, MoveInput> {
|
||||
|
||||
try (BatchUpdate u = batchUpdateFactory.create(dbProvider.get(),
|
||||
req.getChange().getProject(), control.getUser(), TimeUtil.nowTs())) {
|
||||
u.addOp(req.getChange().getId(), new Op(control, input));
|
||||
u.addOp(req.getChange().getId(), new Op(input));
|
||||
u.execute();
|
||||
}
|
||||
|
||||
@@ -103,14 +101,12 @@ public class Move implements RestModifyView<ChangeResource, MoveInput> {
|
||||
|
||||
private class Op extends BatchUpdate.Op {
|
||||
private final MoveInput input;
|
||||
private final IdentifiedUser caller;
|
||||
|
||||
private Change change;
|
||||
private Branch.NameKey newDestKey;
|
||||
|
||||
Op(ChangeControl ctl, MoveInput input) {
|
||||
Op(MoveInput input) {
|
||||
this.input = input;
|
||||
this.caller = ctl.getUser().asIdentifiedUser();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -179,11 +175,8 @@ public class Move implements RestModifyView<ChangeResource, MoveInput> {
|
||||
msgBuf.append("\n\n");
|
||||
msgBuf.append(input.message);
|
||||
}
|
||||
ChangeMessage cmsg = new ChangeMessage(
|
||||
new ChangeMessage.Key(change.getId(),
|
||||
ChangeUtil.messageUUID(ctx.getDb())),
|
||||
caller.getAccountId(), ctx.getWhen(), change.currentPatchSetId());
|
||||
cmsg.setMessage(msgBuf.toString());
|
||||
ChangeMessage cmsg =
|
||||
ChangeMessagesUtil.newMessage(ctx, msgBuf.toString());
|
||||
cmUtil.addChangeMessage(ctx.getDb(), update, cmsg);
|
||||
|
||||
return true;
|
||||
|
@@ -30,7 +30,6 @@ import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.ApprovalCopier;
|
||||
import com.google.gerrit.server.ApprovalsUtil;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.PatchSetUtil;
|
||||
import com.google.gerrit.server.ReviewerSet;
|
||||
import com.google.gerrit.server.events.CommitReceivedEvent;
|
||||
@@ -225,9 +224,8 @@ public class PatchSetInserter extends BatchUpdate.Op {
|
||||
}
|
||||
|
||||
if (message != null) {
|
||||
changeMessage = new ChangeMessage(
|
||||
new ChangeMessage.Key(ctl.getId(), ChangeUtil.messageUUID(db)),
|
||||
ctx.getAccountId(), ctx.getWhen(), patchSet.getId());
|
||||
changeMessage = ChangeMessagesUtil.newMessage(
|
||||
db, patchSet.getId(), ctx.getUser(), ctx.getWhen(), message);
|
||||
changeMessage.setMessage(message);
|
||||
}
|
||||
|
||||
|
@@ -57,6 +57,7 @@ import com.google.gerrit.extensions.restapi.UnprocessableEntityException;
|
||||
import com.google.gerrit.extensions.restapi.Url;
|
||||
import com.google.gerrit.reviewdb.client.ChangeMessage;
|
||||
import com.google.gerrit.reviewdb.client.Comment;
|
||||
import com.google.gerrit.reviewdb.client.LabelId;
|
||||
import com.google.gerrit.reviewdb.client.Patch;
|
||||
import com.google.gerrit.reviewdb.client.PatchLineComment.Status;
|
||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
@@ -790,11 +791,8 @@ public class PostReview implements RestModifyView<RevisionResource, ReviewInput>
|
||||
oldApprovals.put(normName, null);
|
||||
approvals.put(normName, c.getValue());
|
||||
} else if (c == null) {
|
||||
c = new PatchSetApproval(new PatchSetApproval.Key(
|
||||
psId,
|
||||
user.getAccountId(),
|
||||
lt.getLabelId()),
|
||||
ent.getValue(), ctx.getWhen());
|
||||
c = ApprovalsUtil.newApproval(
|
||||
psId, user, lt.getLabelId(), ent.getValue(), ctx.getWhen());
|
||||
c.setTag(in.tag);
|
||||
c.setGranted(ctx.getWhen());
|
||||
ups.add(c);
|
||||
@@ -832,12 +830,10 @@ public class PostReview implements RestModifyView<RevisionResource, ReviewInput>
|
||||
if (del.isEmpty()) {
|
||||
// If no existing label is being set to 0, hack in the caller
|
||||
// as a reviewer by picking the first server-wide LabelType.
|
||||
PatchSetApproval c = new PatchSetApproval(new PatchSetApproval.Key(
|
||||
psId,
|
||||
user.getAccountId(),
|
||||
ctx.getControl().getLabelTypes().getLabelTypes().get(0)
|
||||
.getLabelId()),
|
||||
(short) 0, ctx.getWhen());
|
||||
LabelId labelId = ctx.getControl().getLabelTypes().getLabelTypes()
|
||||
.get(0).getLabelId();
|
||||
PatchSetApproval c = ApprovalsUtil.newApproval(
|
||||
psId, user, labelId, 0, ctx.getWhen());
|
||||
c.setTag(in.tag);
|
||||
c.setGranted(ctx.getWhen());
|
||||
ups.add(c);
|
||||
@@ -896,17 +892,10 @@ public class PostReview implements RestModifyView<RevisionResource, ReviewInput>
|
||||
return false;
|
||||
}
|
||||
|
||||
message = new ChangeMessage(
|
||||
new ChangeMessage.Key(
|
||||
psId.getParentKey(), ChangeUtil.messageUUID(ctx.getDb())),
|
||||
user.getAccountId(),
|
||||
ctx.getWhen(),
|
||||
psId);
|
||||
message = ChangeMessagesUtil.newMessage(
|
||||
ctx.getDb(), psId, user, ctx.getWhen(),
|
||||
"Patch Set " + psId.get() + ":" + buf);
|
||||
message.setTag(in.tag);
|
||||
message.setMessage(String.format(
|
||||
"Patch Set %d:%s",
|
||||
psId.get(),
|
||||
buf.toString()));
|
||||
cmUtil.addChangeMessage(ctx.getDb(), ctx.getUpdate(psId), message);
|
||||
return true;
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
import com.google.gerrit.reviewdb.client.PatchSetInfo;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.ApprovalsUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.PatchSetUtil;
|
||||
import com.google.gerrit.server.account.AccountResolver;
|
||||
@@ -252,15 +252,12 @@ public class PublishDraftPatchSet implements RestModifyView<RevisionResource, In
|
||||
|
||||
private void sendReplacePatchSet(Context ctx)
|
||||
throws EmailException, OrmException {
|
||||
Account.Id accountId = ctx.getAccountId();
|
||||
ChangeMessage msg =
|
||||
new ChangeMessage(new ChangeMessage.Key(change.getId(),
|
||||
ChangeUtil.messageUUID(ctx.getDb())), accountId,
|
||||
ctx.getWhen(), psId);
|
||||
msg.setMessage("Uploaded patch set " + psId.get() + ".");
|
||||
ChangeMessage msg = ChangeMessagesUtil.newMessage(
|
||||
ctx.getDb(), psId, ctx.getUser(), ctx.getWhen(),
|
||||
"Uploaded patch set " + psId.get() + ".");
|
||||
ReplacePatchSetSender cm =
|
||||
replacePatchSetFactory.create(ctx.getProject(), change.getId());
|
||||
cm.setFrom(accountId);
|
||||
cm.setFrom(ctx.getAccountId());
|
||||
cm.setPatchSet(patchSet, patchSetInfo);
|
||||
cm.setChangeMessage(msg.getMessage(), ctx.getWhen());
|
||||
cm.addReviewers(recipients.getReviewers());
|
||||
|
@@ -26,7 +26,6 @@ import com.google.gerrit.reviewdb.client.Change;
|
||||
import com.google.gerrit.reviewdb.client.ChangeMessage;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.change.PutTopic.Input;
|
||||
import com.google.gerrit.server.extensions.events.TopicEdited;
|
||||
import com.google.gerrit.server.git.BatchUpdate;
|
||||
@@ -115,13 +114,7 @@ public class PutTopic implements RestModifyView<ChangeResource, Input>,
|
||||
change.setTopic(Strings.emptyToNull(newTopicName));
|
||||
update.setTopic(change.getTopic());
|
||||
|
||||
ChangeMessage cmsg = new ChangeMessage(
|
||||
new ChangeMessage.Key(
|
||||
change.getId(),
|
||||
ChangeUtil.messageUUID(ctx.getDb())),
|
||||
ctx.getAccountId(), ctx.getWhen(),
|
||||
change.currentPatchSetId());
|
||||
cmsg.setMessage(summary);
|
||||
ChangeMessage cmsg = ChangeMessagesUtil.newMessage(ctx, summary);
|
||||
cmUtil.addChangeMessage(ctx.getDb(), update, cmsg);
|
||||
return true;
|
||||
}
|
||||
|
@@ -29,7 +29,6 @@ import com.google.gerrit.reviewdb.client.ChangeMessage;
|
||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.PatchSetUtil;
|
||||
import com.google.gerrit.server.extensions.events.ChangeRestored;
|
||||
import com.google.gerrit.server.git.BatchUpdate;
|
||||
@@ -131,16 +130,7 @@ public class Restore implements RestModifyView<ChangeResource, RestoreInput>,
|
||||
msg.append("\n\n");
|
||||
msg.append(input.message.trim());
|
||||
}
|
||||
|
||||
ChangeMessage message = new ChangeMessage(
|
||||
new ChangeMessage.Key(
|
||||
change.getId(),
|
||||
ChangeUtil.messageUUID(ctx.getDb())),
|
||||
ctx.getAccountId(),
|
||||
ctx.getWhen(),
|
||||
change.currentPatchSetId());
|
||||
message.setMessage(msg.toString());
|
||||
return message;
|
||||
return ChangeMessagesUtil.newMessage(ctx, msg.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -34,7 +34,6 @@ import com.google.gerrit.reviewdb.client.Project;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.ApprovalsUtil;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.GerritPersonIdent;
|
||||
import com.google.gerrit.server.PatchSetUtil;
|
||||
@@ -274,14 +273,8 @@ public class Revert implements RestModifyView<ChangeResource, RevertInput>,
|
||||
public boolean updateChange(ChangeContext ctx) throws Exception {
|
||||
Change change = ctx.getChange();
|
||||
PatchSet.Id patchSetId = change.currentPatchSetId();
|
||||
ChangeMessage changeMessage = new ChangeMessage(
|
||||
new ChangeMessage.Key(change.getId(),
|
||||
ChangeUtil.messageUUID(db.get())),
|
||||
ctx.getAccountId(), ctx.getWhen(), patchSetId);
|
||||
StringBuilder msgBuf = new StringBuilder();
|
||||
msgBuf.append("Created a revert of this change as ")
|
||||
.append("I").append(computedChangeId.name());
|
||||
changeMessage.setMessage(msgBuf.toString());
|
||||
ChangeMessage changeMessage = ChangeMessagesUtil.newMessage(ctx,
|
||||
"Created a revert of this change as I" + computedChangeId.name());
|
||||
cmUtil.addChangeMessage(ctx.getDb(), ctx.getUpdate(patchSetId),
|
||||
changeMessage);
|
||||
return true;
|
||||
|
@@ -25,7 +25,6 @@ import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.Change;
|
||||
import com.google.gerrit.reviewdb.client.ChangeMessage;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.account.AccountInfoCacheFactory;
|
||||
import com.google.gerrit.server.account.AccountsCollection;
|
||||
@@ -139,13 +138,7 @@ public class SetAssigneeOp extends BatchUpdate.Op {
|
||||
msg.append(" to: ");
|
||||
msg.append(newAssignee.getName(anonymousCowardName));
|
||||
}
|
||||
ChangeMessage cmsg = new ChangeMessage(
|
||||
new ChangeMessage.Key(
|
||||
change.getId(),
|
||||
ChangeUtil.messageUUID(ctx.getDb())),
|
||||
ctx.getAccountId(), ctx.getWhen(),
|
||||
change.currentPatchSetId());
|
||||
cmsg.setMessage(msg.toString());
|
||||
ChangeMessage cmsg = ChangeMessagesUtil.newMessage(ctx, msg.toString());
|
||||
cmUtil.addChangeMessage(ctx.getDb(), update, cmsg);
|
||||
}
|
||||
|
||||
|
@@ -28,7 +28,6 @@ import com.google.gerrit.extensions.restapi.BadRequestException;
|
||||
import com.google.gerrit.reviewdb.client.Change;
|
||||
import com.google.gerrit.reviewdb.client.ChangeMessage;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.extensions.events.HashtagsEdited;
|
||||
import com.google.gerrit.server.git.BatchUpdate;
|
||||
import com.google.gerrit.server.git.BatchUpdate.ChangeContext;
|
||||
@@ -129,18 +128,12 @@ public class SetHashtagsOp extends BatchUpdate.Op {
|
||||
return true;
|
||||
}
|
||||
|
||||
private void addMessage(Context ctx, ChangeUpdate update)
|
||||
private void addMessage(ChangeContext ctx, ChangeUpdate update)
|
||||
throws OrmException {
|
||||
StringBuilder msg = new StringBuilder();
|
||||
appendHashtagMessage(msg, "added", toAdd);
|
||||
appendHashtagMessage(msg, "removed", toRemove);
|
||||
ChangeMessage cmsg = new ChangeMessage(
|
||||
new ChangeMessage.Key(
|
||||
change.getId(),
|
||||
ChangeUtil.messageUUID(ctx.getDb())),
|
||||
ctx.getAccountId(), ctx.getWhen(),
|
||||
change.currentPatchSetId());
|
||||
cmsg.setMessage(msg.toString());
|
||||
ChangeMessage cmsg = ChangeMessagesUtil.newMessage(ctx, msg.toString());
|
||||
cmUtil.addChangeMessage(ctx.getDb(), update, cmsg);
|
||||
}
|
||||
|
||||
|
@@ -47,7 +47,6 @@ import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
import com.google.gerrit.reviewdb.client.Project;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.InternalUser;
|
||||
import com.google.gerrit.server.git.BatchUpdate.ChangeContext;
|
||||
@@ -764,11 +763,10 @@ public class MergeOp implements AutoCloseable {
|
||||
|
||||
change.setStatus(Change.Status.ABANDONED);
|
||||
|
||||
ChangeMessage msg = new ChangeMessage(
|
||||
new ChangeMessage.Key(change.getId(),
|
||||
ChangeUtil.messageUUID(ctx.getDb())),
|
||||
null, change.getLastUpdatedOn(), change.currentPatchSetId());
|
||||
msg.setMessage("Project was deleted.");
|
||||
ChangeMessage msg = ChangeMessagesUtil.newMessage(
|
||||
ctx.getDb(), change.currentPatchSetId(),
|
||||
internalUserFactory.create(), change.getLastUpdatedOn(),
|
||||
"Project was deleted.");
|
||||
cmUtil.addChangeMessage(ctx.getDb(),
|
||||
ctx.getUpdate(change.currentPatchSetId()), msg);
|
||||
|
||||
|
@@ -22,8 +22,8 @@ import com.google.gerrit.reviewdb.client.LabelId;
|
||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
import com.google.gerrit.reviewdb.client.PatchSetApproval;
|
||||
import com.google.gerrit.reviewdb.client.PatchSetInfo;
|
||||
import com.google.gerrit.server.ApprovalsUtil;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.PatchSetUtil;
|
||||
import com.google.gerrit.server.extensions.events.ChangeMerged;
|
||||
import com.google.gerrit.server.git.BatchUpdate.ChangeContext;
|
||||
@@ -149,19 +149,13 @@ public class MergedByPushOp extends BatchUpdate.Op {
|
||||
}
|
||||
}
|
||||
msgBuf.append(".");
|
||||
ChangeMessage msg = new ChangeMessage(
|
||||
new ChangeMessage.Key(change.getId(),
|
||||
ChangeUtil.messageUUID(ctx.getDb())),
|
||||
ctx.getAccountId(), ctx.getWhen(), psId);
|
||||
msg.setMessage(msgBuf.toString());
|
||||
ChangeMessage msg = ChangeMessagesUtil.newMessage(
|
||||
ctx.getDb(), psId, ctx.getUser(), ctx.getWhen(), msgBuf.toString());
|
||||
cmUtil.addChangeMessage(ctx.getDb(), update, msg);
|
||||
|
||||
PatchSetApproval submitter = new PatchSetApproval(
|
||||
new PatchSetApproval.Key(
|
||||
change.currentPatchSetId(),
|
||||
ctx.getAccountId(),
|
||||
LabelId.legacySubmit()),
|
||||
(short) 1, ctx.getWhen());
|
||||
PatchSetApproval submitter = ApprovalsUtil.newApproval(
|
||||
change.currentPatchSetId(), ctx.getUser(), LabelId.legacySubmit(),
|
||||
1, ctx.getWhen());
|
||||
update.putApproval(submitter.getLabel(), submitter.getValue());
|
||||
ctx.getDb().patchSetApprovals().upsert(
|
||||
Collections.singleton(submitter));
|
||||
|
@@ -34,7 +34,6 @@ import com.google.gerrit.reviewdb.client.PatchSetInfo;
|
||||
import com.google.gerrit.server.ApprovalCopier;
|
||||
import com.google.gerrit.server.ApprovalsUtil;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.PatchSetUtil;
|
||||
import com.google.gerrit.server.account.AccountResolver;
|
||||
import com.google.gerrit.server.change.ChangeKindCache;
|
||||
@@ -279,11 +278,8 @@ public class ReplaceOp extends BatchUpdate.Op {
|
||||
if (!Strings.isNullOrEmpty(reviewMessage)) {
|
||||
message.append("\n").append(reviewMessage);
|
||||
}
|
||||
msg = new ChangeMessage(
|
||||
new ChangeMessage.Key(change.getId(),
|
||||
ChangeUtil.messageUUID(ctx.getDb())),
|
||||
ctx.getAccountId(), ctx.getWhen(), patchSetId);
|
||||
msg.setMessage(message.toString());
|
||||
msg = ChangeMessagesUtil.newMessage(ctx.getDb(), patchSetId, ctx.getUser(),
|
||||
ctx.getWhen(), message.toString());
|
||||
cmUtil.addChangeMessage(ctx.getDb(), update, msg);
|
||||
|
||||
if (mergedByPushOp == null) {
|
||||
|
@@ -33,7 +33,8 @@ import com.google.gerrit.reviewdb.client.Project;
|
||||
import com.google.gerrit.reviewdb.client.RefNames;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDbUtil;
|
||||
import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.ApprovalsUtil;
|
||||
import com.google.gerrit.server.ChangeMessagesUtil;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.git.BatchUpdate;
|
||||
import com.google.gerrit.server.git.BatchUpdate.ChangeContext;
|
||||
@@ -329,15 +330,9 @@ abstract class SubmitStrategyOp extends BatchUpdate.Op {
|
||||
byKey.put(psa.getKey(), psa);
|
||||
}
|
||||
|
||||
submitter = new PatchSetApproval(
|
||||
new PatchSetApproval.Key(
|
||||
psId,
|
||||
ctx.getAccountId(),
|
||||
LabelId.legacySubmit()),
|
||||
(short) 1, ctx.getWhen());
|
||||
submitter = ApprovalsUtil.newApproval(
|
||||
psId, ctx.getUser(), LabelId.legacySubmit(), 1, ctx.getWhen());
|
||||
byKey.put(submitter.getKey(), submitter);
|
||||
submitter.setValue((short) 1);
|
||||
submitter.setGranted(ctx.getWhen());
|
||||
|
||||
// Flatten out existing approvals for this patch set based upon the current
|
||||
// permissions. Once the change is closed the approvals are not updated at
|
||||
@@ -415,7 +410,7 @@ abstract class SubmitStrategyOp extends BatchUpdate.Op {
|
||||
}
|
||||
|
||||
private ChangeMessage message(ChangeContext ctx, CodeReviewCommit commit,
|
||||
CommitMergeStatus s) {
|
||||
CommitMergeStatus s) throws OrmException {
|
||||
checkNotNull(s, "CommitMergeStatus may not be null");
|
||||
String txt = s.getMessage();
|
||||
if (s == CommitMergeStatus.CLEAN_MERGE) {
|
||||
@@ -452,19 +447,9 @@ abstract class SubmitStrategyOp extends BatchUpdate.Op {
|
||||
}
|
||||
|
||||
private ChangeMessage message(ChangeContext ctx, PatchSet.Id psId,
|
||||
String body) {
|
||||
checkNotNull(psId);
|
||||
String uuid;
|
||||
try {
|
||||
uuid = ChangeUtil.messageUUID(ctx.getDb());
|
||||
} catch (OrmException e) {
|
||||
return null;
|
||||
}
|
||||
ChangeMessage m = new ChangeMessage(
|
||||
new ChangeMessage.Key(psId.getParentKey(), uuid),
|
||||
ctx.getAccountId(), ctx.getWhen(), psId);
|
||||
m.setMessage(body);
|
||||
return m;
|
||||
String body) throws OrmException {
|
||||
return ChangeMessagesUtil.newMessage(
|
||||
ctx.getDb(), psId, ctx.getUser(), ctx.getWhen(), body);
|
||||
}
|
||||
|
||||
private void setMerged(ChangeContext ctx, ChangeMessage msg)
|
||||
|
Reference in New Issue
Block a user