/** * Creates a {@code Predicate} to determine if a project key matches the filters from the request. If the request * does not contain any project key filters, the returned {@code Predicate} will return {@code true} for every * project key. * * @param request request to generate the project key predicate from * @return {@code Predicate} to determine if a project key matches the filters from the request */ public static Predicate<String> inProjectKeys(ActivityRequest request) { return isAndNot(request.getStandardFilters().get(PROJECT_KEY)); }
/** * Determines the project keys based on the {@code ActivityRequest}. * * @param request the {@code ActivityRequest} containing the filter information * @return the project keys to be searched */ public static Iterable<String> getProjectKeys(ActivityRequest request) { return getIsValues(request.getStandardFilters().get(PROJECT_KEY)); }
/** * 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)); }
/** * Creates a {@code Predicate} to determine if a date matches the filters from the request. If the request * does not contain any update date filters, the returned {@code Predicate} will return {@code true} for every date. * * @param request request to generate the updated date predicate from * @return {@code Predicate} to determine if a date matches the filters from the request */ public static Predicate<Date> inDateRange(ActivityRequest request) { Predicate<Date> alwaysTrue = Predicates.<Date>alwaysTrue(); return foldl(request.getStandardFilters().get(UPDATE_DATE.getKey()), alwaysTrue, ContainsDate.INSTANCE); }
/** * 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())); }
public NotInUsers(ActivityRequest request) { nottedUsers = getAllValues(NOT, request.getStandardFilters().get(USER.getKey())); }
private Iterable<Project> getProjects(ActivityRequest request) { Iterable<String> projectKeys = getIsValues(request.getStandardFilters().get(PROJECT_KEY)); if (!isEmpty(projectKeys)) { return filter(transform(projectKeys, toProject), and(notNull(), hasPermission)); } else { return permissionManager.getProjects(ProjectPermissions.BROWSE_PROJECTS, authenticationContext.getLoggedInUser()); } }
/** * Creates a {@code Predicate} to determine if a user name matches the filters from the request. If the request * does not contain any user filters, the returned {@code Predicate} will return {@code true} for every user name. * * @param request request to generate the user name predicate from * @return {@code Predicate} to determine if a user name matches the filters from the request */ public static Predicate<String> inUsers(final ActivityRequest request) { return isAndNot(request.getStandardFilters().get(USER.getKey())); }
/** * Determines the authors based on the {@code ActivityRequest}. * * @param request the {@code ActivityRequest} containing the filter information * @return the authors to be searched */ public static Iterable<String> getAuthors(ActivityRequest request) { return getIsValues(request.getStandardFilters().get(USER.getKey())); }
/** * Determines the search terms (i.e. issue keys) based on the {@code ActivityRequest}. * * @param request the {@code ActivityRequest} containing the filter information * @return the search terms to be searched */ public static Iterable<String> getSearchTerms(ActivityRequest request) { return getIsValues(request.getStandardFilters().get(ISSUE_KEY.getKey())); }
/** * Creates a {@code Predicate} to determine if an issue key matches the filters from the request. If the request * does not contain any issue key filters, the returned {@code Predicate} will return {@code true} for every issue * key. * * @param request request to generate the issue key predicate from * @return {@code Predicate} to determine if an issue key matches the filters from the request */ public static Predicate<String> inIssueKeys(ActivityRequest request) { return isAndNot(request.getStandardFilters().get(ISSUE_KEY.getKey())); }
/** * Determines the issue keys based on the {@code ActivityRequest} * @param request the {@code ActivityRequest} containing the filter information * @return the issue keys to be searched */ public static Iterable<String> getIssueKeys(ActivityRequest request) { return getIsValues(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())); }
static Clause filterByProject(final ActivityRequest request) { return filterBy(request.getStandardFilters().get(PROJECT_KEY), toProjectClause()); }
/** * Creates a {@code Predicate} to determine if an issue key matches the filters from the request. If the request * does not contain any issue key filters, the returned {@code Predicate} will return {@code true} for every issue * key. * * @param request request to generate the issue key predicate from * @param is {@code Function} which is used to construct the {@code Predicate} for checking if an issue key is in * the list of issue keys from the filter * @param not {@code Function}s which is used to construct the {@code Predicate} for checking if an issue key is not * in the list of issue keys from the filter * @return {@code Predicate} to determine if an issue key matches the filters from the request */ public static Predicate<String> inIssueKeys(ActivityRequest request, Function<Iterable<String>, Predicate<String>> is, Function<Iterable<String>, Predicate<String>> not) { return isAndNot(request.getStandardFilters().get(ISSUE_KEY.getKey()), is, not); }
public boolean apply(Issue issue) { return issue != null && isAndNot(request.getStandardFilters().get(PROJECT_KEY)).apply(issue.getProjectObject().getKey()); } };
static Clause filterByDate(final ActivityRequest request) { return filterBy(request.getStandardFilters().get(UPDATE_DATE.getKey()), toCreatedOrUpdatedClause()); }
static Clause filterByIssueKey(final ActivityRequest request) { return filterBy(request.getStandardFilters().get(ISSUE_KEY.getKey()), toIssueKeyClause()); }
static Clause filterByUser(final ActivityRequest request) { return filterBy(request.getStandardFilters().get(USER.getKey()), toReporterClause()); }
public Set<Review> apply(Set<Review> reviews) { Pair<Set<String>, Set<String>> isAndNotIssueKeys = getIsAndNotValues(request.getStandardFilters().get(ISSUE_KEY.getKey())); Iterable<String> issueKeys = isAndNotIssueKeys.first(); Iterable<String> notIssueKeys = isAndNotIssueKeys.second(); return Sets.filter(reviews, and( nameOrDescription(containsIssueKeys(issueKeys).getOrElse(Predicates.<String>alwaysTrue())), not(nameOrDescription(containsIssueKeys(notIssueKeys).getOrElse(Predicates.<String>alwaysFalse()))))); } };