Fix AnyXml node handling 66/62066/1
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 18 Aug 2017 12:56:51 +0000 (14:56 +0200)
committerRobert Varga <nite@hq.sk>
Mon, 21 Aug 2017 08:50:10 +0000 (08:50 +0000)
Fixup the mixup of calling instanceof on an Optional.

Change-Id: I184e2ad7535129cf19c41dfd5c235285e82e9f28
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 7746599ddc0043b518e263faf8a41aa0e3653f92)

yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToNodes.java

index f68044ce0bd43c1d3a3d7152b1cac7cb745185fd..05ae74df6e0663cb8a199f266cd924273db29e10 100644 (file)
@@ -127,11 +127,15 @@ abstract class InstanceIdToNodes<T extends PathArgument> implements Identifiable
         }
 
         @Override
-        public NormalizedNode<?, ?> create(final YangInstanceIdentifier instanceId, final Optional<NormalizedNode<?, ?>> deepestChild, final Optional<Entry<QName,ModifyAction>> operation) {
+        public NormalizedNode<?, ?> create(final YangInstanceIdentifier instanceId,
+                final Optional<NormalizedNode<?, ?>> deepestChild,
+                final Optional<Entry<QName,ModifyAction>> operation) {
             if (deepestChild.isPresent()) {
-                Preconditions.checkState(deepestChild instanceof AnyXmlNode);
+                final NormalizedNode<?, ?> child = deepestChild.get();
+                Preconditions.checkState(child instanceof AnyXmlNode);
+
                 final NormalizedNodeAttrBuilder<NodeIdentifier, DOMSource, AnyXmlNode> anyXmlBuilder =
-                        Builders.anyXmlBuilder().withNodeIdentifier(getIdentifier()).withValue(((AnyXmlNode) deepestChild).getValue());
+                        Builders.anyXmlBuilder().withNodeIdentifier(getIdentifier()).withValue(((AnyXmlNode) child).getValue());
                 addModifyOpIfPresent(operation, anyXmlBuilder);
                 return anyXmlBuilder.build();
             }
@@ -164,7 +168,7 @@ abstract class InstanceIdToNodes<T extends PathArgument> implements Identifiable
 
         final DataSchemaNode result = potential.get();
         // We try to look up if this node was added by augmentation
-        if ((schema instanceof DataSchemaNode) && result.isAugmenting()) {
+        if (schema instanceof DataSchemaNode && result.isAugmenting()) {
             return fromAugmentation(schema, (AugmentationTarget) schema, result);
         }
         return fromDataSchemaNode(result);