ChangeQueryBuilder: Fix root directory case for Elasticsearch
Bug: Issue 10497 Change-Id: Icb46f214370949cc59752e7a32eee6320c1586fe
This commit is contained in:
@@ -775,11 +775,20 @@ public class ChangeQueryBuilder extends QueryBuilder<ChangeData, ChangeQueryBuil
|
|||||||
return new RegexDirectoryPredicate(directory);
|
return new RegexDirectoryPredicate(directory);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new DirectoryPredicate(directory);
|
DirectoryPredicate rootPredicate = new DirectoryPredicate(directory);
|
||||||
|
if (isRootAndRecursive(directory)) {
|
||||||
|
RegexDirectoryPredicate recursivePredicate = new RegexDirectoryPredicate("^.*");
|
||||||
|
return Predicate.or(rootPredicate, recursivePredicate);
|
||||||
|
}
|
||||||
|
return rootPredicate;
|
||||||
}
|
}
|
||||||
throw new QueryParseException("'directory' operator is not supported by change index version");
|
throw new QueryParseException("'directory' operator is not supported by change index version");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean isRootAndRecursive(String directory) {
|
||||||
|
return directory.isEmpty() || directory.equals("/");
|
||||||
|
}
|
||||||
|
|
||||||
@Operator
|
@Operator
|
||||||
public Predicate<ChangeData> label(String name)
|
public Predicate<ChangeData> label(String name)
|
||||||
throws QueryParseException, IOException, ConfigInvalidException {
|
throws QueryParseException, IOException, ConfigInvalidException {
|
||||||
|
Reference in New Issue
Block a user