JCLOUDS-1337: jdbc putBlob portable storage tiers
diff --git a/jdbc/src/main/java/org/jclouds/jdbc/conversion/BlobEntityToBlob.java b/jdbc/src/main/java/org/jclouds/jdbc/conversion/BlobEntityToBlob.java
index a91a3bc..9d99778 100644
--- a/jdbc/src/main/java/org/jclouds/jdbc/conversion/BlobEntityToBlob.java
+++ b/jdbc/src/main/java/org/jclouds/jdbc/conversion/BlobEntityToBlob.java
@@ -76,6 +76,7 @@
HashCode.fromBytes(payload.getContentMD5()));
blob.getMetadata().setETag(blobEntity.getEtag());
blob.getMetadata().getContentMetadata().setExpires(payload.getExpires());
+ blob.getMetadata().setTier(blobEntity.getTier());
return blob;
}
diff --git a/jdbc/src/main/java/org/jclouds/jdbc/entity/BlobEntity.java b/jdbc/src/main/java/org/jclouds/jdbc/entity/BlobEntity.java
index 4ec9cfb..9a96a36 100644
--- a/jdbc/src/main/java/org/jclouds/jdbc/entity/BlobEntity.java
+++ b/jdbc/src/main/java/org/jclouds/jdbc/entity/BlobEntity.java
@@ -17,6 +17,7 @@
package org.jclouds.jdbc.entity;
import org.jclouds.blobstore.domain.BlobAccess;
+import org.jclouds.blobstore.domain.Tier;
import javax.persistence.CascadeType;
import javax.persistence.ElementCollection;
@@ -54,6 +55,7 @@
private Date creationDate;
private Date lastModified;
private BlobAccess blobAccess;
+ private Tier tier;
private Long size;
private String etag;
private boolean directory;
@@ -73,13 +75,14 @@
}
public BlobEntity(ContainerEntity containerEntity, String key, PayloadEntity payload, Date creationDate, Date lastModified,
- BlobAccess blobAccess, Map<String, String> userMetadata, Long size, String etag, boolean directory) {
+ BlobAccess blobAccess, Tier tier, Map<String, String> userMetadata, Long size, String etag, boolean directory) {
this.containerEntity = containerEntity;
this.key = key;
this.creationDate = creationDate;
this.lastModified = lastModified;
this.payload = payload;
this.blobAccess = blobAccess;
+ this.tier = tier;
this.userMetadata = userMetadata;
this.size = size;
this.etag = etag;
@@ -142,6 +145,14 @@
this.blobAccess = blobAccess;
}
+ public Tier getTier() {
+ return tier;
+ }
+
+ public void setTier(Tier tier) {
+ this.tier = tier;
+ }
+
public Map<String, String> getUserMetadata() {
return userMetadata;
}
@@ -175,6 +186,7 @@
private String key;
private PayloadEntity payload;
private BlobAccess blobAccess;
+ private Tier tier;
private Long size;
private String etag;
private Map<String, String> userMetadata;
@@ -191,6 +203,11 @@
return this;
}
+ public Builder tier(Tier tier) {
+ this.tier = tier;
+ return this;
+ }
+
public Builder payload(PayloadEntity payload) {
this.payload = payload;
return this;
@@ -217,7 +234,7 @@
}
public BlobEntity build() {
- return new BlobEntity(containerEntity, key, payload, null, null, blobAccess, userMetadata, size, etag, directory);
+ return new BlobEntity(containerEntity, key, payload, null, null, blobAccess, tier, userMetadata, size, etag, directory);
}
}
diff --git a/jdbc/src/main/java/org/jclouds/jdbc/service/JdbcService.java b/jdbc/src/main/java/org/jclouds/jdbc/service/JdbcService.java
index fe89d9e..786f080 100644
--- a/jdbc/src/main/java/org/jclouds/jdbc/service/JdbcService.java
+++ b/jdbc/src/main/java/org/jclouds/jdbc/service/JdbcService.java
@@ -130,6 +130,7 @@
blobEntity.setContainerEntity(containerRepository.findContainerByName(containerName));
blobEntity.setKey(key);
blobEntity.setBlobAccess(blobAccess);
+ blobEntity.setTier(blob.getMetadata().getTier());
blobEntity.setCreationDate(creationDate);
blobEntity.setLastModified(new Date());
blobEntity.setEtag(base16().lowerCase().encode(actualHashCode.asBytes()));