/** * Determines the project keys to exclude based on the {@code ActivityRequest}. * * @param request the {@code ActivityRequest} containing the filter information * @return the project keys to be excluded */ public static Iterable<String> getNotProjectKeys(ActivityRequest request) { return getNotValues(request.getStandardFilters().get(PROJECT_KEY)); }
/** * Determines the search terms (i.e. issue keys) to exclude based on the {@code ActivityRequest}. * * @param request the {@code ActivityRequest} containing the filter information * @return the search terms to be excluded */ public static Iterable<String> getExcludedSearchTerms(ActivityRequest request) { return getNotValues(request.getStandardFilters().get(ISSUE_KEY.getKey())); }
/** * Determines the issue keys to exclude based on the {@code ActivityRequest} * @param request the {@code ActivityRequest} containing the filter information * @return the issue keys to be excluded */ public static Iterable<String> getNotIssueKeys(ActivityRequest request) { return getNotValues(request.getStandardFilters().get(ISSUE_KEY.getKey())); }
/** * Creates a {@code Predicate} to apply the filter by network of "followed users". * * @param request request to generate the predicate from * @param username the user requesting the Activity Stream, as returned by {@link UserManager#getRemoteUsername()} * @return {@code Predicate} to determine if a user matches the filter of the request */ public Predicate<String> getFollowedUsersPredicate(ActivityRequest request, String username) { Collection<Pair<StreamsFilterType.Operator, Iterable<String>>> networkFilters = request.getProviderFilters().get(ConfluenceFilterOptionProvider.NETWORK_FILTER); if (networkFilters.isEmpty()) { return alwaysTrue(); } User user = userAccessor.getUser(username); List<String> followedUsers = followManager.getFollowing(user); if (!getIsValues(networkFilters).isEmpty()) { // Return a predicate on followed users return in(followedUsers); } if (!getNotValues(networkFilters).isEmpty()) { // Return a predicate on followed users return not(in(followedUsers)); } return alwaysTrue(); }
filter.setInProjectKeys(getInProjectsByPermission(Filters.getIsValues(activityRequest.getStandardFilters().get (StandardStreamsFilterOption.PROJECT_KEY)))); filter.setNotInProjectKeys(Filters.getNotValues(activityRequest.getStandardFilters().get (StandardStreamsFilterOption.PROJECT_KEY))); filter.setInIssueKeys(Filters.getIsValues(activityRequest.getStandardFilters().get(StandardStreamsFilterOption .ISSUE_KEY.getKey()))); filter.setNotInIssueKeys(Filters.getNotValues(activityRequest.getStandardFilters().get (StandardStreamsFilterOption.ISSUE_KEY.getKey()))); filter.setInUsers(Filters.getIsValues(activityRequest.getStandardFilters().get(StandardStreamsFilterOption.USER .getKey()))); filter.setNotInUsers(Filters.getNotValues(activityRequest.getStandardFilters().get(StandardStreamsFilterOption .USER.getKey())));