Bump odlparent to 13.0.9 88/109188/5
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 6 Dec 2023 22:11:26 +0000 (23:11 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 11 Dec 2023 13:27:50 +0000 (14:27 +0100)
Adopt latest fixes and deal with stricter SpotBugs -- mostly by adding
suppressions of false positives.

Change-Id: I992e1ae8b5c0c6926c049230b25acbf1ae7b0272
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
55 files changed:
artifacts/pom.xml
benchmarks/pom.xml
bnd-parent/pom.xml
bundle-parent/pom.xml
codec/pom.xml
common/concepts/src/main/java/org/opendaylight/yangtools/concepts/AbstractRegistration.java
common/mockito-configuration/pom.xml
common/pom.xml
common/testutils/pom.xml
common/util/src/main/java/org/opendaylight/yangtools/util/ConcurrentDurationStatisticsTracker.java
common/util/src/main/java/org/opendaylight/yangtools/util/ReadOnlyTrieMap.java
data/pom.xml
data/yang-data-tree-ri/pom.xml
data/yang-data-tree-ri/src/main/java/module-info.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractCursorAware.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/DataNodeContainerModificationStrategy.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/InMemoryDataTree.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/InMemoryDataTreeModification.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefPath.java
docs/pom.xml
features/features-yangtools-experimental/pom.xml
features/features-yangtools/pom.xml
features/odl-yangtools-codec/pom.xml
features/odl-yangtools-common/pom.xml
features/odl-yangtools-data-api/pom.xml
features/odl-yangtools-data/pom.xml
features/odl-yangtools-export/pom.xml
features/odl-yangtools-netty/pom.xml
features/odl-yangtools-parser-api/pom.xml
features/odl-yangtools-parser/pom.xml
features/odl-yangtools-util/pom.xml
features/odl-yangtools-xpath-api/pom.xml
features/odl-yangtools-xpath/pom.xml
features/pom.xml
karaf/pom.xml
model/pom.xml
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/AbstractLeafEffectiveStatement.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/AbstractLeafListEffectiveStatement.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/TypedefEffectiveStatementImpl.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/UndeclaredLeafEffectiveStatement.java
model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/AbstractSchemaContext.java
parser/pom.xml
parser/yang-parser-impl/pom.xml
parser/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedEffectiveModelContextFactory.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveModule.java
plugin/pom.xml
plugin/yang-maven-plugin-it/pom.xml
plugin/yang-maven-plugin/pom.xml
pom.xml
tools/pom.xml
tools/yang-model-validator/pom.xml
tools/yang-validation-tool/pom.xml
xpath/pom.xml
yang/pom.xml

index b3ed9acfcae68b8860c3ea3552eb266a31c12bbe..c408c6cc8c66b87882afb171597a1d9b4abb02ca 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
       <groupId>org.opendaylight.odlparent</groupId>
       <artifactId>odlparent-lite</artifactId>
-      <version>13.0.7</version>
+      <version>13.0.9</version>
       <relativePath/>
     </parent>
 
index 12278d2f9801558fa8952f44cacd354afc127d32..59099c630ba9c74a405a9b73acb3108d2b65f725 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
     <modelVersion>4.0.0</modelVersion>
index 5b1597aa0e2108db1d72b423944146a43503ad04..a5388c46f6c84eda7315f570c676373c4d4dd5ad 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bnd-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 4de0768c9bfd7621c770d4b7b75d84fd58122566..d12bd296231d283cf7f52a67e94a930ddecb1022 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 8c7a363f22f8a033949b6d53282d245ecba2fb2f..c3077e414ff67a6fecc3ca48e635521a773d68bc 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index ae2677b0e2b5d363fe7c578dde448579907cfe2e..aa2d97a99989e2689554c02ab549e62302a55135 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.yangtools.concepts;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.base.MoreObjects.ToStringHelper;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 
@@ -21,6 +22,7 @@ public abstract class AbstractRegistration implements Registration {
 
     // All access needs to go through this handle
     @SuppressWarnings("unused")
+    @SuppressFBWarnings(value = "UUF_UNUSED_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile byte closed;
 
     static {
index 6053b51a9b557223e5273b13769b5aa499861316..fd9cf8b5cc3813d48af635b08f3c06bb6644e41c 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 4b5d02fd7e461eb1af3b8d4e940ca02a6ea56e4c..4b1bf38849140e21119492514d522f13cb05dcc0 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
       <groupId>org.opendaylight.odlparent</groupId>
       <artifactId>odlparent-lite</artifactId>
-      <version>13.0.7</version>
+      <version>13.0.9</version>
       <relativePath/>
     </parent>
 
index 40e76656482f0fa662be321f913448ebdd88abbc..88561369f887296698f58583df5de4b9705b4e2c 100644 (file)
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 7e7283842bf326e8d1ff80f48ed077be81fc220c..00a463ab456e21d989b7e109ce7ec9b05ae0e618 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.yangtools.util;
 
 import com.google.common.primitives.UnsignedLong;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 
@@ -37,7 +38,9 @@ class ConcurrentDurationStatisticsTracker extends DurationStatisticsTracker {
 
     private volatile long sum;
     private volatile long count;
+    @SuppressFBWarnings(value = "UWF_NULL_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile DurationWithTime longest;
+    @SuppressFBWarnings(value = "UWF_NULL_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile DurationWithTime shortest;
 
     ConcurrentDurationStatisticsTracker() {
index a993b85e0af1a6a4af1e42f7f253608f748e2b00..b513da1cb18a44945193d031101f11600b65915e 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.yangtools.util;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ForwardingMap;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import org.slf4j.Logger;
@@ -41,6 +42,7 @@ final class ReadOnlyTrieMap<K, V> extends ForwardingMap<K, V> {
 
     // Used via the varhandle
     @SuppressWarnings("unused")
+    @SuppressFBWarnings(value = "UUF_UNUSED_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile ImmutableTrieMap<K, V> readOnly;
 
     ReadOnlyTrieMap(final MutableTrieMap<K, V> map, final int size) {
index b6c4aeef05af625133a4698eaf1d697aeb0cada9..10d019d3920e581f2e9ba209bec9b240f814e363 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index ecfd224cae5009741797b657fbf044f3f8dd6f3a..416f4271f89912f85d1101a4eba522523cc8716e 100644 (file)
     <description>${project.artifactId}</description>
 
     <dependencies>
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
index 0bef77e1cefb8f6c2bc3b5876fd2d9db96c284f7..40be366ec6a176d2711ab28dac23f323dfaf125e 100644 (file)
@@ -28,5 +28,6 @@ module org.opendaylight.yangtools.yang.data.tree {
     requires static org.eclipse.jdt.annotation;
     requires static org.kohsuke.metainf_services;
     requires static org.osgi.service.component.annotations;
+    requires static com.github.spotbugs.annotations;
     requires static javax.inject;
 }
index 7ffd08fd7588698d0ea095da9570e01707dce3c8..d41fd831d85a27c37ad2baf5ba4cfb89b2e415ff 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.tree.impl;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import org.slf4j.Logger;
@@ -25,6 +26,7 @@ abstract class AbstractCursorAware {
     }
 
     @SuppressWarnings("unused")
+    @SuppressFBWarnings(value = "UUF_UNUSED_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile AbstractCursor<?> cursor;
 
     protected <T extends AbstractCursor<?>> T openCursor(final T cursorToOpen) {
index 8aa7321ed0c15a51a3825a294f15e1bfe0569eb3..4611ca6026ec58c5cfdbe892bb86730331e367b7 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.data.tree.impl;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableMap;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import org.eclipse.jdt.annotation.NonNull;
@@ -44,6 +45,7 @@ sealed class DataNodeContainerModificationStrategy<T extends DataSchemaNode & Da
     private final @NonNull DataTreeConfiguration treeConfig;
 
     @SuppressWarnings("unused")
+    @SuppressFBWarnings(value = "URF_UNREAD_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile ImmutableMap<PathArgument, ModificationApplyOperation> children = ImmutableMap.of();
 
     DataNodeContainerModificationStrategy(final NormalizedNodeContainerSupport<?, ?> support, final T schema,
index ec48eb11ae50c85708a29d6a7e5154a456436db6..55472a6d2cd81456df6ca7f2895d50314d92ba6b 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.data.tree.impl;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.MoreObjects;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
@@ -52,6 +53,7 @@ public final class InMemoryDataTree extends AbstractDataTreeTip implements DataT
      * Current data store state generation. All accesses need to go through {@link #STATE}
      */
     @SuppressWarnings("unused")
+    @SuppressFBWarnings(value = "URF_UNREAD_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile DataTreeState state;
 
     public InMemoryDataTree(final TreeNode rootNode, final DataTreeConfiguration treeConfig,
index 5d1012f5c80de06356ec7cd24e66990545a2f187..f3fa3af10e7fd685e1c4b312e4b62ed791c6b162 100644 (file)
@@ -11,6 +11,7 @@ import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkState;
 import static java.util.Objects.requireNonNull;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import java.util.Optional;
@@ -55,6 +56,7 @@ final class InMemoryDataTreeModification extends AbstractCursorAware implements
 
     // All access needs to go through STATE
     @SuppressWarnings("unused")
+    @SuppressFBWarnings(value = "UUF_UNUSED_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile byte state;
 
     InMemoryDataTreeModification(final InMemoryDataTreeSnapshot snapshot,
index e01c3224a8886327b34172005f535a3668a0749d..f16c8189b51d654f49de0a778552368d8eb3e4d0 100644 (file)
@@ -11,6 +11,7 @@ import static com.google.common.base.Preconditions.checkArgument;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import java.util.Arrays;
@@ -97,6 +98,7 @@ public abstract class LeafRefPath implements Immutable {
      * Cached legacy path, filled-in when {@link #getPathFromRoot()} is invoked.
      */
     @SuppressWarnings("unused")
+    @SuppressFBWarnings(value = "UUF_UNUSED_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile ImmutableList<QNameWithPredicate> legacyPath;
 
     protected LeafRefPath(final LeafRefPath parent, final QNameWithPredicate qname) {
index f20bee684d7cdaa0d5eabc78c2ccfe9651197e78..7abd88173d0b430a7fc80622b417d208bcdc0aba 100644 (file)
                         <link>https://www.slf4j.org/apidocs/</link>
                         <link>https://guava.dev/releases/32.0.1-jre/api/docs/</link>
 
-                        <link>https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/13.0.7/</link>
+                        <link>https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/13.0.9/</link>
                     </links>
                     <groups>
                         <group>
index 121812dd1b17097af1273413828d464644f4c593..2b032f403669e67cc568ba65502aef618de89069 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 779297147c4da75990d17fc9ab670ad7df30deea..318c4f7172ef2860f90b89236445471e97518712 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index cd55f3d644f2a4485cefc6ef92a494c46e96bc21..8720a19dae81c155d5acd86848b6e843d3af04c0 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index e343f3cff96d634cf4084042f18702ceedf505aa..e8c279d1e9bee0a5508f03f818a090b1c0ba4172 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 441b2fba0155d486564161ecaecf3cde37927229..9b65749aadbd7d1374098354042b0c7aaaea20d8 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 2bb465f2d7c8d2b944d7aed9a30407e3ca03aba1..733a9b14e34a9af5b2407bcdcb6a11d9158b84a3 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 653c45d6ea6be75665522fdbe582827d38d8f488..4e46e459e3cd57edba257970e1398ff3c189878f 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 138e58008c9c66a4dc9b10eb8cf45f4999b61852..35b0e413e59c360238144fba46face9e9ed49936 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index ba5c4bd16534767e8d4da6e1f79d6c22e9cfad81..e044a54ccec6d6326b599ffe020ead66138381e8 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index aa02b2d662214e0f950d0a4bdc221937892562e0..893e60c75f880af5d03e9441bfc4e4ba81d8c5f4 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index e88ab50ce0739dc767d4174ae8a1185eb22ccc7b..d8732509fb43e9c4abac0804e9cbdc166592c842 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index cf5a0d17c686847917ee668486402f66fc178d25..3d943be847988e836cc33589c139f257742fcf06 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index b603b3eff857ae7623b3931f25783092f7929c3c..1578bccc8cad9dfc52b76f142857b05adc8266fe 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 8d08160ee1cfdbc08c9ec88e7c5b6643386fb2c2..c1a6c483ef562e852fca6fef1409c81e3a4d9060 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 27098f27cbecb416f1d2e74e98607e4a0447eeff..8891530be58d77da7616bc2716a0d828c6d9bbff 100644 (file)
@@ -9,7 +9,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>karaf4-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 12764457bcb0d945061d6ab61d55f906adc24c8e..06662f33f6c6880e998ad046f09b12a3c9bf937b 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index bd2f86a46b279c0efd99316c89bc8af6eabbd1eb..6bab04667f3e9132a5fc407de94c19b5b4c73d66 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff;
 
 import com.google.common.collect.ImmutableList;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import org.eclipse.jdt.annotation.NonNull;
@@ -42,6 +43,7 @@ public abstract class AbstractLeafEffectiveStatement
     private final int flags;
 
     @SuppressWarnings("unused")
+    @SuppressFBWarnings(value = "UUF_UNUSED_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile TypeDefinition<?> type;
 
     AbstractLeafEffectiveStatement(final LeafStatement declared, final int flags,
index d9458c7ce2763ce13469379cdc702dded46fa397..848b94fe3235f1c142d6e4ab5c6d47a5b1f4b8bf 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff;
 
 import com.google.common.collect.ImmutableList;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import org.eclipse.jdt.annotation.NonNull;
@@ -43,6 +44,7 @@ abstract class AbstractLeafListEffectiveStatement
     private final int flags;
 
     @SuppressWarnings("unused")
+    @SuppressFBWarnings(value = "UUF_UNUSED_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile TypeDefinition<?> type;
 
     AbstractLeafListEffectiveStatement(final LeafListStatement declared, final int flags,
index a35ea0b169d611828d9ffcbc7edd0e819a0bac43..73e5d8249a5b83c144eb14ff34a20186ffdc6324 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff;
 
 import com.google.common.collect.ImmutableList;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.MethodHandles.Lookup;
 import java.lang.invoke.VarHandle;
@@ -54,9 +55,11 @@ public final class TypedefEffectiveStatementImpl extends WithSubstatements<QName
 
     // Accessed via TYPE_DEFINITION
     @SuppressWarnings("unused")
+    @SuppressFBWarnings(value = "UUF_UNUSED_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile TypeDefinition<?> typeDefinition;
     // Accessed via TYPE_STATEMENT
     @SuppressWarnings("unused")
+    @SuppressFBWarnings(value = "UUF_UNUSED_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile ProxyTypeEffectiveStatement typeStatement;
 
     public TypedefEffectiveStatementImpl(final TypedefStatement declared, final int flags,
index adc6a6fc70e601731e5855421e088456e7bb79a7..6faf2ffe8695822d421717336ba9aa4021f73467 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.collect.ImmutableList;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import org.eclipse.jdt.annotation.NonNull;
@@ -44,6 +45,7 @@ public final class UndeclaredLeafEffectiveStatement extends AbstractUndeclaredEf
     private final int flags;
 
     @SuppressWarnings("unused")
+    @SuppressFBWarnings(value = "UUF_UNUSED_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile TypeDefinition<?> type;
 
     public UndeclaredLeafEffectiveStatement(final QName argument, final int flags,
index 05c1eb6687e25345b8d377d5ea9e3175a9d34408..862bfcec4a3ee378b88fa430f0147d16c1374b13 100644 (file)
@@ -13,6 +13,7 @@ import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Multimaps;
 import com.google.common.collect.SetMultimap;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import java.util.ArrayList;
@@ -85,6 +86,7 @@ public abstract class AbstractSchemaContext implements SchemaContext {
 
     // Accessed via DERIVED_IDENTITIES
     @SuppressWarnings("unused")
+    @SuppressFBWarnings(value = "URF_UNREAD_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile ImmutableMap<IdentitySchemaNode, ImmutableSet<IdentitySchemaNode>> derivedIdentities = null;
 
     /**
index aeba93120d0c26242ed0381ab9901b28e714731f..125e1335caf8a6239d948bf466a0a59bd5bfc1da 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 9a0a9cbc0aae390c40fc703ef2a302675467a16b..4dcf8bc088a0b091b0cb3ab2011008bc65970fcb 100644 (file)
     <description>YANG parser</description>
 
     <dependencies>
+        <dependency>
+            <groupId>com.github.spotbugs</groupId>
+            <artifactId>spotbugs-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
index 072a2dabf2b2eebd6eb9b1153446c4c77839668c..9cc0e6f8fe0e4cf0ac8c98528e8762131a4288ae 100644 (file)
@@ -20,6 +20,7 @@ import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.SettableFuture;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import java.lang.ref.Cleaner;
@@ -76,6 +77,8 @@ final class SharedEffectiveModelContextFactory implements EffectiveModelContextF
         // - SettableFuture, in which case the model is being computed
         // - Reference, in which case the model is available through the reference (unless cleared)
         @SuppressWarnings("unused")
+        @SuppressFBWarnings(value = "URF_UNREAD_FIELD",
+            justification = "https://github.com/spotbugs/spotbugs/issues/2749")
         private volatile Object state = SettableFuture.create();
 
         @SuppressWarnings("unchecked")
index a2f1f77d17a5a8cbb47e52c64459efbda236676d..dd52a195f6314291c25a1f5c511bc47b3610017f 100644 (file)
@@ -83,7 +83,7 @@ final class ModifierImpl implements ModelActionBuilder {
 
     void failModifier() {
         removeSatisfied();
-        action.prerequisiteFailed(unsatisfied);
+        verifyNotNull(action).prerequisiteFailed(unsatisfied);
         action = null;
     }
 
@@ -299,7 +299,7 @@ final class ModifierImpl implements ModelActionBuilder {
         @SuppressWarnings("checkstyle:hiddenField")
         final boolean resolvePrereq(final T value) {
             this.value = value;
-            this.done = true;
+            done = true;
             return modifier.isApplied();
         }
 
@@ -346,7 +346,7 @@ final class ModifierImpl implements ModelActionBuilder {
                 } else {
                     LOG.debug("Key {} in {} is not supported", key, keys);
                     resolvePrereq(null);
-                    modifier.action.prerequisiteUnavailable(this);
+                    verifyNotNull(modifier.action).prerequisiteUnavailable(this);
                 }
 
                 return true;
@@ -455,8 +455,10 @@ final class ModifierImpl implements ModelActionBuilder {
 
         PhaseModificationInNamespace(final ModifierImpl modifier, final ModelProcessingPhase phase) {
             super(modifier);
-            checkArgument(phase != null, "Model processing phase must not be null");
-            this.modPhase = phase;
+            if (phase == null) {
+                throw new IllegalArgumentException("Model processing phase must not be null");
+            }
+            modPhase = phase;
         }
 
         @SuppressWarnings("unchecked")
index d2b5905ad872a96e070e2b921b5a766d7e68fbf6..0871de975e3a429d1560168e9da11f6e722a9d65 100644 (file)
@@ -15,6 +15,7 @@ import com.google.common.collect.Collections2;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap.Builder;
 import com.google.common.collect.ImmutableSet;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Collection;
 import java.util.LinkedHashSet;
 import java.util.Optional;
@@ -64,6 +65,8 @@ public abstract class AbstractEffectiveModule<D extends DeclaredStatement<Unqual
     private final ImmutableSet<UsesNode> uses;
     private final ImmutableSet<TypeDefinition<?>> typeDefinitions;
 
+    // FIXME: these should be detected in inference
+    @SuppressFBWarnings(value = "CT_CONSTRUCTOR_THROW", justification = "Legacy namespace indexing")
     protected AbstractEffectiveModule(final Current<Unqualified, D> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements, final String prefix) {
         super(stmt.declared(), substatements);
index 923e46a5b139ab0bd94634e1b4e23602248f9c39..270227bde5b22bfe099cc60ab028aa8ffb61673a 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index a12f88d93ec2acf1f5d90e8f495decb5c21d4735..a3482c65cece333561d752df19cb6fa4cb322c8f 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 3fe1968cab05678d7da5770a3b447b16dc242fe8..4985a18255ff0497c09ab973ecab390234040b5d 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
diff --git a/pom.xml b/pom.xml
index 3d03568aa560b1d6087be0e48bc9a5a51434ddfb..597f584a52046e98675b4f11aead1230315f7bdb 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
     <parent>
       <groupId>org.opendaylight.odlparent</groupId>
       <artifactId>odlparent-lite</artifactId>
-      <version>13.0.7</version>
+      <version>13.0.9</version>
       <relativePath/>
     </parent>
 
index 391de1f0a887e5b0b1fcc82a699bc38701831aef..74c2f4b4ebb91f472b47d59c620b4c573c2584c0 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 2608173a8c1abb53c25d8c6fc3291247b477c4e5..8960817b0bbdd6c8941152b0adbf71dae42d18e0 100644 (file)
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 77ed3bd296fddb47a6a4c6ace3e14c890c4be6bb..a3b356b2abb0cea98a775c9554f45d5782843119 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 679ad2536bd122329d9814d5b84b873485872546..a8fba1a2b3e7cea0c707903129014fc315d0ccfd 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>
 
index 5c68c8df175de345a98f6d2ca716cf69821fc32a..08996a3b0123653bc05a7f427b28dcb3c50e585c 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.9</version>
         <relativePath/>
     </parent>