From cee4f351944dc6bad1c0b91eb8aaa118eed59fcc Mon Sep 17 00:00:00 2001 From: alexkravin Date: Fri, 20 Feb 2015 17:01:02 +0400 Subject: [PATCH] Refactored UTs, javadoc package, issue #537 --- .../checks/javadoc/AbstractJavadocCheck.java | 6 +- .../checks/javadoc/AtclauseOrderCheck.java | 8 +- .../checks/javadoc/JavadocMethodCheck.java | 71 ++- .../checks/javadoc/JavadocPackageCheck.java | 17 +- .../checks/javadoc/JavadocParagraphCheck.java | 24 +- .../checks/javadoc/JavadocStyleCheck.java | 25 +- ...avadocTagContinuationIndentationCheck.java | 8 +- .../checks/javadoc/JavadocTypeCheck.java | 53 +- .../checks/javadoc/JavadocVariableCheck.java | 9 +- .../NonEmptyAtclauseDescriptionCheck.java | 8 +- .../javadoc/SingleLineJavadocCheck.java | 6 + .../checks/javadoc/SummaryJavadocCheck.java | 16 +- .../checks/javadoc/WriteTagCheck.java | 27 +- .../javadoc/AbstractJavadocCheckTest.java | 6 +- .../javadoc/AtclauseOrderCheckTest.java | 90 ++-- .../javadoc/JavadocMethodCheckTest.java | 452 +++++++++--------- .../javadoc/JavadocPackageCheckTest.java | 6 +- .../javadoc/JavadocParagraphCheckTest.java | 39 +- .../checks/javadoc/JavadocStyleCheckTest.java | 188 ++++---- ...ocTagContinuationIndentationCheckTest.java | 27 +- .../checks/javadoc/JavadocTypeCheckTest.java | 160 ++++--- .../javadoc/JavadocVariableCheckTest.java | 252 +++++----- .../NonEmptyAtclauseDescriptionCheckTest.java | 37 +- .../javadoc/SingleLineJavadocCheckTest.java | 6 +- .../javadoc/SummaryJavadocCheckTest.java | 22 +- .../checks/javadoc/WriteTagCheckTest.java | 34 +- 26 files changed, 921 insertions(+), 676 deletions(-) diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/AbstractJavadocCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/AbstractJavadocCheck.java index 5d6d382d2..ea1db7525 100755 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/AbstractJavadocCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/AbstractJavadocCheck.java @@ -57,12 +57,12 @@ public abstract class AbstractJavadocCheck extends Check /** * Error message key for common javadoc errors. */ - private static final String PARSE_ERROR_MESSAGE_KEY = "javadoc.parse.error"; + public static final String PARSE_ERROR_MESSAGE_KEY = "javadoc.parse.error"; /** - * Unrecognized error from antlr parser + * Unrecognized error from antlr parser. */ - private static final String UNRECOGNIZED_ANTLR_ERROR_MESSAGE_KEY = + public static final String UNRECOGNIZED_ANTLR_ERROR_MESSAGE_KEY = "javadoc.unrecognized.antlr.error"; /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/AtclauseOrderCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/AtclauseOrderCheck.java index 488791f8a..489207637 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/AtclauseOrderCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/AtclauseOrderCheck.java @@ -63,6 +63,12 @@ import com.puppycrawl.tools.checkstyle.api.TokenTypes; public class AtclauseOrderCheck extends AbstractJavadocCheck { + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_KEY = "at.clause.order"; + /** * Default order of atclauses. */ @@ -151,7 +157,7 @@ public class AtclauseOrderCheck extends AbstractJavadocCheck if (tagOrder.contains(tagText) && indexOrderOfCurrentTag < indexOrderOfPreviousTag) { - log(node.getLineNumber(), "at.clause.order", tagOrder.toString()); + log(node.getLineNumber(), MSG_KEY, tagOrder.toString()); } indexOrderOfPreviousTag = indexOrderOfCurrentTag; } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java index 8bd58bb0b..a9d16e03b 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocMethodCheck.java @@ -54,6 +54,55 @@ import java.util.regex.Pattern; @SuppressWarnings("deprecation") public class JavadocMethodCheck extends AbstractTypeAwareCheck { + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_JAVADOC_MISSING = "javadoc.missing"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_CLASS_INFO = "javadoc.classInfo"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_UNUSED_TAG_GENERAL = "javadoc.unusedTagGeneral"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_INVALID_INHERIT_DOC = "javadoc.invalidInheritDoc"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_UNUSED_TAG = "javadoc.unusedTag"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_EXCPECTED_TAG = "javadoc.expectedTag"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_RETURN_EXPECTED = "javadoc.return.expected"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_DUPLICATE_TAG = "javadoc.duplicateTag"; + /** compiled regexp to match Javadoc tags that take an argument * */ private static final Pattern MATCH_JAVADOC_ARG = Utils.createPattern("@(throws|exception|param)\\s+(\\S+)\\s+\\S*"); @@ -330,7 +379,7 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck if (cmt == null) { if (!isMissingJavadocAllowed(ast)) { - log(ast, "javadoc.missing"); + log(ast, MSG_JAVADOC_MISSING); } } else { @@ -386,7 +435,7 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck protected final void logLoadError(Token ident) { logLoadErrorImpl(ident.getLineNo(), ident.getColumnNo(), - "javadoc.classInfo", + MSG_CLASS_INFO, JavadocTagInfo.THROWS.getText(), ident.getText()); } @@ -480,7 +529,7 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck while (it.hasNext()) { final JavadocTag jt = it.next(); if (!jt.isSeeOrInheritDocTag()) { - log(jt.getLineNo(), "javadoc.unusedTagGeneral"); + log(jt.getLineNo(), MSG_UNUSED_TAG_GENERAL); } } } @@ -505,7 +554,7 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck // Invalid if private, a constructor, or a static method if (!JavadocTagInfo.INHERIT_DOC.isValidOn(ast)) { - log(ast, "javadoc.invalidInheritDoc"); + log(ast, MSG_INVALID_INHERIT_DOC); } return true; @@ -745,7 +794,7 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck // Handle extra JavadocTag if (!found) { - log(tag.getLineNo(), tag.getColumnNo(), "javadoc.unusedTag", + log(tag.getLineNo(), tag.getColumnNo(), MSG_UNUSED_TAG, "@param", tag.getArg1()); } } @@ -754,12 +803,12 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck // the user has chosen to suppress these problems if (!allowMissingParamTags && reportExpectedTags) { for (DetailAST param : params) { - log(param, "javadoc.expectedTag", + log(param, MSG_EXCPECTED_TAG, JavadocTagInfo.PARAM.getText(), param.getText()); } for (DetailAST typeParam : typeParams) { - log(typeParam, "javadoc.expectedTag", + log(typeParam, MSG_EXCPECTED_TAG, JavadocTagInfo.PARAM.getText(), "<" + typeParam.findFirstToken(TokenTypes.IDENT).getText() + ">"); @@ -808,7 +857,7 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck if (jt.isReturnTag()) { if (found) { log(jt.getLineNo(), jt.getColumnNo(), - "javadoc.duplicateTag", + MSG_DUPLICATE_TAG, JavadocTagInfo.RETURN.getText()); } found = true; @@ -819,7 +868,7 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck // Handle there being no @return tags :- unless // the user has chosen to suppress these problems if (!found && !allowMissingReturnTag && reportExpectedTags) { - log(lineNo, "javadoc.return.expected"); + log(lineNo, MSG_RETURN_EXPECTED); } } @@ -893,7 +942,7 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck if (reqd && validateThrows) { log(tag.getLineNo(), tag.getColumnNo(), - "javadoc.unusedTag", + MSG_UNUSED_TAG, JavadocTagInfo.THROWS.getText(), tag.getArg1()); } @@ -907,7 +956,7 @@ public class JavadocMethodCheck extends AbstractTypeAwareCheck if (!ei.isFound()) { final Token fi = ei.getName(); log(fi.getLineNo(), fi.getColumnNo(), - "javadoc.expectedTag", + MSG_EXCPECTED_TAG, JavadocTagInfo.THROWS.getText(), fi.getText()); } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocPackageCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocPackageCheck.java index 68a7f3de5..964581a9b 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocPackageCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocPackageCheck.java @@ -31,6 +31,19 @@ import java.util.Set; */ public class JavadocPackageCheck extends AbstractFileSetCheck { + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_LEGACY_PACKAGE_HTML = "javadoc.legacyPackageHtml"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_PACKAGE_INFO = "javadoc.packageInfo"; + /** Indicates if allow legacy "package.html" file to be used. */ private boolean allowLegacy; /** The directories checked. */ @@ -69,11 +82,11 @@ public class JavadocPackageCheck extends AbstractFileSetCheck if (packageInfo.exists()) { if (packageHtml.exists()) { - log(0, "javadoc.legacyPackageHtml"); + log(0, MSG_LEGACY_PACKAGE_HTML); } } else if (!allowLegacy || !packageHtml.exists()) { - log(0, "javadoc.packageInfo"); + log(0, MSG_PACKAGE_INFO); } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocParagraphCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocParagraphCheck.java index 021a9fdaa..d5e543967 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocParagraphCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocParagraphCheck.java @@ -43,6 +43,24 @@ import com.puppycrawl.tools.checkstyle.api.JavadocTokenTypes; public class JavadocParagraphCheck extends AbstractJavadocCheck { + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_TAG_AFTER = "javadoc.paragraph.tag.after"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_LINE_BEFORE = "javadoc.paragraph.line.before"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_REDUNDANT_PARAGRAPH = "javadoc.paragraph.redundant.paragraph"; + @Override public int[] getDefaultJavadocTokens() { @@ -76,7 +94,7 @@ public class JavadocParagraphCheck extends AbstractJavadocCheck && nearestToken.getType() == JavadocTokenTypes.TEXT && nearestToken.getChildren().length > 1) { - log(newline.getLineNumber(), "javadoc.paragraph.tag.after"); + log(newline.getLineNumber(), MSG_TAG_AFTER); } } @@ -88,10 +106,10 @@ public class JavadocParagraphCheck extends AbstractJavadocCheck { final DetailNode newLine = getNearestEmptyLine(tag); if (isFirstParagraph(tag)) { - log(tag.getLineNumber(), "javadoc.paragraph.redundant.paragraph"); + log(tag.getLineNumber(), MSG_REDUNDANT_PARAGRAPH); } else if (newLine == null || tag.getLineNumber() - newLine.getLineNumber() != 1) { - log(tag.getLineNumber(), "javadoc.paragraph.line.before"); + log(tag.getLineNumber(), MSG_LINE_BEFORE); } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheck.java index 88a542882..2918a189e 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheck.java @@ -44,11 +44,24 @@ import java.util.regex.Pattern; public class JavadocStyleCheck extends Check { + /** Message property key for the Unclosed HTML message. */ - private static final String UNCLOSED_HTML = "javadoc.unclosedhtml"; + public static final String JAVADOC_MISSING = "javadoc.missing"; + + /** Message property key for the Unclosed HTML message. */ + public static final String EMPTY = "javadoc.empty"; + + /** Message property key for the Unclosed HTML message. */ + public static final String NO_PERIOD = "javadoc.noperiod"; + + /** Message property key for the Unclosed HTML message. */ + public static final String INCOMPLETE_TAG = "javadoc.incompleteTag"; + + /** Message property key for the Unclosed HTML message. */ + public static final String UNCLOSED_HTML = "javadoc.unclosedhtml"; /** Message property key for the Extra HTML message. */ - private static final String EXTRA_HTML = "javadoc.extrahtml"; + public static final String EXTRA_HTML = "javadoc.extrahtml"; /** HTML tags that do not require a close tag. */ private static final Set SINGLE_TAGS = ImmutableSortedSet.of( @@ -198,7 +211,7 @@ public class JavadocStyleCheck made sense to make another csheck just to ensure that the package-info.java file actually contains package Javadocs.*/ if (getFileContents().inPackageInfo()) { - log(ast.getLineNo(), "javadoc.missing"); + log(ast.getLineNo(), JAVADOC_MISSING); } return; } @@ -235,7 +248,7 @@ public class JavadocStyleCheck && !("{@inheritDoc}".equals(commentText) && JavadocTagInfo.INHERIT_DOC.isValidOn(ast))) { - log(comment.getStartLineNo(), "javadoc.noperiod"); + log(comment.getStartLineNo(), NO_PERIOD); } } @@ -249,7 +262,7 @@ public class JavadocStyleCheck final String commentText = getCommentText(comment.getText()); if (commentText.length() == 0) { - log(comment.getStartLineNo(), "javadoc.empty"); + log(comment.getStartLineNo(), EMPTY); } } @@ -358,7 +371,7 @@ public class JavadocStyleCheck final HtmlTag tag = parser.nextTag(); if (tag.isIncompleteTag()) { - log(tag.getLineno(), "javadoc.incompleteTag", + log(tag.getLineno(), INCOMPLETE_TAG, text[tag.getLineno() - lineno]); return; } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTagContinuationIndentationCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTagContinuationIndentationCheck.java index d9d5d1217..dbd143b5f 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTagContinuationIndentationCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTagContinuationIndentationCheck.java @@ -43,6 +43,12 @@ import com.puppycrawl.tools.checkstyle.api.JavadocTokenTypes; public class JavadocTagContinuationIndentationCheck extends AbstractJavadocCheck { + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_KEY = "tag.continuation.indent"; + /** Default tag continuation indentation */ private static final int DEFAULT_INDENTATION = 4; @@ -83,7 +89,7 @@ public class JavadocTagContinuationIndentationCheck extends AbstractJavadocCheck if (whitespace.getType() == JavadocTokenTypes.WS && whitespace.getText().length() - 1 < offset) { - log(textNode.getLineNumber(), "tag.continuation.indent", offset); + log(textNode.getLineNumber(), MSG_KEY, offset); } } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTypeCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTypeCheck.java index 8453b48fa..196d864d1 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTypeCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTypeCheck.java @@ -43,6 +43,43 @@ import org.apache.commons.beanutils.ConversionException; public class JavadocTypeCheck extends Check { + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String JAVADOC_MISSING = "javadoc.missing"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String UNKNOWN_TAG = "javadoc.unknownTag"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String TAG_FORMAT = "type.tagFormat"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MISSING_TAG = "type.missingTag"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String UNUSED_TAG = "javadoc.unusedTag"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String UNUSED_TAG_GENERAL = "javadoc.unusedTagGeneral"; + /** the scope to check for */ private Scope scope = Scope.PRIVATE; /** the visibility scope where Javadoc comments shouldn't be checked **/ @@ -166,7 +203,7 @@ public class JavadocTypeCheck final int lineNo = ast.getLineNo(); final TextBlock cmt = contents.getJavadocBefore(lineNo); if (cmt == null) { - log(lineNo, "javadoc.missing"); + log(lineNo, JAVADOC_MISSING); } else if (ScopeUtils.isOuterMostType(ast)) { // don't check author/version for inner classes @@ -225,7 +262,7 @@ public class JavadocTypeCheck JavadocUtils.JavadocTagType.BLOCK); if (!allowUnknownTags) { for (final InvalidJavadocTag tag : tags.getInvalidTags()) { - log(tag.getLine(), tag.getCol(), "javadoc.unknownTag", + log(tag.getLine(), tag.getCol(), UNKNOWN_TAG, tag.getName()); } } @@ -253,12 +290,12 @@ public class JavadocTypeCheck if (tag.getTagName().equals(tagName)) { tagCount++; if (!formatPattern.matcher(tag.getArg1()).find()) { - log(lineNo, "type.tagFormat", "@" + tagName, format); + log(lineNo, TAG_FORMAT, "@" + tagName, format); } } } if (tagCount == 0) { - log(lineNo, "type.missingTag", "@" + tagName); + log(lineNo, MISSING_TAG, "@" + tagName); } } @@ -283,7 +320,7 @@ public class JavadocTypeCheck } } if (!found) { - log(lineNo, "type.missingTag", + log(lineNo, MISSING_TAG, JavadocTagInfo.PARAM.getText() + " <" + typeParamName + ">"); } } @@ -311,19 +348,19 @@ public class JavadocTypeCheck typeParamName = matcher.group(1).trim(); if (!typeParamNames.contains(typeParamName)) { log(tag.getLineNo(), tag.getColumnNo(), - "javadoc.unusedTag", + UNUSED_TAG, JavadocTagInfo.PARAM.getText(), "<" + typeParamName + ">"); } } else { log(tag.getLineNo(), tag.getColumnNo(), - "javadoc.unusedTagGeneral"); + UNUSED_TAG_GENERAL); } } else { log(tag.getLineNo(), tag.getColumnNo(), - "javadoc.unusedTagGeneral"); + UNUSED_TAG_GENERAL); } } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocVariableCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocVariableCheck.java index ad822692d..f9f1a6b23 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocVariableCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocVariableCheck.java @@ -37,6 +37,13 @@ import java.util.regex.Pattern; public class JavadocVariableCheck extends Check { + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String JAVADOC_MISSING = "javadoc.missing"; + /** the scope to check */ private Scope scope = Scope.PRIVATE; @@ -118,7 +125,7 @@ public class JavadocVariableCheck contents.getJavadocBefore(ast.getLineNo()); if (cmt == null) { - log(ast, "javadoc.missing"); + log(ast, JAVADOC_MISSING); } } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/NonEmptyAtclauseDescriptionCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/NonEmptyAtclauseDescriptionCheck.java index d58485154..f25f4a25a 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/NonEmptyAtclauseDescriptionCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/NonEmptyAtclauseDescriptionCheck.java @@ -45,6 +45,12 @@ import com.puppycrawl.tools.checkstyle.api.JavadocTokenTypes; public class NonEmptyAtclauseDescriptionCheck extends AbstractJavadocCheck { + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_KEY = "non.empty.atclause"; + @Override public int[] getDefaultJavadocTokens() { @@ -60,7 +66,7 @@ public class NonEmptyAtclauseDescriptionCheck extends AbstractJavadocCheck public void visitJavadocToken(DetailNode ast) { if (isEmptyTag(ast.getParent())) { - log(ast.getLineNumber(), "non.empty.atclause", ast.getText()); + log(ast.getLineNumber(), MSG_KEY, ast.getText()); } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/SingleLineJavadocCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/SingleLineJavadocCheck.java index 9de1ec70e..f79e3f4c2 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/SingleLineJavadocCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/SingleLineJavadocCheck.java @@ -39,6 +39,12 @@ import com.puppycrawl.tools.checkstyle.api.JavadocTokenTypes; public class SingleLineJavadocCheck extends AbstractJavadocCheck { + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MSG_KEY = "singleline.javadoc"; + @Override public int[] getDefaultJavadocTokens() { diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/SummaryJavadocCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/SummaryJavadocCheck.java index 37cb8c6c8..2104e363d 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/SummaryJavadocCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/SummaryJavadocCheck.java @@ -59,6 +59,18 @@ import com.puppycrawl.tools.checkstyle.api.Utils; public class SummaryJavadocCheck extends AbstractJavadocCheck { + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String SUMMARY_FIRST_SENTENCE = "summary.first.sentence"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String SUMMARY_JAVADOC = "summary.javaDoc"; + /** * Regular expression for forbidden summary fragments. */ @@ -101,12 +113,12 @@ public class SummaryJavadocCheck extends AbstractJavadocCheck String firstSentence = getFirstSentence(ast); final int endOfSentence = firstSentence.lastIndexOf(period); if (endOfSentence == -1) { - log(ast.getLineNumber(), "summary.first.sentence"); + log(ast.getLineNumber(), SUMMARY_FIRST_SENTENCE); } else { firstSentence = firstSentence.substring(0, endOfSentence); if (containsForbiddenFragment(firstSentence)) { - log(ast.getLineNumber(), "summary.javaDoc"); + log(ast.getLineNumber(), SUMMARY_JAVADOC); } } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/WriteTagCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/WriteTagCheck.java index 91211f3e9..d10b81ec5 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/WriteTagCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/WriteTagCheck.java @@ -67,6 +67,25 @@ import org.apache.commons.beanutils.ConversionException; public class WriteTagCheck extends Check { + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String MISSING_TAG = "type.missingTag"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String WRITE_TAG = "javadoc.writeTag"; + + /** + * A key is pointing to the warning message text in "messages.properties" + * file. + */ + public static final String TAG_FORMAT = "type.tagFormat"; + /** compiled regexp to match tag **/ private Pattern tagRE; /** compiled regexp to match tag content **/ @@ -157,7 +176,7 @@ public class WriteTagCheck final TextBlock cmt = contents.getJavadocBefore(lineNo); if (cmt == null) { - log(lineNo, "type.missingTag", tag); + log(lineNo, MISSING_TAG, tag); } else { checkTag(lineNo, cmt.getText(), tag, tagRE, tagFormatRE, @@ -195,7 +214,7 @@ public class WriteTagCheck final int contentStart = matcher.start(1); final String content = s.substring(contentStart); if ((formatRE != null) && !formatRE.matcher(content).find()) { - log(lineNo + i - comment.length, "type.tagFormat", tag, + log(lineNo + i - comment.length, TAG_FORMAT, tag, format); } else { @@ -205,7 +224,7 @@ public class WriteTagCheck } } if (tagCount == 0) { - log(lineNo, "type.missingTag", tag); + log(lineNo, MISSING_TAG, tag); } } @@ -225,7 +244,7 @@ public class WriteTagCheck final String originalSeverity = getSeverity(); setSeverity(tagSeverityLevel.getName()); - log(line, "javadoc.writeTag", tag, tagValue); + log(line, WRITE_TAG, tag, tagValue); setSeverity(originalSeverity); } diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/javadoc/AbstractJavadocCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/javadoc/AbstractJavadocCheckTest.java index 812565c46..4984694f6 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/javadoc/AbstractJavadocCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/javadoc/AbstractJavadocCheckTest.java @@ -23,6 +23,8 @@ import org.junit.Test; import com.puppycrawl.tools.checkstyle.BaseCheckTestSupport; import com.puppycrawl.tools.checkstyle.DefaultConfiguration; +import static com.puppycrawl.tools.checkstyle.checks.javadoc.AbstractJavadocCheck.PARSE_ERROR_MESSAGE_KEY; + public class AbstractJavadocCheckTest extends BaseCheckTestSupport { public static class TempCheck extends AbstractJavadocCheck @@ -41,9 +43,9 @@ public class AbstractJavadocCheckTest extends BaseCheckTestSupport { final DefaultConfiguration checkConfig = createCheckConfig(TempCheck.class); final String[] expected = { - "3: Javadoc comment at column 52 has parse error. Details: no viable " + "3: " + getCheckMessage(PARSE_ERROR_MESSAGE_KEY, 52, "no viable " + "alternative at input '