Deprecate user metadata in DigitalOcean

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

Branch: refs/heads/master
Commit: baab388c577ac8a23a3c2b347fdceafd8d51a74b
Parents: 92044e3
Author: Ignasi Barrera <[email protected]>
Authored: Wed Dec 7 17:16:51 2016 +0100
Committer: Ignasi Barrera <[email protected]>
Committed: Wed Dec 7 17:18:23 2016 +0100

----------------------------------------------------------------------
 .../DigitalOcean2ComputeServiceAdapter.java     | 15 +++-------
 .../options/DigitalOcean2TemplateOptions.java   | 31 ++++++++++++++++++++
 2 files changed, 35 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/baab388c/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/DigitalOcean2ComputeServiceAdapter.java
----------------------------------------------------------------------
diff --git 
a/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/DigitalOcean2ComputeServiceAdapter.java
 
b/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/DigitalOcean2ComputeServiceAdapter.java
index 1782551..b8f34ae 100644
--- 
a/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/DigitalOcean2ComputeServiceAdapter.java
+++ 
b/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/DigitalOcean2ComputeServiceAdapter.java
@@ -28,7 +28,6 @@ import static 
org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_S
 import static 
org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_TERMINATED;
 
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 
 import javax.annotation.Resource;
@@ -48,7 +47,6 @@ import org.jclouds.digitalocean2.domain.Region;
 import org.jclouds.digitalocean2.domain.Size;
 import org.jclouds.digitalocean2.domain.options.CreateDropletOptions;
 import org.jclouds.domain.LoginCredentials;
-import org.jclouds.json.Json;
 import org.jclouds.logging.Logger;
 
 import com.google.common.base.Function;
@@ -68,18 +66,15 @@ public class DigitalOcean2ComputeServiceAdapter implements 
ComputeServiceAdapter
    private final Predicate<Integer> nodeRunningPredicate;
    private final Predicate<Integer> nodeStoppedPredicate;
    private final Predicate<Integer> nodeTerminatedPredicate;
-   private final Json json;
 
    @Inject DigitalOcean2ComputeServiceAdapter(DigitalOcean2Api api,
          @Named(TIMEOUT_NODE_RUNNING) Predicate<Integer> nodeRunningPredicate,
          @Named(TIMEOUT_NODE_SUSPENDED) Predicate<Integer> 
nodeStoppedPredicate,
-         @Named(TIMEOUT_NODE_TERMINATED) Predicate<Integer> 
nodeTerminatedPredicate,
-         Json json) {
+         @Named(TIMEOUT_NODE_TERMINATED) Predicate<Integer> 
nodeTerminatedPredicate) {
       this.api = api;
       this.nodeRunningPredicate = nodeRunningPredicate;
       this.nodeStoppedPredicate = nodeStoppedPredicate;
       this.nodeTerminatedPredicate = nodeTerminatedPredicate;
-      this.json = json;
    }
 
    private void setUserDataIfSupported(Template template, 
CreateDropletOptions.Builder options, String userData) {
@@ -110,11 +105,9 @@ public class DigitalOcean2ComputeServiceAdapter implements 
ComputeServiceAdapter
       // Encoding tags or anything else than user_data in here breaks their 
functionality.
       if (null != templateOptions.getUserData()) {
          setUserDataIfSupported(template, options, new 
String(templateOptions.getUserData()));
-      }
-      // Backwards compatible variant, getting userData from userMetaData map.
-      Map<String, String> metadataAndTags = templateOptions.getUserMetadata();
-      if (null != metadataAndTags.get("user_data")) {
-         setUserDataIfSupported(template, options, 
metadataAndTags.get("user_data"));
+      } else if (null != templateOptions.getUserMetadata().get("user_data")) {
+         // Backwards compatible variant, getting userData from userMetaData 
map.
+         setUserDataIfSupported(template, options, 
templateOptions.getUserMetadata().get("user_data"));
       }
 
       DropletCreate dropletCreated = api.dropletApi().create(name,

http://git-wip-us.apache.org/repos/asf/jclouds/blob/baab388c/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/options/DigitalOcean2TemplateOptions.java
----------------------------------------------------------------------
diff --git 
a/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/options/DigitalOcean2TemplateOptions.java
 
b/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/options/DigitalOcean2TemplateOptions.java
index bc18a59..2a86f85 100644
--- 
a/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/options/DigitalOcean2TemplateOptions.java
+++ 
b/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/options/DigitalOcean2TemplateOptions.java
@@ -20,6 +20,7 @@ import static com.google.common.base.Objects.equal;
 import static com.google.common.base.Preconditions.checkNotNull;
 
 import java.util.Arrays;
+import java.util.Map;
 import java.util.Set;
 
 import org.jclouds.compute.options.TemplateOptions;
@@ -77,6 +78,36 @@ public class DigitalOcean2TemplateOptions extends 
TemplateOptions implements Clo
       this.userData = userData;
       return this;
    }
+   
+   /**
+    * @deprecated Key value metadata is not supported in DigitalOcean. Use
+    *             {@link #userData(byte[])} instead.
+    */
+   @Deprecated
+   @Override
+   public TemplateOptions userMetadata(Map<String, String> userMetadata) {
+      return super.userMetadata(userMetadata);
+   }
+
+   /**
+    * @deprecated Key value metadata is not supported in DigitalOcean. Use
+    *             {@link #userData(byte[])} instead.
+    */
+   @Deprecated
+   @Override
+   public TemplateOptions userMetadata(String key, String value) {
+      return super.userMetadata(key, value);
+   }
+
+   /**
+    * @deprecated Key value metadata is not supported in DigitalOcean. User 
data
+    *             can be retrieved with {@link #getUserData()}.
+    */
+   @Deprecated
+   @Override
+   public Map<String, String> getUserMetadata() {
+      return super.getUserMetadata();
+   }
 
    public Set<Integer> getSshKeyIds() {
       return sshKeyIds;

Reply via email to