Deprecate DerivableSchemaNode 24/97924/1
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 16 Oct 2021 09:05:44 +0000 (11:05 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 16 Oct 2021 10:17:59 +0000 (12:17 +0200)
This interface exposes a single method, which in turn is only used
by mdsal-binding-generator. That component should be able to work
without this method, hence we deprecate it with the intent to remove
as soon as practical.

JIRA: YANGTOOLS-1350
Change-Id: Ie7bd65e5301012bcb24703bd36c0a8d149f62d74
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 6edbe2d43f3b16f8dfdbe70bc4808c23b712f619)

13 files changed:
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/DerivableSchemaNode.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/ChoiceEffectiveStatementImpl.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/ContainerEffectiveStatementImpl.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/DeclaredCaseEffectiveStatement.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/EmptyAnydataEffectiveStatement.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/EmptyAnyxmlEffectiveStatement.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/EmptyLeafEffectiveStatement.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/RegularLeafEffectiveStatement.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/UndeclaredCaseEffectiveStatement.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf_list/AbstractNonEmptyLeafListEffectiveStatement.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf_list/EmptyLeafListEffectiveStatement.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/EmptyListEffectiveStatement.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/RegularListEffectiveStatement.java

index 7dd80983ad99e4ff258c12cadc6ca721422b4fc5..3196f46d07218e58bb502e813f48bcca20d95cb7 100644 (file)
@@ -11,12 +11,14 @@ import java.util.Optional;
 
 /**
  * Schema Node which may be derived from other schema node using augmentation or uses statement.
+ *
+ * @deprecated This interface's sole purpose is to aid MD-SAL binding generator, which is now in a position to provide
+ *             to implement its logic without this interface.
  */
