http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/DefaultObjectAccessControlsTemplate.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/DefaultObjectAccessControlsTemplate.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/DefaultObjectAccessControlsTemplate.java
index e47da5c..48648ad 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/DefaultObjectAccessControlsTemplate.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/DefaultObjectAccessControlsTemplate.java
@@ -16,7 +16,7 @@
  */
 package org.jclouds.googlecloudstorage.domain.templates;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 
 /**
  * Represents a Object Access Control Resource

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectAccessControlsTemplate.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectAccessControlsTemplate.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectAccessControlsTemplate.java
index e050ce3..a3f45ed 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectAccessControlsTemplate.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectAccessControlsTemplate.java
@@ -16,7 +16,7 @@
  */
 package org.jclouds.googlecloudstorage.domain.templates;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 
 /**
  * Represents a Object Access Control Resource.

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectTemplate.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectTemplate.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectTemplate.java
index 84e69fd..3b7bc1b 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectTemplate.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/templates/ObjectTemplate.java
@@ -134,13 +134,19 @@ public class ObjectTemplate {
    }
 
    public HashCode getCrc32cHashcode() {
-      HashCode hc = 
HashCode.fromBytes(DomainUtils.reverse(BaseEncoding.base64().decode(crc32c)));
-      return hc;
+      if (crc32c != null) {
+         HashCode hc = 
HashCode.fromBytes(DomainUtils.reverse(BaseEncoding.base64().decode(crc32c)));
+         return hc;
+      }
+      return null;
    }
 
    public HashCode getMd5HashCode() {
-      HashCode hc = HashCode.fromBytes(BaseEncoding.base64().decode(md5Hash));
-      return hc;
+      if (md5Hash != null) {
+         HashCode hc = 
HashCode.fromBytes(BaseEncoding.base64().decode(md5Hash));
+         return hc;
+      }
+      return null;
    }
 
    public Map<String, String> getAllCustomMetadata() {

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/fallback/GCSFallbacks.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/fallback/GCSFallbacks.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/fallback/GCSFallbacks.java
new file mode 100644
index 0000000..fe3f309
--- /dev/null
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/fallback/GCSFallbacks.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.googlecloudstorage.fallback;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Throwables.propagate;
+import static com.google.common.util.concurrent.Futures.immediateFuture;
+import org.jclouds.Fallback;
+import com.google.common.util.concurrent.ListenableFuture;
+
+public final class GCSFallbacks {
+
+   public static final class NullOnBucketAlreadyExists implements 
Fallback<Object> {
+      public ListenableFuture<Object> create(Throwable t) throws Exception {
+         return immediateFuture(createOrPropagate(t));
+      }
+
+      public Object createOrPropagate(Throwable t) throws Exception {
+         if (checkNotNull(t, "throwable") instanceof IllegalStateException) {
+            return null;
+         }
+         throw propagate(t);
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketApi.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketApi.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketApi.java
index 3f48520..71f6d95 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketApi.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketApi.java
@@ -31,11 +31,15 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
 
+import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
+import org.jclouds.Fallbacks.TrueOnNotFoundOr404;
+import org.jclouds.blobstore.BlobStoreFallbacks.NullOnKeyAlreadyExists;
 import org.jclouds.googlecloudstorage.binders.BucketBinder;
 import org.jclouds.googlecloudstorage.domain.Bucket;
 import org.jclouds.googlecloudstorage.domain.ListPage;
 import org.jclouds.googlecloudstorage.domain.templates.BucketTemplate;
+import 
org.jclouds.googlecloudstorage.fallback.GCSFallbacks.NullOnBucketAlreadyExists;
 import org.jclouds.googlecloudstorage.options.DeleteBucketOptions;
 import org.jclouds.googlecloudstorage.options.GetBucketOptions;
 import org.jclouds.googlecloudstorage.options.InsertBucketOptions;
@@ -64,6 +68,22 @@ import org.jclouds.rest.binders.BindToJsonPayload;
 public interface BucketApi {
 
    /**
+    * Check the existence of a bucket
+    *
+    * @param bucketName
+    *           Name of the bucket
+    *
+    * @return a {@link Bucket} true if bucket exist
+    */
+   @Named("Bucket:get")
+   @GET
+   @Consumes(MediaType.APPLICATION_JSON)
+   @Path("/b/{bucket}")
+   @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
+   @Fallback(FalseOnNotFoundOr404.class)
+   boolean bucketExist(@PathParam("bucket") String bucketName);
+
+   /**
     * Returns metadata for the specified bucket.
     *
     * @param bucketName
@@ -117,6 +137,7 @@ public interface BucketApi {
    @Path("/b")
    @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
    @MapBinder(BucketBinder.class)
+   @Fallback(NullOnBucketAlreadyExists.class)
    Bucket createBucket(@QueryParam("project") String projectId, 
@PayloadParam("template") BucketTemplate bucketTemplate);
 
    /**
@@ -138,6 +159,7 @@ public interface BucketApi {
    @Path("/b")
    @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
    @MapBinder(BucketBinder.class)
+   @Fallback(NullOnKeyAlreadyExists.class)
    Bucket createBucket(@QueryParam("project") String projectId,
             @PayloadParam("template") BucketTemplate bucketTemplate, 
InsertBucketOptions options);
 
@@ -151,9 +173,9 @@ public interface BucketApi {
    @DELETE
    @Consumes(MediaType.APPLICATION_JSON)
    @Path("/b/{bucket}")
+   @Fallback(TrueOnNotFoundOr404.class)
    @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
-   @Nullable
-   void deleteBucket(@PathParam("bucket") String bucketName);
+   boolean deleteBucket(@PathParam("bucket") String bucketName);
 
    /**
     * Permanently deletes an empty Bucket.If bucket is not empty 409 error to 
indicate the conflict.
@@ -167,9 +189,9 @@ public interface BucketApi {
    @DELETE
    @Consumes(MediaType.APPLICATION_JSON)
    @Path("/b/{bucket}")
+   @Fallback(TrueOnNotFoundOr404.class)
    @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
-   @Nullable
-   void deleteBucket(@PathParam("bucket") String bucketName, 
DeleteBucketOptions options);
+   boolean deleteBucket(@PathParam("bucket") String bucketName, 
DeleteBucketOptions options);
 
    /**
     * Retrieves a list of buckets for a given project

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java
index 29e5a89..a1cb2a2 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java
@@ -34,7 +34,7 @@ import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import 
org.jclouds.googlecloudstorage.binders.DefaultObjectAccessControlsBinder;
 import org.jclouds.googlecloudstorage.domain.DefaultObjectAccessControls;
 import org.jclouds.googlecloudstorage.domain.ListDefaultObjectAccessControls;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 import org.jclouds.http.HttpResponse;
 import 
org.jclouds.googlecloudstorage.domain.templates.DefaultObjectAccessControlsTemplate;
 import org.jclouds.javax.annotation.Nullable;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java
index 11299c1..93f67ad 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java
@@ -255,6 +255,8 @@ public interface ObjectApi {
    @Produces(MediaType.APPLICATION_JSON)
    @Path("storage/v1/b/{bucket}/o")
    @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
+   @Fallback(NullOnNotFoundOr404.class)
+   @Nullable
    ListPage<GCSObject> listObjects(@PathParam("bucket") String bucketName);
 
    /**
@@ -272,6 +274,8 @@ public interface ObjectApi {
    @Produces(MediaType.APPLICATION_JSON)
    @Path("storage/v1/b/{bucket}/o")
    @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
+   @Fallback(NullOnNotFoundOr404.class)
+   @Nullable
    ListPage<GCSObject> listObjects(@PathParam("bucket") String bucketName, 
ListObjectOptions options);
 
    /**

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ComposeObjectOptions.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ComposeObjectOptions.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ComposeObjectOptions.java
index 584470d..fb9eeb5 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ComposeObjectOptions.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ComposeObjectOptions.java
@@ -18,7 +18,7 @@ package org.jclouds.googlecloudstorage.options;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.DestinationPredefinedAcl;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.DestinationPredefinedAcl;
 import org.jclouds.http.options.BaseHttpRequestOptions;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/CopyObjectOptions.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/CopyObjectOptions.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/CopyObjectOptions.java
index 1c6bcd9..a003686 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/CopyObjectOptions.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/CopyObjectOptions.java
@@ -18,8 +18,8 @@ package org.jclouds.googlecloudstorage.options;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.PredefinedAcl;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Projection;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.PredefinedAcl;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
 import org.jclouds.http.options.BaseHttpRequestOptions;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/DeleteObjectOptions.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/DeleteObjectOptions.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/DeleteObjectOptions.java
index c0c7776..d2c0d01 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/DeleteObjectOptions.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/DeleteObjectOptions.java
@@ -18,7 +18,7 @@ package org.jclouds.googlecloudstorage.options;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.PredefinedAcl;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.PredefinedAcl;
 import org.jclouds.http.options.BaseHttpRequestOptions;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetBucketOptions.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetBucketOptions.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetBucketOptions.java
index cdcf1d7..9d992fa 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetBucketOptions.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetBucketOptions.java
@@ -18,7 +18,7 @@ package org.jclouds.googlecloudstorage.options;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Projection;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
 import org.jclouds.http.options.BaseHttpRequestOptions;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetObjectOptions.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetObjectOptions.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetObjectOptions.java
index 8fb22b8..a4446e6 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetObjectOptions.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/GetObjectOptions.java
@@ -18,7 +18,7 @@ package org.jclouds.googlecloudstorage.options;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Projection;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
 import org.jclouds.http.options.BaseHttpRequestOptions;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/InsertBucketOptions.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/InsertBucketOptions.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/InsertBucketOptions.java
index f3caff2..da3ce30 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/InsertBucketOptions.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/InsertBucketOptions.java
@@ -18,8 +18,8 @@ package org.jclouds.googlecloudstorage.options;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.PredefinedAcl;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Projection;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.PredefinedAcl;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
 import org.jclouds.http.options.BaseHttpRequestOptions;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/InsertObjectOptions.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/InsertObjectOptions.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/InsertObjectOptions.java
index a1d5554..e9af93c 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/InsertObjectOptions.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/InsertObjectOptions.java
@@ -18,8 +18,8 @@ package org.jclouds.googlecloudstorage.options;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.PredefinedAcl;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Projection;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.PredefinedAcl;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
 import org.jclouds.http.options.BaseHttpRequestOptions;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ListObjectOptions.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ListObjectOptions.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ListObjectOptions.java
index d3cb523..8f5710a 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ListObjectOptions.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ListObjectOptions.java
@@ -18,7 +18,7 @@ package org.jclouds.googlecloudstorage.options;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Projection;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
 import org.jclouds.http.options.BaseHttpRequestOptions;
 
 public class ListObjectOptions extends BaseHttpRequestOptions {

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ListOptions.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ListOptions.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ListOptions.java
index 6badbb6..3966a8c 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ListOptions.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/ListOptions.java
@@ -18,7 +18,7 @@ package org.jclouds.googlecloudstorage.options;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Projection;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
 import org.jclouds.http.options.BaseHttpRequestOptions;
 
 public class ListOptions extends BaseHttpRequestOptions {

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/UpdateBucketOptions.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/UpdateBucketOptions.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/UpdateBucketOptions.java
index a5a05e3..f5d0804 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/UpdateBucketOptions.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/UpdateBucketOptions.java
@@ -18,8 +18,8 @@ package org.jclouds.googlecloudstorage.options;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.PredefinedAcl;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Projection;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.PredefinedAcl;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
 import org.jclouds.http.options.BaseHttpRequestOptions;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/UpdateObjectOptions.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/UpdateObjectOptions.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/UpdateObjectOptions.java
index bb3316b..1fca761 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/UpdateObjectOptions.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/options/UpdateObjectOptions.java
@@ -18,8 +18,8 @@ package org.jclouds.googlecloudstorage.options;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.PredefinedAcl;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Projection;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.PredefinedAcl;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
 import org.jclouds.http.options.BaseHttpRequestOptions;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/reference/GoogleCloudStorageConstants.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/reference/GoogleCloudStorageConstants.java
 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/reference/GoogleCloudStorageConstants.java
index faac784..7607ce0 100644
--- 
a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/reference/GoogleCloudStorageConstants.java
+++ 
b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/reference/GoogleCloudStorageConstants.java
@@ -16,6 +16,10 @@
  */
 package org.jclouds.googlecloudstorage.reference;
 
