@Override public StorageMetadata apply(String key) { Blob oldBlob = loadBlob(containerName, key); if (oldBlob == null) { return null; } checkState(oldBlob.getMetadata() != null, "blob " + containerName + "/" + key + " has no metadata"); MutableBlobMetadata md = BlobStoreUtils.copy(oldBlob.getMetadata()); md.setSize(oldBlob.getMetadata().getSize()); return md; } })
@Override public StorageMetadata apply(String key) { Blob oldBlob = loadBlob(containerName, key); if (oldBlob == null) { return null; } checkState(oldBlob.getMetadata() != null, "blob " + containerName + "/" + key + " has no metadata"); MutableBlobMetadata md = BlobStoreUtils.copy(oldBlob.getMetadata()); md.setSize(oldBlob.getMetadata().getSize()); return md; } })
@Override public StorageMetadata apply(String key) { Blob oldBlob = loadBlob(containerName, key); if (oldBlob == null) { return null; } checkState(oldBlob.getMetadata() != null, "blob " + containerName + "/" + key + " has no metadata"); MutableBlobMetadata md = BlobStoreUtils.copy(oldBlob.getMetadata()); md.setSize(oldBlob.getMetadata().getSize()); return md; } })
@Override public StorageMetadata apply(String key) { Blob oldBlob = loadBlob(containerName, key); if (oldBlob == null) { return null; } checkState(oldBlob.getMetadata() != null, "blob " + containerName + "/" + key + " has no metadata"); MutableBlobMetadata md = BlobStoreUtils.copy(oldBlob.getMetadata()); md.setSize(oldBlob.getMetadata().getSize()); return md; } })
private Blob createUpdatedCopyOfBlobInContainer(String containerName, Blob in, byte[] input, HashCode contentMd5) { checkNotNull(containerName, "containerName"); checkNotNull(in, "blob"); checkNotNull(input, "input"); checkNotNull(contentMd5, "contentMd5"); Payload payload = Payloads.newByteSourcePayload(ByteSource.wrap(input)); MutableContentMetadata oldMd = in.getPayload().getContentMetadata(); HttpUtils.copy(oldMd, payload.getContentMetadata()); payload.getContentMetadata().setContentMD5(contentMd5); payload.getContentMetadata().setContentLength((long) input.length); Blob blob = blobFactory.create(BlobStoreUtils.copy(in.getMetadata())); blob.setPayload(payload); blob.getMetadata().setContainer(containerName); blob.getMetadata().setLastModified(new Date()); blob.getMetadata().setSize((long) input.length); String eTag = base16().lowerCase().encode(contentMd5.asBytes()); blob.getMetadata().setETag(eTag); // Set HTTP headers to match metadata blob.getAllHeaders().replaceValues(HttpHeaders.LAST_MODIFIED, ImmutableList.of(dateService.rfc822DateFormat(blob.getMetadata().getLastModified()))); blob.getAllHeaders().replaceValues(HttpHeaders.ETAG, ImmutableList.of(eTag)); copyPayloadHeadersToBlob(payload, blob); blob.getAllHeaders().putAll(Multimaps.forMap(blob.getMetadata().getUserMetadata())); return blob; }
private Blob createUpdatedCopyOfBlobInContainer(String containerName, Blob in, byte[] input, HashCode contentMd5) { checkNotNull(containerName, "containerName"); checkNotNull(in, "blob"); checkNotNull(input, "input"); checkNotNull(contentMd5, "contentMd5"); Payload payload = Payloads.newByteSourcePayload(ByteSource.wrap(input)); MutableContentMetadata oldMd = in.getPayload().getContentMetadata(); HttpUtils.copy(oldMd, payload.getContentMetadata()); payload.getContentMetadata().setContentMD5(contentMd5); payload.getContentMetadata().setContentLength((long) input.length); Blob blob = blobFactory.create(BlobStoreUtils.copy(in.getMetadata())); blob.setPayload(payload); blob.getMetadata().setContainer(containerName); blob.getMetadata().setLastModified(new Date()); blob.getMetadata().setSize((long) input.length); String eTag = base16().lowerCase().encode(contentMd5.asBytes()); blob.getMetadata().setETag(eTag); // Set HTTP headers to match metadata blob.getAllHeaders().replaceValues(HttpHeaders.LAST_MODIFIED, ImmutableList.of(dateService.rfc822DateFormat(blob.getMetadata().getLastModified()))); blob.getAllHeaders().replaceValues(HttpHeaders.ETAG, ImmutableList.of(eTag)); copyPayloadHeadersToBlob(payload, blob); blob.getAllHeaders().putAll(Multimaps.forMap(blob.getMetadata().getUserMetadata())); return blob; }
private Blob createUpdatedCopyOfBlobInContainer(String containerName, Blob in, byte[] input, HashCode contentMd5) { checkNotNull(containerName, "containerName"); checkNotNull(in, "blob"); checkNotNull(input, "input"); checkNotNull(contentMd5, "contentMd5"); Payload payload = Payloads.newByteSourcePayload(ByteSource.wrap(input)); MutableContentMetadata oldMd = in.getPayload().getContentMetadata(); HttpUtils.copy(oldMd, payload.getContentMetadata()); payload.getContentMetadata().setContentMD5(contentMd5); payload.getContentMetadata().setContentLength((long) input.length); Blob blob = blobFactory.create(BlobStoreUtils.copy(in.getMetadata())); blob.setPayload(payload); blob.getMetadata().setContainer(containerName); blob.getMetadata().setLastModified(new Date()); blob.getMetadata().setSize((long) input.length); String eTag = base16().lowerCase().encode(contentMd5.asBytes()); blob.getMetadata().setETag(eTag); // Set HTTP headers to match metadata blob.getAllHeaders().replaceValues(HttpHeaders.LAST_MODIFIED, ImmutableList.of(dateService.rfc822DateFormat(blob.getMetadata().getLastModified()))); blob.getAllHeaders().replaceValues(HttpHeaders.ETAG, ImmutableList.of(eTag)); copyPayloadHeadersToBlob(payload, blob); blob.getAllHeaders().putAll(Multimaps.forMap(blob.getMetadata().getUserMetadata())); return blob; }
private Blob createUpdatedCopyOfBlobInContainer(String containerName, Blob in, byte[] input, HashCode contentMd5) { checkNotNull(containerName, "containerName"); checkNotNull(in, "blob"); checkNotNull(input, "input"); checkNotNull(contentMd5, "contentMd5"); Payload payload = Payloads.newByteSourcePayload(ByteSource.wrap(input)); MutableContentMetadata oldMd = in.getPayload().getContentMetadata(); HttpUtils.copy(oldMd, payload.getContentMetadata()); payload.getContentMetadata().setContentMD5(contentMd5); payload.getContentMetadata().setContentLength((long) input.length); Blob blob = blobFactory.create(BlobStoreUtils.copy(in.getMetadata())); blob.setPayload(payload); blob.getMetadata().setContainer(containerName); blob.getMetadata().setLastModified(new Date()); blob.getMetadata().setSize((long) input.length); String eTag = base16().lowerCase().encode(contentMd5.asBytes()); blob.getMetadata().setETag(eTag); // Set HTTP headers to match metadata blob.getAllHeaders().replaceValues(HttpHeaders.LAST_MODIFIED, ImmutableList.of(dateService.rfc822DateFormat(blob.getMetadata().getLastModified()))); blob.getAllHeaders().replaceValues(HttpHeaders.ETAG, ImmutableList.of(eTag)); copyPayloadHeadersToBlob(payload, blob); blob.getAllHeaders().putAll(Multimaps.forMap(blob.getMetadata().getUserMetadata())); return blob; }
private MutableBlobMetadata toBlobMetadata(String container, B2Object b2Object) { MutableBlobMetadata metadata = new MutableBlobMetadataImpl(); metadata.setContainer(container); metadata.setETag(b2Object.contentSha1()); // B2 does not support ETag, fake it with SHA-1 metadata.setLastModified(b2Object.uploadTimestamp()); metadata.setName(b2Object.fileName()); metadata.setSize(b2Object.contentLength()); MutableContentMetadata contentMetadata = new BaseMutableContentMetadata(); contentMetadata.setContentLength(b2Object.contentLength()); contentMetadata.setContentType(b2Object.contentType()); metadata.setContentMetadata(contentMetadata); metadata.setUserMetadata(b2Object.fileInfo()); try { metadata.setPublicUri(URI.create(auth.get().downloadUrl() + "/file/" + container + "/" + URLEncoder.encode(b2Object.fileName(), "UTF-8"))); } catch (UnsupportedEncodingException uee) { throw new RuntimeException(uee); } return metadata; } }
@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); blob.getMetadata().setSize(length); return blob; }
private MutableBlobMetadata toBlobMetadata(String container, B2Object b2Object) { MutableBlobMetadata metadata = new MutableBlobMetadataImpl(); metadata.setContainer(container); metadata.setETag(b2Object.contentSha1()); // B2 does not support ETag, fake it with SHA-1 metadata.setLastModified(b2Object.uploadTimestamp()); metadata.setName(b2Object.fileName()); metadata.setSize(b2Object.contentLength()); MutableContentMetadata contentMetadata = new BaseMutableContentMetadata(); contentMetadata.setContentLength(b2Object.contentLength()); contentMetadata.setContentType(b2Object.contentType()); metadata.setContentMetadata(contentMetadata); metadata.setUserMetadata(b2Object.fileInfo()); try { metadata.setPublicUri(URI.create(auth.get().downloadUrl() + "/file/" + container + "/" + URLEncoder.encode(b2Object.fileName(), "UTF-8"))); } catch (UnsupportedEncodingException uee) { throw new RuntimeException(uee); } return metadata; } }
private MutableBlobMetadata toBlobMetadata(String container, B2Object b2Object) { MutableBlobMetadata metadata = new MutableBlobMetadataImpl(); metadata.setContainer(container); metadata.setETag(b2Object.contentSha1()); // B2 does not support ETag, fake it with SHA-1 metadata.setLastModified(b2Object.uploadTimestamp()); metadata.setName(b2Object.fileName()); metadata.setSize(b2Object.contentLength()); MutableContentMetadata contentMetadata = new BaseMutableContentMetadata(); contentMetadata.setContentLength(b2Object.contentLength()); contentMetadata.setContentType(b2Object.contentType()); metadata.setContentMetadata(contentMetadata); metadata.setUserMetadata(b2Object.fileInfo()); metadata.setTier(Tier.STANDARD); try { metadata.setPublicUri(URI.create(auth.get().downloadUrl() + "/file/" + container + "/" + URLEncoder.encode(b2Object.fileName(), "UTF-8"))); } catch (UnsupportedEncodingException uee) { throw new RuntimeException(uee); } return metadata; } }
private MutableBlobMetadata toBlobMetadata(String container, B2Object b2Object) { MutableBlobMetadata metadata = new MutableBlobMetadataImpl(); metadata.setContainer(container); metadata.setETag(b2Object.contentSha1()); // B2 does not support ETag, fake it with SHA-1 metadata.setLastModified(b2Object.uploadTimestamp()); metadata.setName(b2Object.fileName()); metadata.setSize(b2Object.contentLength()); MutableContentMetadata contentMetadata = new BaseMutableContentMetadata(); contentMetadata.setContentLength(b2Object.contentLength()); contentMetadata.setContentType(b2Object.contentType()); metadata.setContentMetadata(contentMetadata); metadata.setUserMetadata(b2Object.fileInfo()); metadata.setTier(Tier.STANDARD); try { metadata.setPublicUri(URI.create(auth.get().downloadUrl() + "/file/" + container + "/" + URLEncoder.encode(b2Object.fileName(), "UTF-8"))); } catch (UnsupportedEncodingException uee) { throw new RuntimeException(uee); } return metadata; } }
public MutableBlobMetadata apply(ObjectMetadata from) { if (from == null) return null; MutableBlobMetadata to = new MutableBlobMetadataImpl(); HttpUtils.copy(from.getContentMetadata(), to.getContentMetadata()); to.setUri(from.getUri()); to.setContainer(from.getBucket()); to.setETag(from.getETag()); to.setName(from.getKey()); to.setLastModified(from.getLastModified()); to.setUserMetadata(from.getUserMetadata()); to.setLocation(locationOfBucket.apply(from.getBucket())); to.setType(StorageType.BLOB); to.setSize(from.getContentMetadata().getContentLength()); return to; } }
public MutableBlobMetadata apply(ObjectMetadata from) { if (from == null) return null; MutableBlobMetadata to = new MutableBlobMetadataImpl(); HttpUtils.copy(from.getContentMetadata(), to.getContentMetadata()); to.setUri(from.getUri()); to.setContainer(from.getBucket()); to.setETag(from.getETag()); to.setName(from.getKey()); to.setLastModified(from.getLastModified()); to.setUserMetadata(from.getUserMetadata()); to.setLocation(locationOfBucket.apply(from.getBucket())); to.setType(StorageType.BLOB); to.setSize(from.getContentMetadata().getContentLength()); to.setTier((from.getStorageClass() == null ? ObjectMetadata.StorageClass.STANDARD : from.getStorageClass()).toTier()); return to; } }
public MutableBlobMetadata apply(ObjectMetadata from) { if (from == null) return null; MutableBlobMetadata to = new MutableBlobMetadataImpl(); HttpUtils.copy(from.getContentMetadata(), to.getContentMetadata()); to.setUri(from.getUri()); to.setContainer(from.getBucket()); to.setETag(from.getETag()); to.setName(from.getKey()); to.setLastModified(from.getLastModified()); to.setUserMetadata(from.getUserMetadata()); to.setLocation(locationOfBucket.apply(from.getBucket())); to.setType(StorageType.BLOB); to.setSize(from.getContentMetadata().getContentLength()); to.setTier((from.getStorageClass() == null ? ObjectMetadata.StorageClass.STANDARD : from.getStorageClass()).toTier()); return to; } }
@Override public MutableBlobMetadata apply(SwiftObject from) { if (from == null) return null; MutableBlobMetadata to = new MutableBlobMetadataImpl(); to.setContainer(container.getName()); if (container.getAnybodyRead().isPresent()) { to.setPublicUri(from.getUri()); } String eTag = from.getETag(); to.setUri(from.getUri()); to.setETag(eTag); to.setName(from.getName()); to.setLastModified(from.getLastModified()); to.setContentMetadata(from.getPayload().getContentMetadata()); to.getContentMetadata().setContentMD5(from.getPayload().getContentMetadata().getContentMD5AsHashCode()); to.getContentMetadata().setExpires(from.getPayload().getContentMetadata().getExpires()); to.setUserMetadata(from.getMetadata()); if (eTag != null && eTag.equals(ParseObjectListFromResponse.SUBDIR_ETAG)) { to.setType(StorageType.FOLDER); } else { to.setType(StorageType.BLOB); } to.setSize(from.getPayload().getContentMetadata().getContentLength()); return to; }
public MutableBlobMetadata apply(GoogleCloudStorageObject from) { if (from == null) { return null; } MutableBlobMetadata to = new MutableBlobMetadataImpl(); to.getContentMetadata().setContentMD5(toHashCode(from.md5Hash())); to.getContentMetadata().setContentType(from.contentType()); to.getContentMetadata().setContentDisposition(from.contentDisposition()); to.getContentMetadata().setContentEncoding(from.contentEncoding()); to.getContentMetadata().setContentLanguage(from.contentLanguage()); to.getContentMetadata().setContentLength(from.size()); to.setLastModified(from.updated()); to.setContainer(from.bucket()); to.setUserMetadata(from.metadata()); to.setETag(from.etag()); to.setName(from.name()); to.setUri(from.selfLink()); to.setId(from.id()); to.setPublicUri(from.mediaLink()); to.setType(StorageType.BLOB); to.setSize(from.size()); return to; }
public MutableBlobMetadata apply(GoogleCloudStorageObject from) { if (from == null) { return null; } MutableBlobMetadata to = new MutableBlobMetadataImpl(); to.getContentMetadata().setContentMD5(toHashCode(from.md5Hash())); to.getContentMetadata().setContentType(from.contentType()); to.getContentMetadata().setContentDisposition(from.contentDisposition()); to.getContentMetadata().setContentEncoding(from.contentEncoding()); to.getContentMetadata().setContentLanguage(from.contentLanguage()); to.getContentMetadata().setContentLength(from.size()); to.setLastModified(from.updated()); to.setContainer(from.bucket()); to.setUserMetadata(from.metadata()); to.setETag(from.etag()); to.setName(from.name()); to.setUri(from.selfLink()); to.setId(from.id()); to.setPublicUri(from.mediaLink()); to.setType(StorageType.BLOB); to.setSize(from.size()); to.setTier(from.storageClass().toTier()); return to; }
public MutableBlobMetadata apply(GoogleCloudStorageObject from) { if (from == null) { return null; } MutableBlobMetadata to = new MutableBlobMetadataImpl(); to.getContentMetadata().setContentMD5(toHashCode(from.md5Hash())); to.getContentMetadata().setContentType(from.contentType()); to.getContentMetadata().setContentDisposition(from.contentDisposition()); to.getContentMetadata().setContentEncoding(from.contentEncoding()); to.getContentMetadata().setContentLanguage(from.contentLanguage()); to.getContentMetadata().setContentLength(from.size()); to.setLastModified(from.updated()); to.setContainer(from.bucket()); to.setUserMetadata(from.metadata()); to.setETag(from.etag()); to.setName(from.name()); to.setUri(from.selfLink()); to.setId(from.id()); to.setPublicUri(from.mediaLink()); to.setType(StorageType.BLOB); to.setSize(from.size()); to.setTier(from.storageClass().toTier()); return to; }