Add ReactorStmtCtx.getStorageNodeType() 62/105262/2
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 5 Apr 2023 18:50:22 +0000 (20:50 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 5 Apr 2023 20:48:41 +0000 (22:48 +0200)
The value here is shared by all subclasses except for
RootStatementContext, reduce code duplication.

Change-Id: I958b105afe109d3d55756d98f47b4845685dccb6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/InferredStatementContext.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReplicaStatementContext.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/UndeclaredStmtCtx.java

index 6a8df4941b5f72c8e9f2026b4db8f3661320f00e..a700f8233f39c0d174f74647a736b011eba0223f 100644 (file)
@@ -39,7 +39,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.CopyType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStatementState;
 import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour.OnDemandSchemaTreeStorageNode;
-import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour.StorageNodeType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StatementFactory;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupport;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@@ -112,13 +111,13 @@ final class InferredStatementContext<A, D extends DeclaredStatement<A>, E extend
             final StatementContextBase<?, ?, ?> parent) {
         super(original);
         this.parent = requireNonNull(parent);
-        this.targetModule = original.targetModule;
-        this.prototype = original.prototype;
-        this.originalCtx = original.originalCtx;
-        this.argument = original.argument;
-        this.modified = original.modified;
+        targetModule = original.targetModule;
+        prototype = original.prototype;
+        originalCtx = original.originalCtx;
+        argument = original.argument;
+        modified = original.modified;
         // Substatements are initialized here
-        this.substatements = ImmutableList.of();
+        substatements = ImmutableList.of();
     }
 
     InferredStatementContext(final StatementContextBase<?, ?, ?> parent, final StatementContextBase<A, D, E> prototype,
@@ -126,13 +125,13 @@ final class InferredStatementContext<A, D extends DeclaredStatement<A>, E extend
         super(prototype, myCopyType, childCopyType);
         this.parent = requireNonNull(parent);
         this.prototype = requireNonNull(prototype);
-        this.argument = targetModule == null ? prototype.argument()
+        argument = targetModule == null ? prototype.argument()
                 : prototype.definition().adaptArgumentValue(prototype, targetModule);
         this.targetModule = targetModule;
 
         final var origCtx = prototype.getOriginalCtx().orElse(prototype);
         verify(origCtx instanceof ReactorStmtCtx, "Unexpected original %s", origCtx);
-        this.originalCtx = (ReactorStmtCtx<A, D, E>) origCtx;
+        originalCtx = (ReactorStmtCtx<A, D, E>) origCtx;
 
         // Mark prototype as blocking statement cleanup
         prototype.incRef();
@@ -693,11 +692,6 @@ final class InferredStatementContext<A, D extends DeclaredStatement<A>, E extend
         return parent;
     }
 
-    @Override
-    public StorageNodeType getStorageNodeType() {
-        return StorageNodeType.STATEMENT_LOCAL;
-    }
-
     @Override
     public StatementContextBase<?, ?, ?> getParentNamespaceStorage() {
         return parent;
index f4aaf31bc9d37cd19847d67bd5a6a7900133da0e..c57cb2466e3a5a6050e8f4e31b6617dad4bef4b7 100644 (file)
@@ -43,6 +43,7 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase.ExecutionOrder;
 import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour.Registry;
+import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour.StorageNodeType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ParserNamespace;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StatementFactory;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@@ -313,6 +314,12 @@ abstract class ReactorStmtCtx<A, D extends DeclaredStatement<A>, E extends Effec
     //
     //
 
+    @Override
+    public StorageNodeType getStorageNodeType() {
+        // Common to all subclasses except RootStatementContext
+        return StorageNodeType.STATEMENT_LOCAL;
+    }
+
     @Override
     public final <K, V> V namespaceItem(final ParserNamespace<K, V> namespace, final K key) {
         return getBehaviourRegistry().getNamespaceBehaviour(namespace).getFrom(this, key);
index 3e00865a2727fbdc1b7d4593875e5a03ec590aa7..6eb25d6c661ddc643a4bd26510449ca3fe4f2e90 100644 (file)
@@ -19,7 +19,6 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
 import org.opendaylight.yangtools.yang.parser.spi.meta.CopyHistory;
 import org.opendaylight.yangtools.yang.parser.spi.meta.CopyType;
-import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour.StorageNodeType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ParserNamespace;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StatementFactory;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupport;
@@ -250,11 +249,6 @@ final class ReplicaStatementContext<A, D extends DeclaredStatement<A>, E extends
         return parent;
     }
 
-    @Override
-    public StorageNodeType getStorageNodeType() {
-        return StorageNodeType.STATEMENT_LOCAL;
-    }
-
     @Override
     public StatementContextBase<?, ?, ?> getParentNamespaceStorage() {
         return parent;
index 15044126b7fc5588223524f19fc6a009ec751562..6ac76a3fb8eaf329696010bf6dc1766a253affc4 100644 (file)
@@ -11,7 +11,6 @@ import static java.util.Objects.requireNonNull;
 
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
-import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour.StorageNodeType;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference;
 
 final class SubstatementContext<A, D extends DeclaredStatement<A>, E extends EffectiveStatement<A, D>> extends
@@ -23,14 +22,14 @@ final class SubstatementContext<A, D extends DeclaredStatement<A>, E extends Eff
             final StatementContextBase<?, ?, ?> parent) {
         super(original);
         this.parent = requireNonNull(parent);
-        this.argument = original.argument;
+        argument = original.argument;
     }
 
     SubstatementContext(final OriginalStmtCtx<?, ?, ?> parent, final StatementDefinitionContext<A, D, E> def,
             final StatementSourceReference ref, final String rawArgument) {
         super(def, ref, rawArgument);
         this.parent = requireNonNull(parent);
-        this.argument = def.parseArgumentValue(this, rawArgument());
+        argument = def.parseArgumentValue(this, rawArgument());
     }
 
     @Override
@@ -54,11 +53,6 @@ final class SubstatementContext<A, D extends DeclaredStatement<A>, E extends Eff
         return parent;
     }
 
