Require SchemaTreeEffectiveStatement in OnDemandSchemaTreeStorageNode 89/93789/8
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 5 Nov 2020 16:16:01 +0000 (17:16 +0100)
committerRobert Varga <nite@hq.sk>
Thu, 3 Dec 2020 16:21:25 +0000 (16:21 +0000)
This storage concept is inherently tied to schema tree. Let's express
that in its API.

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

index 0119c6bc329b9526f867bc8f07bf9397898add43..26ab73032b04a911bbbdcc9efa9a1ca73899c9b0 100644 (file)
@@ -213,7 +213,7 @@ final class InferredStatementContext<A, D extends DeclaredStatement<A>, E extend
     }
 
     @Override
-    public <Y extends DeclaredStatement<QName>, Z extends EffectiveStatement<QName, Y>>
+    public <Y extends DeclaredStatement<QName>, Z extends SchemaTreeEffectiveStatement<Y>>
             StmtContext<QName, Y, Z> requestSchemaTreeChild(final QName qname) {
         if (substatements instanceof List) {
             // We have performed materialization, hence we have triggered creation of all our schema tree child
index ff023709454a3b0d2a53d53cdb0bd125c9638232..4560154e154f9968b176595afa4a3b006e9b8c16 100644 (file)
@@ -15,7 +15,6 @@ import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeAwareEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStatement;
@@ -73,7 +72,7 @@ public final class SchemaTreeNamespace<D extends DeclaredStatement<QName>,
         return existing != null ? existing : requestFrom(storageNode, key);
     }
 
-    private static <D extends DeclaredStatement<QName>, E extends EffectiveStatement<QName, D>>
+    private static <D extends DeclaredStatement<QName>, E extends SchemaTreeEffectiveStatement<D>>
             StmtContext<?, D, E> requestFrom(final NamespaceStorageNode storageNode, final QName key) {
         return storageNode instanceof OnDemandSchemaTreeStorageNode
             ? ((OnDemandSchemaTreeStorageNode) storageNode).requestSchemaTreeChild(key) : null;
index 29c33572136f8a51122b7080dd205eedec69a6f0..be4f46d0aba038b2f8f27de81ee2bdd3ab20f14a 100644 (file)
@@ -20,9 +20,9 @@ import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.concepts.AbstractSimpleIdentifiable;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeAwareEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStatement;
 import org.opendaylight.yangtools.yang.parser.spi.SchemaTreeNamespace;
 
 /**
@@ -139,7 +139,7 @@ public abstract class NamespaceBehaviour<K, V, N extends IdentifierNamespace<K,
          * @return Requested child, if it is present.
          * @throws NullPointerException in {@code qname} is null
          */
-        <D extends DeclaredStatement<QName>, E extends EffectiveStatement<QName, D>>
+        <D extends DeclaredStatement<QName>, E extends SchemaTreeEffectiveStatement<D>>
             @Nullable StmtContext<QName, D, E> requestSchemaTreeChild(QName qname);
     }