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