public Pair<StreamsCrucibleActivityItem, Option<Pair<ActivityObjectType, ActivityVerb>>> apply(StreamsCrucibleActivityItem activityItem) { return pair(activityItem, typeAndVerb(activityItem)); } }
@Override public Pair<Pair<StreamsCrucibleActivityItem, ActivityVerb>, ActivityRequest> apply(Pair<StreamsCrucibleActivityItem, ActivityVerb> activityItem) { return pair(activityItem, request); } }
/** * Specifies an associated entity to exclude, such as a project or issue. The query * will exclude any activities that are associated with any of the specified entities. * @param filterKey a filter key such as {@link com.atlassian.streams.spi.StandardStreamsFilterOption#PROJECT_KEY} * @param value the corresponding project or issue key * @return the same Builder instance */ public Builder addExcludeEntityFilter(String filterKey, String value) { excludeEntityFilters.add(pair(filterKey, value)); return this; }
/** * Specifies an associated entity to search for, such as a project or issue. If at * least one such filter is specified, the query will exclude any activities that are * not associated with at least one of the specified entities. * @param filterKey a filter key such as {@link com.atlassian.streams.spi.StandardStreamsFilterOption#PROJECT_KEY} * @param value the corresponding project or issue key * @return the same Builder instance */ public Builder addEntityFilter(String filterKey, String value) { entityFilters.add(pair(filterKey, value)); return this; }
public StreamsFeedUriBuilder addStandardFilter(String filterKey, StreamsFilterType.Operator op, String value) { return addStandardFilter(filterKey, Pair.<StreamsFilterType.Operator, Iterable<String>>pair(op, ImmutableList.of( value))); }
public StreamsFeedUriBuilder addStandardFilter(String filterKey, Operator op, Date date) { return addStandardFilter(filterKey, Pair.<Operator, Iterable<String>>pair(op, ImmutableList.of(Long.toString(date.getTime())))); }
public StreamsFeedUriBuilder addStandardFilter(String filterKey, StreamsFilterType.Operator op, Iterable<String> values) { return addStandardFilter(filterKey, Pair.pair(op, values)); }
public StreamsFeedUriBuilder addStandardFilter(String filterKey, Operator op, Iterable<String> values) { return addStandardFilter(filterKey, Pair.pair(op, values)); }
public StreamsFeedUriBuilder addStandardFilter(String filterKey, Operator op, String value) { return addStandardFilter(filterKey, Pair.<Operator, Iterable<String>>pair(op, ImmutableList.of(value))); }
public StreamsFeedUriBuilder addStandardFilter(String filterKey, StreamsFilterType.Operator op, Date date) { return addStandardFilter(filterKey, Pair.<StreamsFilterType.Operator, Iterable<String>>pair(op, ImmutableList.of(Long.toString(date.getTime())))); }
public static Pair<Set<String>, Set<String>> getIsAndNotValues(Iterable<Pair<Operator, Iterable<String>>> filters) { Pair<Set<String>, Set<String>> emptySets = Pair.<Set<String>, Set<String>>pair(ImmutableSet.<String>of(), ImmutableSet.<String>of()); return foldl(filters, emptySets, extractIsAndNotValues()); }
public Pair<Set<String>, Set<String>> apply(Pair<Operator, Iterable<String>> current, Pair<Set<String>, Set<String>> intermediate) { switch (current.first()) { case IS: return Pair.<Set<String>, Set<String>>pair(union(intermediate.first(), ImmutableSet.copyOf(current.second())), intermediate.second()); case NOT: return Pair.<Set<String>, Set<String>>pair(intermediate.first(), union(intermediate.second(), ImmutableSet.copyOf(current.second()))); default: return intermediate; } } }
private boolean linkUpdate(JiraActivityItem item) { if (pair(issue(), update()).equals(item.getActivity())) { Iterable<GenericValue> changeItems = getChangeItems(item); if (size(changeItems) == 1) { return isLinkUpdate(getOnlyElement(changeItems)); } } return false; }
public Html apply(Iterable<Attachment> attachments) { Pair<? extends Iterable<Attachment>, ? extends Iterable<Attachment>> init = pair(ImmutableList.<Attachment>of(), ImmutableList.<Attachment>of()); Pair<? extends Iterable<Attachment>, ? extends Iterable<Attachment>> items = Fold.foldl(attachments, init, splitAttachments()); return new Html(render(templateRenderer, "attachment-list.vm", ImmutableMap.of( "comment", withComment ? item.getComment().map(helper.renderComment()).flatMap(trimHtmlToNone()) : none(), "attachments", ImmutableList.copyOf(transform(items.first(), asAttachmentItem(baseUri))), "thumbnails", ImmutableList.copyOf(transform(items.second(), asThumbnailItem(baseUri)))))); }
private boolean isIssueCreation(AggregatedJiraActivityItem item) { return pair(issue(), post()).equals(item.getActivity()); } };
@Override public StreamsFeed call() throws Exception { // COMMIT (aka "push") is the only FishEye verb currently supported if (!inActivities(request).apply(pair(changeset(), push()))) { return buildFeed(ImmutableList.<StreamsEntry>of()); } return buildFeed(take(request.getMaxResults(), mergeSorted(getChangesets(request, Suppliers.forAtomicBoolean(cancelled)), byPostedDate()))); }
public Option<Pair<StreamsCrucibleActivityItem, ActivityVerb>> apply(Pair<StreamsCrucibleActivityItem, Option<Pair<ActivityObjectType, ActivityVerb>>> activity) { for (Pair<ActivityObjectType, ActivityVerb> activityPair : activity.second()) { return some(pair(activity.first(), activityPair.second())); } return none(); } }
private Option<Pair<ActivityObjectType, ActivityVerb>> typeAndVerb(StreamsCrucibleActivityItem activityItem) { Option<ActivityObjectType> type = type(activityItem); Option<ActivityVerb> verb = verb(activityItem); if (!type.isDefined() || !verb.isDefined()) { return none(); } return some(pair(type.get(), verb.get())); }
public Option<Pair<Comment, Html>> get() { if (!item.getComment().isDefined()) { return none(); } return some(pair(item.getComment().get(), item.getComment().map(commentRenderer).get())); } });
private Option<StreamsEntry> buildMultipleActivityItem(URI baseUri, AggregatedJiraActivityItem aggregatedItem) { if (pair(issue(), link()).equals(aggregatedItem.getActivity())) { JiraActivityItem mainItem = aggregatedItem.getActivityItem(); return some(new StreamsEntry(helper.newLinkedIssueBuilder(baseUri, mainItem). authors(helper.getUserProfiles(baseUri, mainItem)). addActivityObject(helper.buildActivityObject(mainItem.getIssue(), baseUri, mainItem.getDisplaySummary())). verb(update()). renderer(issueUpdateRendererFactory.newIssueLinkEntryRenderer(baseUri, aggregatedItem)), i18nResolver)); } return none(); }