@Override public String putBlob(String containerName, Blob blob, PutOptions options) { long length; try (InputStream is = blob.getPayload().openStream()) { length = ByteStreams.copy(is, ByteStreams.nullOutputStream()); } catch (IOException ioe) { throw new RuntimeException(ioe); } byte[] array = Longs.toByteArray(length); ByteSourcePayload payload = new ByteSourcePayload( ByteSource.wrap(array)); payload.setContentMetadata(blob.getPayload().getContentMetadata()); payload.getContentMetadata().setContentLength((long) array.length); payload.getContentMetadata().setContentMD5((HashCode) null); blob.setPayload(payload); return super.putBlob(containerName, blob, options); }
public CopyObjectResult(Date lastModified, String eTag) { this.lastModified = lastModified; this.eTag = eTag; this.contentMetadata = new BaseImmutableContentMetadata(null, null, null, null, null, null, null); }
private Part newPart(String data) { return Part.create("file", new MockFilePayload(data), new PartOptions().contentType(PLAIN_TEXT_UTF_8.withoutParameters().toString())); }
@Override public String completeMultipartUpload(final MultipartUpload mpu, final List<MultipartPart> parts) { long length = 0; for (MultipartPart part : parts) { length += part.partSize(); } byte[] array = Longs.toByteArray(length); ByteSourcePayload payload = new ByteSourcePayload( ByteSource.wrap(array)); super.abortMultipartUpload(mpu); MultipartPart part = delegate().uploadMultipartPart(mpu, 1, payload); return delegate().completeMultipartUpload(mpu, ImmutableList.of(part)); }
@Override public void writeTo(OutputStream outstream) throws IOException { super.writeTo(new CipherOutputStream(outstream, initializeCipher(key))); } }
/** * {@inheritDoc} */ @Override public void setContentMD5(byte[] md5) { contentMD5(md5); }
/** * Delegates to release() */ @Override public void close() { release(); }
@Override public void release() { for (Part part : content) part.release(); }
/** * Delegates to release() */ @Override public void close() { release(); }
@Override public MultipartPart uploadMultipartPart(MultipartUpload mpu, int partNumber, Payload payload) { long length; try (InputStream is = payload.openStream()) { length = ByteStreams.copy(is, ByteStreams.nullOutputStream()); } catch (IOException ioe) { throw new RuntimeException(ioe); } byte[] array = Longs.toByteArray(length); ByteSourcePayload newPayload = new ByteSourcePayload( ByteSource.wrap(array)); newPayload.setContentMetadata(payload.getContentMetadata()); newPayload.getContentMetadata().setContentLength((long) array.length); newPayload.getContentMetadata().setContentMD5((HashCode) null); MultipartPart part = super.uploadMultipartPart(mpu, partNumber, newPayload); return MultipartPart.create(part.partNumber(), length, part.partETag(), part.lastModified()); }
/** * {@inheritDoc} */ @Override public void setContentMD5(byte[] md5) { contentMD5(md5); }
/** * Delegates to release() */ @Override public void close() { release(); }
@Override public void release() { for (Part part : content) part.release(); }
/** * Delegates to release() */ @Override public void close() { release(); }
@Override @Nullable public Blob getBlob(String container, String name, GetOptions options) { Blob blob = super.getBlob(container, name, options); if (blob == null) { return null; } byte[] array; try (InputStream is = blob.getPayload().openStream()) { array = ByteStreams.toByteArray(is); } catch (IOException ioe) { throw new RuntimeException(ioe); } long length = Longs.fromByteArray(array); ByteSourcePayload payload = new ByteSourcePayload( new NullByteSource().slice(0, length)); payload.setContentMetadata(blob.getPayload().getContentMetadata()); payload.getContentMetadata().setContentLength(length); payload.getContentMetadata().setContentMD5((HashCode) null); blob.setPayload(payload); return blob; }
/** * {@inheritDoc} */ @Override public void setContentMD5(byte[] md5) { contentMD5(md5); }
/** * Delegates to release() */ @Override public void close() { release(); }
/** * Delegates to release() */ @Override public void close() { release(); }