public PageSet<? extends StorageMetadata> apply(ListBlobsResponse from) { Set<StorageMetadata> contents = Sets.<StorageMetadata> newHashSet(Iterables.transform(from, object2blobMd)); Map<String, StorageMetadata> nameToMd = Maps.uniqueIndex(contents, indexer); for (String prefix : from.getBlobPrefixes()) { prefix = prefix.endsWith("/") ? prefix.substring(0, prefix.lastIndexOf('/')) : prefix; if (!nameToMd.containsKey(prefix) || nameToMd.get(prefix).getType() != StorageType.RELATIVE_PATH) contents.add(prefix2ResourceMd.apply(prefix)); } return new PageSetImpl<StorageMetadata>(contents, from.getNextMarker()); } }
public PageSet<? extends StorageMetadata> apply(ListBlobsResponse from) { Set<StorageMetadata> contents = Sets.<StorageMetadata> newHashSet(Iterables.transform(from, object2blobMd)); Map<String, StorageMetadata> nameToMd = Maps.uniqueIndex(contents, indexer); for (String prefix : from.getBlobPrefixes()) { prefix = prefix.endsWith("/") ? prefix.substring(0, prefix.lastIndexOf('/')) : prefix; if (!nameToMd.containsKey(prefix) || nameToMd.get(prefix).getType() != StorageType.RELATIVE_PATH) contents.add(prefix2ResourceMd.apply(prefix)); } return new PageSetImpl<StorageMetadata>(contents, from.getNextMarker()); } }
public PageSet<? extends StorageMetadata> apply(ListBlobsResponse from) { Set<StorageMetadata> contents = Sets.<StorageMetadata> newHashSet(Iterables.transform(from, object2blobMd)); Map<String, StorageMetadata> nameToMd = Maps.uniqueIndex(contents, indexer); for (String prefix : from.getBlobPrefixes()) { prefix = prefix.endsWith("/") ? prefix.substring(0, prefix.lastIndexOf('/')) : prefix; if (!nameToMd.containsKey(prefix) || nameToMd.get(prefix).getType() != StorageType.RELATIVE_PATH) contents.add(prefix2ResourceMd.apply(prefix)); } return new PageSetImpl<StorageMetadata>(contents, from.getNextMarker()); } }
public PageSet<? extends StorageMetadata> apply(ListBlobsResponse from) { // use sorted set to order relative paths correctly SortedSet<StorageMetadata> contents = Sets.<StorageMetadata> newTreeSet(Iterables.transform(from, object2blobMd)); for (String prefix : from.getBlobPrefixes()) { contents.add(prefix2ResourceMd.apply(prefix)); } return new PageSetImpl<StorageMetadata>(contents, from.getNextMarker()); } }
public PageSet<? extends StorageMetadata> apply(ListBlobsResponse from) { // use sorted set to order relative paths correctly SortedSet<StorageMetadata> contents = Sets.<StorageMetadata> newTreeSet(Iterables.transform(from, object2blobMd)); for (String prefix : from.getBlobPrefixes()) { contents.add(prefix2ResourceMd.apply(prefix)); } return new PageSetImpl<StorageMetadata>(contents, from.getNextMarker()); } }
@Override public List<MultipartUpload> listMultipartUploads(String container) { ImmutableList.Builder<MultipartUpload> builder = ImmutableList.builder(); String marker = null; while (true) { ListBlobsOptions options = new ListBlobsOptions().include(EnumSet.of(ListBlobsInclude.UNCOMMITTEDBLOBS)); if (marker != null) { options.marker(marker); } ListBlobsResponse response = sync.listBlobs(container, options); for (BlobProperties properties : response) { // only uncommitted blobs lack ETags if (properties.getETag() != null) { continue; } // TODO: bogus uploadId String uploadId = UUID.randomUUID().toString(); builder.add(MultipartUpload.create(properties.getContainer(), properties.getName(), uploadId, null, null)); } marker = response.getNextMarker(); if (marker == null) { break; } } return builder.build(); }
@Override public List<MultipartUpload> listMultipartUploads(String container) { ImmutableList.Builder<MultipartUpload> builder = ImmutableList.builder(); String marker = null; while (true) { ListBlobsOptions options = new ListBlobsOptions().include(EnumSet.of(ListBlobsInclude.UNCOMMITTEDBLOBS)); if (marker != null) { options.marker(marker); } ListBlobsResponse response = sync.listBlobs(container, options); for (BlobProperties properties : response) { // only uncommitted blobs lack ETags if (properties.getETag() != null) { continue; } // TODO: bogus uploadId String uploadId = UUID.randomUUID().toString(); builder.add(MultipartUpload.create(properties.getContainer(), properties.getName(), uploadId, null, null)); } marker = response.getNextMarker(); if (marker == null) { break; } } return builder.build(); }