summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPrudhvi Akhil Alahari <prudhvi@codeaurora.org>2021-05-26 20:07:19 +0530
committerPrudhvi Akhil Alahari <prudhvi@codeaurora.org>2021-05-26 20:34:07 +0530
commiteccea540a31c8171aee451519952be711ad98ac5 (patch)
tree6eb55ce428ff1f34436d76dee517ee135505338f
parent0cd51e98ac5eb13d84118449469dc50ca8fb803a (diff)
parent7a8b421f0bc2e78f75b178239f9b001f113a293e (diff)
Merge branch 'stable-2.14' into stable-2.15
* stable-2.14: Fix to not throw NPE while accessing draft refs EqualsLabelPredicate: Fix bug that prevents matching owner votes Change-Id: Id8905689376f8f169dbe11bf73137ab3dcbe4456
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java2
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/query/change/EqualsLabelPredicate.java12
2 files changed, 11 insertions, 3 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java
index 29b2a5cd77..5f4174fe89 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java
@@ -1082,7 +1082,7 @@ public class ChangeData {
draftsByUser = new HashMap<>();
if (notesMigration.readChanges()) {
- for (Ref ref : commentsUtil.getDraftRefs(notes.getChangeId())) {
+ for (Ref ref : commentsUtil.getDraftRefs(notes().getChangeId())) {
Account.Id account = Account.Id.fromRefSuffix(ref.getName());
if (account != null
// Double-check that any drafts exist for this user after
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/EqualsLabelPredicate.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/EqualsLabelPredicate.java
index 785ae38a58..2401962bb5 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/EqualsLabelPredicate.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/EqualsLabelPredicate.java
@@ -105,12 +105,20 @@ public class EqualsLabelPredicate extends ChangeIndexPredicate {
return null;
}
- protected boolean match(ChangeData cd, short value, Account.Id approver) {
+ protected boolean match(ChangeData cd, short value, Account.Id approver) throws OrmException {
if (value != expVal) {
return false;
}
- if (account != null && !account.equals(approver)) {
+ if (account != null
+ && !account.equals(approver)
+ && !account.equals(ChangeQueryBuilder.OWNER_ACCOUNT_ID)) {
+ return false;
+ }
+
+ if (account != null
+ && account.equals(ChangeQueryBuilder.OWNER_ACCOUNT_ID)
+ && !cd.change().getOwner().equals(approver)) {
return false;
}