Fix 'is:watched' query hanging issue due to no authenticated user

By changing getUser() to getIdentifiedUser() in isWatchedByPredicate,
a QueryParseException will be thrown if the user is not authenticated.
This solves the hanging issue of the 'is watched' query.

Bug: Issue 4036
Change-Id: Ia74bd41e74910ab9078ae64bca95940fd16f4708
This commit is contained in:
Heng Kang 2016-08-16 14:50:04 -04:00
parent c088c9813c
commit 4e8744ecee

View File

@ -44,7 +44,7 @@ class IsWatchedByPredicate extends AndPredicate<ChangeData> {
private static List<Predicate<ChangeData>> filters( private static List<Predicate<ChangeData>> filters(
ChangeQueryBuilder.Arguments args, ChangeQueryBuilder.Arguments args,
boolean checkIsVisible) throws QueryParseException { boolean checkIsVisible) throws QueryParseException {
CurrentUser user = args.getUser(); CurrentUser user = args.getIdentifiedUser();
List<Predicate<ChangeData>> r = Lists.newArrayList(); List<Predicate<ChangeData>> r = Lists.newArrayList();
ChangeQueryBuilder builder = new ChangeQueryBuilder(args); ChangeQueryBuilder builder = new ChangeQueryBuilder(args);
for (AccountProjectWatch w : user.getNotificationFilters()) { for (AccountProjectWatch w : user.getNotificationFilters()) {