diff options
author | Prudhvi Akhil Alahari <prudhvi@codeaurora.org> | 2021-05-26 20:07:19 +0530 |
---|---|---|
committer | Prudhvi Akhil Alahari <prudhvi@codeaurora.org> | 2021-05-26 20:34:07 +0530 |
commit | eccea540a31c8171aee451519952be711ad98ac5 (patch) | |
tree | 6eb55ce428ff1f34436d76dee517ee135505338f | |
parent | 0cd51e98ac5eb13d84118449469dc50ca8fb803a (diff) | |
parent | 7a8b421f0bc2e78f75b178239f9b001f113a293e (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.java | 2 | ||||
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/query/change/EqualsLabelPredicate.java | 12 |
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; } |