Map<String, User> usersByLogin = newHashMap();
List<DefaultIssueComment> comments = commentService.findComments(issue.key());
for (IssueComment comment : comments) {
String userLogin = comment.userLogin();
User user = usersByLogin.get(userLogin);
if (user == null) {
user = userFinder.findByLogin(userLogin);
if (user != null) {
usersByLogin.put(userLogin, user);
}
}
}
for (IssueComment comment : comments) {
String userLogin = comment.userLogin();
User user = usersByLogin.get(userLogin);
json
.beginObject()
.prop("key", comment.key())
.prop("userName", user != null ? user.name() : null)
.prop("raw", comment.markdownText())
.prop("html", Markdown.convertToHtml(comment.markdownText()))
.prop("createdAt", DateUtils.formatDateTime(comment.createdAt()))
.prop("fCreatedAge", formatAgeDate(comment.createdAt()))
.prop("updatable", login != null && login.equals(userLogin))