Fix augmentation node lookup
[netconf.git] / restconf / restconf-nb-bierman02 / src / main / java / org / opendaylight / netconf / sal / restconf / impl / RestconfImpl.java
index 818e76844e13d3dea86bb2ef92e88346335aa83a..090e861eef50587d3204f373a3e1b130fed985f8 100644 (file)
@@ -1347,13 +1347,17 @@ public class RestconfImpl implements RestconfService {
      */
     private static <T> T parseEnumTypeParameter(final ContainerNode value, final Class<T> classDescriptor,
             final String paramName) {
-        final Optional<DataContainerChild<? extends PathArgument, ?>> augNode =
-                value.getChild(SAL_REMOTE_AUG_IDENTIFIER);
-        if (!augNode.isPresent() && !(augNode instanceof AugmentationNode)) {
+        final Optional<DataContainerChild<? extends PathArgument, ?>> optAugNode = value.getChild(
+            SAL_REMOTE_AUG_IDENTIFIER);
+        if (!optAugNode.isPresent()) {
             return null;
         }
-        final Optional<DataContainerChild<? extends PathArgument, ?>> enumNode = ((AugmentationNode) augNode.get())
-                .getChild(new NodeIdentifier(QName.create(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(SAL_REMOTE_AUGMENT, paramName)));
         if (!enumNode.isPresent()) {
             return null;
         }