private Function<String, Html> transitionWithResolution(final StreamsEntry entry) { return new Function<String, Html>() { public Html apply(String resolution) { return new Html(i18nResolver.getText("streams.item.jira.status.transition.with.resolution", authorsRenderer.apply(entry.getAuthors()), htmlEncode(statusName), activityObjectsRenderer.apply(entry.getActivityObjects()).get(), htmlEncode(resolution))); } }; }
public Option<Html> apply(Iterable<SummaryItem> items) { return compoundRenderer.apply(items).flatMap(trimHtmlToNone()).map(htmlToString()).map(capitalizeFirstLetter); } }
/** * Replaces all occurrences of a substring <i>not</i> including any occurrences that * are within HTML tags. The replacement text can include HTML tags. */ public static Html replaceText(String searchFor, String replaceWith, Html html) { // Shortcut in case the search text isn't there at all if (!html.toString().contains(searchFor)) { return html; } StringBuilder sb = new StringBuilder(); HtmlTokenizer tokens = new HtmlTokenizer(html.toString(), false); for (HtmlToken token = tokens.next(); token != EndOfInput; token = tokens.next()) { if (token instanceof HtmlChars) { sb.append(token.toString().replace(searchFor, replaceWith)); } else { sb.append(token); } } return html(sb.toString()); }
@Override public Option<Html> renderContentAsHtml(final StreamsEntry entry) { return some(new Html(render(templateRenderer, "updated-field-list.vm", ImmutableMap.of( "comment", item.getComment().map(commentRenderer).flatMap(trimHtmlToNone()), "fieldChanges", transform(fieldChanges, renderFieldChanges()), "attachments", attachments, "attachmentsRenderer", attachmentsRenderer)))); }
private Function<Html, Option<Html>> renderContent(final StreamsEntry entry, final boolean truncate) { return c -> { Html description = truncate ? truncate(SUMMARY_LIMIT, c) : c; if (truncate && c.equals(description)) { return none(); // we don't want a summary if it will be the same as the content } Map<String, Object> context = ImmutableMap.<String, Object>builder(). put("contentHtml", description). put("truncated", truncate). put("isComment", isComment(entity)). put("contentUri", entry.getAlternateLink()). build(); return some(new Html(render(templateRenderer, "confluence-content-block.vm", context))); }; } };
private Supplier<Option<Html>> contentAsHtml(final ContentEntityObject entity, final BodyContent bodyContent) { return () -> content(entity, pageManager.getPreviousVersion(entity), bodyContent) .map(compose(html(), unescapeLineBreaks())).flatMap(trimHtmlToNone()); }
public Option<Html> apply(JiraActivityItem activityItem) { return activityItem.getComment().map(commentRenderer).flatMap(trimHtmlToNone()); } };
public Option<Html> checkHtml(Option<Html> value, String propertyName, int maxLength) { checkNotNull(value, propertyName); if (value.isDefined()) { checkString(value.get().toString(), propertyName, maxLength); } return value; }
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)))))); }
public Option<Html> apply(Pair<Comment, Html> comment) { Html commentHtml = truncate ? truncate(SUMMARY_LIMIT, comment.second()) : comment.second(); if (truncate && comment.second().equals(commentHtml)) { return none(); // we don't want a summary if it will be the same as the content } Map<String, Object> context = ImmutableMap.<String, Object>builder(). put("contentHtml", commentHtml). put("truncated", truncate). put("contentUri", uriProvider.getIssueCommentUri(baseUri, comment.first())). build(); return some(new Html(render(templateRenderer, "jira-comment-block.vm", context))); } };
private Option<Html> getDescription(Issue issue) { String newValueString = changeItem.getString("newstring"); if (!isBlank(newValueString)) { return option(helper.renderIssueFieldValue(issue, DESCRIPTION, newValueString)).flatMap(trimHtmlToNone()); } return none(); } }
public Html apply(String s) { return new Html(Character.toUpperCase(s.charAt(0)) + s.substring(1)); } };
@Override public Option<Html> renderContentAsHtml(StreamsEntry entry) { return some(new Html(render(templateRenderer, "jira-remote-issue-comment-block.vm", ImmutableMap.of( "comment", item.getComment().map(helper.renderComment()).flatMap(trimHtmlToNone()))))); }
Option<String> initialDescription) final Option<Html> description = option(helper.renderIssueFieldValue(issue, "description", initialDescription.getOrElse(""))).flatMap(trimHtmlToNone()); return new Function<Boolean, Option<Html>>()
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(""))); }
@Override public Html apply(@Nullable final HistoryMetadataParticipant participant) { if (participant != null) { return new Html(render(templateRenderer, "jira-history-participant.vm", ImmutableMap.<String, Object>of( "i18n", i18nResolver, "participant", participant )).trim()); } else { return new Html(""); } } };
@Override public Html renderTitleAsHtml(final StreamsEntry entry) { return new Html(originalEntry.renderTitleAsHtml() + " " + escapeHtml4(suffix)); }
public Html apply(final String title) { return new Html(Renderers.render(templateRenderer, "activity-object-link-issue.vm", ImmutableMap.<String, Object>of( "activityObject", o, "issue", issue, "withSummary", withSummary))); } };