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()));