Bump odlparent to 3.0.0-SNAPSHOT and fix breakages
[yangtools.git] / common / checkstyle-logging / src / main / java / org / opendaylight / yangtools / checkstyle / LoggerMustBeSlf4jCheck.java
index a78eec8528968514caf388528845c2986e77753e..71280fbaa78a30e12c77edd84386be8efa7b89ea 100644 (file)
@@ -11,36 +11,50 @@ package org.opendaylight.yangtools.checkstyle;
 import static org.opendaylight.yangtools.checkstyle.CheckLoggingUtil.LOGGER_TYPE_FULL_NAME;
 import static org.opendaylight.yangtools.checkstyle.CheckLoggingUtil.LOGGER_TYPE_NAME;
 
-import com.puppycrawl.tools.checkstyle.api.Check;
+import com.puppycrawl.tools.checkstyle.api.AbstractCheck;
 import com.puppycrawl.tools.checkstyle.api.DetailAST;
 import com.puppycrawl.tools.checkstyle.api.TokenTypes;
 
-public class LoggerMustBeSlf4jCheck extends Check {
+public class LoggerMustBeSlf4jCheck extends AbstractCheck {
 
     private static final String LOG_MESSAGE = "Logger must be slf4j.";
     private static final String SLF4J = "slf4j";
+    private static final int[] TOKENS = { TokenTypes.VARIABLE_DEF, TokenTypes.IMPORT };
 
     @Override
     public int[] getDefaultTokens() {
-        return new int[]{TokenTypes.VARIABLE_DEF, TokenTypes.IMPORT};
+        return TOKENS;
     }
 
     @Override
-    public void visitToken(DetailAST aAST) {
-        if(aAST.getType() == TokenTypes.VARIABLE_DEF) {
-            final String typeName = CheckLoggingUtil.getTypeName(aAST);
-            if (CheckLoggingUtil.isAFieldVariable(aAST) && typeName.contains("." + LOGGER_TYPE_NAME)) {
-                if(!typeName.equals(LOGGER_TYPE_FULL_NAME)) {
-                    log(aAST.getLineNo(), LOG_MESSAGE);
+    public int[] getAcceptableTokens() {
+        return TOKENS;
+    }
+
+    @Override
+    public int[] getRequiredTokens() {
+        return TOKENS;
+    }
+
+    @Override
+    public void visitToken(final DetailAST ast) {
+        if (ast.getType() == TokenTypes.VARIABLE_DEF) {
+            if (CheckLoggingUtil.isAFieldVariable(ast)) {
+                final String typeName = CheckLoggingUtil.getTypeName(ast);
+                if (typeName.contains("." + LOGGER_TYPE_NAME) && !typeName.equals(LOGGER_TYPE_FULL_NAME)) {
+                    log(ast.getLineNo(), LOG_MESSAGE);
                 }
             }
-        } else if(aAST.getType() == TokenTypes.IMPORT) {
-            final String importType = aAST.getFirstChild().findFirstToken(TokenTypes.IDENT).getText();
-            if(importType.equals(CheckLoggingUtil.LOGGER_TYPE_NAME)) {
-               final String importIdent = aAST.getFirstChild().getFirstChild().getLastChild().getText();
-                if(!importIdent.equals(SLF4J)) {
-                   log(aAST.getLineNo(), LOG_MESSAGE);
-               }
+        } else if (ast.getType() == TokenTypes.IMPORT) {
+            final DetailAST typeToken = ast.getFirstChild().findFirstToken(TokenTypes.IDENT);
+            if (typeToken != null) {
+                final String importType = typeToken.getText();
+                if (CheckLoggingUtil.LOGGER_TYPE_NAME.equals(importType)) {
+                    final String importIdent = ast.getFirstChild().getFirstChild().getLastChild().getText();
+                    if (!importIdent.equals(SLF4J)) {
+                        log(ast.getLineNo(), LOG_MESSAGE);
+                    }
+                }
             }
         }
     }