X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=restconf%2Fsal-rest-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Frestconf%2Fjersey%2Fproviders%2FJsonToPatchBodyReader.java;h=45fd009600168fb9dba4d5e265c98ca00ac97fff;hb=f0891470d120a2ed67e7f19b97decb2399b7daf7;hp=e9bc9654e0b00e0e2147dcee5f4f56a79167a190;hpb=36c274dc2aaca6705604ff05bef9653dfb86ba2a;p=netconf.git diff --git a/restconf/sal-rest-connector/src/main/java/org/opendaylight/restconf/jersey/providers/JsonToPatchBodyReader.java b/restconf/sal-rest-connector/src/main/java/org/opendaylight/restconf/jersey/providers/JsonToPatchBodyReader.java index e9bc9654e0..45fd009600 100644 --- a/restconf/sal-rest-connector/src/main/java/org/opendaylight/restconf/jersey/providers/JsonToPatchBodyReader.java +++ b/restconf/sal-rest-connector/src/main/java/org/opendaylight/restconf/jersey/providers/JsonToPatchBodyReader.java @@ -15,16 +15,11 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.StringReader; -import java.lang.annotation.Annotation; -import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; import javax.annotation.Nonnull; import javax.ws.rs.Consumes; import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyReader; import javax.ws.rs.ext.Provider; import org.opendaylight.netconf.sal.restconf.impl.ControllerContext; import org.opendaylight.netconf.sal.restconf.impl.InstanceIdentifierContext; @@ -51,26 +46,17 @@ import org.slf4j.LoggerFactory; @Provider @Consumes({Rfc8040.MediaTypes.PATCH + RestconfConstants.JSON}) -public class JsonToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider - implements MessageBodyReader { - +public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { private static final Logger LOG = LoggerFactory.getLogger(JsonToPatchBodyReader.class); - private String patchId; - @Override - public boolean isReadable(final Class type, final Type genericType, - final Annotation[] annotations, final MediaType mediaType) { - return true; - } + private String patchId; @SuppressWarnings("checkstyle:IllegalCatch") @Override - public PatchContext readFrom(final Class type, final Type genericType, - final Annotation[] annotations, final MediaType mediaType, - final MultivaluedMap httpHeaders, final InputStream entityStream) + protected PatchContext readBody(final InstanceIdentifierContext path, final InputStream entityStream) throws IOException, WebApplicationException { try { - return readFrom(getInstanceIdentifierContext(), entityStream); + return readFrom(path, entityStream); } catch (final Exception e) { throw propagateExceptionAs(e); } @@ -78,10 +64,6 @@ public class JsonToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider private PatchContext readFrom(final InstanceIdentifierContext path, final InputStream entityStream) throws IOException { - if (entityStream.available() < 1) { - return new PatchContext(path, null, null); - } - final JsonReader jsonReader = new JsonReader(new InputStreamReader(entityStream)); final List resultList = read(jsonReader, path); jsonReader.close();