Format user names in created bugzilla comments As AccountAttribute does not provide a String conversion method, the generated bugzilla comments ended in: ... [by com.google.gerrit.server.events.AccountAttribute@5b9b8858] Now they end in: ... [by John Doe] Change-Id: I702b83ba14ec0fd14471420e461de4d26c80baf7
diff --git a/hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/GerritHookFilterAddComment.java b/hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/GerritHookFilterAddComment.java index 36fffd0..5d178a9 100644 --- a/hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/GerritHookFilterAddComment.java +++ b/hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/GerritHookFilterAddComment.java
@@ -16,6 +16,8 @@ import java.io.IOException; +import com.google.common.base.Strings; +import com.google.gerrit.server.config.AnonymousCowardName; import com.google.gerrit.server.events.AccountAttribute; import com.google.gerrit.server.events.ApprovalAttribute; import com.google.gerrit.server.events.ChangeAbandonedEvent; @@ -32,6 +34,9 @@ @Inject private ItsFacade its; + @Inject @AnonymousCowardName + private String anonymousCowardName; + @Override public void doFilter(CommentAddedEvent hook) throws IOException { String comment = getComment(hook); @@ -60,8 +65,16 @@ return getChangeIdUrl(change) + " | "; } + private String formatAccountAttribute(AccountAttribute who) { + if (who != null && !Strings.isNullOrEmpty(who.name)) { + return who.name; + } + return anonymousCowardName; + } + private String getComment(ChangeAttribute change, ChangeEvent hook, AccountAttribute who, String what) { - return getCommentPrefix(change) + "change " + what + " [by " + who + "]"; + return getCommentPrefix(change) + "change " + what + " [by " + + formatAccountAttribute(who) + "]"; } private String getComment(ChangeRestoredEvent hook) { @@ -96,7 +109,7 @@ } comment.append(commentAdded.comment + " "); - comment.append("[by " + commentAdded.author + "]"); + comment.append("[by " + formatAccountAttribute(commentAdded.author) + "]"); return comment.toString(); }