private Iterable<CrucibleActivityItemParameter> activityItemParameters(ActivityRequest request, Option<Set<Review>> reviews) { ImmutableList.Builder<CrucibleActivityItemParameter> builder = new ImmutableList.Builder<CrucibleActivityItemParameter>(); builder.add(builder(PROJECT_KEY, IN).values(getIsValues(request.getStandardFilters().get(StandardStreamsFilterOption.PROJECT_KEY))).build()); builder.add(builder(USERNAME, IN).values(getIsValues(request.getStandardFilters().get(USER.getKey()))).build()); builder.add(builder(REVIEW_ID, IN).values(transform(reviews.getOrElse(ImmutableSet.<Review>of()), toReviewId())).build()); builder.add(builder(LOG_ACTION, IN).values(SUPPORTED_ACTIONS).build()); for (Date date : getMinDate(request)) { builder.add(builder(CREATE_DATE, GT).value(date).build()); } for (Date date : getMaxDate(request)) { builder.add(builder(CREATE_DATE, LT).value(date).build()); } builder.add(builder(PROJECT_KEY, NOT_IN).values(getAllValues(NOT, request.getStandardFilters().get(StandardStreamsFilterOption.PROJECT_KEY))).build()); builder.add(builder(USERNAME, NOT_IN).values(getAllValues(NOT, request.getStandardFilters().get(USER.getKey()))).build()); return builder.build(); }
GetActivityItems(ActivityRequest request, Iterable<ActivityItem> baseItems) { this.activityItems = new BoundedActivityItemTreeSet(evictor, request.getMaxResults(), activityItemSorter); addAll(activityItems, baseItems); // calculate a few request filter properties that we'll refer to frequently shouldIncludeAttachments = any(ImmutableList.of(pair(file(), post()), pair(file(), update())), inActivities(request)); hasSpaceFilter = !isEmpty(getIsValues(request.getStandardFilters().get(PROJECT_KEY))); requestMinDate = Filters.getMinDate(request); // Calculate the predicates beforehand inActivities = inActivities(request); inProjectKeys = inProjectKeys(request); anyUsers = anyInUsers(request); notInUsers = notInUsers(request); followedUsers = getFollowedUsersPredicate(request, userManager.getRemoteUsername()); inDateRange = inDateRange(request); baseUri = request.getContextUri(); }
.excludeTerms(excludedSearchTerms) .activityObjects(activityObjectTypes) .minDate(getMinDate(request)) .maxDate(getMaxDate(request)); final SearchSort sort = ModifiedSort.DESCENDING; // latest modified content first