Eliminate ModelActionBuilder.requiresCtxPath() 41/104841/4
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 13 Mar 2023 14:41:58 +0000 (15:41 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 13 Mar 2023 15:47:58 +0000 (16:47 +0100)
There is only a single user of this method, which specifies
EFFECTIVE_MODEL argument, which the implementation hard-codes instead of
using the argument.

Introduce requiresEffectiveCtxPath() which makes the processing phase
implicit and inline the phase to prerequisite implementations.

Change-Id: I9072fe022600f0b24179aaad08c05cfcce2604e6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/UniqueStatementSupport.java
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/ModelActionBuilder.java

index a802fecb1dc94be886fd46428e4ece42cc97d311..918a737ab7b6e6069f65fce4cb6cdf28079ec08e 100644 (file)
@@ -179,11 +179,11 @@ final class ModifierImpl implements ModelActionBuilder {
     }
 
     @Override
-    public <K, C extends StmtContext<?, ?, ?>> Prerequisite<C> requiresCtxPath(final StmtContext<?, ?, ?> context,
-            final ParserNamespace<K, C> namespace, final Iterable<K> keys, final ModelProcessingPhase phase) {
+    public <K, C extends StmtContext<?, ?, ?>> Prerequisite<C> requiresEffectiveCtxPath(
+            final StmtContext<?, ?, ?> context, final ParserNamespace<K, C> namespace, final Iterable<K> keys) {
         checkNotRegistered();
 
-        final var ret = new PhaseRequirementInNamespacePath<C, K>(this, EFFECTIVE_MODEL, keys);
+        final var ret = new PhaseRequirementInNamespacePath<C, K>(this, keys);
         addReq(ret);
         addBootstrap(() -> ret.hookOnto(context, namespace));
         return ret;
@@ -250,7 +250,7 @@ final class ModifierImpl implements ModelActionBuilder {
             final Iterable<K> keys) {
         checkNotRegistered();
 
-        final var ret = new PhaseModificationInNamespacePath<Mutable<?, ?, E>, K>(this, EFFECTIVE_MODEL, keys);
+        final var ret = new PhaseModificationInNamespacePath<Mutable<?, ?, E>, K>(this, keys);
         addReq(ret);
         addMutation(ret);
         addBootstrap(() -> ret.hookOnto(context, namespace));
@@ -446,9 +446,8 @@ final class ModifierImpl implements ModelActionBuilder {
 
     private static final class PhaseRequirementInNamespacePath<C extends StmtContext<?, ?, ?>, K>
             extends AbstractPathPrerequisite<C, K> {
-        PhaseRequirementInNamespacePath(final ModifierImpl modifier, final ModelProcessingPhase phase,
-                final Iterable<K> keys) {
-            super(modifier, phase, keys);
+        PhaseRequirementInNamespacePath(final ModifierImpl modifier, final Iterable<K> keys) {
+            super(modifier, EFFECTIVE_MODEL, keys);
         }
 
         @Override
@@ -490,9 +489,8 @@ final class ModifierImpl implements ModelActionBuilder {
      */
     private static final class PhaseModificationInNamespacePath<C extends Mutable<?, ?, ?>, K>
             extends AbstractPathPrerequisite<C, K> implements ContextMutation {
-        PhaseModificationInNamespacePath(final ModifierImpl modifier, final ModelProcessingPhase phase,
-                final Iterable<K> keys) {
-            super(modifier, phase, keys);
+        PhaseModificationInNamespacePath(final ModifierImpl modifier, final Iterable<K> keys) {
+            super(modifier, EFFECTIVE_MODEL, keys);
         }
 
         @Override
index bc34f89b553bacf19a7fb9f04a6d0380b90fe2b2..586e52e084cd68e9f18f903f4418c4a0b55ce492 100644 (file)
@@ -178,10 +178,9 @@ public final class UniqueStatementSupport
                 action.apply(new RequireLeafDescendants(unique,
                     // ... require that each schema node identifier resolves against the schema tree
                     Maps.uniqueIndex(unique.getArgument(),
-                        desc -> action.requiresCtxPath(list,
+                        desc -> action.requiresEffectiveCtxPath(list,
                             // FIXME: why do we need this cast?
-                            (ParserNamespace) ParserNamespaces.schemaTree(), desc.getNodeIdentifiers(),
-                            ModelProcessingPhase.EFFECTIVE_MODEL))));
+                            (ParserNamespace) ParserNamespaces.schemaTree(), desc.getNodeIdentifiers()))));
             }
         }
 
@@ -204,7 +203,6 @@ public final class UniqueStatementSupport
                 final Map<Prerequisite<StmtContext<?, ?, ?>>, Descendant> prereqs) {
             this.unique = requireNonNull(unique);
             this.prereqs = requireNonNull(prereqs);
-
         }
 
         @Override
index 1487c91e5b39b6ba3fde19acf127eb5d7f5fe873..b580a49230a291310c260e2787b404d6c2e6e4fd 100644 (file)
@@ -175,8 +175,8 @@ public interface ModelActionBuilder {
     <K, C extends StmtContext<?, ?, ?>> @NonNull Prerequisite<C> requiresCtx(StmtContext<?, ?, ?> context,
         @NonNull ParserNamespace<K, C> namespace, NamespaceKeyCriterion<K> criterion, ModelProcessingPhase phase);
 
-    <K, C extends StmtContext<?, ?, ?>> @NonNull Prerequisite<C> requiresCtxPath(StmtContext<?, ?, ?> context,
-        ParserNamespace<K, C> namespace, Iterable<K> keys, ModelProcessingPhase phase);
+    <K, C extends StmtContext<?, ?, ?>> @NonNull Prerequisite<C> requiresEffectiveCtxPath(StmtContext<?, ?, ?> context,
+        ParserNamespace<K, C> namespace, Iterable<K> keys);
 
     /**
      * Action mutates the effective model of specified statement. This is a shorthand for