Deprecate DerivableSchemaNode 18/97918/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 09:07:07 +0000 (11:07 +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>
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/AbstractNonEmptyLeafListEffectiveStatement.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/EmptyLeafListEffectiveStatement.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/EmptyListEffectiveStatement.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/RegularListEffectiveStatement.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/UndeclaredCaseEffectiveStatement.java

index 3e0c3af3cbbaf2ab9444a4df62616c3fdd3953ff..f24b34a3a7f2f5ceb3f4397e42092187a87bf904 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<T extends DerivableSchemaNode<T>> 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, absent otherwise
      */
index 45f69a7037879a0cb3b740c2c5a590e738c51f87..ad748ba05005198828470ec4d3f2b9aecf58094e 100644 (file)
@@ -31,18 +31,19 @@ abstract class AbstractNonEmptyLeafListEffectiveStatement extends AbstractLeafLi
     AbstractNonEmptyLeafListEffectiveStatement(final AbstractNonEmptyLeafListEffectiveStatement originalEffecive,
             final LeafListSchemaNode original, final QName argument, final int flags) {
         super(originalEffecive, argument, flags);
-        this.elementCountConstraint = originalEffecive.elementCountConstraint;
+        elementCountConstraint = originalEffecive.elementCountConstraint;
         this.original = original;
     }
 
     AbstractNonEmptyLeafListEffectiveStatement(final EmptyLeafListEffectiveStatement originalEffective,
             final LeafListSchemaNode original, final QName argument, final int flags) {
         super(originalEffective, argument, 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 45dede877c099dfb453c494c0dadd2e9472c2d90..86c14e4f38d0b5b0ecc6019d7b2cd8fa2bea06bb 100644 (file)
@@ -50,8 +50,8 @@ public final class ChoiceEffectiveStatementImpl
         super(origEffective);
         this.argument = requireNonNull(argument);
         this.flags = flags;
-        this.defaultCase = origEffective.defaultCase;
-        this.original = newOriginal;
+        defaultCase = origEffective.defaultCase;
+        original = newOriginal;
     }
 
     @Override
@@ -65,6 +65,7 @@ public final class ChoiceEffectiveStatementImpl
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<ChoiceSchemaNode> getOriginal() {
         return Optional.ofNullable(original);
     }
index 619edfc619c9d2ebe6c42a7d138d3e8588e4597f..5e8d782f13e2c865bdc4377e84684067eb237c01 100644 (file)
@@ -72,6 +72,7 @@ public final class ContainerEffectiveStatementImpl
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<ContainerSchemaNode> getOriginal() {
         return Optional.ofNullable(original);
     }
index 28c829e436a4cf06af062dfb3df7acf9ce96fb81..ab0fcc3bb2565bc9f8751d2602cf0db9ba32f088 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 9a0adaadc532d3f65bded1aceb331be3269e26f2..03b7b29767f874ef9d00850a2c552900542c3fc8 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 a5fca5941625dfd0afbee70dafa178b1228a7437..fc213ed807b4634b2e7bdf926290e8d84e746426 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 85acad97a99153042c58db673111be6b41e7abe3..898d265a3b9fa2ce155b057362886889c4ade904 100644 (file)
@@ -22,6 +22,7 @@ public final class EmptyLeafEffectiveStatement extends AbstractLeafEffectiveStat
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<LeafSchemaNode> getOriginal() {
         return Optional.empty();
     }
index e2ce6228f236015c48b00a0096a9be637d92d6d9..835d45091be6a466a1ec43907b2ff598536c0233 100644 (file)
@@ -29,6 +29,7 @@ public final class EmptyLeafListEffectiveStatement extends AbstractLeafListEffec
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<LeafListSchemaNode> getOriginal() {
         return Optional.empty();
     }
index 830c75efe7f9f5e620b609bd616f097ad07819b9..ea38ff9886c8dcc5d70b78896a986f410ab3d12e 100644 (file)
@@ -28,6 +28,7 @@ public final class EmptyListEffectiveStatement extends AbstractListEffectiveStat
     }
 
     @Override
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public Optional<ListSchemaNode> getOriginal() {
         return Optional.empty();
     }
index 425d2601f4d80cb2a74624b4d81b9cc4a7fe6b3f..d10561719b54ca3c974b8ac5c22a403cbfad422b 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 4331f797e47e10ed22b83adf42170061c93f844b..8691a1508757d6554ecc0b5a416024be66fff21d 100644 (file)
@@ -31,18 +31,19 @@ public final class RegularListEffectiveStatement extends AbstractListEffectiveSt
     public RegularListEffectiveStatement(final RegularListEffectiveStatement originalEffective, final QName argument,
             final int flags, final ListSchemaNode original) {
         super(originalEffective, argument, flags);
-        this.elementCountConstraint = originalEffective.elementCountConstraint;
+        elementCountConstraint = originalEffective.elementCountConstraint;
         this.original = original;
     }
 
     public RegularListEffectiveStatement(final EmptyListEffectiveStatement originalEffective,
             final QName argument, final int flags, final ListSchemaNode original) {
         super(originalEffective, argument, 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);
     }
index 4574213ee4b6553ab1bae98dfc74484068a2429a..5414cb919184583ba29d2f7a3f66fa566dd1d5a6 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);
     }