From bab5285c29c41b6e25098fd1859803534d24324f Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 6 Dec 2023 23:11:26 +0100 Subject: [PATCH] Bump odlparent to 13.0.9 Adopt latest fixes and deal with stricter SpotBugs -- mostly by adding suppressions of false positives. Change-Id: I992e1ae8b5c0c6926c049230b25acbf1ae7b0272 Signed-off-by: Robert Varga --- artifacts/pom.xml | 2 +- benchmarks/pom.xml | 2 +- bnd-parent/pom.xml | 2 +- bundle-parent/pom.xml | 2 +- codec/pom.xml | 2 +- .../yangtools/concepts/AbstractRegistration.java | 2 ++ common/mockito-configuration/pom.xml | 2 +- common/pom.xml | 2 +- common/testutils/pom.xml | 2 +- .../util/ConcurrentDurationStatisticsTracker.java | 3 +++ .../opendaylight/yangtools/util/ReadOnlyTrieMap.java | 2 ++ data/pom.xml | 2 +- data/yang-data-tree-ri/pom.xml | 5 +++++ .../yang-data-tree-ri/src/main/java/module-info.java | 1 + .../yang/data/tree/impl/AbstractCursorAware.java | 2 ++ .../impl/DataNodeContainerModificationStrategy.java | 2 ++ .../yang/data/tree/impl/InMemoryDataTree.java | 2 ++ .../data/tree/impl/InMemoryDataTreeModification.java | 2 ++ .../yang/data/tree/leafref/LeafRefPath.java | 2 ++ docs/pom.xml | 2 +- features/features-yangtools-experimental/pom.xml | 2 +- features/features-yangtools/pom.xml | 2 +- features/odl-yangtools-codec/pom.xml | 2 +- features/odl-yangtools-common/pom.xml | 2 +- features/odl-yangtools-data-api/pom.xml | 2 +- features/odl-yangtools-data/pom.xml | 2 +- features/odl-yangtools-export/pom.xml | 2 +- features/odl-yangtools-netty/pom.xml | 2 +- features/odl-yangtools-parser-api/pom.xml | 2 +- features/odl-yangtools-parser/pom.xml | 2 +- features/odl-yangtools-util/pom.xml | 2 +- features/odl-yangtools-xpath-api/pom.xml | 2 +- features/odl-yangtools-xpath/pom.xml | 2 +- features/pom.xml | 2 +- karaf/pom.xml | 2 +- model/pom.xml | 2 +- .../impl/eff/AbstractLeafEffectiveStatement.java | 2 ++ .../impl/eff/AbstractLeafListEffectiveStatement.java | 2 ++ .../stmt/impl/eff/TypedefEffectiveStatementImpl.java | 3 +++ .../impl/eff/UndeclaredLeafEffectiveStatement.java | 2 ++ .../yang/model/spi/AbstractSchemaContext.java | 2 ++ parser/pom.xml | 2 +- parser/yang-parser-impl/pom.xml | 5 +++++ .../repo/SharedEffectiveModelContextFactory.java | 3 +++ .../yang/parser/stmt/reactor/ModifierImpl.java | 12 +++++++----- .../parser/rfc7950/stmt/AbstractEffectiveModule.java | 3 +++ plugin/pom.xml | 2 +- plugin/yang-maven-plugin-it/pom.xml | 2 +- plugin/yang-maven-plugin/pom.xml | 2 +- pom.xml | 2 +- tools/pom.xml | 2 +- tools/yang-model-validator/pom.xml | 2 +- tools/yang-validation-tool/pom.xml | 2 +- xpath/pom.xml | 2 +- yang/pom.xml | 2 +- 55 files changed, 88 insertions(+), 41 deletions(-) diff --git a/artifacts/pom.xml b/artifacts/pom.xml index b3ed9acfca..c408c6cc8c 100644 --- a/artifacts/pom.xml +++ b/artifacts/pom.xml @@ -13,7 +13,7 @@ org.opendaylight.odlparent odlparent-lite - 13.0.7 + 13.0.9 diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml index 12278d2f98..59099c630b 100644 --- a/benchmarks/pom.xml +++ b/benchmarks/pom.xml @@ -11,7 +11,7 @@ org.opendaylight.odlparent odlparent - 13.0.7 + 13.0.9 4.0.0 diff --git a/bnd-parent/pom.xml b/bnd-parent/pom.xml index 5b1597aa0e..a5388c46f6 100644 --- a/bnd-parent/pom.xml +++ b/bnd-parent/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent bnd-parent - 13.0.7 + 13.0.9 diff --git a/bundle-parent/pom.xml b/bundle-parent/pom.xml index 4de0768c9b..d12bd29623 100644 --- a/bundle-parent/pom.xml +++ b/bundle-parent/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent bundle-parent - 13.0.7 + 13.0.9 diff --git a/codec/pom.xml b/codec/pom.xml index 8c7a363f22..c3077e414f 100644 --- a/codec/pom.xml +++ b/codec/pom.xml @@ -13,7 +13,7 @@ org.opendaylight.odlparent odlparent-lite - 13.0.7 + 13.0.9 diff --git a/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/AbstractRegistration.java b/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/AbstractRegistration.java index ae2677b0e2..aa2d97a999 100644 --- a/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/AbstractRegistration.java +++ b/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/AbstractRegistration.java @@ -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 { diff --git a/common/mockito-configuration/pom.xml b/common/mockito-configuration/pom.xml index 6053b51a9b..fd9cf8b5cc 100644 --- a/common/mockito-configuration/pom.xml +++ b/common/mockito-configuration/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent - 13.0.7 + 13.0.9 diff --git a/common/pom.xml b/common/pom.xml index 4b5d02fd7e..4b1bf38849 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 13.0.7 + 13.0.9 diff --git a/common/testutils/pom.xml b/common/testutils/pom.xml index 40e7665648..88561369f8 100644 --- a/common/testutils/pom.xml +++ b/common/testutils/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.odlparent bundle-parent - 13.0.7 + 13.0.9 diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/ConcurrentDurationStatisticsTracker.java b/common/util/src/main/java/org/opendaylight/yangtools/util/ConcurrentDurationStatisticsTracker.java index 7e7283842b..00a463ab45 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/ConcurrentDurationStatisticsTracker.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/ConcurrentDurationStatisticsTracker.java @@ -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() { diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/ReadOnlyTrieMap.java b/common/util/src/main/java/org/opendaylight/yangtools/util/ReadOnlyTrieMap.java index a993b85e0a..b513da1cb1 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/ReadOnlyTrieMap.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/ReadOnlyTrieMap.java @@ -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 extends ForwardingMap { // Used via the varhandle @SuppressWarnings("unused") + @SuppressFBWarnings(value = "UUF_UNUSED_FIELD", justification = "https://github.com/spotbugs/spotbugs/issues/2749") private volatile ImmutableTrieMap readOnly; ReadOnlyTrieMap(final MutableTrieMap map, final int size) { diff --git a/data/pom.xml b/data/pom.xml index b6c4aeef05..10d019d392 100644 --- a/data/pom.xml +++ b/data/pom.xml @@ -13,7 +13,7 @@ org.opendaylight.odlparent odlparent-lite - 13.0.7 + 13.0.9 diff --git a/data/yang-data-tree-ri/pom.xml b/data/yang-data-tree-ri/pom.xml index ecfd224cae..416f4271f8 100644 --- a/data/yang-data-tree-ri/pom.xml +++ b/data/yang-data-tree-ri/pom.xml @@ -22,6 +22,11 @@ ${project.artifactId} + + com.github.spotbugs + spotbugs-annotations + true + com.google.guava guava diff --git a/data/yang-data-tree-ri/src/main/java/module-info.java b/data/yang-data-tree-ri/src/main/java/module-info.java index 0bef77e1ce..40be366ec6 100644 --- a/data/yang-data-tree-ri/src/main/java/module-info.java +++ b/data/yang-data-tree-ri/src/main/java/module-info.java @@ -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; } diff --git a/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractCursorAware.java b/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractCursorAware.java index 7ffd08fd75..d41fd831d8 100644 --- a/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractCursorAware.java +++ b/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractCursorAware.java @@ -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 openCursor(final T cursorToOpen) { diff --git a/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/DataNodeContainerModificationStrategy.java b/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/DataNodeContainerModificationStrategy.java index 8aa7321ed0..4611ca6026 100644 --- a/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/DataNodeContainerModificationStrategy.java +++ b/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/DataNodeContainerModificationStrategy.java @@ -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 children = ImmutableMap.of(); DataNodeContainerModificationStrategy(final NormalizedNodeContainerSupport support, final T schema, diff --git a/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/InMemoryDataTree.java b/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/InMemoryDataTree.java index ec48eb11ae..55472a6d2c 100644 --- a/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/InMemoryDataTree.java +++ b/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/InMemoryDataTree.java @@ -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, diff --git a/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/InMemoryDataTreeModification.java b/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/InMemoryDataTreeModification.java index 5d1012f5c8..f3fa3af10e 100644 --- a/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/InMemoryDataTreeModification.java +++ b/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/InMemoryDataTreeModification.java @@ -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, diff --git a/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefPath.java b/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefPath.java index e01c3224a8..f16c8189b5 100644 --- a/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefPath.java +++ b/data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefPath.java @@ -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 legacyPath; protected LeafRefPath(final LeafRefPath parent, final QNameWithPredicate qname) { diff --git a/docs/pom.xml b/docs/pom.xml index f20bee684d..7abd88173d 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -379,7 +379,7 @@ https://www.slf4j.org/apidocs/ https://guava.dev/releases/32.0.1-jre/api/docs/ - https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/13.0.7/ + https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/13.0.9/ diff --git a/features/features-yangtools-experimental/pom.xml b/features/features-yangtools-experimental/pom.xml index 121812dd1b..2b032f4036 100644 --- a/features/features-yangtools-experimental/pom.xml +++ b/features/features-yangtools-experimental/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent feature-repo-parent - 13.0.7 + 13.0.9 diff --git a/features/features-yangtools/pom.xml b/features/features-yangtools/pom.xml index 779297147c..318c4f7172 100644 --- a/features/features-yangtools/pom.xml +++ b/features/features-yangtools/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent feature-repo-parent - 13.0.7 + 13.0.9 diff --git a/features/odl-yangtools-codec/pom.xml b/features/odl-yangtools-codec/pom.xml index cd55f3d644..8720a19dae 100644 --- a/features/odl-yangtools-codec/pom.xml +++ b/features/odl-yangtools-codec/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 13.0.7 + 13.0.9 diff --git a/features/odl-yangtools-common/pom.xml b/features/odl-yangtools-common/pom.xml index e343f3cff9..e8c279d1e9 100644 --- a/features/odl-yangtools-common/pom.xml +++ b/features/odl-yangtools-common/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 13.0.7 + 13.0.9 diff --git a/features/odl-yangtools-data-api/pom.xml b/features/odl-yangtools-data-api/pom.xml index 441b2fba01..9b65749aad 100644 --- a/features/odl-yangtools-data-api/pom.xml +++ b/features/odl-yangtools-data-api/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 13.0.7 + 13.0.9 diff --git a/features/odl-yangtools-data/pom.xml b/features/odl-yangtools-data/pom.xml index 2bb465f2d7..733a9b14e3 100644 --- a/features/odl-yangtools-data/pom.xml +++ b/features/odl-yangtools-data/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 13.0.7 + 13.0.9 diff --git a/features/odl-yangtools-export/pom.xml b/features/odl-yangtools-export/pom.xml index 653c45d6ea..4e46e459e3 100644 --- a/features/odl-yangtools-export/pom.xml +++ b/features/odl-yangtools-export/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 13.0.7 + 13.0.9 diff --git a/features/odl-yangtools-netty/pom.xml b/features/odl-yangtools-netty/pom.xml index 138e58008c..35b0e413e5 100644 --- a/features/odl-yangtools-netty/pom.xml +++ b/features/odl-yangtools-netty/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 13.0.7 + 13.0.9 diff --git a/features/odl-yangtools-parser-api/pom.xml b/features/odl-yangtools-parser-api/pom.xml index ba5c4bd165..e044a54cce 100644 --- a/features/odl-yangtools-parser-api/pom.xml +++ b/features/odl-yangtools-parser-api/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 13.0.7 + 13.0.9 diff --git a/features/odl-yangtools-parser/pom.xml b/features/odl-yangtools-parser/pom.xml index aa02b2d662..893e60c75f 100644 --- a/features/odl-yangtools-parser/pom.xml +++ b/features/odl-yangtools-parser/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 13.0.7 + 13.0.9 diff --git a/features/odl-yangtools-util/pom.xml b/features/odl-yangtools-util/pom.xml index e88ab50ce0..d8732509fb 100644 --- a/features/odl-yangtools-util/pom.xml +++ b/features/odl-yangtools-util/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 13.0.7 + 13.0.9 diff --git a/features/odl-yangtools-xpath-api/pom.xml b/features/odl-yangtools-xpath-api/pom.xml index cf5a0d17c6..3d943be847 100644 --- a/features/odl-yangtools-xpath-api/pom.xml +++ b/features/odl-yangtools-xpath-api/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 13.0.7 + 13.0.9 diff --git a/features/odl-yangtools-xpath/pom.xml b/features/odl-yangtools-xpath/pom.xml index b603b3eff8..1578bccc8c 100644 --- a/features/odl-yangtools-xpath/pom.xml +++ b/features/odl-yangtools-xpath/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 13.0.7 + 13.0.9 diff --git a/features/pom.xml b/features/pom.xml index 8d08160ee1..c1a6c483ef 100644 --- a/features/pom.xml +++ b/features/pom.xml @@ -13,7 +13,7 @@ org.opendaylight.odlparent odlparent-lite - 13.0.7 + 13.0.9 diff --git a/karaf/pom.xml b/karaf/pom.xml index 27098f27cb..8891530be5 100644 --- a/karaf/pom.xml +++ b/karaf/pom.xml @@ -9,7 +9,7 @@ org.opendaylight.odlparent karaf4-parent - 13.0.7 + 13.0.9 diff --git a/model/pom.xml b/model/pom.xml index 12764457bc..06662f33f6 100644 --- a/model/pom.xml +++ b/model/pom.xml @@ -13,7 +13,7 @@ org.opendaylight.odlparent odlparent-lite - 13.0.7 + 13.0.9 diff --git a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/AbstractLeafEffectiveStatement.java b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/AbstractLeafEffectiveStatement.java index bd2f86a46b..6bab04667f 100644 --- a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/AbstractLeafEffectiveStatement.java +++ b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/AbstractLeafEffectiveStatement.java @@ -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, diff --git a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/AbstractLeafListEffectiveStatement.java b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/AbstractLeafListEffectiveStatement.java index d9458c7ce2..848b94fe32 100644 --- a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/AbstractLeafListEffectiveStatement.java +++ b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/AbstractLeafListEffectiveStatement.java @@ -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, diff --git a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/TypedefEffectiveStatementImpl.java b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/TypedefEffectiveStatementImpl.java index a35ea0b169..73e5d8249a 100644 --- a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/TypedefEffectiveStatementImpl.java +++ b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/TypedefEffectiveStatementImpl.java @@ -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 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, diff --git a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/UndeclaredLeafEffectiveStatement.java b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/UndeclaredLeafEffectiveStatement.java index adc6a6fc70..6faf2ffe86 100644 --- a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/UndeclaredLeafEffectiveStatement.java +++ b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/UndeclaredLeafEffectiveStatement.java @@ -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, diff --git a/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/AbstractSchemaContext.java b/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/AbstractSchemaContext.java index 05c1eb6687..862bfcec4a 100644 --- a/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/AbstractSchemaContext.java +++ b/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/AbstractSchemaContext.java @@ -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> derivedIdentities = null; /** diff --git a/parser/pom.xml b/parser/pom.xml index aeba93120d..125e1335ca 100644 --- a/parser/pom.xml +++ b/parser/pom.xml @@ -13,7 +13,7 @@ org.opendaylight.odlparent odlparent-lite - 13.0.7 + 13.0.9 diff --git a/parser/yang-parser-impl/pom.xml b/parser/yang-parser-impl/pom.xml index 9a0a9cbc0a..4dcf8bc088 100644 --- a/parser/yang-parser-impl/pom.xml +++ b/parser/yang-parser-impl/pom.xml @@ -22,6 +22,11 @@ YANG parser + + com.github.spotbugs + spotbugs-annotations + true + com.google.guava guava diff --git a/parser/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedEffectiveModelContextFactory.java b/parser/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedEffectiveModelContextFactory.java index 072a2dabf2..9cc0e6f8fe 100644 --- a/parser/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedEffectiveModelContextFactory.java +++ b/parser/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedEffectiveModelContextFactory.java @@ -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") diff --git a/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java b/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java index a2f1f77d17..dd52a195f6 100644 --- a/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java +++ b/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java @@ -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") diff --git a/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveModule.java b/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveModule.java index d2b5905ad8..0871de975e 100644 --- a/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveModule.java +++ b/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveModule.java @@ -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 uses; private final ImmutableSet> typeDefinitions; + // FIXME: these should be detected in inference + @SuppressFBWarnings(value = "CT_CONSTRUCTOR_THROW", justification = "Legacy namespace indexing") protected AbstractEffectiveModule(final Current stmt, final ImmutableList> substatements, final String prefix) { super(stmt.declared(), substatements); diff --git a/plugin/pom.xml b/plugin/pom.xml index 923e46a5b1..270227bde5 100644 --- a/plugin/pom.xml +++ b/plugin/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 13.0.7 + 13.0.9 diff --git a/plugin/yang-maven-plugin-it/pom.xml b/plugin/yang-maven-plugin-it/pom.xml index a12f88d93e..a3482c65ce 100644 --- a/plugin/yang-maven-plugin-it/pom.xml +++ b/plugin/yang-maven-plugin-it/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent - 13.0.7 + 13.0.9 diff --git a/plugin/yang-maven-plugin/pom.xml b/plugin/yang-maven-plugin/pom.xml index 3fe1968cab..4985a18255 100644 --- a/plugin/yang-maven-plugin/pom.xml +++ b/plugin/yang-maven-plugin/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent - 13.0.7 + 13.0.9 diff --git a/pom.xml b/pom.xml index 3d03568aa5..597f584a52 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 13.0.7 + 13.0.9 diff --git a/tools/pom.xml b/tools/pom.xml index 391de1f0a8..74c2f4b4eb 100644 --- a/tools/pom.xml +++ b/tools/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 13.0.7 + 13.0.9 diff --git a/tools/yang-model-validator/pom.xml b/tools/yang-model-validator/pom.xml index 2608173a8c..8960817b0b 100644 --- a/tools/yang-model-validator/pom.xml +++ b/tools/yang-model-validator/pom.xml @@ -4,7 +4,7 @@ org.opendaylight.odlparent odlparent - 13.0.7 + 13.0.9 diff --git a/tools/yang-validation-tool/pom.xml b/tools/yang-validation-tool/pom.xml index 77ed3bd296..a3b356b2ab 100644 --- a/tools/yang-validation-tool/pom.xml +++ b/tools/yang-validation-tool/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent - 13.0.7 + 13.0.9 diff --git a/xpath/pom.xml b/xpath/pom.xml index 679ad2536b..a8fba1a2b3 100644 --- a/xpath/pom.xml +++ b/xpath/pom.xml @@ -13,7 +13,7 @@ org.opendaylight.odlparent odlparent-lite - 13.0.7 + 13.0.9 diff --git a/yang/pom.xml b/yang/pom.xml index 5c68c8df17..08996a3b01 100644 --- a/yang/pom.xml +++ b/yang/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 13.0.7 + 13.0.9 -- 2.36.6