Merge "PostReview: check whether the loaded LabelType collection is empty"
This commit is contained in:
@@ -33,6 +33,7 @@ import com.google.common.collect.ListMultimap;
|
|||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import com.google.common.collect.Ordering;
|
import com.google.common.collect.Ordering;
|
||||||
|
import com.google.common.flogger.FluentLogger;
|
||||||
import com.google.common.hash.HashCode;
|
import com.google.common.hash.HashCode;
|
||||||
import com.google.common.hash.Hashing;
|
import com.google.common.hash.Hashing;
|
||||||
import com.google.gerrit.common.Nullable;
|
import com.google.gerrit.common.Nullable;
|
||||||
@@ -145,6 +146,8 @@ import org.eclipse.jgit.lib.ObjectId;
|
|||||||
@Singleton
|
@Singleton
|
||||||
public class PostReview
|
public class PostReview
|
||||||
extends RetryingRestModifyView<RevisionResource, ReviewInput, Response<ReviewResult>> {
|
extends RetryingRestModifyView<RevisionResource, ReviewInput, Response<ReviewResult>> {
|
||||||
|
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||||
|
|
||||||
public static final String ERROR_ADDING_REVIEWER = "error adding reviewer";
|
public static final String ERROR_ADDING_REVIEWER = "error adding reviewer";
|
||||||
public static final String ERROR_ONLY_OWNER_CAN_MODIFY_WORK_IN_PROGRESS =
|
public static final String ERROR_ONLY_OWNER_CAN_MODIFY_WORK_IN_PROGRESS =
|
||||||
"only change owner can specify work_in_progress or ready";
|
"only change owner can specify work_in_progress or ready";
|
||||||
@@ -1216,8 +1219,15 @@ public class PostReview
|
|||||||
}
|
}
|
||||||
|
|
||||||
forceCallerAsReviewer(projectState, ctx, current, ups, del);
|
forceCallerAsReviewer(projectState, ctx, current, ups, del);
|
||||||
ctx.getDb().patchSetApprovals().delete(del);
|
|
||||||
ctx.getDb().patchSetApprovals().upsert(ups);
|
if (!del.isEmpty()) {
|
||||||
|
ctx.getDb().patchSetApprovals().delete(del);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ups.isEmpty()) {
|
||||||
|
ctx.getDb().patchSetApprovals().upsert(ups);
|
||||||
|
}
|
||||||
|
|
||||||
return !del.isEmpty() || !ups.isEmpty();
|
return !del.isEmpty() || !ups.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1303,8 +1313,15 @@ public class PostReview
|
|||||||
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.
|
||||||
LabelId labelId =
|
List<LabelType> labelTypes = projectState.getLabelTypes(ctx.getNotes()).getLabelTypes();
|
||||||
projectState.getLabelTypes(ctx.getNotes()).getLabelTypes().get(0).getLabelId();
|
if (labelTypes.isEmpty()) {
|
||||||
|
logger.atWarning().log(
|
||||||
|
"no label type found for project %s, change %s",
|
||||||
|
projectState.getName(), ctx.getChange().getChangeId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
LabelId labelId = labelTypes.get(0).getLabelId();
|
||||||
PatchSetApproval c = ApprovalsUtil.newApproval(psId, user, labelId, 0, ctx.getWhen());
|
PatchSetApproval c = ApprovalsUtil.newApproval(psId, user, labelId, 0, ctx.getWhen());
|
||||||
c.setTag(in.tag);
|
c.setTag(in.tag);
|
||||||
c.setGranted(ctx.getWhen());
|
c.setGranted(ctx.getWhen());
|
||||||
|
Reference in New Issue
Block a user