switch (metadata.getType()) { case FOLDER:
@Override public boolean apply(StorageMetadata input) { return input.getType() == StorageType.BLOB; } }), new Function<StorageMetadata, BlobMetadata>() {
@Override public boolean apply(StorageMetadata input) { return input.getType() == StorageType.BLOB; }
@Override public boolean apply(StorageMetadata input) { return input.getType() == StorageType.BLOB; } }), new Function<StorageMetadata, BlobMetadata>() {
@Override public boolean apply(StorageMetadata input) { return input.getType() == StorageType.BLOB; } }), new Function<StorageMetadata, BlobMetadata>() {
@Override public ListenableFuture<StorageMetadata> apply(final StorageMetadata from) { if (from.getType() != StorageType.BLOB) { return Futures.immediateFuture(from); } return userExecutor.submit(new Callable<StorageMetadata>() { @Override public StorageMetadata call() throws Exception { return blobstore.blobMetadata(container, from.getName()); } }); }
@Override public ListenableFuture<StorageMetadata> apply(final StorageMetadata from) { if (from.getType() != StorageType.BLOB) { return Futures.immediateFuture(from); } return userExecutor.submit(new Callable<StorageMetadata>() { @Override public StorageMetadata call() throws Exception { return blobstore.blobMetadata(container, from.getName()); } }); }
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(ListBucketResponse from) { Set<StorageMetadata> contents = Sets.<StorageMetadata> newHashSet(Iterables.transform(from, object2blobMd)); Map<String, StorageMetadata> nameToMd = Maps.uniqueIndex(contents, indexer); for (String prefix : from.getCommonPrefixes()) { 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()); } }
@Override public StorageMetadata apply(StorageMetadata input) { if (input.getType() != StorageType.BLOB) { return input; } return blobMetadata(container, input.getName()); } });
@Override public StorageMetadata apply(StorageMetadata input) { if (input.getType() != StorageType.BLOB) { return input; } return blobMetadata(container, input.getName()); } });
private String contentType(StorageMetadata meta) { if (meta instanceof BlobMetadata) { String contentType = ((BlobMetadata) meta).getContentMetadata().getContentType(); if (contentType != null && !contentType.isEmpty()) { return contentType; } } if (meta.getType().equals(StorageType.RELATIVE_PATH) || meta.getName().endsWith("/")) { return "application/directory"; } return MediaType.APPLICATION_OCTET_STREAM; }
@Test public void testNoNameChange() { MutableBlobMetadata md = blobMetadataProvider.get(); md.setName("dir"); md.setId("dir"); StorageMetadata rd = parser.apply(md); assertEquals(rd.getName(), "dir"); assertEquals(rd.getProviderId(), "dir"); assertEquals(rd.getType(), StorageType.RELATIVE_PATH); } }
@Test public void test1() { MutableBlobMetadata md = blobMetadataProvider.get(); md.setName("dir/"); md.setId("dir/"); StorageMetadata rd = parser.apply(md); assertEquals(rd.getName(), "dir"); assertEquals(rd.getProviderId(), "dir/"); assertEquals(rd.getType(), StorageType.RELATIVE_PATH); }
@Test public void test2() { MutableBlobMetadata md = blobMetadataProvider.get(); md.setName("dir_$folder$"); md.setId("dir_$folder$"); StorageMetadata rd = parser.apply(md); assertEquals(rd.getName(), "dir"); assertEquals(rd.getProviderId(), "dir_$folder$"); assertEquals(rd.getType(), StorageType.RELATIVE_PATH); }
@Override public StorageMetadata apply(@Nullable org.jclouds.blobstore.domain.StorageMetadata input) { if (input == null) { return null; } return StorageMetadata.builder().type(input.getType().name()).providerId(input.getProviderId()) .name(input.getName()).uri(input.getUri()).userMetadata(input.getUserMetadata()) .eTag(input.getETag()).creationDate(input.getCreationDate()).lastModifiedDate(input.getLastModified()) .build(); } }