List<UserProfile> others = Lists.newArrayList(); if (build.getCulprits().isEmpty()) { first = new UserProfile.Builder(site.getName()).profilePictureUri(Option.option(URI.create(this .webResourceUrlProvider.getStaticPluginResourceUrl(pluginUtil.getPluginKey() + ":jenkins-images", "images", UrlMode.ABSOLUTE) + "/icon96_" + link.getType().getI18nKey() + ".png"))) .profilePageUri(Option.option(link.getDisplayUrl())).build(); } else { for (Culprit culprit : build.getCulprits()) {
@Override public UserProfile apply(final UserProfile userProfile) { if (historyMetadata.isDefined()) { final HistoryMetadata data = historyMetadata.get(); final HistoryMetadataParticipant actor = data.getActor(); final boolean useActor = actor != null && isAnonymous; final Option<URI> generatorAvatar = (data.getGenerator() != null ? makeUri(data.getGenerator().getAvatarUrl()) : Option.<URI>none()); return new UserProfile.Builder(useActor && actor.getId() != null ? actor.getId() : userProfile.getUsername()) .fullName(useActor ? find(asList(actor.getDisplayName(), actor.getId()), notNull(), userProfile.getFullName()) : userProfile.getFullName()) .profilePageUri(makeUri(useActor ? actor.getUrl() : null).orElse(userProfile.getProfilePageUri())) .profilePictureUri(generatorAvatar.orElse(makeUri(useActor ? actor.getAvatarUrl() : null)).orElse(userProfile.getProfilePictureUri())) .email(userProfile.getEmail()) .build(); } return userProfile; } };
return new UserProfile.Builder(username) .fullName(user.getDisplayName()) .email(option(email)) .profilePageUri(some(getUserProfileUri(baseUri, username))) .profilePictureUri(some(getProfilePictureUri(baseUri, username))) .build(); return new UserProfile.Builder(username).profilePictureUri(some(getAnonymousProfilePictureUri(baseUri))).build();
if (userProfile != null) return new UserProfile.Builder(username) .fullName(userProfile.getFullName()) .email(option(userProfile.getEmail())) .profilePageUri(option(absoluteUri(userProfile.getProfilePageUri()))) .profilePictureUri(option(absoluteUri(userProfile.getProfilePictureUri()))) .build(); return new UserProfile.Builder(username) .profilePictureUri(some(getAnonymousProfilePictureUri(baseUri))).build(); return new UserProfile.Builder(username).build();
public UserProfile getUserProfile(URI baseUri, String username) { if (username == null) { return getAnonymousUserProfile(baseUri); } com.atlassian.sal.api.user.UserProfile user = userManager.getUserProfile(username); if (user == null) { return new UserProfile.Builder(username).profilePictureUri( some(getAnonymousProfilePictureUri(baseUri))).build(); } else { return new UserProfile.Builder(username) .fullName(user.getFullName()) .email(option(user.getEmail())) .profilePageUri(option(getUserProfileUri(baseUri, username))) .profilePictureUri(option(getProfilePictureUri(baseUri, user))) .build(); } } }
/** * Returns a {@link Builder} for constructing an {@link Activity} instance. This * overload allows you to pass a username rather than a {@link UserProfile} * @param application an {@link Application} object describing the application that * generated the activity * @param postedDate the activity's timestamp * @param username the username of the the user who performed the activity; if this * matches a registered user in the host application, the rest of the user profile * will be filled in automatically * @return a {@link Builder} instance */ public static Builder builder(Application application, DateTime postedDate, String username) { return new Builder(application, postedDate, new UserProfile.Builder(username).build()); }
@Test public void assertThatWhenUserExistsUserProfileIsReturned() { URI baseUri = URI.create("http://localhost/streams"); assertThat(userProfileAccessor.getUserProfile(baseUri, "user"), is(equalTo( new UserProfile.Builder("user") .fullName("User") .email(some("u@c.com")) .profilePageUri(option(getProfileUri("user"))) .profilePictureUri(option(getProfilePictureUri(getProfilePicParameter("user")))) .build()))); }
@Override public UserProfile getAnonymousUserProfile(URI baseUri) { return new UserProfile.Builder(i18nResolver.getText("streams.fecru.authors.unknown.username")) .fullName(i18nResolver.getText("streams.fecru.authors.unknown.fullname")) .profilePictureUri(some(getAnonymousProfilePictureUri(baseUri))) .build(); }
public UserProfile getAnonymousUserProfile(URI baseUri) { return new UserProfile.Builder(i18nResolver.getText("streams.jira.authors.unknown.username")) .fullName(i18nResolver.getText("streams.jira.authors.unknown.fullname")) .email(none(String.class)) .profilePageUri(none(URI.class)) .profilePictureUri(some(getAnonymousProfilePictureUri(baseUri))) .build(); }
public UserProfile getAnonymousUserProfile(URI baseUri) { return new UserProfile.Builder(i18nResolver.getText("streams.confluence.authors.unknown.username")) .fullName(i18nResolver.getText("streams.confluence.authors.unknown.fullname")) .profilePictureUri(some(getAnonymousProfilePictureUri(baseUri))) .build(); }
@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)); }
@Test public void assertThatUserProfileWithUsernameAsFullnameIsReturnedWhenUserDoesNotExist() { URI baseUri = URI.create("http://localhost/streams"); assertThat(userProfileAccessor.getUserProfile(baseUri, "idonotexist"), is(sameUsername(new UserProfile.Builder("idonotexist").build()))); }