Fix PATCH request issue with top-level container as target
[netconf.git] / restconf / restconf-nb-rfc8040 / src / main / java / org / opendaylight / restconf / nb / rfc8040 / jersey / providers / patch / XmlPatchBodyReader.java
index f6138d109cd023ec9a63b475f11a67f42e3d36ce..109c6a77f02c38b463af56dd7c8984c881ea66cd 100644 (file)
@@ -124,9 +124,13 @@ public class XmlPatchBodyReader extends AbstractPatchBodyReader {
                     stack.exit();
                 }
 
-                final EffectiveStatement<?, ?> parentStmt = stack.currentStatement();
-                verify(parentStmt instanceof SchemaNode, "Unexpected parent %s", parentStmt);
-                targetNode = (SchemaNode) parentStmt;
+                if (stack.isEmpty()) {
+                    targetNode = pathContext.getSchemaContext();
+                } else {
+                    final EffectiveStatement<?, ?> parentStmt = stack.currentStatement();
+                    verify(parentStmt instanceof SchemaNode, "Unexpected parent %s", parentStmt);
+                    targetNode = (SchemaNode) parentStmt;
+                }
             }
 
             if (targetNode == null) {