Make ChildSchemaNodeNamespace operate on StmtContext only 31/87631/2
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 12 Feb 2020 15:46:40 +0000 (16:46 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 12 Feb 2020 17:09:29 +0000 (18:09 +0100)
SpotBugs is pointing out an unconfirmed cast, which we really do not
need as we can operate on StmtContexts without having to go through
Mutable.

JIRA: YANGTOOLS-1056
Change-Id: I340f950621dbab23dbd1b3ea8d58675b744517d9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/namespace/ChildSchemaNodeNamespace.java

index bcc92d1141dea4fb0145ca02eb0c957fafe424f4..20cbeb5f4eab1936a31f32c253cb26f99f739709 100644 (file)
@@ -20,7 +20,6 @@ import org.opendaylight.yangtools.yang.model.api.stmt.UnknownStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
 
@@ -85,16 +84,15 @@ public final class ChildSchemaNodeNamespace<D extends DeclaredStatement<QName>,
 
         QName nextPath = iterator.next();
         @SuppressWarnings("unchecked")
-        Mutable<?, ?, EffectiveStatement<?, ?>> current = (Mutable)root.getFromNamespace(ChildSchemaNodeNamespace.class,
+        StmtContext<?, ?, ?> current = (StmtContext<?, ?, ?>) root.getFromNamespace(ChildSchemaNodeNamespace.class,
             nextPath);
         if (current == null) {
-            return Optional.ofNullable(tryToFindUnknownStatement(nextPath.getLocalName(),
-                (Mutable<?, ?, EffectiveStatement<?, ?>>) root));
+            return Optional.ofNullable(tryToFindUnknownStatement(nextPath.getLocalName(), root));
         }
         while (current != null && iterator.hasNext()) {
             nextPath = iterator.next();
             @SuppressWarnings("unchecked")
-            final Mutable<?, ?, EffectiveStatement<?, ?>> nextNodeCtx = (Mutable)current.getFromNamespace(
+            final StmtContext<?, ?, ?> nextNodeCtx = (StmtContext<?, ?, ?>) current.getFromNamespace(
                 ChildSchemaNodeNamespace.class, nextPath);
             if (nextNodeCtx == null) {
                 return Optional.ofNullable(tryToFindUnknownStatement(nextPath.getLocalName(), current));
@@ -105,13 +103,13 @@ public final class ChildSchemaNodeNamespace<D extends DeclaredStatement<QName>,
     }
 
     @SuppressWarnings("unchecked")
-    static Mutable<?, ?, EffectiveStatement<?, ?>> tryToFindUnknownStatement(final String localName,
-            final Mutable<?, ?, EffectiveStatement<?, ?>> current) {
+    private static StmtContext<?, ?, ?> tryToFindUnknownStatement(final String localName,
+            final StmtContext<?, ?, ?> current) {
         final Collection<? extends StmtContext<?, ?, ?>> unknownSubstatements = StmtContextUtils.findAllSubstatements(
             current, UnknownStatement.class);
         for (final StmtContext<?, ?, ?> unknownSubstatement : unknownSubstatements) {
             if (localName.equals(unknownSubstatement.rawStatementArgument())) {
-                return (Mutable<?, ?, EffectiveStatement<?, ?>>) unknownSubstatement;
+                return unknownSubstatement;
             }
         }
         return null;