Fix spotbugs issues in yang-parser-spi 00/88500/11
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 17 Feb 2022 11:16:36 +0000 (12:16 +0100)
committerRobert Varga <nite@hq.sk>
Thu, 17 Feb 2022 12:33:39 +0000 (12:33 +0000)
SpotBugs is correctly pointing out that we could in theory end
up with a null dereference here. Make sure we verifyNotNull() it
and produce a correct message.

Change-Id: Ib4097986c3e329046be273a4992a7b7112951c5c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/SchemaTreeNamespace.java
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractBooleanStatementSupport.java

index ea4e1308cef3cb1b71be24deb7ebc33a9c8818e0..096ddc79b983b8cc08efc7e78f3bd966539041f4 100644 (file)
@@ -7,6 +7,9 @@
  */
 package org.opendaylight.yangtools.yang.parser.spi;
 
+import static com.google.common.base.Verify.verifyNotNull;
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.annotations.Beta;
 import java.util.Collection;
 import java.util.Iterator;
@@ -141,9 +144,9 @@ public final class SchemaTreeNamespace<D extends DeclaredStatement<QName>,
     }
 
     private static NamespaceStorageNode globalOrStatementSpecific(final NamespaceStorageNode storage) {
-        NamespaceStorageNode current = storage;
+        NamespaceStorageNode current = requireNonNull(storage);
         while (!isLocalOrGlobal(current.getStorageNodeType())) {
-            current = current.getParentNamespaceStorage();
+            current = verifyNotNull(current.getParentNamespaceStorage());
         }
         return current;
     }
index 01f8461af542d2cc42c2fd567f6e39f84f91b542..7d1fc01c68d0034ec1b7b83d8b662df9e6c11f14 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.parser.spi.meta;
 
+import static com.google.common.base.Verify.verifyNotNull;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.Beta;
@@ -41,8 +42,8 @@ public abstract class AbstractBooleanStatementSupport<D extends DeclaredStatemen
         super(publicDefinition, policy, config, validator);
         this.emptyEffectiveFalse = requireNonNull(emptyEffectiveFalse);
         this.emptyEffectiveTrue = requireNonNull(emptyEffectiveTrue);
-        emptyDeclaredFalse = requireNonNull(emptyEffectiveFalse.getDeclared());
-        emptyDeclaredTrue = requireNonNull(emptyEffectiveTrue.getDeclared());
+        emptyDeclaredFalse = verifyNotNull(emptyEffectiveFalse.getDeclared());
+        emptyDeclaredTrue = verifyNotNull(emptyEffectiveTrue.getDeclared());
     }
 
     @Override