From 73d5e6d72d78c1aa48dc4b8dfa588c05660c1ff4 Mon Sep 17 00:00:00 2001 From: Ori Bruk Date: Fri, 22 Nov 2024 13:13:30 +0300 Subject: [PATCH] [#29] Provide a InputStream for the putObject method Signed-off-by: Ori Bruk --- .../java/info/frostfs/sdk/jdo/PutObjectParameters.java | 8 ++++---- .../frostfs/sdk/services/impl/ObjectClientImpl.java | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/client/src/main/java/info/frostfs/sdk/jdo/PutObjectParameters.java b/client/src/main/java/info/frostfs/sdk/jdo/PutObjectParameters.java index d834cd9..b995eac 100644 --- a/client/src/main/java/info/frostfs/sdk/jdo/PutObjectParameters.java +++ b/client/src/main/java/info/frostfs/sdk/jdo/PutObjectParameters.java @@ -6,7 +6,7 @@ import info.frostfs.sdk.dto.session.SessionToken; import lombok.Getter; import lombok.Setter; -import java.io.FileInputStream; +import java.io.InputStream; @Getter @Setter @@ -16,7 +16,7 @@ public class PutObjectParameters { private ObjectHeader header; @NotNull - private FileInputStream payload; + private InputStream payload; private boolean clientCut; private int bufferMaxSize; @@ -26,14 +26,14 @@ public class PutObjectParameters { private long currentStreamPosition; private long fullLength; - public PutObjectParameters(ObjectHeader header, FileInputStream payload, boolean clientCut, int bufferMaxSize) { + public PutObjectParameters(ObjectHeader header, InputStream payload, boolean clientCut, int bufferMaxSize) { this.header = header; this.payload = payload; this.clientCut = clientCut; this.bufferMaxSize = bufferMaxSize; } - public PutObjectParameters(ObjectHeader header, FileInputStream payload) { + public PutObjectParameters(ObjectHeader header, InputStream payload) { this.header = header; this.payload = payload; } diff --git a/client/src/main/java/info/frostfs/sdk/services/impl/ObjectClientImpl.java b/client/src/main/java/info/frostfs/sdk/services/impl/ObjectClientImpl.java index 3979020..f85936c 100644 --- a/client/src/main/java/info/frostfs/sdk/services/impl/ObjectClientImpl.java +++ b/client/src/main/java/info/frostfs/sdk/services/impl/ObjectClientImpl.java @@ -31,8 +31,8 @@ import info.frostfs.sdk.tools.Verifier; import info.frostfs.sdk.utils.Validator; import org.apache.commons.collections4.CollectionUtils; -import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.List; @@ -329,17 +329,17 @@ public class ObjectClientImpl extends ContextAccessor implements ObjectClient { return new SearchReader(objectServiceBlockingClient.search(initRequest)); } - private int readNBytes(FileInputStream fileInputStream, byte[] buffer, int size) { + private int readNBytes(InputStream inputStream, byte[] buffer, int size) { try { - return fileInputStream.readNBytes(buffer, 0, size); + return inputStream.readNBytes(buffer, 0, size); } catch (IOException exp) { throw new ProcessFrostFSException(exp.getMessage()); } } - private long getStreamSize(FileInputStream fileInputStream) { + private long getStreamSize(InputStream inputStream) { try { - return fileInputStream.getChannel().size(); + return inputStream.available(); } catch (IOException exp) { throw new ProcessFrostFSException(exp.getMessage()); }