@Override public StreamsEntry apply(final StreamsEntry original) { if (maybeMetadata.isDefined()) { final HistoryMetadata historyMetadata = maybeMetadata.get(); final String descriptionKey = historyMetadata.getActivityDescriptionKey(); if (!Strings.isNullOrEmpty(descriptionKey) && (!i18nResolver.getRawText(descriptionKey).equals(descriptionKey))) { return new StreamsEntry(StreamsEntry.params(original) .renderer(historyMetadataRendererFactory.newCustomKeyRenderer(original, historyMetadata)), i18nResolver); } else if (!Strings.isNullOrEmpty(historyMetadata.getActivityDescription())) { return new StreamsEntry(StreamsEntry.params(original) .renderer(historyMetadataRendererFactory.newSuffixRenderer(original, historyMetadata.getActivityDescription())), i18nResolver); } } return original; } }
@Override public Html renderTitleAsHtml(final StreamsEntry entry) { String descriptionKey = historyMetadata.getActivityDescriptionKey(); Html generatorDisplayName = participantRenderer.apply(historyMetadata.getGenerator()); Html causeDisplayName = participantRenderer.apply(historyMetadata.getCause()); final NonEmptyIterable<UserProfile> emptyAuthor = NonEmptyIterables.from(Collections.singleton(new UserProfile.Builder("").build())).get(); return new Html(i18nResolver.getText(descriptionKey, originalEntry.renderTitleAsHtml(), streamsEntryRendererFactory.newAuthorsRenderer().apply(originalEntry.getAuthors()), new StreamsEntry(StreamsEntry.params(originalEntry).authors(emptyAuthor), i18nResolver).renderTitleAsHtml(), generatorDisplayName, causeDisplayName)); }
private StreamsEntry.Parameters<HasId, HasPostedDate, HasAlternateLinkUri, HasApplicationType, NeedsRenderer, NeedsVerb, NeedsAuthors> newParams(JiraActivityItem item, URI itemUri, URI baseUri, boolean issueLinked) { final StreamsUriBuilder uriBuilder = new StreamsUriBuilder().setUrl(itemUri.toASCIIString()); if (item.getChangeHistory().isDefined() || item.getComment().isDefined()) { uriBuilder.setTimestamp(item.getDate()); } // The following things are constant across all types of activity return StreamsEntry.params() .id(uriBuilder.getUri()) .postedDate(new DateTime(item.getDate())) .applicationType(JIRA_APPLICATION_TYPE) .alternateLinkUri(itemUri) .baseUri(baseUri) .addLinks(buildLinks(item, issueLinked)); }
public StreamsEntry buildStreamsEntry(final URI baseUri, final ActivityItem activityItem) { URI url = URI.create(baseUri.toASCIIString() + activityItem.getUrlPath()); return new StreamsEntry(StreamsEntry.params() .id(url) .postedDate(new DateTime(activityItem.getModified())) .applicationType(CONFLUENCE_APPLICATION_TYPE) .alternateLinkUri(url) .inReplyTo(buildReplyTo(activityItem)) .addLink(buildReplyTo(activityItem), REPLY_TO_LINK_REL, none(String.class)) .addLink(buildIconUrl(activityItem), ICON_LINK_REL, some(i18nResolver.getText("streams.item.confluence.tooltip." + activityItem.getContentType()))) .addLinks(getWatchLink(activityItem)) .addLinks(transform(uriProvider.getContentCssUris(), toLink(CSS_LINK_REL))) .addLinks(transform(uriProvider.getPanelCssUris(), toLink(CSS_LINK_REL))) .addLinks(transform(uriProvider.getIconCssUris(), toLink(CSS_LINK_REL))) .categories(buildCategory(activityItem)) .addActivityObjects(activityItem.getActivityObjects()) .verb(activityItem.getVerb()) .target(activityItem.getTarget()) .renderer(activityItem.getRenderer()) .baseUri(baseUri) .authors(ImmutableNonEmptyList.of(userProfileAccessor.getUserProfile(baseUri, activityItem.getChangedBy()))), i18nResolver); }
public StreamsEntry getEntry(final URI baseUri, final ChangesetDataFE changeSet, final RepositoryHandle repositoryHandle) { final StreamsUriBuilder streamsUriBuilder = new StreamsUriBuilder(); final URI uri = uriProvider.getChangeSetUri(baseUri, changeSet, repositoryHandle); streamsUriBuilder.setUrl(uri.toASCIIString()); StreamsEntry.Parameters params = StreamsEntry.params(); if (permissionAccessor.isCreateReviewAllowed()) { params = params.addLink(uriProvider.getChangesetReviewUri(baseUri, changeSet.getCsid(), repositoryHandle.getName()), CHANGESET_REVIEW_REL, none(String.class)); } return new StreamsEntry(params .id(streamsUriBuilder.getUri()) .postedDate(new DateTime(changeSet.getDate())) .applicationType(FISHEYE_APPLICATION_TYPE) .categories(ImmutableList.of(COMMIT_CATEGORY)) .authors(ImmutableNonEmptyList.of(userProfileAccessor.getUserProfile(baseUri, getUserName(changeSet)))) .addLink(uriProvider.getCommitIconUri(baseUri), ICON_LINK_REL, some(i18nResolver.getText("streams.item.fisheye.tooltip.changeset"))) .alternateLinkUri(uri) .addActivityObject(buildActivityObject(baseUri, changeSet, repositoryHandle)) .verb(push()) .target(some(buildActivityObject(baseUri, repositoryHandle))) .baseUri(baseUri) .renderer(rendererFactory.newRenderer(changeSet, repositoryHandle, baseUri)), i18nResolver); }
return new StreamsEntry(StreamsEntry.params() .id(buildUrl) .postedDate(new DateTime(build.getTimestamp()))
StreamsEntry.params();
return some(new StreamsEntry(StreamsEntry.params() .id(uriBuilder.getUri()) .postedDate(new DateTime(changeTimestamp))