You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2016/02/17 01:30:26 UTC

[5/8] jclouds git commit: Convert CopyOptions into an AutoValue

Convert CopyOptions into an AutoValue

This commit requires an interface change since AutoValue lacks support
for Optional and uses Nullable annotations instead.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/293d3f86
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/293d3f86
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/293d3f86

Branch: refs/heads/master
Commit: 293d3f864e778913bb29ce577699bbeabfbd71af
Parents: c8bbb44
Author: Andrew Gaul <ga...@apache.org>
Authored: Tue Feb 9 20:37:57 2016 -0800
Committer: Andrew Gaul <ga...@apache.org>
Committed: Tue Feb 16 16:29:54 2016 -0800

----------------------------------------------------------------------
 .../blobstore/RegionScopedSwiftBlobStore.java   | 11 ++--
 .../org/jclouds/s3/blobstore/S3BlobStore.java   | 21 ++++----
 .../blobstore/config/LocalBlobStore.java        | 11 ++--
 .../blobstore/internal/BaseBlobStore.java       | 11 ++--
 .../jclouds/blobstore/options/CopyOptions.java  | 54 +++++---------------
 .../azureblob/blobstore/AzureBlobStore.java     | 21 ++++----
 6 files changed, 49 insertions(+), 80 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/293d3f86/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java
