protected Option<Link> getWatchLink(ActivityItem activityItem) { final User user = AuthenticatedUserThreadLocal.get(); if (user == null) { return none(); } final Iterable<ActivityObjectType> activityItemTypes = getActivityObjectTypes(activityItem.getActivityObjects()); if (contains(activityItemTypes, page()) || contains(activityItemTypes, article())) { return getPageWatchLink(user, activityItem); } if (contains(activityItemTypes, space()) || contains(activityItemTypes, personalSpace())) { return getSpaceWatchLink(user, activityItem); } return none(); }
public ActivityObject newActivityObject(final URI baseUri, final Comment comment) { return newActivityObjectForEntity(baseUri, comment, comment()); }
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(); }
public ActivityObject newActivityObject(URI baseUri, BlogPost blog) { return newActivityObjectForEntity(baseUri, blog, article()); }
public boolean apply(StreamsEntry entry) { return any( transform( ActivityObjectTypes.getActivityObjectTypes(entry.getActivityObjects()), Pairs.<ActivityObjectType, ActivityVerb>pairWith(entry.getVerb())), inActivities); } }
StreamsEntry.ActivityObject activityObject = new StreamsEntry.ActivityObject(StreamsEntry.ActivityObject .params().id(String.valueOf(build.getId())).alternateLinkUri(buildUrl).activityObjectType (ActivityObjectTypes.status())); StreamsEntry.Renderer renderer = new StreamsEntry.Renderer() {
private boolean isPostComment(AggregatedJiraActivityItem item) { return pair(comment(), post()).equals(item.getActivity()); }
public ActivityObject newActivityObject(RemoteAttachment attachment) { return new ActivityObject(ActivityObject.params(). id(applicationProperties.getBaseUrl(UrlMode.CANONICAL) + attachment.getDownloadUrl()). activityObjectType(file()). title(option(attachment.getName())). alternateLinkUri(URI.create(applicationProperties.getBaseUrl(UrlMode.CANONICAL) + attachment.getDownloadUrl()))); }
private StreamsEntryRequest createStreamsEntryRequest(JobRunnerRequest request) { final DateTime startTime = new DateTime(request.getStartTime()); final SimpleDateFormat dateFormatter = new SimpleDateFormat(DATE_PATTERN); return new StreamsEntryRequest() .id(startTime.hashCode()) .title("triggered as per " + request.getJobConfig().getRunMode() + " job, at " + dateFormatter.format(request.getStartTime())) .postedDate(startTime.plusMinutes(2)) .type(ActivityObjectTypes.article()) .verb(ActivityVerbs.post()) .user("Scheduler"); } }
private Iterable<Pair<ActivityObjectType, ActivityVerb>> getActivities(ActivityItem activityItem) { return transform( getActivityObjectTypes(activityItem.getActivityObjects()), Pairs.pairWith(activityItem.getVerb())); }
private Option<ActivityObjectType> type(StreamsCrucibleActivityItem activityItem) { if (!SUPPORTED_ACTIONS.contains(activityItem.getLogAction())) { return none(); } if (COMMENT_ADDED.equals(activityItem.getLogAction())) { return some(comment()); } return some(review()); }
public ActivityObject newActivityObject(AttachmentActivityItem.Entry attachment) { return new ActivityObject(ActivityObject.params(). id(applicationProperties.getBaseUrl(UrlMode.CANONICAL) + attachment.getDownloadPath()). activityObjectType(file()). title(option(attachment.getName())). alternateLinkUri(URI.create(applicationProperties.getBaseUrl(UrlMode.CANONICAL) + attachment.getDownloadPath()))); }
private boolean canVote(JiraActivityItem item) { Issue issue = item.getIssue(); try { return voteManager.isVotingEnabled() && !voteManager.hasVoted(authenticationContext.getUser(), issue) && issue.getResolution() == null && !issue.getReporterId().equals(authenticationContext.getUser().getKey()) && !item.getActivity().first().equals(ActivityObjectTypes.comment()); } catch (NullPointerException e) { if (log.isDebugEnabled()) { log.debug("Error checking if current user can vote on " + issue.getKey(), e); } return false; } }
@Override public ActivityObject apply(Attachment attachment) { final StreamsUriBuilder idBuilder = new StreamsUriBuilder().setUrl(issueUriBuilder.getIssueUri(baseUri, attachment.getIssueObject()).toASCIIString()).setTimestamp(attachment.getCreated()); return new ActivityObject(ActivityObject.params(). id(idBuilder.getUri().toASCIIString()). activityObjectType(file()). title(some(attachment.getFilename())). alternateLinkUri(issueUriBuilder.getAttachmentUri(baseUri, attachment))); } };
private ActivityObject buildCommentObject(URI id, Comment comment, URI baseUri) { return new ActivityObject(ActivityObject.params() .id(id.toASCIIString()) .title(none(String.class)) .activityObjectType(comment()) .alternateLinkUri(uriProvider.getCommentUri(baseUri, comment))); } }
return some(pair(file(), post()));
public ActivityObject build(URI baseUri, Comment comment) { final StreamsUriBuilder idBuilder = new StreamsUriBuilder().setUrl(issueUriBuilder.getIssueUri(baseUri, comment.getIssue()).toASCIIString()).setTimestamp(comment.getUpdated()); return new ActivityObject(ActivityObject.params() .id(idBuilder.getUri().toASCIIString()) .title(none(String.class)) .activityObjectType(comment()) .alternateLinkUri(issueUriBuilder.getIssueCommentUri(baseUri, comment))); }
private Option<StreamsEntry> buildSingleActivityItem(URI baseUri, JiraActivityItem item) { Iterable<GenericValue> changeItems = filter(getChangeItems(item), helper.validAttachment()); if (isEmpty(changeItems)) { return none(); } if (pair(file(), post()).equals(item.getActivity())) { return buildAttachments(item, baseUri, changeItems); } else if (pair(issue(), remoteLink()).equals(item.getActivity())) { return buildRemoteLink(item, baseUri, changeItems); } else { return some(new StreamsEntry((item.getComment().isDefined() ? helper.newCommentBuilder(baseUri, item) : helper.newBuilder(item, baseUri)). authors(helper.getUserProfiles(baseUri, item)). addActivityObject(helper.buildActivityObject(item.getIssue(), baseUri, item.getDisplaySummary())). verb(update()). renderer(issueUpdateRendererFactory.newRenderer(item, baseUri, changeItems)), i18nResolver)); } }