Fix augmentation node lookup
[netconf.git] / restconf / restconf-nb-rfc8040 / src / main / java / org / opendaylight / restconf / nb / rfc8040 / rests / utils / CreateStreamUtil.java
index 34590365027f8e4db925e665dce26fc89554817d..3986598cffaa8c76e064f66b1c4018eda320ffde 100644 (file)
@@ -149,14 +149,17 @@ public final class CreateStreamUtil {
     }
 
     private static <T> T parseEnum(final ContainerNode data, final Class<T> clazz, final String paramName) {
-        final Optional<DataContainerChild<? extends PathArgument, ?>> augNode = data
-                .getChild(RestconfStreamsConstants.SAL_REMOTE_AUG_IDENTIFIER);
-        if (!augNode.isPresent() && !(augNode instanceof AugmentationNode)) {
+        final Optional<DataContainerChild<? extends PathArgument, ?>> optAugNode = data.getChild(
+            RestconfStreamsConstants.SAL_REMOTE_AUG_IDENTIFIER);
+        if (!optAugNode.isPresent()) {
             return null;
         }
-        final Optional<DataContainerChild<? extends PathArgument, ?>> enumNode =
-                ((AugmentationNode) augNode.get()).getChild(
-                        new NodeIdentifier(QName.create(RestconfStreamsConstants.SAL_REMOTE_AUGMENT, paramName)));
+        final DataContainerChild<? extends PathArgument, ?> augNode = optAugNode.get();
+        if (!(augNode instanceof AugmentationNode)) {
+            return null;
+        }
+        final Optional<DataContainerChild<? extends PathArgument, ?>> enumNode = ((AugmentationNode) augNode).getChild(
+            new NodeIdentifier(QName.create(RestconfStreamsConstants.SAL_REMOTE_AUGMENT, paramName)));
         if (!enumNode.isPresent()) {
             return null;
         }