Improve resolveAugmentations() casts 44/95844/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 19 Apr 2021 19:34:45 +0000 (21:34 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 19 Apr 2021 19:35:56 +0000 (21:35 +0200)
Rather than performing weird casts without co-located checks, make sure
resolveAugmentations() takes an AugmentationNode, which makes it clear
that callers are always checking before dispatch.

Change-Id: I30aa7081d2097c4b2e257545798a2a3ba9c8281c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/SchemaOrderedNormalizedNodeWriter.java

index fa28b02717487d27fc6cf72098472ab47bccbe97..43a51e19efb7aa23bab41e9a78ed069ad8c6acc2 100644 (file)
@@ -141,7 +141,7 @@ public class SchemaOrderedNormalizedNodeWriter extends NormalizedNodeWriter {
         final ArrayListMultimap<QName, NormalizedNode> qNameToNodes = ArrayListMultimap.create();
         for (final NormalizedNode child : children) {
             if (child instanceof AugmentationNode) {
-                qNameToNodes.putAll(resolveAugmentations(child));
+                qNameToNodes.putAll(resolveAugmentations((AugmentationNode) child));
             } else {
                 qNameToNodes.put(child.getNodeType(), child);
             }
@@ -182,11 +182,11 @@ public class SchemaOrderedNormalizedNodeWriter extends NormalizedNodeWriter {
         throw new IllegalStateException("It wasn't possible to serialize node " + node);
     }
 
-    private ArrayListMultimap<QName, NormalizedNode> resolveAugmentations(final NormalizedNode child) {
+    private ArrayListMultimap<QName, NormalizedNode> resolveAugmentations(final AugmentationNode child) {
         final ArrayListMultimap<QName, NormalizedNode> resolvedAugs = ArrayListMultimap.create();
-        for (final NormalizedNode node : ((AugmentationNode) child).body()) {
+        for (final NormalizedNode node : child.body()) {
             if (node instanceof AugmentationNode) {
-                resolvedAugs.putAll(resolveAugmentations(node));
+                resolvedAugs.putAll(resolveAugmentations((AugmentationNode) node));
             } else {
                 resolvedAugs.put(node.getNodeType(), node);
             }