Support default query for groups
Change-Id: I9c8b2026bb872ae08f5435039280dfd1cb25433e Signed-off-by: Edwin Kempin <ekempin@google.com>
This commit is contained in:
@@ -14,15 +14,31 @@
|
||||
|
||||
package com.google.gerrit.server.query.group;
|
||||
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.gerrit.reviewdb.client.AccountGroup;
|
||||
import com.google.gerrit.server.index.FieldDef;
|
||||
import com.google.gerrit.server.index.IndexPredicate;
|
||||
import com.google.gerrit.server.index.group.GroupField;
|
||||
import com.google.gerrit.server.query.Predicate;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public class GroupPredicates {
|
||||
public static Predicate<AccountGroup> defaultPredicate(String query) {
|
||||
// Adapt the capacity of this list when adding more default predicates.
|
||||
List<Predicate<AccountGroup>> preds = Lists.newArrayListWithCapacity(5);
|
||||
preds.add(uuid(new AccountGroup.UUID(query)));
|
||||
preds.add(name(query));
|
||||
preds.add(inname(query));
|
||||
if (!Strings.isNullOrEmpty(query)) {
|
||||
preds.add(description(query));
|
||||
}
|
||||
preds.add(owner(query));
|
||||
return Predicate.or(preds);
|
||||
}
|
||||
|
||||
public static Predicate<AccountGroup> uuid(AccountGroup.UUID uuid) {
|
||||
return new GroupPredicate(GroupField.UUID,
|
||||
GroupQueryBuilder.FIELD_UUID, uuid.get());
|
||||
|
||||
@@ -83,6 +83,11 @@ public class GroupQueryBuilder extends QueryBuilder<AccountGroup> {
|
||||
throw error("Invalid query");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Predicate<AccountGroup> defaultField(String query) {
|
||||
return GroupPredicates.defaultPredicate(query);
|
||||
}
|
||||
|
||||
@Operator
|
||||
public Predicate<AccountGroup> limit(String query)
|
||||
throws QueryParseException {
|
||||
@@ -92,4 +97,5 @@ public class GroupQueryBuilder extends QueryBuilder<AccountGroup> {
|
||||
}
|
||||
return new LimitPredicate<>(FIELD_LIMIT, limit);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user