----------------------------------------------------------------------
diff --git a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java
index a0d40bc..5b331ed 100644
--- a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java
+++ b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java
@@ -253,12 +253,11 @@ public class RegionScopedSwiftBlobStore implements BlobStore {
          CopyOptions options) {
       ObjectApi objectApi = api.getObjectApi(regionId, toContainer);
 
-      Map<String, String> userMetadata;
       Map<String, String> systemMetadata = Maps.newHashMap();
-      ContentMetadata contentMetadata = options.getContentMetadata().orNull();
+      ContentMetadata contentMetadata = options.contentMetadata();
+      Map<String, String> userMetadata = options.userMetadata();
 
-      if (contentMetadata != null ||
-            options.getUserMetadata().isPresent()) {
+      if (contentMetadata != null || userMetadata != null) {
          if (contentMetadata != null) {
             String contentDisposition = contentMetadata.getContentDisposition();
             if (contentDisposition != null) {
@@ -280,9 +279,7 @@ public class RegionScopedSwiftBlobStore implements BlobStore {
                systemMetadata.put(HttpHeaders.CONTENT_TYPE, contentType);
             }
          }
-         if (options.getUserMetadata().isPresent()) {
-            userMetadata = options.getUserMetadata().get();
-         } else {
+         if (userMetadata == null) {
             userMetadata = Maps.newHashMap();
          }
       } else {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/293d3f86/apis/s3/src/main/java/org/jclouds/s3/blobstore/S3BlobStore.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/blobstore/S3BlobStore.java b/apis/s3/src/main/java/org/jclouds/s3/blobstore/S3BlobStore.java
index 7803108..e01c498 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/blobstore/S3BlobStore.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/blobstore/S3BlobStore.java
@@ -71,7 +71,6 @@ import org.jclouds.s3.options.PutObjectOptions;
 import org.jclouds.s3.util.S3Utils;
 
 import com.google.common.base.Function;
-import com.google.common.base.Optional;
 import com.google.common.base.Predicate;
 import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableList;
@@ -272,37 +271,37 @@ public class S3BlobStore extends BaseBlobStore {
          CopyOptions options) {
       CopyObjectOptions s3Options = new CopyObjectOptions();
 
-      Optional<ContentMetadata> contentMetadata = options.getContentMetadata();
-      if (contentMetadata.isPresent()) {
-         String cacheControl = contentMetadata.get().getCacheControl();
+      ContentMetadata contentMetadata = options.contentMetadata();
+      if (contentMetadata != null) {
+         String cacheControl = contentMetadata.getCacheControl();
          if (cacheControl != null) {
             s3Options.cacheControl(cacheControl);
          }
 
-         String contentDisposition = contentMetadata.get().getContentDisposition();
+         String contentDisposition = contentMetadata.getContentDisposition();
          if (contentDisposition != null) {
             s3Options.contentDisposition(contentDisposition);
          }
 
-         String contentEncoding = contentMetadata.get().getContentEncoding();
+         String contentEncoding = contentMetadata.getContentEncoding();
          if (contentEncoding != null) {
             s3Options.contentEncoding(contentEncoding);
          }
 
-         String contentLanguage = contentMetadata.get().getContentLanguage();
+         String contentLanguage = contentMetadata.getContentLanguage();
          if (contentLanguage != null) {
             s3Options.contentLanguage(contentLanguage);
          }
 
-         String contentType = contentMetadata.get().getContentType();
+         String contentType = contentMetadata.getContentType();
          if (contentType != null) {
             s3Options.contentType(contentType);
          }
       }
 
-      Optional<Map<String, String>> userMetadata = options.getUserMetadata();
-      if (userMetadata.isPresent()) {
-         s3Options.overrideMetadataWith(userMetadata.get());
+      Map<String, String> userMetadata = options.userMetadata();
+      if (userMetadata != null) {
+         s3Options.overrideMetadataWith(userMetadata);
       }
 
       return sync.copyObject(fromContainer, fromName, toContainer, toName, s3Options).getETag();

http://git-wip-us.apache.org/repos/asf/jclouds/blob/293d3f86/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
index a5f3406..42e6f39 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
@@ -541,8 +541,8 @@ public final class LocalBlobStore implements BlobStore {
             builder.contentLength(contentLength);
          }
 
-         if (options.getContentMetadata().isPresent()) {
-            ContentMetadata contentMetadata = options.getContentMetadata().get();
+         ContentMetadata contentMetadata = options.contentMetadata();
+         if (contentMetadata != null) {
             String cacheControl = contentMetadata.getCacheControl();
             if (cacheControl != null) {
                builder.cacheControl(cacheControl);
@@ -570,9 +570,10 @@ public final class LocalBlobStore implements BlobStore {
                    .contentLanguage(metadata.getContentLanguage())
                    .contentType(metadata.getContentType());
          }
-         Optional<Map<String, String>> userMetadata = options.getUserMetadata();
-         if (userMetadata.isPresent()) {
-            builder.userMetadata(userMetadata.get());
+
+         Map<String, String> userMetadata = options.userMetadata();
+         if (userMetadata != null) {
+            builder.userMetadata(userMetadata);
          } else {
             builder.userMetadata(blob.getMetadata().getUserMetadata());
          }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/293d3f86/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobStore.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobStore.java b/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobStore.java
index 3c14f5f..820721e 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobStore.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobStore.java
@@ -52,7 +52,6 @@ import org.jclouds.io.PayloadSlicer;
 import org.jclouds.util.Closeables2;
 
 import com.google.common.annotations.Beta;
-import com.google.common.base.Optional;
 import com.google.common.base.Predicate;
 import com.google.common.base.Supplier;
 import com.google.common.base.Throwables;
@@ -270,8 +269,8 @@ public abstract class BaseBlobStore implements BlobStore {
          }
 
          ContentMetadata metadata;
-         if (options.getContentMetadata().isPresent()) {
-            metadata = options.getContentMetadata().get();
+         if (options.contentMetadata() != null) {
+            metadata = options.contentMetadata();
          } else {
             metadata = blob.getMetadata().getContentMetadata();
          }
@@ -281,9 +280,9 @@ public abstract class BaseBlobStore implements BlobStore {
                .contentLanguage(metadata.getContentLanguage())
                .contentType(metadata.getContentType());
 
-         Optional<Map<String, String>> userMetadata = options.getUserMetadata();
-         if (userMetadata.isPresent()) {
-            builder.userMetadata(userMetadata.get());
+         Map<String, String> userMetadata = options.userMetadata();
+         if (userMetadata != null) {
+            builder.userMetadata(userMetadata);
          } else {
             builder.userMetadata(blob.getMetadata().getUserMetadata());
          }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/293d3f86/blobstore/src/main/java/org/jclouds/blobstore/options/CopyOptions.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/options/CopyOptions.java b/blobstore/src/main/java/org/jclouds/blobstore/options/CopyOptions.java
index 4084cf9..bb7985c 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/options/CopyOptions.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/options/CopyOptions.java
@@ -17,59 +17,33 @@
 
 package org.jclouds.blobstore.options;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-
 import java.util.Map;
 
 import org.jclouds.io.ContentMetadata;
+import org.jclouds.javax.annotation.Nullable;
 
+import com.google.auto.value.AutoValue;
 import com.google.common.annotations.Beta;
-import com.google.common.base.Optional;
-import com.google.common.collect.ImmutableMap;
 
+@AutoValue
 @Beta
-public final class CopyOptions {
+public abstract class CopyOptions {
    public static final CopyOptions NONE = builder().build();
 
-   private final Optional<ContentMetadata> contentMetadata;
-   private final Optional<Map<String, String>> userMetadata;
-
-   private CopyOptions(Builder builder) {
-      this.contentMetadata = Optional.fromNullable(builder.contentMetadata);
-      this.userMetadata = Optional.fromNullable(builder.userMetadata);
-   }
-
-   public Optional<ContentMetadata> getContentMetadata() {
-      return contentMetadata;
-   }
-
-   public Optional<Map<String, String>> getUserMetadata() {
-      return userMetadata;
-   }
-
    public static Builder builder() {
-      return new Builder();
+      return new AutoValue_CopyOptions.Builder();
    }
 
-   public static class Builder {
-      ContentMetadata contentMetadata;
-      Map<String, String> userMetadata;
-
-      Builder() {
-      }
-
-      public Builder contentMetadata(ContentMetadata contentMetadata) {
-         this.contentMetadata = checkNotNull(contentMetadata, "contentMetadata");
-         return this;
-      }
+   @Nullable
+   public abstract ContentMetadata contentMetadata();
+   @Nullable
+   public abstract Map<String, String> userMetadata();
 
-      public Builder userMetadata(Map<String, String> userMetadata) {
-         this.userMetadata = ImmutableMap.copyOf(userMetadata);
-         return this;
-      }
+   @AutoValue.Builder
+   public abstract static class Builder {
+      public abstract Builder contentMetadata(ContentMetadata contentMetadata);
+      public abstract Builder userMetadata(Map<String, String> userMetadata);
 
-      public CopyOptions build() {
-          return new CopyOptions(this);
-      }
+      public abstract CopyOptions build();
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/293d3f86/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java
----------------------------------------------------------------------
diff --git a/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java b/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java
index eed4ada..90e7d99 100644
--- a/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java
+++ b/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java
@@ -69,7 +69,6 @@ import org.jclouds.io.MutableContentMetadata;
 import org.jclouds.io.PayloadSlicer;
 
 import com.google.common.base.Function;
-import com.google.common.base.Optional;
 import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
@@ -237,39 +236,39 @@ public class AzureBlobStore extends BaseBlobStore {
          CopyOptions options) {
       CopyBlobOptions.Builder azureOptions = CopyBlobOptions.builder();
 
-      Optional<Map<String, String>> userMetadata = options.getUserMetadata();
-      if (userMetadata.isPresent()) {
-         azureOptions.overrideUserMetadata(userMetadata.get());
+      Map<String, String> userMetadata = options.userMetadata();
+      if (userMetadata != null) {
+         azureOptions.overrideUserMetadata(userMetadata);
       }
 
       URI source = context.getSigner().signGetBlob(fromContainer, fromName).getEndpoint();
       String eTag = sync.copyBlob(source, toContainer, toName, azureOptions.build());
 
-      Optional<ContentMetadata> contentMetadata = options.getContentMetadata();
-      if (contentMetadata.isPresent()) {
+      ContentMetadata contentMetadata = options.contentMetadata();
+      if (contentMetadata != null) {
          ContentMetadataBuilder builder = ContentMetadataBuilder.create();
 
-         String cacheControl = contentMetadata.get().getCacheControl();
+         String cacheControl = contentMetadata.getCacheControl();
          if (cacheControl != null) {
             builder.cacheControl(cacheControl);
          }
 
-         String contentDisposition = contentMetadata.get().getContentDisposition();
+         String contentDisposition = contentMetadata.getContentDisposition();
          if (contentDisposition != null) {
             builder.contentDisposition(contentDisposition);
          }
 
-         String contentEncoding = contentMetadata.get().getContentEncoding();
+         String contentEncoding = contentMetadata.getContentEncoding();
          if (contentEncoding != null) {
             builder.contentEncoding(contentEncoding);
          }
 
-         String contentLanguage = contentMetadata.get().getContentLanguage();
+         String contentLanguage = contentMetadata.getContentLanguage();
          if (contentLanguage != null) {
             builder.contentLanguage(contentLanguage);
          }
 
-         String contentType = contentMetadata.get().getContentType();
+         String contentType = contentMetadata.getContentType();
          if (contentType != null) {
             builder.contentType(contentType);
          }