public CommentRenderer(final TemplateRenderer templateRenderer, final Function<StreamsEntry, Html> titleRenderer, final Option<String> wikiComment, final Option<Html> htmlComment, Option<URI> styleLink) { this.templateRenderer = checkNotNull(templateRenderer, "templateRenderer"); this.titleRenderer = checkNotNull(titleRenderer, "titleRenderer"); this.commentRenderer = htmlComment.map(renderHtml).getOrElse(renderWiki(wikiComment)); this.styleLink = checkNotNull(styleLink, "styleLink"); }
public CommentRenderer(final TemplateRenderer templateRenderer, final Function<StreamsEntry, Html> titleRenderer, final Option<String> wikiComment, final Option<Html> htmlComment, Option<URI> styleLink) { this.templateRenderer = checkNotNull(templateRenderer, "templateRenderer"); this.titleRenderer = checkNotNull(titleRenderer, "titleRenderer"); this.commentRenderer = htmlComment.map(renderHtml).getOrElse(renderWiki(wikiComment)); this.styleLink = checkNotNull(styleLink, "styleLink"); }
@HtmlSafe public Html apply(final Iterable<UserProfile> authors) { return compoundRenderer.apply(authors).getOrElse(renderUnknownAuthor()); }
private Iterable<Html> getAggregatedComments(AggregatedJiraActivityItem aggregatedItem) { Iterable<JiraActivityItem> items = ImmutableList.<JiraActivityItem>builder() .add(aggregatedItem.getActivityItem()) .addAll(aggregatedItem.getRelatedActivityItems().getOrElse(ImmutableList.<JiraActivityItem>of())) .build(); return catOptions(transform(items, toCommentHtml)); }
@HtmlSafe public Html apply(final Iterable<UserProfile> authors) { return compoundRenderer.apply(authors).getOrElse(renderUnknownAuthor()); }
@Override public <T> T withSession(Supplier<T> s) { return getService().getOrElse(defaultSessionManager).withSession(s); } }
@Override public Option<Pair<String, String>> get() { return getService().getOrElse(defaultProvider).get(); } }
public Builder(String urlString) { url = errors.checkAbsoluteUriString(some(urlString), "url").getOrElse((URI)null); }
@Override public ThumbnailItem apply(@Nullable Attachment attachment) { return option(thumbnailManager.getThumbnail(attachment)). map(mkThumbnailItem(attachment, baseUri)). getOrElse(brokenThumbnailItem(attachment, baseUri)); } };
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()))))); } };
private boolean shouldIncludeItem(ActivityItem item) { Option<String> author = option(item.getChangedBy()); return any(getActivities(item), inActivities) && item.getSpaceKey().map(forPredicate(inProjectKeys)).getOrElse(!hasSpaceFilter) && anyUsers.apply(author) && notInUsers.apply(author) && followedUsers.apply(item.getChangedBy()) && inDateRange.apply(item.getModified()); }
public Html renderTitleAsHtml(StreamsEntry entry) { if (removed) { return new Html(i18nResolver.getText("streams.item.jira.title.remove.linked", authorsRenderer.apply(entry.getAuthors()), some(aggregatedItem.getActivityItem()).flatMap(issueRenderer).get(), issuesRenderer.apply(aggregatedItem.getRelatedActivityItems().getOrElse( ImmutableList.<JiraActivityItem>of())))); } return new Html(i18nResolver.getText("streams.item.jira.title.linked", authorsRenderer.apply(entry.getAuthors()), size(aggregatedItem.getRelatedActivityItems().getOrElse(ImmutableList.<JiraActivityItem>of())) + 1)); }
public Html apply(StreamsEntry entry) { Option<Html> objectHtml = activityObjectRenderer.flatMap(render(entry.getActivityObjects())); Option<Html> targetHtml = targetRenderer.flatMap(render(entry.getTarget())); return new Html(getText( key, concat( ImmutableList.of(authorsRenderer.apply(entry.getAuthors())), objectHtml.map(singletonList(Html.class)).getOrElse(ImmutableList.<Html>of()), targetHtml.map(singletonList(Html.class)).getOrElse(ImmutableList.<Html>of())))); }
public Html apply(StreamsEntry entry) { Option<Html> objectHtml = activityObjectRenderer.flatMap(render(entry.getActivityObjects())); Option<Html> targetHtml = targetRenderer.flatMap(render(entry.getTarget())); return new Html(getText( key, concat( ImmutableList.of(authorsRenderer.apply(entry.getAuthors())), objectHtml.map(singletonList(Html.class)).getOrElse(ImmutableList.<Html>of()), targetHtml.map(singletonList(Html.class)).getOrElse(ImmutableList.<Html>of())))); }
private String getEscapedApplicationName() { // application name is entered manually hence encode it before display to avoid XSS. return htmlEncode(option(remoteIssueLink.getApplicationName()).getOrElse( i18nResolver.getText("remotelink.manager.changeitem.applicationname.default"))); } }
@Override public Html renderTitleAsHtml(StreamsEntry entry) { return getResolution(item()).map(transitionWithResolution(entry)).getOrElse(transitionWithoutResolution(entry)); }
public NonEmptyIterable<UserProfile> getUserProfiles(URI baseUri, JiraActivityItem jiraActivityItem) { Iterable<String> usernames = jiraActivityItem.getChangeHistoryAuthors(); final NonEmptyIterable<UserProfile> userProfiles = NonEmptyIterables.from(transform(usernames, getUserProfile(baseUri))) .getOrElse(ImmutableNonEmptyList.of(userProfileAccessor.getAnonymousUserProfile(baseUri))); return NonEmptyIterables.from(transform(userProfiles, addProfileMetadata(jiraActivityItem.getHistoryMetadata(), Iterables.isEmpty(usernames), baseUri))).get(); }
@Override public Html renderTitleAsHtml(StreamsEntry entry) { return entry.getTarget().flatMap(targetRenderer).map(renderAttachedTo(entry)).getOrElse(renderAttached(entry)); }
@Override public Option<Html> renderContentAsHtml(StreamsEntry entry) { if (!removed) { return some(new Html(render(templateRenderer, "jira-link-field-update.vm", ImmutableMap.of( "comment", getAggregatedComments(aggregatedItem), "issueKeyHtml", some(aggregatedItem.getActivityItem()).flatMap(issueRenderer).get(), "linkText", linkingText(aggregatedItem.getActivityItem()), "linkedIssueKeysHtml", issuesRenderer.apply(aggregatedItem.getRelatedActivityItems() .getOrElse(ImmutableList.<JiraActivityItem>of())))))); } return none(); }
private Renderer newSingleFieldChangedEntryRenderer(JiraActivityItem item, URI baseUri, GenericValue changeItem) { Function<ActivityObject, Option<Html>> activityObjectRenderer = updatedSummary(changeItem) ? issueActivityObjectRendererFactory.newIssueActivityObjectRendererWithoutSummary(item.getIssue()) : issueActivityObjectRendererFactory.newIssueActivityObjectRendererWithSummary(item.getIssue()); Function<StreamsEntry, Html> titleRenderer = new SingleFieldChangeTitleRenderer(item, baseUri, changeItem, activityObjectRenderer); if (worklogField(changeItem)) { return rendererFactory.newCommentRenderer(titleRenderer, worklogComment(item).map(helper.renderCommentString(item.getIssue())).flatMap(trimHtmlToNone()).getOrElse(new Html(""))); } return rendererFactory.newCommentRenderer(titleRenderer, item.getComment().map(commentRenderer).flatMap(trimHtmlToNone()).getOrElse(new Html(""))); }