From fe62bbe98a35e8017762a17b2843edec5f2e348e Mon Sep 17 00:00:00 2001 From: Shawn Pearce Date: Mon, 12 Aug 2013 23:28:41 -0700 Subject: [PATCH] Extract per-comment formatting to its own method This shortens the already large method that loops through every comment and formats the outgoing email. Extracting to a method will make new additions for range based comments easier to follow. Change-Id: Ia81eae8e0d9cacd5e11712bd1f7010a4167fb704 --- .../gerrit/server/mail/CommentSender.java | 46 ++++++++++--------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/CommentSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/CommentSender.java index 8d8dd84d46..4439755480 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/CommentSender.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/CommentSender.java @@ -118,8 +118,6 @@ public class CommentSender extends ReplyToChangeSender { PatchFile currentFileData = null; for (final PatchLineComment c : inlineComments) { final Patch.Key pk = c.getKey().getParentKey(); - final int lineNbr = c.getLine(); - final short side = c.getSide(); if (!pk.equals(currentFileKey)) { cmts.append("....................................................\n"); @@ -146,26 +144,8 @@ public class CommentSender extends ReplyToChangeSender { } if (currentFileData != null) { - int maxLines; - try { - maxLines = currentFileData.getLineCount(side); - } catch (Throwable e) { - maxLines = lineNbr; - } - - final int startLine = Math.max(1, lineNbr - lines + 1); - final int stopLine = Math.min(maxLines, lineNbr + lines); - - for (int line = startLine; line <= lineNbr; ++line) { - appendFileLine(cmts, currentFileData, side, line); - } - cmts.append(c.getMessage().trim()).append('\n'); - - for (int line = lineNbr + 1; line < stopLine; ++line) { - appendFileLine(cmts, currentFileData, side, line); - } + appendComment(cmts, lines, currentFileData, c); } - cmts.append("\n\n"); } } finally { @@ -176,6 +156,30 @@ public class CommentSender extends ReplyToChangeSender { return cmts.toString(); } + private void appendComment(StringBuilder out, int contextLines, + PatchFile currentFileData, PatchLineComment comment) { + int lineNbr = comment.getLine(); + short side = comment.getSide(); + int maxLines; + try { + maxLines = currentFileData.getLineCount(side); + } catch (Throwable e) { + maxLines = lineNbr; + } + + final int startLine = Math.max(1, lineNbr - contextLines + 1); + final int stopLine = Math.min(maxLines, lineNbr + contextLines); + + for (int line = startLine; line <= lineNbr; ++line) { + appendFileLine(out, currentFileData, side, line); + } + out.append(comment.getMessage().trim()).append('\n'); + + for (int line = lineNbr + 1; line < stopLine; ++line) { + appendFileLine(out, currentFileData, side, line); + } + } + private void appendFileLine(StringBuilder cmts, PatchFile fileData, short side, int line) { cmts.append("Line " + line); try {