X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=restconf%2Frestconf-nb-bierman02%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Fsal%2Frest%2Fimpl%2FXmlToPatchBodyReader.java;fp=restconf%2Frestconf-nb-bierman02%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Fsal%2Frest%2Fimpl%2FXmlToPatchBodyReader.java;h=c81c770e8c5f63014800980c3ee2a072187cf3af;hb=0f9babadeecb83013782d8044c27de2f1998f97b;hp=56e3733fa026eaad72f2abf3e8d436b2deeb14f5;hpb=63c4d7988e29b54124cbf8a11cb3ff4bccf9f316;p=netconf.git diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/XmlToPatchBodyReader.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/XmlToPatchBodyReader.java index 56e3733fa0..c81c770e8c 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/XmlToPatchBodyReader.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/XmlToPatchBodyReader.java @@ -19,6 +19,7 @@ import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Optional; import javax.annotation.Nonnull; import javax.ws.rs.Consumes; import javax.ws.rs.WebApplicationException; @@ -38,6 +39,7 @@ import org.opendaylight.restconf.common.errors.RestconfError.ErrorType; import org.opendaylight.restconf.common.patch.PatchContext; import org.opendaylight.restconf.common.patch.PatchEditOperation; import org.opendaylight.restconf.common.patch.PatchEntity; +import org.opendaylight.restconf.common.util.RestUtil; import org.opendaylight.yangtools.util.xml.UntrustedXML; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -90,13 +92,13 @@ public class XmlToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider i try { final InstanceIdentifierContext path = getInstanceIdentifierContext(); - - if (entityStream.available() < 1) { + final Optional nonEmptyInputStreamOptional = RestUtil.isInputStreamEmpty(entityStream); + if (!nonEmptyInputStreamOptional.isPresent()) { // represent empty nopayload input return new PatchContext(path, null, null); } - final Document doc = UntrustedXML.newDocumentBuilder().parse(entityStream); + final Document doc = UntrustedXML.newDocumentBuilder().parse(nonEmptyInputStreamOptional.get()); return parse(path, doc); } catch (final RestconfDocumentedException e) { throw e;