+import org.jclouds.domain.Location;
+import org.jclouds.domain.LocationBuilder;
+import org.jclouds.domain.LocationScope;
+
 import com.google.common.annotations.Beta;
 
 public final class GoogleCloudStorageConstants {
@@ -46,4 +50,7 @@ public final class GoogleCloudStorageConstants {
 
    @Beta
    public static final String OPERATION_COMPLETE_INTERVAL = 
"jclouds.google-cloud-storage.operation-complete-interval";
+
+   public static final Location GOOGLE_PROVIDER_LOCATION = new 
LocationBuilder().scope(LocationScope.PROVIDER).id
+            (GCS_PROVIDER_NAME).description(GCS_PROVIDER_NAME).build();
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSBlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSBlobIntegrationLiveTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSBlobIntegrationLiveTest.java
new file mode 100644
index 0000000..5f622f4
--- /dev/null
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSBlobIntegrationLiveTest.java
@@ -0,0 +1,260 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.googlecloudstorage.blobstore.integration;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Properties;
+
+import javax.ws.rs.core.MediaType;
+
+import org.jclouds.blobstore.BlobStore;
+import org.jclouds.blobstore.domain.Blob;
+import org.jclouds.blobstore.domain.BlobBuilder.PayloadBlobBuilder;
+import org.jclouds.blobstore.domain.BlobMetadata;
+import org.jclouds.blobstore.domain.PageSet;
+import org.jclouds.blobstore.domain.StorageMetadata;
+import org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest;
+import org.jclouds.blobstore.options.PutOptions;
+import 
org.jclouds.googlecloudstorage.blobstore.strategy.internal.MultipartUpload;
+import org.jclouds.io.Payloads;
+import org.jclouds.io.payloads.ByteSourcePayload;
+import org.jclouds.utils.TestUtils;
+import org.testng.SkipException;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+import com.google.common.base.Charsets;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.hash.HashCode;
+import com.google.common.hash.HashFunction;
+import com.google.common.hash.Hashing;
+import com.google.common.io.ByteSource;
+import com.google.common.io.Files;
+
+@Test(groups = { "live", "blobstorelive" })
+public class GCSBlobIntegrationLiveTest extends BaseBlobIntegrationTest {
+
+   private long PART_SIZE = MultipartUpload.MIN_PART_SIZE;
+
+   @Override
+   protected Properties setupProperties() {
+      Properties properties = super.setupProperties();
+      properties.put("jclouds.mpu.parts.size", 2 * 1024 * 1024);
+      return properties;
+   }
+
+   public GCSBlobIntegrationLiveTest() throws IOException {
+      provider = "google-cloud-storage";
+   }
+
+   @Override
+   @Test(enabled = false)
+   public void testGetTwoRanges() throws SkipException {
+      // not supported in GCS
+   }
+
+   @Override
+   @Test(enabled = false)
+   public void testGetRange() throws SkipException {
+      // not supported in GCS
+   }
+
+   @Override
+   @Test(enabled = false)
+   public void testCreateBlobWithExpiry() throws SkipException {
+      // not supported in object level.
+   }
+
+   @Override
+   @Test(enabled = false)
+   public void testFileGetParallel() throws SkipException {
+      // Implement Parallel uploads
+   }
+
+   @Override
+   @Test(enabled = false)
+   public void testPutFileParallel() throws SkipException {
+      // Implement Parallel uploads
+   }
+
+   @Override
+   @Test(groups = { "integration", "live" }, dataProvider = "gcsPutTest")
+   public void testPutObject(String name, String type, Object content, Object 
realObject) throws InterruptedException,
+            IOException {
+      PayloadBlobBuilder blobBuilder = 
view.getBlobStore().blobBuilder(name).payload(Payloads.newPayload(content))
+               .contentType(type);
+      addContentMetadata(blobBuilder);
+      Blob blob = blobBuilder.build();
+      
blob.getPayload().setContentMetadata(blob.getMetadata().getContentMetadata());
+      String container = getContainerName();
+
+      try {
+         assertNotNull(view.getBlobStore().putBlob(container, blob));
+         blob = view.getBlobStore().getBlob(container, 
blob.getMetadata().getName());
+         validateMetadata(blob.getMetadata(), container, name);
+         checkContentMetadata(blob);
+
+         String returnedString = getContentAsStringOrNullAndClose(blob);
+         assertEquals(returnedString, realObject);
+         PageSet<? extends StorageMetadata> set = 
view.getBlobStore().list(container);
+         assertThat(set).isNotEmpty();
+      } finally {
+         returnContainer(container);
+      }
+   }
+
+   private void addContentMetadata(PayloadBlobBuilder blobBuilder) {
+      blobBuilder.contentType("text/csv");
+      blobBuilder.contentDisposition("attachment; filename=photo.jpg");
+      blobBuilder.contentLanguage("en");
+   }
+
+   protected void checkContentMetadata(Blob blob) {
+      checkContentType(blob, "text/csv");
+      checkContentDisposition(blob, "attachment; filename=photo.jpg");
+      checkContentLanguage(blob, "en");
+   }
+
+   @DataProvider(name = "gcsPutTest")
+   public Object[][] createData1() throws IOException {
+      File file = new File("pom.xml");
+      String realObject = Files.toString(file, Charsets.UTF_8);
+
+      return new Object[][] { { "file.xml", "text/xml", file, realObject },
+               { "string.xml", "text/xml", realObject, realObject },
+               { "bytes.xml", "application/octet-stream", 
realObject.getBytes(), realObject } };
+   }
+
+   // Content-Length should not be null
+   @Override
+   public void testPutObjectStream() throws InterruptedException, IOException, 
java.util.concurrent.ExecutionException {
+
+      ByteSource byteSource = ByteSource.wrap("foo".getBytes());
+      ByteSourcePayload payload = new ByteSourcePayload(byteSource);
+      PayloadBlobBuilder blobBuilder = 
view.getBlobStore().blobBuilder("streaming").payload(payload)
+               .contentLength(byteSource.read().length);
+      addContentMetadata(blobBuilder);
+
+      Blob blob = blobBuilder.build();
+      String container = getContainerName();
+
+      try {
+         assertNotNull(view.getBlobStore().putBlob(container, blob));
+
+         blob = view.getBlobStore().getBlob(container, 
blob.getMetadata().getName());
+         String returnedString = getContentAsStringOrNullAndClose(blob);
+         assertEquals(returnedString, "foo");
+         validateMetadata(blob.getMetadata(), container, 
blob.getMetadata().getName());
+         checkContentMetadata(blob);
+         PageSet<? extends StorageMetadata> set = 
view.getBlobStore().list(container);
+         assertThat(set).isNotEmpty();
+      } finally {
+         returnContainer(container);
+      }
+   };
+
+   @Override
+   public void testMetadata() throws InterruptedException, IOException {
+      String name = "hello";
+
+      HashFunction hf = Hashing.md5();
+      HashCode md5 = hf.newHasher().putString(TEST_STRING, 
Charsets.UTF_8).hash();
+      Blob blob = 
view.getBlobStore().blobBuilder(name).userMetadata(ImmutableMap.of("adrian", 
"powderpuff"))
+               
.payload(TEST_STRING).contentType(MediaType.TEXT_PLAIN).contentMD5(md5).build();
+      String container = getContainerName();
+      try {
+         assertNull(view.getBlobStore().blobMetadata(container, "powderpuff"));
+
+         addBlobToContainer(container, blob);
+         Blob newObject = validateContent(container, name);
+
+         BlobMetadata metadata = newObject.getMetadata();
+
+         validateMetadata(metadata);
+         validateMetadata(metadata, container, name);
+         validateMetadata(view.getBlobStore().blobMetadata(container, name));
+
+         blob.getMetadata().getUserMetadata().put("adrian", "wonderpuff");
+         blob.getMetadata().getUserMetadata().put("adrian", "powderpuff");
+
+         addBlobToContainer(container, blob);
+         validateMetadata(view.getBlobStore().blobMetadata(container, name));
+
+      } finally {
+         returnContainer(container);
+      }
+   }
+
+   @Override
+   protected void checkMD5(BlobMetadata metadata) throws IOException {
+      HashCode md5 = Hashing.md5().hashString(TEST_STRING, Charsets.UTF_8);
+      assertEquals(metadata.getContentMetadata().getContentMD5AsHashCode(), 
md5);
+   }
+
+   @Test(groups = { "integration", "live" })
+   public void testMultipartChunkedFileStream() throws IOException, 
InterruptedException {
+      String containerName = getContainerName();
+      try {
+         BlobStore blobStore = view.getBlobStore();
+         long countBefore = blobStore.countBlobs(containerName);
+
+         addMultipartBlobToContainer(containerName, "const.txt");
+
+         long countAfter = blobStore.countBlobs(containerName);
+         assertNotEquals(countBefore, countAfter, "No blob was created");
+         assertTrue(countAfter - countBefore > 1, "A multipart blob wasn't 
actually created - "
+                  + "there was only 1 extra blob but there should be one 
manifest blob and multiple chunk blobs");
+      } finally {
+         returnContainer(containerName);
+      }
+   }
+
+   protected void addMultipartBlobToContainer(String containerName, String 
key) throws IOException {
+      ByteSource sourceToUpload = TestUtils.randomByteSource().slice(0, (long) 
(PART_SIZE * 1.1));
+
+      BlobStore blobStore = view.getBlobStore();
+      blobStore.createContainerInLocation(null, containerName);
+      Blob blob = 
blobStore.blobBuilder(key).payload(sourceToUpload).contentLength(sourceToUpload.size())
+               .contentType(MediaType.TEXT_PLAIN).build();
+      blobStore.putBlob(containerName, blob, PutOptions.Builder.multipart());
+   }
+
+   @DataProvider(name = "delete")
+   public Object[][] createData() {
+      if (System.getProperty("os.name").toLowerCase().contains("windows")) {
+         return new Object[][] { { "normal" }, { "sp ace" } };
+      } else {
+         return new Object[][] { { "normal" }, { "sp ace" }, { "qu?stion" }, { 
"path/foo" }, { "colon:" },
+                  { "asteri*k" }, { "quote\"" }, { "{great<r}" }, { "lesst>en" 
}, { "p|pe" } };
+      }
+   }
+
+   // Remove "unic₪de" from DataProvider
+   @Override
+   @Test(groups = { "integration", "live" }, dataProvider = "delete")
+   public void deleteObject(String name) throws InterruptedException {
+      super.deleteObject(name);
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSBlobLiveTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSBlobLiveTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSBlobLiveTest.java
new file mode 100644
index 0000000..50613b6
--- /dev/null
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSBlobLiveTest.java
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.googlecloudstorage.blobstore.integration;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+
+import java.io.IOException;
+
+import org.jclouds.blobstore.BlobStore;
+import org.jclouds.blobstore.domain.Blob;
+import org.jclouds.blobstore.integration.internal.BaseBlobLiveTest;
+import org.jclouds.http.HttpRequest;
+import org.jclouds.http.HttpResponse;
+import org.jclouds.http.internal.PayloadEnclosingImpl;
+import org.jclouds.io.ByteStreams2;
+import org.jclouds.io.Payloads;
+import org.jclouds.io.payloads.ByteSourcePayload;
+import org.jclouds.utils.TestUtils;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+
+import com.google.common.collect.ImmutableMap;
+import com.google.common.hash.HashCode;
+import com.google.common.hash.Hashing;
+import com.google.common.io.BaseEncoding;
+import com.google.common.io.ByteSource;
+
+@Test(groups = { "live" })
+public class GCSBlobLiveTest extends BaseBlobLiveTest {
+   private static final String sysHttpStreamUrl = 
System.getProperty("jclouds.blobstore.httpstream.url");
+   private static final String sysHttpStreamMD5 = 
System.getProperty("jclouds.blobstore.httpstream.md5");
+
+   public GCSBlobLiveTest() {
+      provider = "google-cloud-storage";
+   }
+
+   @Override
+   @Parameters({ "jclouds.blobstore.httpstream.url", 
"jclouds.blobstore.httpstream.md5" })
+   public void testCopyUrl(String httpStreamUrl, String httpStreamMD5) throws 
Exception {
+      httpStreamUrl = checkNotNull(httpStreamUrl != null ? httpStreamUrl : 
sysHttpStreamUrl, "httpStreamUrl");
+      httpStreamMD5 = checkNotNull(httpStreamMD5 != null ? httpStreamMD5 : 
sysHttpStreamMD5, "httpStreamMd5");
+
+      HttpResponse response = view.utils().http()
+               
.invoke(HttpRequest.builder().method("GET").endpoint(httpStreamUrl).build());
+      long length = 
response.getPayload().getContentMetadata().getContentLength();
+
+      
checkNotNull(response.getPayload().getContentMetadata().getContentType());
+      
assertEquals(response.getPayload().getContentMetadata().getContentType(), 
"application/x-gzip");
+
+      String name = "hello";
+      HashCode md5 = 
HashCode.fromBytes(BaseEncoding.base16().lowerCase().decode(httpStreamMD5));
+      byte[] payload = 
ByteStreams2.toByteArrayAndClose(response.getPayload().getInput());
+
+      Blob blob = 
view.getBlobStore().blobBuilder(name).payload(payload).contentLength(length)
+               
.contentType(response.getPayload().getContentMetadata().getContentType())
+               .contentMD5(md5).build();
+      String container = getContainerName();
+      try {
+         assertNotNull(view.getBlobStore().putBlob(container, blob));
+         checkMD5(container, name, md5.asBytes());
+      } finally {
+         returnContainer(container);
+      }
+   }
+
+   @Test(groups = "live")
+   public void testPutBlobWithMd5() throws IOException, InterruptedException {
+      String containerName = getContainerName();
+      String blobName = "md5test";
+      try {
+         long contentLength = 32 * 1024L;
+         ByteSource byteSource = TestUtils.randomByteSource().slice(0, 
contentLength);
+         ByteSourcePayload payload = Payloads.newByteSourcePayload(byteSource);
+         PayloadEnclosingImpl payloadImpl = new PayloadEnclosingImpl(payload);
+
+         BlobStore blobStore = view.getBlobStore();
+
+         // This would trigger server side validation of md5
+         HashCode hcMd5 = byteSource.hash(Hashing.md5());
+
+         Blob blob = 
blobStore.blobBuilder(blobName).payload(payloadImpl.getPayload()).contentType("image/jpeg")
+                  
.contentLength(contentLength).contentLanguage("en").contentDisposition("attachment")
+                  .contentMD5(hcMd5).userMetadata(ImmutableMap.of("Adrian", 
"powderpuff")).build();
+
+         blobStore.putBlob(containerName, blob);
+         checkMD5(containerName, blobName, hcMd5.asBytes());
+
+      } finally {
+         returnContainer(containerName);
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSContainerIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSContainerIntegrationLiveTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSContainerIntegrationLiveTest.java
new file mode 100644
index 0000000..f4a116b
--- /dev/null
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSContainerIntegrationLiveTest.java
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.googlecloudstorage.blobstore.integration;
+
+import static com.google.common.collect.Iterables.get;
+import static 
org.jclouds.blobstore.options.ListContainerOptions.Builder.maxResults;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNull;
+
+import java.io.IOException;
+
+import javax.ws.rs.core.MediaType;
+
+import org.jclouds.blobstore.domain.BlobMetadata;
+import org.jclouds.blobstore.domain.PageSet;
+import org.jclouds.blobstore.domain.StorageMetadata;
+import org.jclouds.blobstore.integration.internal.BaseContainerIntegrationTest;
+import org.jclouds.blobstore.options.ListContainerOptions;
+import org.testng.SkipException;
+import org.testng.annotations.Test;
+
+import com.google.common.base.Charsets;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.hash.Hashing;
+
+public class GCSContainerIntegrationLiveTest extends 
BaseContainerIntegrationTest {
+
+   public GCSContainerIntegrationLiveTest() {
+      provider = "google-cloud-storage";
+   }
+
+   @Override
+   @Test(groups = { "integration", "live" })
+   public void testWithDetails() throws InterruptedException, IOException {
+      String key = "hello";
+      String containerName = getContainerName();
+      try {
+         addBlobToContainer(
+                  containerName,
+                  
view.getBlobStore().blobBuilder(key).userMetadata(ImmutableMap.of("adrian", 
"powderpuff"))
+                           
.payload(TEST_STRING).contentType(MediaType.TEXT_PLAIN)
+                           
.contentMD5(Hashing.md5().newHasher().putString(TEST_STRING, 
Charsets.UTF_8).hash()).build());
+         validateContent(containerName, key);
+
+         PageSet<? extends StorageMetadata> container = 
view.getBlobStore().list(containerName,
+                  maxResults(1).withDetails());
+
+         BlobMetadata metadata = BlobMetadata.class.cast(get(container, 0));
+
+         assert 
metadata.getContentMetadata().getContentType().startsWith("text/plain") : 
metadata.getContentMetadata()
+                  .getContentType();
+         assertEquals(metadata.getContentMetadata().getContentLength(), 
Long.valueOf(TEST_STRING.length()));
+         assertEquals(metadata.getUserMetadata().get("adrian"), "powderpuff");
+         checkMD5(metadata);
+      } finally {
+         returnContainer(containerName);
+      }
+   }
+
+   /** Google Cloud Storage lists prefixes and objects in two different lists 
*/
+   @Override
+   public void testListRootUsesDelimiter() throws InterruptedException {
+      String containerName = getContainerName();
+      try {
+         String prefix = "rootdelimiter";
+         addTenObjectsUnderPrefix(containerName, prefix);
+         add15UnderRoot(containerName);
+         PageSet<? extends StorageMetadata> container = 
view.getBlobStore().list(containerName,
+                  new ListContainerOptions());
+         assertNull(container.getNextMarker());
+         assertEquals(container.size(), 15);
+      } finally {
+         returnContainer(containerName);
+      }
+   }
+
+   @Override
+   public void testDirectory() throws InterruptedException {
+      // GCS does not support directories, rather it supports prefixes which 
look like directories.
+      throw new SkipException("directories are not supported in GCS");
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSContainerLiveTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSContainerLiveTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSContainerLiveTest.java
new file mode 100644
index 0000000..e3fb626
--- /dev/null
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/blobstore/integration/GCSContainerLiveTest.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.googlecloudstorage.blobstore.integration;
+
+import org.jclouds.blobstore.integration.internal.BaseContainerLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = { "live" })
+public class GCSContainerLiveTest extends BaseContainerLiveTest {
+
+   public GCSContainerLiveTest() {
+      provider = "google-cloud-storage";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java
index 432ad2d..1638832 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java
@@ -26,7 +26,7 @@ import java.net.URI;
 import javax.ws.rs.core.MediaType;
 
 import org.jclouds.googlecloudstorage.domain.BucketAccessControls;
-import org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Role;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role;
 import 
org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageApiExpectTest;
 import org.jclouds.googlecloudstorage.parse.BucketAclGetTest;
 import org.jclouds.googlecloudstorage.parse.BucketAclInsertTest;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiLiveTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiLiveTest.java
index ec0f97f..3fe7fa8 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiLiveTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiLiveTest.java
@@ -23,7 +23,7 @@ import java.util.UUID;
 
 import org.jclouds.googlecloudstorage.domain.Bucket;
 import org.jclouds.googlecloudstorage.domain.BucketAccessControls;
-import org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Role;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role;
 import org.jclouds.googlecloudstorage.domain.ListBucketAccessControls;
 import org.jclouds.googlecloudstorage.domain.Resource.Kind;
 import org.jclouds.googlecloudstorage.domain.templates.BucketTemplate;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java
index a047109..6721ddc 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java
@@ -25,8 +25,8 @@ import static org.testng.AssertJUnit.assertNull;
 import javax.ws.rs.core.MediaType;
 
 import org.jclouds.googlecloudstorage.domain.BucketAccessControls;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Projection;
-import org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Role;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role;
 import org.jclouds.googlecloudstorage.domain.templates.BucketTemplate;
 import 
org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageApiExpectTest;
 import org.jclouds.googlecloudstorage.options.GetBucketOptions;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java
index 7b0f268..3458706 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java
@@ -20,18 +20,19 @@ import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertSame;
 import static org.testng.Assert.assertTrue;
+import static org.testng.Assert.assertNull;
 
 import java.util.Iterator;
 import java.util.List;
 
 import org.jclouds.googlecloudstorage.domain.BucketAccessControls;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Location;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Projection;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Location;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
 import org.jclouds.googlecloudstorage.domain.Bucket;
 import org.jclouds.googlecloudstorage.domain.DefaultObjectAccessControls;
-import org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Role;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.StorageClass;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.StorageClass;
 import org.jclouds.googlecloudstorage.domain.ListPage;
 import org.jclouds.googlecloudstorage.domain.Resource.Kind;
 import org.jclouds.googlecloudstorage.domain.internal.BucketCors;
@@ -43,7 +44,6 @@ import 
org.jclouds.googlecloudstorage.options.DeleteBucketOptions;
 import org.jclouds.googlecloudstorage.options.GetBucketOptions;
 import org.jclouds.googlecloudstorage.options.InsertBucketOptions;
 import org.jclouds.googlecloudstorage.options.UpdateBucketOptions;
-import org.jclouds.rest.ResourceNotFoundException;
 import org.testng.annotations.Test;
 
 import com.google.common.collect.Lists;
@@ -94,13 +94,13 @@ public class BucketApiLiveTest extends 
BaseGoogleCloudStorageApiLiveTest {
       assertTrue(response.getVersioning().isEnabled());
    }
 
-   @Test(groups = "live", dependsOnMethods = { "testCreateBucket" }, 
expectedExceptions = { IllegalStateException.class })
+   @Test(groups = "live", dependsOnMethods = { "testCreateBucket" })
    public void testCreateAlreadyExistBucket() {
 
       BucketTemplate template = new 
BucketTemplate().name(BUCKET_NAME).location(Location.US_CENTRAL2)
                .storageClass(StorageClass.DURABLE_REDUCED_AVAILABILITY);
 
-      api().createBucket(PROJECT_NUMBER, template);
+      assertNull(api().createBucket(PROJECT_NUMBER, template));
    }
 
    @Test(groups = "live")
@@ -204,13 +204,13 @@ public class BucketApiLiveTest extends 
BaseGoogleCloudStorageApiLiveTest {
 
    @Test(groups = "live", dependsOnMethods = { "testListBucket", 
"testGetBucket", "testUpdateBucket" })
    public void testDeleteBucket() {
-      api().deleteBucket(BUCKET_NAME);
-      api().deleteBucket(LOG_BUCKET_NAME);
+      assertTrue(api().deleteBucket(BUCKET_NAME));
+      assertTrue(api().deleteBucket(LOG_BUCKET_NAME));
    }
 
-   @Test(groups = "live", dependsOnMethods = { "testDeleteBucket" }, 
expectedExceptions = { ResourceNotFoundException.class })
+   @Test(groups = "live", dependsOnMethods = { "testDeleteBucket" })
    public void testDeleteNotExistingBucket() {
-      api().deleteBucket(BUCKET_NAME);
+      assertTrue(api().deleteBucket(BUCKET_NAME));
    }
 
    @Test(groups = "live", dependsOnMethods = { "testGetBucketWithOptions" })
@@ -222,5 +222,4 @@ public class BucketApiLiveTest extends 
BaseGoogleCloudStorageApiLiveTest {
       api().deleteBucket(BUCKET_NAME_WITHOPTIONS, options);
 
    }
-
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java
index 3ba6b97..2e09031 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java
@@ -24,7 +24,7 @@ import static org.testng.AssertJUnit.assertNull;
 import javax.ws.rs.core.MediaType;
 
 import org.jclouds.googlecloudstorage.domain.DefaultObjectAccessControls;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 import 
org.jclouds.googlecloudstorage.domain.templates.DefaultObjectAccessControlsTemplate;
 import 
org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageApiExpectTest;
 import org.jclouds.googlecloudstorage.parse.DefaultObjectAclGetTest;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiLiveTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiLiveTest.java
index ad908f5..4e131c5 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiLiveTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiLiveTest.java
@@ -23,7 +23,7 @@ import java.util.UUID;
 
 import org.jclouds.googlecloudstorage.domain.Bucket;
 import org.jclouds.googlecloudstorage.domain.DefaultObjectAccessControls;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 import org.jclouds.googlecloudstorage.domain.ListDefaultObjectAccessControls;
 import org.jclouds.googlecloudstorage.domain.Resource.Kind;
 import org.jclouds.googlecloudstorage.domain.templates.BucketTemplate;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java
index 971f290..e40a020 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java
@@ -23,7 +23,7 @@ import static org.testng.AssertJUnit.assertNull;
 
 import javax.ws.rs.core.MediaType;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 import 
org.jclouds.googlecloudstorage.domain.templates.ObjectAccessControlsTemplate;
 import 
org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageApiExpectTest;
 import org.jclouds.googlecloudstorage.parse.ObjectAclGetTest;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiLiveTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiLiveTest.java
index 3831871..6880ba2 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiLiveTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectApiLiveTest.java
@@ -28,9 +28,9 @@ import java.util.UUID;
 import javax.ws.rs.core.MediaType;
 
 import org.jclouds.googlecloudstorage.domain.Bucket;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.DestinationPredefinedAcl;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Projection;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.DestinationPredefinedAcl;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
 import org.jclouds.googlecloudstorage.domain.GCSObject;
 import org.jclouds.googlecloudstorage.domain.ListPage;
 import org.jclouds.googlecloudstorage.domain.ObjectAccessControls;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ResumableUploadApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ResumableUploadApiLiveTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ResumableUploadApiLiveTest.java
index a802032..d484ae9 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ResumableUploadApiLiveTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ResumableUploadApiLiveTest.java
@@ -26,7 +26,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.io.IOException;
 import java.util.UUID;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 import org.jclouds.googlecloudstorage.domain.Bucket;
 import org.jclouds.googlecloudstorage.domain.DomainUtils;
 import org.jclouds.googlecloudstorage.domain.ResumableUpload;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclGetTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclGetTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclGetTest.java
index 827bb9c..c1c41c7 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclGetTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclGetTest.java
@@ -22,7 +22,7 @@ import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
 
 import org.jclouds.googlecloudstorage.domain.BucketAccessControls;
-import org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Role;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role;
 import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageParseTest;
 
 public class BucketAclGetTest extends 
BaseGoogleCloudStorageParseTest<BucketAccessControls> {

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclInsertTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclInsertTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclInsertTest.java
index cf8d2ac..0e7c509 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclInsertTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclInsertTest.java
@@ -22,7 +22,7 @@ import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
 
 import org.jclouds.googlecloudstorage.domain.BucketAccessControls;
-import org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Role;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role;
 import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageParseTest;
 
 public class BucketAclInsertTest extends 
BaseGoogleCloudStorageParseTest<BucketAccessControls> {

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclListTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclListTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclListTest.java
index 37b4f0c..6428825 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclListTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclListTest.java
@@ -22,7 +22,7 @@ import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
 
 import org.jclouds.googlecloudstorage.domain.BucketAccessControls;
-import org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Role;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role;
 import org.jclouds.googlecloudstorage.domain.ListBucketAccessControls;
 import org.jclouds.googlecloudstorage.domain.Resource.Kind;
 import org.jclouds.googlecloudstorage.domain.internal.ProjectTeam;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclUpdateTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclUpdateTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclUpdateTest.java
index 1b69ae1..d111801 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclUpdateTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketAclUpdateTest.java
@@ -22,7 +22,7 @@ import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
 
 import org.jclouds.googlecloudstorage.domain.BucketAccessControls;
-import org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Role;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role;
 import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageParseTest;
 
 public class BucketAclUpdateTest extends 
BaseGoogleCloudStorageParseTest<BucketAccessControls> {

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketUpdateTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketUpdateTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketUpdateTest.java
index 5a5c641..49c09fd 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketUpdateTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/BucketUpdateTest.java
@@ -23,8 +23,8 @@ import javax.ws.rs.core.MediaType;
 
 import org.jclouds.date.internal.SimpleDateFormatDateService;
 import org.jclouds.googlecloudstorage.domain.Bucket;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Location;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.StorageClass;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Location;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.StorageClass;
 import org.jclouds.googlecloudstorage.domain.internal.Owner;
 import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageParseTest;
 

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclGetTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclGetTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclGetTest.java
index eaa62bb..150374d 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclGetTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclGetTest.java
@@ -19,7 +19,7 @@ package org.jclouds.googlecloudstorage.parse;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 import org.jclouds.googlecloudstorage.domain.DefaultObjectAccessControls;
 import org.jclouds.googlecloudstorage.domain.internal.ProjectTeam;
 import org.jclouds.googlecloudstorage.domain.internal.ProjectTeam.Team;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclInsertTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclInsertTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclInsertTest.java
index 86fd8c8..e14ab16 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclInsertTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclInsertTest.java
@@ -20,7 +20,7 @@ import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
 
 import org.jclouds.googlecloudstorage.domain.DefaultObjectAccessControls;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageParseTest;
 
 public class DefaultObjectAclInsertTest extends 
BaseGoogleCloudStorageParseTest<DefaultObjectAccessControls> {

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclListTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclListTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclListTest.java
index b695c83..56b2e45 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclListTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/DefaultObjectAclListTest.java
@@ -19,7 +19,7 @@ package org.jclouds.googlecloudstorage.parse;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 import org.jclouds.googlecloudstorage.domain.DefaultObjectAccessControls;
 import org.jclouds.googlecloudstorage.domain.ListDefaultObjectAccessControls;
 import org.jclouds.googlecloudstorage.domain.Resource.Kind;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/FullBucketGetTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/FullBucketGetTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/FullBucketGetTest.java
index 4673721..e6ffa05 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/FullBucketGetTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/FullBucketGetTest.java
@@ -23,12 +23,12 @@ import javax.ws.rs.core.MediaType;
 
 import org.jclouds.date.internal.SimpleDateFormatDateService;
 import org.jclouds.googlecloudstorage.domain.BucketAccessControls;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Location;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Location;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 import org.jclouds.googlecloudstorage.domain.Bucket;
 import org.jclouds.googlecloudstorage.domain.DefaultObjectAccessControls;
-import org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Role;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.StorageClass;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Role;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.StorageClass;
 import org.jclouds.googlecloudstorage.domain.internal.BucketCors;
 import org.jclouds.googlecloudstorage.domain.internal.Owner;
 import org.jclouds.googlecloudstorage.domain.internal.ProjectTeam;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/NoAclBucketListTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/NoAclBucketListTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/NoAclBucketListTest.java
index c7fd39a..220fd5b 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/NoAclBucketListTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/NoAclBucketListTest.java
@@ -23,8 +23,8 @@ import javax.ws.rs.core.MediaType;
 
 import org.jclouds.date.internal.SimpleDateFormatDateService;
 import org.jclouds.googlecloudstorage.domain.Bucket;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Location;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.StorageClass;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Location;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.StorageClass;
 import org.jclouds.googlecloudstorage.domain.ListPage;
 import org.jclouds.googlecloudstorage.domain.Resource.Kind;
 import org.jclouds.googlecloudstorage.domain.internal.Owner;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/NoAclBucketTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/NoAclBucketTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/NoAclBucketTest.java
index 9c2158b..184af67 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/NoAclBucketTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/NoAclBucketTest.java
@@ -23,8 +23,8 @@ import javax.ws.rs.core.MediaType;
 
 import org.jclouds.date.internal.SimpleDateFormatDateService;
 import org.jclouds.googlecloudstorage.domain.Bucket;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.Location;
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.StorageClass;
+import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Location;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.StorageClass;
 import org.jclouds.googlecloudstorage.domain.internal.Owner;
 import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageParseTest;
 

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclGetTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclGetTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclGetTest.java
index 8002473..ff34b35 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclGetTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclGetTest.java
@@ -21,7 +21,7 @@ import java.net.URI;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 import org.jclouds.googlecloudstorage.domain.ObjectAccessControls;
 import org.jclouds.googlecloudstorage.domain.internal.ProjectTeam;
 import org.jclouds.googlecloudstorage.domain.internal.ProjectTeam.Team;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclInsertTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclInsertTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclInsertTest.java
index b9a8d77..9fc938c 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclInsertTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclInsertTest.java
@@ -21,7 +21,7 @@ import java.net.URI;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 import org.jclouds.googlecloudstorage.domain.ObjectAccessControls;
 import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageParseTest;
 

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclListTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclListTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclListTest.java
index abe6d47..79fb952 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclListTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclListTest.java
@@ -21,7 +21,7 @@ import java.net.URI;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 import org.jclouds.googlecloudstorage.domain.ListObjectAccessControls;
 import org.jclouds.googlecloudstorage.domain.ObjectAccessControls;
 import org.jclouds.googlecloudstorage.domain.Resource.Kind;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/ccc2d243/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclUpdateTest.java
----------------------------------------------------------------------
diff --git 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclUpdateTest.java
 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclUpdateTest.java
index 13fa61e..e48b2ee 100644
--- 
a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclUpdateTest.java
+++ 
b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/parse/ObjectAclUpdateTest.java
@@ -21,7 +21,7 @@ import java.net.URI;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
 
-import 
org.jclouds.googlecloudstorage.domain.DomainResourceRefferences.ObjectRole;
+import 
org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
 import org.jclouds.googlecloudstorage.domain.ObjectAccessControls;
 import org.jclouds.googlecloudstorage.internal.BaseGoogleCloudStorageParseTest;
 

Reply via email to