summaryrefslogtreecommitdiffstats
path: root/java/com/google/gerrit/server/query/change/EqualsLabelPredicate.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/google/gerrit/server/query/change/EqualsLabelPredicate.java')
-rw-r--r--java/com/google/gerrit/server/query/change/EqualsLabelPredicate.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/java/com/google/gerrit/server/query/change/EqualsLabelPredicate.java b/java/com/google/gerrit/server/query/change/EqualsLabelPredicate.java
index 54e22f328d..6975ae5a2f 100644
--- a/java/com/google/gerrit/server/query/change/EqualsLabelPredicate.java
+++ b/java/com/google/gerrit/server/query/change/EqualsLabelPredicate.java
@@ -107,12 +107,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;
}