-// FIXME: 8.0.0: refactor this interface to take into account CopyableNode and AddedByUsesAware
+@Deprecated(since = "7.0.9", forRemoval = true)
 public interface DerivableSchemaNode extends DataSchemaNode {
     /**
-     * If this node is added by uses, returns original node definition from
-     * grouping where it was defined.
+     * If this node is added by uses, returns original node definition from grouping where it was defined.
      *
      * @return original node definition from grouping if this node is added by
      *         uses, Optional.absent otherwise
index 27b143ee32ae1d7bb3b746e8ff9d565720025a7e..bae61243ed31858353c265b169911e739551a129 100644 (file)
@@ -54,8 +54,8 @@ public final class ChoiceEffectiveStatementImpl
         super(origEffective);
         this.path = requireNonNull(path);
         this.flags = flags;
-        this.defaultCase = origEffective.defaultCase;
-        this.original = newOriginal;
+        defaultCase = origEffective.defaultCase;
+        original = newOriginal;
     }
 
     @Override
@@ -74,6 +74,7 @@ public final class ChoiceEffectiveStatementImpl
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<ChoiceSchemaNode> getOriginal() {
         return Optional.ofNullable(original);
     }
index 6efe6e670c48dab9ce051bafacdd6b3c4c510127..b55df2f26a64a1acc20802161c727cb4784f85d6 100644 (file)
@@ -80,6 +80,7 @@ public final class ContainerEffectiveStatementImpl
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<ContainerSchemaNode> getOriginal() {
         return Optional.ofNullable(original);
     }
index bfbefe1d5c956bb08b85af2cfafa6547f60b0a10..8125b2220deb0101d145fefe7b65148bae46df13 100644 (file)
@@ -56,6 +56,7 @@ public final class DeclaredCaseEffectiveStatement
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<CaseSchemaNode> getOriginal() {
         return Optional.ofNullable(original);
     }
index 34d5f2c22ae49d9adf8fdf5ac3466bebe62ab810..63610f9587614e94974a1713af98f2ad8c8b7a89 100644 (file)
@@ -55,6 +55,7 @@ public class EmptyAnydataEffectiveStatement extends Default<QName, AnydataStatem
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public final Optional<AnydataSchemaNode> getOriginal() {
         return Optional.ofNullable(original);
     }
index d1cab699ed4327595dd0ba0a612f72ce16b896d0..1b3ab17d12f7412221f314022a874ef96f4d6441 100644 (file)
@@ -54,6 +54,7 @@ public class EmptyAnyxmlEffectiveStatement extends Default<QName, AnyxmlStatemen
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public final Optional<AnyxmlSchemaNode> getOriginal() {
         return Optional.ofNullable(original);
     }
index b06c26e2e1808558476ac54ce018703b30152be2..582ea2c080ccbf735f7daeacfb3c5b3925d27756 100644 (file)
@@ -25,6 +25,7 @@ public final class EmptyLeafEffectiveStatement extends AbstractLeafEffectiveStat
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<LeafSchemaNode> getOriginal() {
         return Optional.empty();
     }
index 319b71a1425feea4542e885230d8780c9476e1ea..5fd6446e897656e65205f5a6d1fe4ff548abd1cd 100644 (file)
@@ -31,6 +31,7 @@ public final class RegularLeafEffectiveStatement extends AbstractLeafEffectiveSt
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<LeafSchemaNode> getOriginal() {
         return Optional.ofNullable(original);
     }
index f950b49a5eefdd660b6182ad1a11763ed26f1b53..fb864550108446ebd0979b31e64783d1fdf5d95e 100644 (file)
@@ -55,6 +55,7 @@ public final class UndeclaredCaseEffectiveStatement
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<CaseSchemaNode> getOriginal() {
         return Optional.ofNullable(original);
     }
index 76a7f19b5c7d68043ca4745943eaaf4210524850..f959073b8729f903c69cfe8f5ff9c5800bd764d9 100644 (file)
@@ -31,18 +31,19 @@ abstract class AbstractNonEmptyLeafListEffectiveStatement extends AbstractLeafLi
     AbstractNonEmptyLeafListEffectiveStatement(final AbstractNonEmptyLeafListEffectiveStatement originalEffecive,
             final LeafListSchemaNode original, final Immutable path, final int flags) {
         super(originalEffecive, path, flags);
-        this.elementCountConstraint = originalEffecive.elementCountConstraint;
+        elementCountConstraint = originalEffecive.elementCountConstraint;
         this.original = original;
     }
 
     AbstractNonEmptyLeafListEffectiveStatement(final EmptyLeafListEffectiveStatement originalEffective,
             final LeafListSchemaNode original, final Immutable path, final int flags) {
         super(originalEffective, path, flags);
-        this.elementCountConstraint = null;
+        elementCountConstraint = null;
         this.original = original;
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public final Optional<LeafListSchemaNode> getOriginal() {
         return Optional.ofNullable(original);
     }
index e23957ac8d7ed67b9a08ebd99d0e41b5808779ab..af02b5325d583e7035e5f371ec25939438c256e9 100644 (file)
@@ -29,6 +29,7 @@ final class EmptyLeafListEffectiveStatement extends AbstractLeafListEffectiveSta
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<LeafListSchemaNode> getOriginal() {
         return Optional.empty();
     }
index 86e6029e0935c5f6c015e1deda2d99acfa8af957..d2c4b928bb48c1dfc6d08c674b3a9598ed9efced 100644 (file)
@@ -28,6 +28,7 @@ final class EmptyListEffectiveStatement extends AbstractListEffectiveStatement {
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<? extends SchemaNode> getOriginal() {
         return Optional.empty();
     }
index a8b273b5a2fd9ffcaa4eb61b7cdc065ed29cb1ba..366db1e0551963a6af61311be18f5cca1441595a 100644 (file)
@@ -32,18 +32,19 @@ final class RegularListEffectiveStatement extends AbstractListEffectiveStatement
     RegularListEffectiveStatement(final RegularListEffectiveStatement originalEffective, final ListSchemaNode original,
             final Immutable path, final int flags) {
         super(originalEffective, path, flags);
-        this.elementCountConstraint = originalEffective.elementCountConstraint;
+        elementCountConstraint = originalEffective.elementCountConstraint;
         this.original = original;
     }
 
     RegularListEffectiveStatement(final EmptyListEffectiveStatement originalEffective, final ListSchemaNode original,
             final Immutable path, final int flags) {
         super(originalEffective, path, flags);
-        this.elementCountConstraint = null;
+        elementCountConstraint = null;
         this.original = original;
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<ListSchemaNode> getOriginal() {
         return Optional.ofNullable(original);
     }