Deprecate StmtContext.getSchemaPath() 36/92236/4
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 22 Aug 2020 17:49:36 +0000 (19:49 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 22 Aug 2020 18:27:15 +0000 (20:27 +0200)
We want to be identifying everyone who is touching this state,
as it ends up logically referencing the parent node and is going
away.

JIRA: YANGTOOLS-1131
Change-Id: I33a93bec07e6a3a12afc920eb6fe685fa4339f9b
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-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java
yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java
yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java
yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java

index 6d3a50c7c02eaf2326d25a1329aca34380b6d0f1..03c6a49f5a98cac3a3abdb7efb0a5a012c789243 100644 (file)
@@ -182,6 +182,7 @@ final class InferredStatementContext<A, D extends DeclaredStatement<A>, E extend
      * properly updated there.
      */
     @Override
+    @Deprecated
     public Optional<SchemaPath> getSchemaPath() {
         return substatementGetSchemaPath();
     }
index dfc0f044723654b59d0403fca1953ece3f8258bf..4380b9cb55b6371d702ee2fe6580f4ca27dcf6f3 100644 (file)
@@ -106,6 +106,7 @@ public class RootStatementContext<A, D extends DeclaredStatement<A>, E extends E
     }
 
     @Override
+    @Deprecated
     public Optional<SchemaPath> getSchemaPath() {
         return Optional.of(SchemaPath.ROOT);
     }
index 0d728777facaa1d944f8f231c3eb80ac296644b6..3d1f8f97b31a4d4bfebfe8c8880b6784104ae4c8 100644 (file)
@@ -1006,15 +1006,15 @@ public abstract class StatementContextBase<A, D extends DeclaredStatement<A>, E
         return false;
     }
 
-    // Exists only to support SubstatementContext/InferredStatementContext
+    // Exists only to support {SubstatementContext,InferredStatementContext}.getSchemaPath()
+    @Deprecated
     final @NonNull Optional<SchemaPath> substatementGetSchemaPath() {
         SchemaPath local = schemaPath;
         if (local == null) {
             synchronized (this) {
                 local = schemaPath;
                 if (local == null) {
-                    local = createSchemaPath(coerceParentContext());
-                    schemaPath = local;
+                    schemaPath = local = createSchemaPath(coerceParentContext());
                 }
             }
         }
@@ -1022,6 +1022,7 @@ public abstract class StatementContextBase<A, D extends DeclaredStatement<A>, E
         return Optional.ofNullable(local);
     }
 
+    @Deprecated
     private SchemaPath createSchemaPath(final Mutable<?, ?, ?> parent) {
         final Optional<SchemaPath> maybeParentPath = parent.getSchemaPath();
         verify(maybeParentPath.isPresent(), "Parent %s does not have a SchemaPath", parent);
index 503cd821d96ed82e8c70e00dae491559808f5f41..12605eddfb50c1ca2d67b3ce32d66bd3fb3d6250 100644 (file)
@@ -58,6 +58,7 @@ final class SubstatementContext<A, D extends DeclaredStatement<A>, E extends Eff
      * properly updated there.
      */
     @Override
+    @Deprecated
     public Optional<SchemaPath> getSchemaPath() {
         return substatementGetSchemaPath();
     }
index 29b05857c94fd9497f54576b21e4b9bb5fbdb742..c264043d5a0a46aeae51b4d69891d4819371f12c 100644 (file)
@@ -122,7 +122,10 @@ public interface StmtContext<A, D extends DeclaredStatement<A>, E extends Effect
      * {@link Optional#empty()} is returned.
      *
      * @return Optional SchemaPath
+     * @deprecated Use of SchemaPath in the context of effective statements is going away. Consider not providing this
+     *             information, if your users can exist without it.
      */
+    @Deprecated
     @NonNull Optional<SchemaPath> getSchemaPath();
 
     boolean isConfiguration();