Cleanup getQName() mixin interplay 84/87484/1
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 4 Feb 2020 22:54:10 +0000 (23:54 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 6 Feb 2020 11:26:05 +0000 (12:26 +0100)
We are providing more than we should need across type hierarchy,
leading to duplication. Fix it up.

JIRA: YANGTOOLS-652
Change-Id: I80dd8b1c736a9b07759f730c2813328991268186
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/EffectiveStatementMixins.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/case_/CaseEffectiveStatementMixin.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/ChoiceEffectiveStatementImpl.java

index 20f5e773a38b17c096ee0663fcfb48956861c29e..4d1045d0feb4e2a24fc3eaab8087a933350006f0 100644 (file)
@@ -329,15 +329,10 @@ public final class EffectiveStatementMixins {
     public interface OperationContainerMixin<D extends DeclaredStatement<QName>>
             extends ContainerSchemaNode, DocumentedNodeMixin.WithStatus<QName, D>, DataNodeContainerMixin<QName, D>,
                     MustConstraintMixin<QName, D>, WhenConditionMixin<QName, D>, AugmentationTargetMixin<QName, D>,
-                    CopyableMixin<QName, D> {
+                    SchemaNodeMixin<QName, D>, CopyableMixin<QName, D> {
         @Override
         default @NonNull QName argument() {
-            return getPath().getLastComponent();
-        }
-
-        @Override
-        default QName getQName() {
-            return argument();
+            return getQName();
         }
 
         @Override
@@ -386,12 +381,7 @@ public final class EffectiveStatementMixins {
                     MandatoryMixin<QName, D>, MustConstraintMixin<QName, D>, WhenConditionMixin<QName, D> {
         @Override
         default @NonNull QName argument() {
-            return getPath().getLastComponent();
-        }
-
-        @Override
-        default QName getQName() {
-            return argument();
+            return getQName();
         }
     }
 
@@ -404,12 +394,7 @@ public final class EffectiveStatementMixins {
             extends SchemaNodeMixin<QName, D>, OperationDefinition {
         @Override
         default @NonNull QName argument() {
-            return getPath().getLastComponent();
-        }
-
-        @Override
-        default QName getQName() {
-            return argument();
+            return getQName();
         }
 
         @Override
index 46df556f78d54be5c41c6cca89ccebaf694af26d..2edd7bb110e7f4df71fe1ad74a8e0a43a1da4abb 100644 (file)
@@ -26,11 +26,6 @@ interface CaseEffectiveStatementMixin extends CaseEffectiveStatement, CaseSchema
 
     @Override
     default @NonNull QName argument() {
-        return getPath().getLastComponent();
-    }
-
-    @Override
-    default @NonNull QName getQName() {
-        return argument();
+        return getQName();
     }
 }
index 9949d9ac734b3ce7b25b2be731ae6caca83edd17..d20614338fc1ba3379e689987a101797295c3d82 100644 (file)
@@ -53,12 +53,7 @@ final class ChoiceEffectiveStatementImpl extends WithSubstatements<QName, Choice
 
     @Override
     public @NonNull QName argument() {
-        return path.getLastComponent();
-    }
-
-    @Override
-    public QName getQName() {
-        return argument();
+        return getQName();
     }
 
     @Override