-    @Override
-    public StorageNodeType getStorageNodeType() {
-        return StorageNodeType.STATEMENT_LOCAL;
-    }
-
     @Override
     public StatementContextBase<?, ?, ?> getParentNamespaceStorage() {
         return parent;
index 6a7c614a76cc39f464740422a46285343345e591..1e4563870891c2e8ee950bfde9222c0e4507e774 100644 (file)
@@ -19,7 +19,6 @@ import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.CopyType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.UndeclaredCurrent;
-import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour.StorageNodeType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StatementFactory;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupport;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@@ -41,7 +40,7 @@ class UndeclaredStmtCtx<A, D extends DeclaredStatement<A>, E extends EffectiveSt
     private UndeclaredStmtCtx(final UndeclaredStmtCtx<A, D, E> original, final StatementContextBase<?, ?, ?> parent) {
         super(original);
         this.parent = requireNonNull(parent);
-        this.argument = original.argument;
+        argument = original.argument;
     }
 
     UndeclaredStmtCtx(final StatementContextBase<?, ?, ?> parent, final StatementSupport<A, D, E> support,
@@ -55,8 +54,8 @@ class UndeclaredStmtCtx<A, D extends DeclaredStatement<A>, E extends EffectiveSt
     UndeclaredStmtCtx(final StatementContextBase<?, ?, ?> original, final StatementSupport<A, D, E> support) {
         super(new StatementDefinitionContext<>(verifySupport(support)), original.sourceReference(),
             original.getLastOperation());
-        this.parent = original.getParentContext();
-        this.argument = castArgument(original);
+        parent = original.getParentContext();
+        argument = castArgument(original);
     }
 
     // Exposed for implicit substatement wrapping in StatementContextBase.childCopyOf()
@@ -64,7 +63,7 @@ class UndeclaredStmtCtx<A, D extends DeclaredStatement<A>, E extends EffectiveSt
             final StatementContextBase<?, ?, ?> original, final CopyType type) {
         super(new StatementDefinitionContext<>(verifySupport(support)), original.sourceReference(), type);
         this.parent = requireNonNull(parent);
-        this.argument = castArgument(original);
+        argument = castArgument(original);
     }
 
     // Exposed for ImplicitStmtCtx
@@ -72,7 +71,7 @@ class UndeclaredStmtCtx<A, D extends DeclaredStatement<A>, E extends EffectiveSt
             final String rawArgument) {
         super(new StatementDefinitionContext<>(support), ImplicitSubstatement.of(parent.sourceReference()));
         this.parent = requireNonNull(parent);
-        this.argument = definition().parseArgumentValue(this, rawArgument);
+        argument = definition().parseArgumentValue(this, rawArgument);
     }
 
     // FIXME: this assumes original's argument type matches this type... which is true for the only case we
@@ -146,11 +145,6 @@ class UndeclaredStmtCtx<A, D extends DeclaredStatement<A>, E extends EffectiveSt
         return parent;
     }
 
-    @Override
-    public StorageNodeType getStorageNodeType() {
-        return StorageNodeType.STATEMENT_LOCAL;
-    }
-
     @Override
     public StatementContextBase<?, ?, ?> getParentNamespaceStorage() {
         return parent;