Enable SpotBugs enforcement in yang-data-impl 45/87645/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 12 Feb 2020 17:45:08 +0000 (18:45 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 12 Feb 2020 19:58:06 +0000 (20:58 +0100)
Fix up the few remaining issues reported and enable enforcement
so we do not regress.

Change-Id: I282c0905fea741cb2200e08e62bf2ba86353f0f3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-data-impl/pom.xml
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ResultAlreadySetException.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/UnmodifiableChildrenMap.java

index e6a868544cb8f5cb03aaf9eedc6316b3df77ebd9..7b0627939c73600cf20161cd6c0baeabd636fffb 100644 (file)
     <name>${project.artifactId}</name>
     <description>${project.artifactId}</description>
 
-    <properties>
-        <!-- FIXME: fixup/suppress remaining bugs and remove this -->
-        <odlparent.spotbugs.enforce>false</odlparent.spotbugs.enforce>
-    </properties>
-
     <build>
         <plugins>
             <plugin>
index 483a86c276420616d2d37bbfd9b2ec2c3e4018a5..81f510b614cfe6b8d4dd10f6071ebeaa8c09bfd8 100644 (file)
@@ -12,7 +12,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 public class ResultAlreadySetException extends IllegalStateException {
     private static final long serialVersionUID = 1L;
 
-    private final NormalizedNode<?, ?> resultData;
+    private final transient NormalizedNode<?, ?> resultData;
 
     public ResultAlreadySetException(final String message, final NormalizedNode<?, ?> resultData) {
         this(message, resultData, null);
index 2334a5ccb168a9685d25d77c73d49f5524cb4e1c..6a2c3d2b202229b1609d57b9eafb28dc67a1f276 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.data.impl.schema.nodes;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableMap;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.io.Serializable;
 import java.util.Collection;
 import java.util.Collections;
@@ -26,13 +27,16 @@ import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 final class UnmodifiableChildrenMap
         implements CloneableMap<PathArgument, DataContainerChild<? extends PathArgument, ?>>, Serializable {
     private static final long serialVersionUID = 1L;
+
     /*
-     * Do not wrap maps which are smaller than this and instead copy them into
-     * an ImmutableMap.
+     * Do not wrap maps which are smaller than this and instead copy them into an ImmutableMap.
      */
     private static final int WRAP_THRESHOLD = 9;
+
+    @SuppressFBWarnings(value = "SE_BAD_FIELD", justification = "Delegate is expected to be Serializable")
     private final Map<PathArgument, DataContainerChild<? extends PathArgument, ?>> delegate;
-    private transient Collection<DataContainerChild<? extends PathArgument, ?>> values;
+
+    private transient Collection<DataContainerChild<? extends PathArgument, ?>> values = null;
 
     private UnmodifiableChildrenMap(final Map<PathArgument, DataContainerChild<? extends PathArgument, ?>> delegate) {
         this.delegate = requireNonNull(delegate);