From: Tom Pantelis Date: Thu, 13 Oct 2016 22:20:56 +0000 (-0400) Subject: Fix FindBugs warnings in sal-clustering-commons X-Git-Tag: release/carbon~422 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=0f4c2236a45097dcac1d66415cb76aabcc4a873f Fix FindBugs warnings in sal-clustering-commons Fixed FindBugs warnings in sal-clustering-commons and enabled the maven plugin to run and fail the build on violations. For some reason, the plugin sometimes creates a local .fbExcludeFilterFile that is a copy of the one in odlparent. It may be that it doesn't always clean it up at the end. So I added it to the .gitignore Change-Id: Id1ad5582f533bd4bfe714e54ae1e79d00a411552 Signed-off-by: Tom Pantelis --- diff --git a/.gitignore b/.gitignore index e5d9624a08..7b1cbba777 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ opendaylight/md-sal/sal-distributed-datastore/journal .checkstyle .factorypath maven-metadata-local.xml +.fbExcludeFilterFile diff --git a/opendaylight/md-sal/sal-clustering-commons/pom.xml b/opendaylight/md-sal/sal-clustering-commons/pom.xml index 097fdeeaf0..5b79bffe88 100644 --- a/opendaylight/md-sal/sal-clustering-commons/pom.xml +++ b/opendaylight/md-sal/sal-clustering-commons/pom.xml @@ -134,7 +134,6 @@ org.opendaylight.controller config-api - @@ -227,6 +226,13 @@ checkstyle.violationSeverity=error + + org.codehaus.mojo + findbugs-maven-plugin + + true + + diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/QuarantinedMonitorActor.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/QuarantinedMonitorActor.java index 9cb592a4c7..519fcd071c 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/QuarantinedMonitorActor.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/QuarantinedMonitorActor.java @@ -10,7 +10,6 @@ package org.opendaylight.controller.cluster.common.actor; import akka.actor.Props; import akka.actor.UntypedActor; -import akka.japi.Creator; import akka.japi.Effect; import akka.remote.AssociationErrorEvent; import akka.remote.InvalidAssociation; @@ -83,14 +82,6 @@ public class QuarantinedMonitorActor extends UntypedActor { } public static Props props(final Effect callback) { - return Props.create(new Creator() { - private static final long serialVersionUID = 1L; - - @Override - public QuarantinedMonitorActor create() throws Exception { - return new QuarantinedMonitorActor(callback); - } - }); + return Props.create(QuarantinedMonitorActor.class, callback); } - } diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/NormalizedNodeGetter.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/NormalizedNodeGetter.java index e1e7b9f684..e2085e6e54 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/NormalizedNodeGetter.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/NormalizedNodeGetter.java @@ -25,7 +25,7 @@ public class NormalizedNodeGetter implements public void visitNode(int level, String parentPath, NormalizedNode normalizedNode) { String nodePath = parentPath + "/" + PathUtils.toString(normalizedNode.getIdentifier()); - if (nodePath.toString().equals(path)) { + if (nodePath.equals(path)) { output = normalizedNode; } } diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractNormalizedNodeDataOutput.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractNormalizedNodeDataOutput.java index 51a9c1c24e..706665b0b8 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractNormalizedNodeDataOutput.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractNormalizedNodeDataOutput.java @@ -8,6 +8,7 @@ package org.opendaylight.controller.cluster.datastore.node.utils.stream; import com.google.common.base.Preconditions; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.DataOutput; import java.io.IOException; import java.io.OutputStream; @@ -361,6 +362,8 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut } } + @SuppressFBWarnings(value = "BC_UNCONFIRMED_CAST", + justification = "The casts in the switch clauses are indirectly confirmed via the determination of 'type'.") @Override public void writePathArgument(final PathArgument pathArgument) throws IOException { @@ -410,9 +413,9 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut if (keyValueMap != null && !keyValueMap.isEmpty()) { output.writeInt(keyValueMap.size()); - for (QName qname : keyValueMap.keySet()) { - writeQName(qname); - writeObject(keyValueMap.get(qname)); + for (Map.Entry entry : keyValueMap.entrySet()) { + writeQName(entry.getKey()); + writeObject(entry.getValue()); } } else { output.writeInt(0); diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/schema/provider/impl/RemoteYangTextSourceProviderImpl.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/schema/provider/impl/RemoteYangTextSourceProviderImpl.java index 882f2a84c9..fc492872bd 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/schema/provider/impl/RemoteYangTextSourceProviderImpl.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/schema/provider/impl/RemoteYangTextSourceProviderImpl.java @@ -14,6 +14,7 @@ import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import java.io.IOException; import java.util.Set; +import javax.annotation.Nonnull; import org.opendaylight.controller.cluster.schema.provider.RemoteYangTextSourceProvider; import org.opendaylight.yangtools.yang.model.repo.api.SchemaRepository; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; @@ -53,7 +54,7 @@ public class RemoteYangTextSourceProviderImpl implements RemoteYangTextSourcePro Futures.addCallback(future, new FutureCallback() { @Override - public void onSuccess(YangTextSchemaSource result) { + public void onSuccess(@Nonnull YangTextSchemaSource result) { try { promise.success(new YangTextSchemaSourceSerializationProxy(result)); } catch (IOException e) {