From 5999be857269ceeab055dd570880d1fe565fe49a Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 12 Sep 2018 02:26:19 +0200 Subject: [PATCH] Enable findbugs in more artifacts This fixed/enables FB warnings in yang-maven-plugin-spi, yang-parser-spi, yang-test-util and yang-xpath-api, yang-parser-impl and ang-maven-plugin-it. Change-Id: I1b9abdbd32f81b16243c111c74143929a573d76e Signed-off-by: Robert Varga --- yang/yang-maven-plugin-it/pom.xml | 7 +++++++ yang/yang-maven-plugin-spi/pom.xml | 7 +++++++ yang/yang-parser-impl/pom.xml | 7 +++++++ yang/yang-parser-spi/pom.xml | 7 +++++++ .../yang/parser/spi/meta/StatementSupportBundle.java | 1 + .../yangtools/yang/parser/spi/meta/StmtContextUtils.java | 4 +++- .../yangtools/yang/parser/spi/source/SourceException.java | 2 ++ yang/yang-test-util/pom.xml | 7 +++++++ .../yangtools/yang/test/util/YangParserTestUtils.java | 3 +++ yang/yang-xpath-api/pom.xml | 7 +++++++ .../yangtools/yang/xpath/api/YangBinaryOperator.java | 2 ++ .../yangtools/yang/xpath/api/YangLocationPath.java | 5 +++++ .../yangtools/yang/xpath/api/YangNaryOperator.java | 2 ++ 13 files changed, 60 insertions(+), 1 deletion(-) diff --git a/yang/yang-maven-plugin-it/pom.xml b/yang/yang-maven-plugin-it/pom.xml index be141991a2..3deeff1046 100644 --- a/yang/yang-maven-plugin-it/pom.xml +++ b/yang/yang-maven-plugin-it/pom.xml @@ -119,6 +119,13 @@ checkstyle.violationSeverity=error + + org.codehaus.mojo + findbugs-maven-plugin + + true + + diff --git a/yang/yang-maven-plugin-spi/pom.xml b/yang/yang-maven-plugin-spi/pom.xml index cd9d7267d8..8d0846082e 100644 --- a/yang/yang-maven-plugin-spi/pom.xml +++ b/yang/yang-maven-plugin-spi/pom.xml @@ -81,6 +81,13 @@ + + org.codehaus.mojo + findbugs-maven-plugin + + true + + diff --git a/yang/yang-parser-impl/pom.xml b/yang/yang-parser-impl/pom.xml index 2036a28338..64d6a32a1f 100644 --- a/yang/yang-parser-impl/pom.xml +++ b/yang/yang-parser-impl/pom.xml @@ -141,6 +141,13 @@ checkstyle.violationSeverity=error + + org.codehaus.mojo + findbugs-maven-plugin + + true + + org.apache.felix maven-bundle-plugin diff --git a/yang/yang-parser-spi/pom.xml b/yang/yang-parser-spi/pom.xml index 041aca8a0e..4425a166ce 100644 --- a/yang/yang-parser-spi/pom.xml +++ b/yang/yang-parser-spi/pom.xml @@ -66,6 +66,13 @@ checkstyle.violationSeverity=error + + org.codehaus.mojo + findbugs-maven-plugin + + true + + diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StatementSupportBundle.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StatementSupportBundle.java index 110c5f1c2f..4f53b98359 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StatementSupportBundle.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StatementSupportBundle.java @@ -100,6 +100,7 @@ public final class StatementSupportBundle implements Immutable, NamespaceBehavio } @Override + @SuppressWarnings("unchecked") public > NamespaceBehaviour getNamespaceBehaviour( final Class namespace) { final NamespaceBehaviour potential = namespaceDefinitions.get(namespace); diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java index 7fd1bc7a96..d0e3bfd4da 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java @@ -255,7 +255,9 @@ public final class StmtContextUtils { for (final StmtContext stmt : stmtContext.declaredSubstatements()) { if (YangStmtMapping.IF_FEATURE.equals(stmt.getPublicDefinition())) { containsIfFeature = true; - if (((Predicate>) stmt.getStatementArgument()).test(supportedFeatures)) { + @SuppressWarnings("unchecked") + final Predicate> argument = (Predicate>) stmt.getStatementArgument(); + if (argument.test(supportedFeatures)) { isSupported = true; } else { isSupported = false; diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceException.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceException.java index 42989dce57..fba795725b 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceException.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceException.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.parser.spi.source; import static java.util.Objects.requireNonNull; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Optional; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -19,6 +20,7 @@ import javax.annotation.Nullable; public class SourceException extends RuntimeException { private static final long serialVersionUID = 1L; + @SuppressFBWarnings(value = "SE_BAD_FIELD", justification = "Interface-specified member") private final StatementSourceReference sourceRef; /** diff --git a/yang/yang-test-util/pom.xml b/yang/yang-test-util/pom.xml index c183307022..638246f64c 100644 --- a/yang/yang-test-util/pom.xml +++ b/yang/yang-test-util/pom.xml @@ -52,6 +52,13 @@ checkstyle.violationSeverity=error + + org.codehaus.mojo + findbugs-maven-plugin + + true + + diff --git a/yang/yang-test-util/src/main/java/org/opendaylight/yangtools/yang/test/util/YangParserTestUtils.java b/yang/yang-test-util/src/main/java/org/opendaylight/yangtools/yang/test/util/YangParserTestUtils.java index ed1a0de441..a395b1899e 100644 --- a/yang/yang-test-util/src/main/java/org/opendaylight/yangtools/yang/test/util/YangParserTestUtils.java +++ b/yang/yang-test-util/src/main/java/org/opendaylight/yangtools/yang/test/util/YangParserTestUtils.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.test.util; import com.google.common.annotations.Beta; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.File; import java.io.FileFilter; import java.io.IOException; @@ -247,6 +248,7 @@ public final class YangParserTestUtils { * @param parserMode mode of statement parser * @return effective schema context */ + @SuppressFBWarnings(value = "NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE", justification = "Wrong inferent on listFiles") public static SchemaContext parseYangResourceDirectory(final String resourcePath, final Set supportedFeatures, final StatementParserMode parserMode) { final URI directoryPath; @@ -362,6 +364,7 @@ public final class YangParserTestUtils { } } + @SuppressFBWarnings(value = "NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE", justification = "Wrong inferent on listFiles") private static Collection getYangFiles(final String resourcePath) { final URI directoryPath; try { diff --git a/yang/yang-xpath-api/pom.xml b/yang/yang-xpath-api/pom.xml index 26f5ecd65b..80734dc3aa 100644 --- a/yang/yang-xpath-api/pom.xml +++ b/yang/yang-xpath-api/pom.xml @@ -60,6 +60,13 @@ checkstyle.violationSeverity=error + + org.codehaus.mojo + findbugs-maven-plugin + + true + + diff --git a/yang/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangBinaryOperator.java b/yang/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangBinaryOperator.java index 2718716222..598f5b0c81 100644 --- a/yang/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangBinaryOperator.java +++ b/yang/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangBinaryOperator.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.xpath.api; import static java.util.Objects.requireNonNull; import com.google.common.annotations.Beta; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; /** * YANG XPath binary operator. @@ -88,6 +89,7 @@ public enum YangBinaryOperator { */ MOD("mod"); + @SuppressFBWarnings(value = "SE_INNER_CLASS", justification = "Outer class is a retained enumeration") private final class Expr extends YangBinaryExpr { private static final long serialVersionUID = 1L; diff --git a/yang/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangLocationPath.java b/yang/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangLocationPath.java index b3de1ee777..973070b904 100644 --- a/yang/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangLocationPath.java +++ b/yang/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangLocationPath.java @@ -13,6 +13,7 @@ import com.google.common.annotations.Beta; import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; import com.google.common.collect.ImmutableList; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.Serializable; import java.util.Arrays; import java.util.Collection; @@ -83,6 +84,8 @@ public class YangLocationPath implements YangExpr { return getAxis().equals(other.getAxis()) && getPredicates().equals(other.getPredicates()); } + @SuppressFBWarnings(value = "SE_PRIVATE_READ_RESOLVE_NOT_INHERITED", + justification = "We have only one subclass, and that does not want to inherit this") private Object readResolve() { return getAxis().asStep(); } @@ -235,6 +238,8 @@ public class YangLocationPath implements YangExpr { } } + @SuppressFBWarnings(value = "EQ_DOESNT_OVERRIDE_EQUALS", + justification = "https://github.com/spotbugs/spotbugs/issues/511") static final class NodeTypeStepWithPredicates extends NodeTypeStep { private static final long serialVersionUID = 1L; diff --git a/yang/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangNaryOperator.java b/yang/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangNaryOperator.java index 84c94d5ca8..b358b21902 100644 --- a/yang/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangNaryOperator.java +++ b/yang/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/YangNaryOperator.java @@ -11,6 +11,7 @@ import static java.util.Objects.requireNonNull; import com.google.common.annotations.Beta; import com.google.common.collect.ImmutableSet; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Collection; import java.util.Set; @@ -40,6 +41,7 @@ public enum YangNaryOperator { */ UNION("|"); + @SuppressFBWarnings(value = "SE_INNER_CLASS", justification = "Outer class is a retained enumeration") private final class Expr extends YangNaryExpr { private static final long serialVersionUID = 1L; -- 2.36.6