Deprecate StmtContext.getSchemaPath()
[yangtools.git] / yang / yang-parser-reactor / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / reactor / StatementContextBase.java
index fa9f8a540d000a4da56536e855195724d6b69a2d..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);
@@ -1033,7 +1034,7 @@ public abstract class StatementContextBase<A, D extends DeclaredStatement<A>, E
         final Object argument = getStatementArgument();
         if (argument instanceof QName) {
             final QName qname = (QName) argument;
-            if (StmtContextUtils.producesDeclared(this, UsesStatement.class)) {
+            if (producesDeclared(UsesStatement.class)) {
                 return maybeParentPath.orElse(null);
             }
 
@@ -1046,11 +1047,10 @@ public abstract class StatementContextBase<A, D extends DeclaredStatement<A>, E
             return parentPath.createChild(qname);
         }
         if (argument instanceof SchemaNodeIdentifier
-                && (StmtContextUtils.producesDeclared(this, AugmentStatement.class)
-                        || StmtContextUtils.producesDeclared(this, RefineStatement.class)
-                        || StmtContextUtils.producesDeclared(this, DeviationStatement.class))) {
+                && (producesDeclared(AugmentStatement.class) || producesDeclared(RefineStatement.class)
+                        || producesDeclared(DeviationStatement.class))) {
 
-            return parentPath.createChild(((SchemaNodeIdentifier) argument).getPathFromRoot());
+            return parentPath.createChild(((SchemaNodeIdentifier) argument).getNodeIdentifiers());
         }
 
         // FIXME: this does not look right