Repository: jclouds Updated Branches: refs/heads/master c0a7938b6 -> 7fbef10d5
JCLOUDS-1337: Include tier in object listing This requires hoisting Tier from BlobMetadata to StorageMetadata. Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/7fbef10d Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/7fbef10d Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/7fbef10d Branch: refs/heads/master Commit: 7fbef10d574053bc77f86ba4d356893329655f1d Parents: c0a7938 Author: Andrew Gaul <[email protected]> Authored: Thu Nov 2 15:59:13 2017 -0700 Committer: Andrew Gaul <[email protected]> Committed: Thu Nov 2 16:24:34 2017 -0700 ---------------------------------------------------------------------- .../jclouds/blobstore/domain/BlobMetadata.java | 2 -- .../domain/MutableStorageMetadata.java | 1 + .../blobstore/domain/StorageMetadata.java | 2 ++ .../domain/internal/BlobMetadataImpl.java | 17 ++++--------- .../internal/MutableStorageMetadataImpl.java | 21 +++++++++++++--- .../domain/internal/StorageMetadataImpl.java | 25 +++++++++++++++++--- .../org/jclouds/b2/blobstore/B2BlobStore.java | 4 ++-- 7 files changed, 49 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/7fbef10d/blobstore/src/main/java/org/jclouds/blobstore/domain/BlobMetadata.java ---------------------------------------------------------------------- diff --git a/blobstore/src/main/java/org/jclouds/blobstore/domain/BlobMetadata.java b/blobstore/src/main/java/org/jclouds/blobstore/domain/BlobMetadata.java index 1b51328..fd88dc4 100644 --- a/blobstore/src/main/java/org/jclouds/blobstore/domain/BlobMetadata.java +++ b/blobstore/src/main/java/org/jclouds/blobstore/domain/BlobMetadata.java @@ -45,6 +45,4 @@ public interface BlobMetadata extends StorageMetadata { String getContainer(); ContentMetadata getContentMetadata(); - - Tier getTier(); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/7fbef10d/blobstore/src/main/java/org/jclouds/blobstore/domain/MutableStorageMetadata.java ---------------------------------------------------------------------- diff --git a/blobstore/src/main/java/org/jclouds/blobstore/domain/MutableStorageMetadata.java b/blobstore/src/main/java/org/jclouds/blobstore/domain/MutableStorageMetadata.java index 660453c..2e188bc 100644 --- a/blobstore/src/main/java/org/jclouds/blobstore/domain/MutableStorageMetadata.java +++ b/blobstore/src/main/java/org/jclouds/blobstore/domain/MutableStorageMetadata.java @@ -49,4 +49,5 @@ public interface MutableStorageMetadata extends MutableResourceMetadata<StorageT /** @see #getSize */ void setSize(@Nullable Long size); + void setTier(Tier tier); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/7fbef10d/blobstore/src/main/java/org/jclouds/blobstore/domain/StorageMetadata.java ---------------------------------------------------------------------- diff --git a/blobstore/src/main/java/org/jclouds/blobstore/domain/StorageMetadata.java b/blobstore/src/main/java/org/jclouds/blobstore/domain/StorageMetadata.java index 38bc77e..ddf6af3 100644 --- a/blobstore/src/main/java/org/jclouds/blobstore/domain/StorageMetadata.java +++ b/blobstore/src/main/java/org/jclouds/blobstore/domain/StorageMetadata.java @@ -94,4 +94,6 @@ public interface StorageMetadata extends ResourceMetadata<StorageType> { /** Size of the resource, possibly null. */ Long getSize(); + + Tier getTier(); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/7fbef10d/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/BlobMetadataImpl.java ---------------------------------------------------------------------- diff --git a/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/BlobMetadataImpl.java b/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/BlobMetadataImpl.java index bb99911..32e399a 100644 --- a/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/BlobMetadataImpl.java +++ b/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/BlobMetadataImpl.java @@ -40,18 +40,16 @@ public class BlobMetadataImpl extends StorageMetadataImpl implements BlobMetadat private final URI publicUri; private final String container; private final ContentMetadata contentMetadata; - private final Tier tier; public BlobMetadataImpl(String id, String name, @Nullable Location location, URI uri, String eTag, @Nullable Date creationDate, @Nullable Date lastModified, Map<String, String> userMetadata, @Nullable URI publicUri, @Nullable String container, ContentMetadata contentMetadata, @Nullable Long size, Tier tier) { - super(StorageType.BLOB, id, name, location, uri, eTag, creationDate, lastModified, userMetadata, size); + super(StorageType.BLOB, id, name, location, uri, eTag, creationDate, lastModified, userMetadata, size, tier); this.publicUri = publicUri; this.container = container; this.contentMetadata = checkNotNull(contentMetadata, "contentMetadata"); - this.tier = checkNotNull(tier, "tier"); } @Deprecated @@ -95,11 +93,6 @@ public class BlobMetadataImpl extends StorageMetadataImpl implements BlobMetadat } @Override - public Tier getTier() { - return tier; - } - - @Override public boolean equals(Object object) { if (object == this) { return true; @@ -111,13 +104,12 @@ public class BlobMetadataImpl extends StorageMetadataImpl implements BlobMetadat return super.equals(that) && Objects.equal(publicUri, that.publicUri) && Objects.equal(container, that.container) && - Objects.equal(contentMetadata, that.contentMetadata) && - Objects.equal(tier, that.tier); + Objects.equal(contentMetadata, that.contentMetadata); } @Override public int hashCode() { - return Objects.hashCode(super.hashCode(), publicUri, container, contentMetadata, tier); + return Objects.hashCode(super.hashCode(), publicUri, container, contentMetadata); } @Override @@ -125,7 +117,6 @@ public class BlobMetadataImpl extends StorageMetadataImpl implements BlobMetadat return super.string() .add("publicUri", publicUri) .add("container", container) - .add("contentMetadata", contentMetadata) - .add("tier", tier); + .add("contentMetadata", contentMetadata); } } http://git-wip-us.apache.org/repos/asf/jclouds/blob/7fbef10d/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/MutableStorageMetadataImpl.java ---------------------------------------------------------------------- diff --git a/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/MutableStorageMetadataImpl.java b/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/MutableStorageMetadataImpl.java index d3676c1..99db921 100644 --- a/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/MutableStorageMetadataImpl.java +++ b/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/MutableStorageMetadataImpl.java @@ -24,6 +24,7 @@ import com.google.common.base.MoreObjects.ToStringHelper; import org.jclouds.blobstore.domain.MutableStorageMetadata; import org.jclouds.blobstore.domain.StorageMetadata; import org.jclouds.blobstore.domain.StorageType; +import org.jclouds.blobstore.domain.Tier; import org.jclouds.domain.internal.MutableResourceMetadataImpl; /** @@ -36,6 +37,7 @@ public class MutableStorageMetadataImpl extends MutableResourceMetadataImpl<Stor private Date creationDate; private Date lastModified; private Long size; + private Tier tier; public MutableStorageMetadataImpl() { super(); @@ -46,6 +48,7 @@ public class MutableStorageMetadataImpl extends MutableResourceMetadataImpl<Stor this.eTag = from.getETag(); this.lastModified = from.getLastModified(); this.size = from.getSize(); + this.tier = from.getTier(); } /** @@ -101,6 +104,16 @@ public class MutableStorageMetadataImpl extends MutableResourceMetadataImpl<Stor } @Override + public Tier getTier() { + return tier; + } + + @Override + public void setTier(Tier tier) { + this.tier = tier; + } + + @Override public boolean equals(Object object) { if (object == this) { return true; @@ -113,12 +126,13 @@ public class MutableStorageMetadataImpl extends MutableResourceMetadataImpl<Stor Objects.equal(eTag, that.eTag) && Objects.equal(creationDate, that.creationDate) && Objects.equal(lastModified, that.lastModified) && - Objects.equal(size, that.size); + Objects.equal(size, that.size) && + Objects.equal(tier, that.tier); } @Override public int hashCode() { - return Objects.hashCode(super.hashCode(), eTag, creationDate, lastModified, size); + return Objects.hashCode(super.hashCode(), eTag, creationDate, lastModified, size, tier); } @Override @@ -127,6 +141,7 @@ public class MutableStorageMetadataImpl extends MutableResourceMetadataImpl<Stor .add("eTag", eTag) .add("creationDate", creationDate) .add("lastModified", lastModified) - .add("size", size); + .add("size", size) + .add("tier", tier); } } http://git-wip-us.apache.org/repos/asf/jclouds/blob/7fbef10d/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/StorageMetadataImpl.java ---------------------------------------------------------------------- diff --git a/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/StorageMetadataImpl.java b/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/StorageMetadataImpl.java index 69e650e..b560789 100644 --- a/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/StorageMetadataImpl.java +++ b/blobstore/src/main/java/org/jclouds/blobstore/domain/internal/StorageMetadataImpl.java @@ -27,6 +27,7 @@ import com.google.common.base.MoreObjects.ToStringHelper; import org.jclouds.blobstore.domain.StorageMetadata; import org.jclouds.blobstore.domain.StorageType; +import org.jclouds.blobstore.domain.Tier; import org.jclouds.domain.Location; import org.jclouds.domain.internal.ResourceMetadataImpl; import org.jclouds.javax.annotation.Nullable; @@ -45,17 +46,29 @@ public class StorageMetadataImpl extends ResourceMetadataImpl<StorageType> imple private final StorageType type; @Nullable private final Long size; + @Nullable + private final Tier tier; public StorageMetadataImpl(StorageType type, @Nullable String id, @Nullable String name, @Nullable Location location, @Nullable URI uri, @Nullable String eTag, @Nullable Date creationDate, @Nullable Date lastModified, - Map<String, String> userMetadata, @Nullable Long size) { + Map<String, String> userMetadata, @Nullable Long size, Tier tier) { super(id, name, location, uri, userMetadata); this.eTag = eTag; this.creationDate = creationDate; this.lastModified = lastModified; this.type = checkNotNull(type, "type"); this.size = size; + this.tier = tier; + } + + /** @deprecated call StorageMetadataImpl(StorageType.class, String.class, String.class, Location.class, URI.class, String.class, Date.class, Date.class, Map.class, Long.class, Tier.class) */ + @Deprecated + public StorageMetadataImpl(StorageType type, @Nullable String id, @Nullable String name, + @Nullable Location location, @Nullable URI uri, @Nullable String eTag, + @Nullable Date creationDate, @Nullable Date lastModified, + Map<String, String> userMetadata, @Nullable Long size) { + this(type, id, name, location, uri, eTag, creationDate, lastModified, userMetadata, size, null); } /** @deprecated call StorageMetadataImpl(StorageType.class, String.class, String.class, Location.class, URI.class, String.class, Date.class, Date.class, Map.class, Long.class) */ @@ -78,7 +91,7 @@ public class StorageMetadataImpl extends ResourceMetadataImpl<StorageType> imple @Override public int hashCode() { return Objects.hashCode(super.hashCode(), eTag, creationDate, - lastModified, type, size); + lastModified, type, size, tier); } @Override @@ -95,6 +108,7 @@ public class StorageMetadataImpl extends ResourceMetadataImpl<StorageType> imple if (!Objects.equal(lastModified, other.lastModified)) { return false; } if (!Objects.equal(type, other.type)) { return false; } if (!Objects.equal(size, other.size)) { return false; } + if (!Objects.equal(tier, other.tier)) { return false; } return true; } @@ -105,7 +119,8 @@ public class StorageMetadataImpl extends ResourceMetadataImpl<StorageType> imple .add("creationDate", creationDate) .add("lastModified", lastModified) .add("type", type) - .add("size", size); + .add("size", size) + .add("tier", tier); } /** @@ -134,4 +149,8 @@ public class StorageMetadataImpl extends ResourceMetadataImpl<StorageType> imple return size; } + @Override + public Tier getTier() { + return tier; + } } http://git-wip-us.apache.org/repos/asf/jclouds/blob/7fbef10d/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java ---------------------------------------------------------------------- diff --git a/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java b/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java index 0aabe99..0069e25 100644 --- a/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java +++ b/providers/b2/src/main/java/org/jclouds/b2/blobstore/B2BlobStore.java @@ -123,7 +123,7 @@ public final class B2BlobStore extends BaseBlobStore { ImmutableList.Builder<StorageMetadata> builder = ImmutableList.builder(); BucketList list = api.getBucketApi().listBuckets(); for (Bucket bucket : list.buckets()) { - builder.add(new StorageMetadataImpl(StorageType.CONTAINER, null, bucket.bucketName(), defaultLocation.get(), null, null, null, null, ImmutableMap.<String, String>of(), null)); + builder.add(new StorageMetadataImpl(StorageType.CONTAINER, null, bucket.bucketName(), defaultLocation.get(), null, null, null, null, ImmutableMap.<String, String>of(), null, Tier.STANDARD)); } return new PageSetImpl<StorageMetadata>(builder.build(), null); } @@ -196,7 +196,7 @@ public final class B2BlobStore extends BaseBlobStore { B2ObjectList list = api.getObjectApi().listFileNames(bucket.bucketId(), options.getMarker(), options.getMaxResults(), options.getPrefix(), Strings.emptyToNull(delimiter)); for (B2ObjectList.Entry entry : list.files()) { if (entry.action() == Action.FOLDER) { - builder.add(new StorageMetadataImpl(StorageType.RELATIVE_PATH, null, entry.fileName(), null, null, null, null, entry.uploadTimestamp(), ImmutableMap.<String, String>of(), null)); + builder.add(new StorageMetadataImpl(StorageType.RELATIVE_PATH, null, entry.fileName(), null, null, null, null, entry.uploadTimestamp(), ImmutableMap.<String, String>of(), null, Tier.STANDARD)); } else if (options.isDetailed()) { BlobMetadata metadata = blobMetadata(container, entry.fileName()); if (metadata != null) {
