You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ev...@apache.org on 2014/10/13 23:33:40 UTC

git commit: JCLOUDS-592: Explicitly specify region for BlobStore related APIs

Repository: jclouds-examples
Updated Branches:
  refs/heads/master b183a1874 -> 89aa821f0


JCLOUDS-592: Explicitly specify region for BlobStore related APIs


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

Branch: refs/heads/master
Commit: 89aa821f0ae5b3e3b03bb423019910444d5b7cfd
Parents: b183a18
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Sun Sep 7 19:46:14 2014 -0700
Committer: Everett Toews <ev...@apache.org>
Committed: Mon Oct 13 16:33:35 2014 -0500

----------------------------------------------------------------------
 .../rackspace/cloudfiles/GenerateTempURL.java   | 45 ++++++++++++++------
 1 file changed, 31 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-examples/blob/89aa821f/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GenerateTempURL.java
----------------------------------------------------------------------
diff --git a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GenerateTempURL.java b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GenerateTempURL.java
index a663e1c..f0e7f03 100644
--- a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GenerateTempURL.java
+++ b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GenerateTempURL.java
@@ -18,26 +18,33 @@
  */
 package org.jclouds.examples.rackspace.cloudfiles;
 
-import com.google.common.io.ByteSource;
-import com.google.common.io.Closeables;
-import com.google.common.io.Files;
+import static org.jclouds.examples.rackspace.cloudfiles.Constants.CONTAINER;
+import static org.jclouds.examples.rackspace.cloudfiles.Constants.PROVIDER;
+import static org.jclouds.examples.rackspace.cloudfiles.Constants.REGION;
+
+import java.io.Closeable;
+import java.io.File;
+import java.io.IOException;
+import java.util.Set;
+
 import org.jclouds.ContextBuilder;
 import org.jclouds.blobstore.BlobStore;
 import org.jclouds.blobstore.domain.Blob;
+import org.jclouds.domain.Location;
+import org.jclouds.domain.LocationBuilder;
+import org.jclouds.domain.LocationScope;
 import org.jclouds.http.HttpRequest;
 import org.jclouds.http.HttpResponse;
 import org.jclouds.http.HttpResponseException;
 import org.jclouds.io.Payload;
 import org.jclouds.io.Payloads;
+import org.jclouds.location.predicates.LocationPredicates;
 import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext;
 
-import java.io.Closeable;
-import java.io.File;
-import java.io.IOException;
-
-import static org.jclouds.examples.rackspace.cloudfiles.Constants.CONTAINER;
-import static org.jclouds.examples.rackspace.cloudfiles.Constants.PROVIDER;
-import static org.jclouds.examples.rackspace.cloudfiles.Constants.REGION;
+import com.google.common.collect.Sets;
+import com.google.common.io.ByteSource;
+import com.google.common.io.Closeables;
+import com.google.common.io.Files;
 
 /**
  * The Temporary URL feature (TempURL) allows you to create limited-time Internet addresses which allow you to grant
@@ -72,6 +79,7 @@ public class GenerateTempURL implements Closeable {
       GenerateTempURL generateTempURL = new GenerateTempURL(args[0], args[1]);
 
       try {
+         generateTempURL.createContainer();
          generateTempURL.generatePutTempURL();
          generateTempURL.generateGetTempURL();
          generateTempURL.generateDeleteTempURL();
@@ -91,6 +99,15 @@ public class GenerateTempURL implements Closeable {
       blobStore = blobStoreContext.getBlobStore(REGION);
    }
 
+   private void createContainer() throws IOException {
+      // Ensure that the container exists
+      Location location = new LocationBuilder().scope(LocationScope.REGION).id(REGION).description("region").build();
+      if (!blobStore.containerExists(CONTAINER)) {
+            blobStore.createContainerInLocation(location, CONTAINER);
+         System.out.format("Created container in %s%n", REGION);
+      }
+   }
+
    private void generatePutTempURL() throws IOException {
       System.out.format("Generate PUT Temp URL%n");
 
@@ -101,7 +118,7 @@ public class GenerateTempURL implements Closeable {
 
       // Create the Blob
       Blob blob = blobStore.blobBuilder(FILENAME).payload(payload).contentType("text/plain").build();
-      HttpRequest request = blobStoreContext.getSigner().signPutBlob(CONTAINER, blob, TEN_MINUTES);
+      HttpRequest request = blobStoreContext.getSigner(REGION).signPutBlob(CONTAINER, blob, TEN_MINUTES);
 
       System.out.format("  %s %s%n", request.getMethod(), request.getEndpoint());
 
@@ -120,7 +137,7 @@ public class GenerateTempURL implements Closeable {
    private void generateGetTempURL() throws IOException {
       System.out.format("Generate GET Temp URL%n");
 
-      HttpRequest request = blobStoreContext.getSigner().signGetBlob(CONTAINER, FILENAME, TEN_MINUTES);
+      HttpRequest request = blobStoreContext.getSigner(REGION).signGetBlob(CONTAINER, FILENAME, TEN_MINUTES);
 
       System.out.format("  %s %s%n", request.getMethod(), request.getEndpoint());
 
@@ -141,7 +158,7 @@ public class GenerateTempURL implements Closeable {
    private void generateDeleteTempURL() throws IOException {
       System.out.format("Generate DELETE Temp URL%n");
 
-      HttpRequest request = blobStoreContext.getSigner().signRemoveBlob(CONTAINER, FILENAME);
+      HttpRequest request = blobStoreContext.getSigner(REGION).signRemoveBlob(CONTAINER, FILENAME);
 
       System.out.format("  %s %s%n", request.getMethod(), request.getEndpoint());
 
@@ -150,7 +167,7 @@ public class GenerateTempURL implements Closeable {
       int statusCode = response.getStatusCode();
 
       if (statusCode >= 200 && statusCode < 299) {
-         System.out.format("  DELETE Success (%s)", statusCode);
+         System.out.format("  DELETE Success (%s)%n", statusCode);
       }
       else {
          throw new HttpResponseException(null, response);