Use ValueNode in LeafRefValidation 34/61234/2
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 5 Aug 2017 16:56:19 +0000 (18:56 +0200)
committerRobert Varga <nite@hq.sk>
Tue, 15 Aug 2017 08:19:22 +0000 (08:19 +0000)
ValueNode is the common ancestor of LeafNode and LeafsetEntryNode,
so we can do a single instanceof check.

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

index 7490ecc68276d474a59b6615ac20f823f9f20439..23e19db5546a9bd517088a6956940df14649841f 100644 (file)
@@ -26,13 +26,13 @@ import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
-import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes;
 import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode;
+import org.opendaylight.yangtools.yang.data.api.schema.ValueNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
@@ -89,7 +89,7 @@ public class LeafRefValidatation {
     private void validateNode(final DataTreeCandidateNode node, final LeafRefContext referencedByCtx,
         final LeafRefContext referencingCtx, final YangInstanceIdentifier current) {
 
-        if ((node.getModificationType() == ModificationType.WRITE) && node.getDataAfter().isPresent()) {
+        if (node.getModificationType() == ModificationType.WRITE && node.getDataAfter().isPresent()) {
             final Optional<NormalizedNode<?, ?>> dataAfter = node.getDataAfter();
             final NormalizedNode<?, ?> normalizedNode = dataAfter.get();
             validateNodeData(normalizedNode, referencedByCtx, referencingCtx,
@@ -402,15 +402,12 @@ public class LeafRefValidatation {
             return;
         }
         final NormalizedNode<?, ?> node = optDataNode.get();
-
-        if (node instanceof LeafNode || node instanceof LeafSetEntryNode) {
+        if (node instanceof ValueNode) {
             values.add(node.getValue());
             return;
-        } else if (node instanceof LeafSetNode<?>) {
-            final LeafSetNode<?> leafSetNode = (LeafSetNode<?>) node;
-            final Iterable<? extends NormalizedNode<?, ?>> entries = leafSetNode
-                    .getValue();
-            for (final NormalizedNode<?, ?> entry : entries) {
+        }
+        if (node instanceof LeafSetNode<?>) {
+            for (final NormalizedNode<?, ?> entry : ((LeafSetNode<?>) node).getValue()) {
                 values.add(entry.getValue());
             }
             return;