X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frest%2Fimpl%2FXmlNormalizedNodeBodyReader.java;h=df990af7e12e9d8fc326e4a3796251813a04d9fa;hp=8a73db9d9338992ebf01f63877711bb261a1067c;hb=f9a9cd1ea40d2477ccb16b03c71a87595226595a;hpb=8b380afb0506b102531571a6b4d7470a7baa44a7 diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/XmlNormalizedNodeBodyReader.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/XmlNormalizedNodeBodyReader.java index 8a73db9d93..df990af7e1 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/XmlNormalizedNodeBodyReader.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/XmlNormalizedNodeBodyReader.java @@ -7,7 +7,6 @@ */ package org.opendaylight.controller.sal.rest.impl; -import com.google.common.base.Optional; import java.io.IOException; import java.io.InputStream; import java.lang.annotation.Annotation; @@ -83,7 +82,12 @@ public class XmlNormalizedNodeBodyReader extends AbstractIdentifierAwareJaxRsPro final MultivaluedMap httpHeaders, final InputStream entityStream) throws IOException, WebApplicationException { try { - final Optional path = getIdentifierWithSchema(); + final InstanceIdentifierContext path = getInstanceIdentifierContext(); + + if (entityStream.available() < 1) { + // represent empty nopayload input + return new NormalizedNodeContext(path, null); + } final DocumentBuilder dBuilder; try { @@ -93,10 +97,10 @@ public class XmlNormalizedNodeBodyReader extends AbstractIdentifierAwareJaxRsPro } final Document doc = dBuilder.parse(entityStream); - final NormalizedNode result = parse(path.get(),doc); - return new NormalizedNodeContext(path.get(),result); + final NormalizedNode result = parse(path,doc); + return new NormalizedNodeContext(path,result); } catch (final Exception e) { - LOG.debug("Error parsing json input", e); + LOG.debug("Error parsing xml input", e); throw new RestconfDocumentedException("Error parsing input: " + e.getMessage(), ErrorType.PROTOCOL, ErrorTag.MALFORMED_MESSAGE);