From 9fcd6c6dee1956012f8a70b3a1b369fd2baef116 Mon Sep 17 00:00:00 2001 From: Igor Foltin Date: Wed, 16 Sep 2015 12:58:27 +0200 Subject: [PATCH] Fixed some major sonar issues in checkstyle-logging and yang-data-util. Change-Id: Ie2e9753964c5e39d0288861e6f4301cd03d59de0 Signed-off-by: Igor Foltin --- .../checkstyle/CheckLoggingUtil.java | 6 ++- .../LogMessagePlaceholderCountCheck.java | 41 +++++++++---------- .../checkstyle/LoggerMustBeSlf4jCheck.java | 8 ++-- .../LoggerVariableModifiersCheck.java | 11 +++-- .../data/util/AugmentationContextNode.java | 1 - .../yang/data/util/DataSchemaContextTree.java | 2 +- ...XpathStringParsingPathArgumentBuilder.java | 3 +- 7 files changed, 36 insertions(+), 36 deletions(-) diff --git a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/CheckLoggingUtil.java b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/CheckLoggingUtil.java index d19555b52a..2ff30eb196 100644 --- a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/CheckLoggingUtil.java +++ b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/CheckLoggingUtil.java @@ -18,14 +18,16 @@ import com.puppycrawl.tools.checkstyle.api.FullIdent; import com.puppycrawl.tools.checkstyle.api.TokenTypes; import com.puppycrawl.tools.checkstyle.checks.CheckUtils; -public class CheckLoggingUtil { +public final class CheckLoggingUtil { public static final String LOGGER_TYPE_NAME = Logger.class.getSimpleName(); public static final String LOGGER_TYPE_FULL_NAME = Logger.class.getName(); public static final String LOGGER_VAR_NAME = "LOG"; private static final List LOG_METHODS = Lists.newArrayList("LOG.debug", "LOG.info", "LOG.error", "LOG.warn", "LOG.trace"); - private CheckLoggingUtil() {} + private CheckLoggingUtil() { + throw new UnsupportedOperationException("Utility class should not be instantiated!"); + } public static String getTypeName(final DetailAST aAST) { final FullIdent ident = CheckUtils.createFullType(aAST.findFirstToken(TokenTypes.TYPE)); diff --git a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessagePlaceholderCountCheck.java b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessagePlaceholderCountCheck.java index bb28bccf07..4735b1b1e4 100644 --- a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessagePlaceholderCountCheck.java +++ b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessagePlaceholderCountCheck.java @@ -26,15 +26,16 @@ public class LogMessagePlaceholderCountCheck extends Check { @Override public void visitToken(DetailAST aAST) { final String methodName = CheckLoggingUtil.getMethodName(aAST); - if(CheckLoggingUtil.isLogMethod(methodName)) { + if (CheckLoggingUtil.isLogMethod(methodName)) { final String logMessage = aAST.findFirstToken(TokenTypes.ELIST).getFirstChild().getFirstChild().getText(); int placeholdersCount = placeholdersCount(logMessage); int argumentsCount = aAST.findFirstToken(TokenTypes.ELIST).getChildCount(TokenTypes.EXPR) - 1; final String lastArg = aAST.findFirstToken(TokenTypes.ELIST).getLastChild().getFirstChild().getText(); - if(hasCatchBlockParentWithArgument(lastArg, aAST) || hasMethodDefinitionWithExceptionArgument(lastArg, aAST)) { + if (hasCatchBlockParentWithArgument(lastArg, aAST) || hasMethodDefinitionWithExceptionArgument(lastArg, + aAST)) { argumentsCount--; } - if(placeholdersCount > argumentsCount) { + if (placeholdersCount > argumentsCount) { log(aAST.getLineNo(), LOG_MESSAGE); } } @@ -49,11 +50,10 @@ public class LogMessagePlaceholderCountCheck extends Check { while(parent != null && parent.getType() != TokenTypes.LITERAL_CATCH) { parent = parent.getParent(); } - if(parent != null) { - if(parent.findFirstToken(TokenTypes.PARAMETER_DEF) != null && - parent.findFirstToken(TokenTypes.PARAMETER_DEF).findFirstToken(TokenTypes.IDENT).getText().equals(argumentName)) { - return true; - } + if (parent != null && parent.findFirstToken(TokenTypes.PARAMETER_DEF) != null && + parent.findFirstToken(TokenTypes.PARAMETER_DEF).findFirstToken(TokenTypes.IDENT).getText().equals + (argumentName)) { + return true; } return false; } @@ -63,29 +63,28 @@ public class LogMessagePlaceholderCountCheck extends Check { while(parent != null && parent.getType() != TokenTypes.METHOD_DEF) { parent = parent.getParent(); } - if(parent != null) { - if(parent.findFirstToken(TokenTypes.PARAMETERS).findFirstToken(TokenTypes.PARAMETER_DEF) != null) { - DetailAST paramDef = parent.findFirstToken(TokenTypes.PARAMETERS).getFirstChild(); - while(paramDef != null) { - if(paramDef.getType() == TokenTypes.PARAMETER_DEF) { - final String paramName = paramDef.findFirstToken(TokenTypes.IDENT).getText(); - if(paramName.equals(argumentName) && isExceptionType(paramDef)) { - return true; - } + if (parent != null && parent.findFirstToken(TokenTypes.PARAMETERS).findFirstToken(TokenTypes.PARAMETER_DEF) + != null) { + DetailAST paramDef = parent.findFirstToken(TokenTypes.PARAMETERS).getFirstChild(); + while(paramDef != null) { + if (paramDef.getType() == TokenTypes.PARAMETER_DEF) { + final String paramName = paramDef.findFirstToken(TokenTypes.IDENT).getText(); + if (paramName.equals(argumentName) && isExceptionType(paramDef)) { + return true; } - paramDef = paramDef.getNextSibling(); } + paramDef = paramDef.getNextSibling(); } } return false; } private boolean isExceptionType(final DetailAST parameterDef) { - if(parameterDef != null) { + if (parameterDef != null) { final DetailAST type = parameterDef.findFirstToken(TokenTypes.TYPE); - if(type != null && type.findFirstToken(TokenTypes.IDENT) != null) { + if (type != null && type.findFirstToken(TokenTypes.IDENT) != null) { final String argumentType = type.findFirstToken(TokenTypes.IDENT).getText(); - if(argumentType.contains(EXCEPTION_TYPE)) { + if (argumentType.contains(EXCEPTION_TYPE)) { return true; } } diff --git a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerMustBeSlf4jCheck.java b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerMustBeSlf4jCheck.java index 1f814d659e..2ddcdddfe4 100644 --- a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerMustBeSlf4jCheck.java +++ b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerMustBeSlf4jCheck.java @@ -27,18 +27,18 @@ public class LoggerMustBeSlf4jCheck extends Check { @Override public void visitToken(DetailAST aAST) { - if(aAST.getType() == TokenTypes.VARIABLE_DEF) { + if (aAST.getType() == TokenTypes.VARIABLE_DEF) { if (CheckLoggingUtil.isAFieldVariable(aAST)) { final String typeName = CheckLoggingUtil.getTypeName(aAST); if (typeName.contains("." + LOGGER_TYPE_NAME) && !typeName.equals(LOGGER_TYPE_FULL_NAME)) { log(aAST.getLineNo(), LOG_MESSAGE); } } - } else if(aAST.getType() == TokenTypes.IMPORT) { + } else if (aAST.getType() == TokenTypes.IMPORT) { final String importType = aAST.getFirstChild().findFirstToken(TokenTypes.IDENT).getText(); - if(importType.equals(CheckLoggingUtil.LOGGER_TYPE_NAME)) { + if (importType.equals(CheckLoggingUtil.LOGGER_TYPE_NAME)) { final String importIdent = aAST.getFirstChild().getFirstChild().getLastChild().getText(); - if(!importIdent.equals(SLF4J)) { + if (!importIdent.equals(SLF4J)) { log(aAST.getLineNo(), LOG_MESSAGE); } } diff --git a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerVariableModifiersCheck.java b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerVariableModifiersCheck.java index 63249cba40..126041b47f 100644 --- a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerVariableModifiersCheck.java +++ b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerVariableModifiersCheck.java @@ -23,18 +23,17 @@ public class LoggerVariableModifiersCheck extends Check { @Override public void visitToken(DetailAST aAST) { - if (CheckLoggingUtil.isAFieldVariable(aAST) && CheckLoggingUtil.isLoggerType(aAST) && !hasPrivatStaticFinalModifier(aAST)) { + if (CheckLoggingUtil.isAFieldVariable(aAST) && CheckLoggingUtil.isLoggerType(aAST) + && !hasPrivatStaticFinalModifier(aAST)) { log(aAST.getLineNo(), LOG_MESSAGE); } } private boolean hasPrivatStaticFinalModifier(DetailAST aAST) { DetailAST modifiers = aAST.findFirstToken(TokenTypes.MODIFIERS); - if(modifiers != null) { - if(modifiers.branchContains(TokenTypes.LITERAL_PRIVATE) && modifiers.branchContains(TokenTypes.LITERAL_STATIC) - && modifiers.branchContains(TokenTypes.FINAL)) { - return true; - } + if (modifiers != null && modifiers.branchContains(TokenTypes.LITERAL_PRIVATE) && modifiers.branchContains + (TokenTypes.LITERAL_STATIC) && modifiers.branchContains(TokenTypes.FINAL)) { + return true; } return false; } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AugmentationContextNode.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AugmentationContextNode.java index a2393ca0e7..8b682fde77 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AugmentationContextNode.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AugmentationContextNode.java @@ -19,7 +19,6 @@ final class AugmentationContextNode extends DataContainerContextNode { public AugmentationContextNode(final AugmentationSchema augmentation, final DataNodeContainer schema) { - // super(); super(augmentationIdentifierFrom(augmentation), augmentationProxy(augmentation, schema), null); } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java index 27224b49a0..d11efb4f84 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java @@ -15,7 +15,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.model.api.SchemaContext; -public class DataSchemaContextTree { +public final class DataSchemaContextTree { private static final LoadingCache TREES = CacheBuilder.newBuilder() .weakKeys() diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java index 2d1de44912..133df37c1c 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java @@ -12,6 +12,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import java.util.LinkedList; +import java.util.List; import javax.annotation.Nullable; import org.opendaylight.yangtools.concepts.Builder; import org.opendaylight.yangtools.yang.common.QName; @@ -70,7 +71,7 @@ class XpathStringParsingPathArgumentBuilder implements Builder product = new LinkedList<>(); + private final List product = new LinkedList<>(); private DataSchemaContextNode current; private int offset; -- 2.36.6