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/06/10 18:25:35 UTC
git commit: Updated Cloud Files examples for 1.7.3
Repository: jclouds-examples
Updated Branches:
refs/heads/master fb328b5a8 -> 0347a90e2
Updated Cloud Files examples for 1.7.3
Project: http://git-wip-us.apache.org/repos/asf/jclouds-examples/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-examples/commit/0347a90e
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-examples/tree/0347a90e
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-examples/diff/0347a90e
Branch: refs/heads/master
Commit: 0347a90e26f2829ef2574eff63638f044b3134c9
Parents: fb328b5
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Tue May 27 09:36:48 2014 -0700
Committer: Everett Toews <ev...@rackspace.com>
Committed: Tue Jun 10 11:25:29 2014 -0500
----------------------------------------------------------------------
rackspace/pom.xml | 4 +-
.../rackspace/cloudfiles/CloudFilesPublish.java | 23 +++---
.../rackspace/cloudfiles/CreateContainer.java | 2 +-
.../CrossOriginResourceSharingContainer.java | 10 ++-
.../cloudfiles/DeleteObjectsAndContainer.java | 6 +-
.../rackspace/cloudfiles/GenerateTempURL.java | 12 ++-
.../rackspace/cloudfiles/GetContainer.java | 82 ++++++++++++++++++++
.../rackspace/cloudfiles/GetObject.java | 2 +-
.../rackspace/cloudfiles/ListContainers.java | 2 +-
.../rackspace/cloudfiles/ListObjects.java | 4 +-
.../cloudfiles/UploadDirectoryToCDN.java | 21 ++---
.../rackspace/cloudfiles/UploadObjects.java | 8 +-
12 files changed, 135 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds-examples/blob/0347a90e/rackspace/pom.xml
----------------------------------------------------------------------
diff --git a/rackspace/pom.xml b/rackspace/pom.xml
index 9ed2fe2..939bf52 100644
--- a/rackspace/pom.xml
+++ b/rackspace/pom.xml
@@ -22,11 +22,11 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.jclouds.examples</groupId>
<artifactId>rackspace-examples</artifactId>
- <version>1.7.3-SNAPSHOT</version>
+ <version>1.7.4-SNAPSHOT</version>
<name>rackspace-examples</name>
<properties>
- <jclouds.version>1.7.2</jclouds.version>
+ <jclouds.version>1.7.3</jclouds.version>
</properties>
<dependencies>
http://git-wip-us.apache.org/repos/asf/jclouds-examples/blob/0347a90e/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CloudFilesPublish.java
----------------------------------------------------------------------
diff --git a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CloudFilesPublish.java b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CloudFilesPublish.java
index 41e88f5..bc69671 100644
--- a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CloudFilesPublish.java
+++ b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CloudFilesPublish.java
@@ -34,11 +34,13 @@ import org.jclouds.io.Payload;
import org.jclouds.io.Payloads;
import org.jclouds.openstack.swift.v1.features.ObjectApi;
import org.jclouds.openstack.swift.v1.options.CreateContainerOptions;
+import org.jclouds.openstack.swift.v1.reference.SwiftHeaders;
import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
import org.jclouds.rackspace.cloudfiles.v1.features.CDNApi;
import com.google.common.base.Charsets;
-import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMultimap;
+import com.google.common.collect.Multimap;
import com.google.common.io.ByteSource;
import com.google.common.io.Closeables;
import com.google.common.io.Files;
@@ -83,8 +85,13 @@ public class CloudFilesPublish implements Closeable {
*/
private void createContainer() {
System.out.format("Create Container%n");
-
- cloudFiles.containerApiInRegion(REGION).createIfAbsent(CONTAINER_PUBLISH, CreateContainerOptions.NONE);
+ // create a Multimap for the static web headers
+ Multimap<String, String> enableStaticWebHeaders =
+ ImmutableMultimap.of(SwiftHeaders.STATIC_WEB_INDEX, FILENAME + SUFFIX,
+ SwiftHeaders.STATIC_WEB_ERROR, "error.html");
+
+ CreateContainerOptions opts = new CreateContainerOptions().headers(enableStaticWebHeaders);
+ cloudFiles.getContainerApiForRegion(REGION).create(CONTAINER_PUBLISH, opts);
System.out.format(" %s%n", CONTAINER_PUBLISH);
}
@@ -100,14 +107,12 @@ public class CloudFilesPublish implements Closeable {
try {
Files.write("Hello Cloud Files", tempFile, Charsets.UTF_8);
- ObjectApi objectApi = cloudFiles.objectApiInRegionForContainer(REGION, CONTAINER_PUBLISH);
+ ObjectApi objectApi = cloudFiles.getObjectApiForRegionAndContainer(REGION, CONTAINER_PUBLISH);
ByteSource byteSource = Files.asByteSource(tempFile);
Payload payload = Payloads.newByteSourcePayload(byteSource);
- objectApi.replace(FILENAME + SUFFIX, payload, ImmutableMap.<String, String>of());
-
- System.out.format(" %s%s%n", FILENAME, SUFFIX);
+ objectApi.put(FILENAME + SUFFIX, payload);
} finally {
tempFile.delete();
}
@@ -119,8 +124,8 @@ public class CloudFilesPublish implements Closeable {
*/
private void enableCdnContainer() {
System.out.format("Enable CDN Container%n");
-
- CDNApi cdnApi = cloudFiles.cdnApiInRegion(REGION);
+
+ CDNApi cdnApi = cloudFiles.getCDNApiForRegion(REGION);
URI cdnURI = cdnApi.enable(CONTAINER_PUBLISH);
System.out.format(" Go to %s/%s%s%n", cdnURI, FILENAME, SUFFIX);
http://git-wip-us.apache.org/repos/asf/jclouds-examples/blob/0347a90e/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CreateContainer.java
----------------------------------------------------------------------
diff --git a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CreateContainer.java b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CreateContainer.java
index e982389..a678739 100644
--- a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CreateContainer.java
+++ b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CreateContainer.java
@@ -71,7 +71,7 @@ public class CreateContainer implements Closeable {
CreateContainerOptions options = CreateContainerOptions.Builder
.metadata(ImmutableMap.of("key1", "value1", "key2", "value2"));
- cloudFiles.containerApiInRegion(REGION).createIfAbsent(CONTAINER, options);
+ cloudFiles.getContainerApiForRegion(REGION).create(CONTAINER, options);
System.out.format(" %s%n", CONTAINER);
}
http://git-wip-us.apache.org/repos/asf/jclouds-examples/blob/0347a90e/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CrossOriginResourceSharingContainer.java
----------------------------------------------------------------------
diff --git a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CrossOriginResourceSharingContainer.java b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CrossOriginResourceSharingContainer.java
index 0de0ff4..7d74d99 100644
--- a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CrossOriginResourceSharingContainer.java
+++ b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/CrossOriginResourceSharingContainer.java
@@ -33,6 +33,8 @@ import org.jclouds.openstack.swift.v1.options.CreateContainerOptions;
import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMultimap;
+import com.google.common.collect.Multimap;
import com.google.common.io.Closeables;
/**
@@ -71,7 +73,7 @@ public class CrossOriginResourceSharingContainer implements Closeable {
cloudFiles = ContextBuilder.newBuilder(PROVIDER)
.credentials(username, apiKey)
.buildApi(CloudFilesApi.class);
- containerApi = cloudFiles.containerApiInRegion(REGION);
+ containerApi = cloudFiles.getContainerApiForRegion(REGION);
}
/**
@@ -85,13 +87,13 @@ public class CrossOriginResourceSharingContainer implements Closeable {
private void createCorsContainer() {
System.out.format("Create Cross Origin Resource Sharing Container%n");
- Map<String, String> corsMetadata = ImmutableMap.of(
+ Multimap<String, String> headers = ImmutableMultimap.of(
"Access-Control-Allow-Origin", "*",
"Access-Control-Max-Age", "600",
"Access-Control-Allow-Headers", "X-My-Header");
- CreateContainerOptions options = CreateContainerOptions.Builder.metadata(corsMetadata);
+ CreateContainerOptions options = CreateContainerOptions.Builder.headers(headers);
- containerApi.createIfAbsent(CONTAINER, options);
+ containerApi.create(CONTAINER, options);
System.out.format(" %s%n", CONTAINER);
Container container = containerApi.get(CONTAINER);
http://git-wip-us.apache.org/repos/asf/jclouds-examples/blob/0347a90e/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/DeleteObjectsAndContainer.java
----------------------------------------------------------------------
diff --git a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/DeleteObjectsAndContainer.java b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/DeleteObjectsAndContainer.java
index 9337e46..1d69b13 100644
--- a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/DeleteObjectsAndContainer.java
+++ b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/DeleteObjectsAndContainer.java
@@ -76,13 +76,13 @@ public class DeleteObjectsAndContainer implements Closeable {
private void deleteObjectsAndContainer() {
System.out.format("Delete Container%n");
- List<Container> containers = cloudFiles.containerApiInRegion(REGION)
+ List<Container> containers = cloudFiles.getContainerApiForRegion(REGION)
.list(ListContainerOptions.Builder.prefix(CONTAINER)).toList();
for (Container container: containers) {
System.out.format(" %s%n", container.getName());
- ObjectApi objectApi = cloudFiles.objectApiInRegionForContainer(REGION, container.getName());
+ ObjectApi objectApi = cloudFiles.getObjectApiForRegionAndContainer(REGION, container.getName());
ObjectList objects = objectApi.list(ListContainerOptions.NONE);
for (SwiftObject object: objects) {
@@ -90,7 +90,7 @@ public class DeleteObjectsAndContainer implements Closeable {
objectApi.delete(object.getName());
}
- cloudFiles.containerApiInRegion(REGION).deleteIfEmpty(container.getName());
+ cloudFiles.getContainerApiForRegion(REGION).deleteIfEmpty(container.getName());
}
}
http://git-wip-us.apache.org/repos/asf/jclouds-examples/blob/0347a90e/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 b24f981..72e0fb2 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
@@ -128,10 +128,14 @@ public class GenerateTempURL implements Closeable {
// GET the file using jclouds
File file = File.createTempFile(FILENAME, ".tmp");
- String content = Strings2.toString(blobStoreContext.utils().http().invoke(request).getPayload());
- Files.write(content, file, Charsets.UTF_8);
-
- System.out.format(" GET Success (%s)%n", file.getAbsolutePath());
+ try {
+ String content = Strings2.toString(blobStoreContext.utils().http().invoke(request).getPayload());
+ Files.write(content, file, Charsets.UTF_8);
+
+ System.out.format(" GET Success (%s)%n", file.getAbsolutePath());
+ } finally {
+ file.delete();
+ }
}
private void generateDeleteTempURL() throws IOException {
http://git-wip-us.apache.org/repos/asf/jclouds-examples/blob/0347a90e/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GetContainer.java
----------------------------------------------------------------------
diff --git a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GetContainer.java b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GetContainer.java
new file mode 100644
index 0000000..1f128e4
--- /dev/null
+++ b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GetContainer.java
@@ -0,0 +1,82 @@
+/*
+ * 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.examples.rackspace.cloudfiles;
+
+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.IOException;
+
+import org.jclouds.ContextBuilder;
+import org.jclouds.openstack.swift.v1.domain.Container;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
+
+import com.google.common.io.Closeables;
+
+/**
+ * Create a Cloud Files container with some metadata associated with it.
+ *
+ * @author Everett Toews
+ * @author Jeremy Daggett
+ */
+public class GetContainer implements Closeable {
+ private final CloudFilesApi cloudFiles;
+
+ /**
+ * To get a username and API key see http://jclouds.apache.org/guides/rackspace/
+ *
+ * The first argument (args[0]) must be your username
+ * The second argument (args[1]) must be your API key
+ */
+ public static void main(String[] args) throws IOException {
+ GetContainer getContainer = new GetContainer(args[0], args[1]);
+
+ try {
+ getContainer.getContainer();
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ finally {
+ getContainer.close();
+ }
+ }
+
+ public GetContainer(String username, String apiKey) {
+ cloudFiles = ContextBuilder.newBuilder(PROVIDER)
+ .credentials(username, apiKey)
+ .buildApi(CloudFilesApi.class);
+ }
+
+ private void getContainer() {
+ System.out.format("Get Container%n");
+
+ Container container = cloudFiles.getContainerApiForRegion(REGION).get(CONTAINER);
+ System.out.format(" %s%n", container);
+ }
+
+ /**
+ * Always close your service when you're done with it.
+ */
+ public void close() throws IOException {
+ Closeables.close(cloudFiles, true);
+ }
+}
http://git-wip-us.apache.org/repos/asf/jclouds-examples/blob/0347a90e/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GetObject.java
----------------------------------------------------------------------
diff --git a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GetObject.java b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GetObject.java
index fd6e88a..e5dd3f4 100644
--- a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GetObject.java
+++ b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/GetObject.java
@@ -72,7 +72,7 @@ public class GetObject implements Closeable {
private void getObject() {
System.out.format("Get Object%n");
- ObjectApi objectApi = cloudFiles.objectApiInRegionForContainer(REGION, CONTAINER);
+ ObjectApi objectApi = cloudFiles.getObjectApiForRegionAndContainer(REGION, CONTAINER);
SwiftObject object = objectApi.get("uploadObjectFromFile.txt", GetOptions.NONE);
System.out.format(" %s%n", object);
http://git-wip-us.apache.org/repos/asf/jclouds-examples/blob/0347a90e/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/ListContainers.java
----------------------------------------------------------------------
diff --git a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/ListContainers.java b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/ListContainers.java
index 4483290..14187e7 100644
--- a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/ListContainers.java
+++ b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/ListContainers.java
@@ -67,7 +67,7 @@ public class ListContainers implements Closeable {
private void listContainers() {
System.out.format("List Containers%n");
- List<Container> containers = cloudFiles.containerApiInRegion(REGION).list().toList();
+ List<Container> containers = cloudFiles.getContainerApiForRegion(REGION).list().toList();
for (Container container: containers) {
System.out.format(" %s%n", container);
}
http://git-wip-us.apache.org/repos/asf/jclouds-examples/blob/0347a90e/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/ListObjects.java
----------------------------------------------------------------------
diff --git a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/ListObjects.java b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/ListObjects.java
index b53a89c..81512d9 100644
--- a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/ListObjects.java
+++ b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/ListObjects.java
@@ -71,7 +71,7 @@ public class ListObjects implements Closeable {
private void listObjects() {
System.out.format("List Objects%n");
- ObjectApi objectApi = cloudFiles.objectApiInRegionForContainer(REGION, CONTAINER);
+ ObjectApi objectApi = cloudFiles.getObjectApiForRegionAndContainer(REGION, CONTAINER);
ObjectList objects = objectApi.list(ListContainerOptions.NONE);
for (SwiftObject object: objects) {
@@ -82,7 +82,7 @@ public class ListObjects implements Closeable {
private void listObjectsWithFiltering() {
System.out.format("List Objects With Filtering%n");
- ObjectApi objectApi = cloudFiles.objectApiInRegionForContainer(REGION, CONTAINER);
+ ObjectApi objectApi = cloudFiles.getObjectApiForRegionAndContainer(REGION, CONTAINER);
ListContainerOptions filter = ListContainerOptions.Builder.prefix("createObjectFromString");
ObjectList objects = objectApi.list(filter);
http://git-wip-us.apache.org/repos/asf/jclouds-examples/blob/0347a90e/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/UploadDirectoryToCDN.java
----------------------------------------------------------------------
diff --git a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/UploadDirectoryToCDN.java b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/UploadDirectoryToCDN.java
index 30a11a6..1527a05 100644
--- a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/UploadDirectoryToCDN.java
+++ b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/UploadDirectoryToCDN.java
@@ -36,11 +36,13 @@ import org.jclouds.blobstore.BlobStore;
import org.jclouds.blobstore.BlobStoreContext;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.io.Payloads;
+import org.jclouds.openstack.swift.v1.options.UpdateContainerOptions;
+import org.jclouds.openstack.swift.v1.reference.SwiftHeaders;
import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
-import org.jclouds.rackspace.cloudfiles.v1.features.CDNApi;
-import org.jclouds.rackspace.cloudfiles.v1.options.UpdateCDNContainerOptions;
+import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Lists;
+import com.google.common.collect.Multimap;
import com.google.common.io.ByteSource;
import com.google.common.io.Closeables;
import com.google.common.io.Files;
@@ -168,12 +170,15 @@ public class UploadDirectoryToCDN implements Closeable {
*/
private void enableCdnContainer(String container) {
System.out.format("Enable CDN%n");
+ Multimap<String, String> enableStaticWebHeaders =
+ ImmutableMultimap.of(SwiftHeaders.STATIC_WEB_INDEX, "index.html",
+ SwiftHeaders.STATIC_WEB_ERROR, "error.html");
- CDNApi cdnApi = cloudFiles.cdnApiInRegion(REGION);
- URI cdnURI = cdnApi.enable(container);
-
- cdnApi.update(container, UpdateCDNContainerOptions.Builder.staticWebsiteIndexPage("index.html"));
+ UpdateContainerOptions opts = new UpdateContainerOptions().headers(enableStaticWebHeaders);
+ cloudFiles.getContainerApiForRegion(REGION).update(container, opts);
+ // enable the CDN container
+ URI cdnURI = cloudFiles.getCDNApiForRegion(REGION).enable(container);
System.out.format(" Go to %s/%n", cdnURI);
}
@@ -197,7 +202,6 @@ public class UploadDirectoryToCDN implements Closeable {
this.toBeUploadedBlobDetail = toBeUploadedBlobDetail;
}
- @Override
public BlobDetail call() throws Exception {
ByteSource byteSource = Files.asByteSource(toBeUploadedBlobDetail.getLocalFile());
@@ -218,12 +222,11 @@ public class UploadDirectoryToCDN implements Closeable {
* the user of upload progress.
*/
private class BlobUploaderCallback implements FutureCallback<BlobDetail> {
- @Override
+
public void onSuccess(BlobDetail result) {
System.out.format(".");
}
- @Override
public void onFailure(Throwable t) {
System.out.format("X %s", t);
}
http://git-wip-us.apache.org/repos/asf/jclouds-examples/blob/0347a90e/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/UploadObjects.java
----------------------------------------------------------------------
diff --git a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/UploadObjects.java b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/UploadObjects.java
index 1363b58..aadcd61 100644
--- a/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/UploadObjects.java
+++ b/rackspace/src/main/java/org/jclouds/examples/rackspace/cloudfiles/UploadObjects.java
@@ -37,7 +37,6 @@ import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext;
import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
import com.google.common.base.Charsets;
-import com.google.common.collect.ImmutableMap;
import com.google.common.io.ByteSource;
import com.google.common.io.Closeables;
import com.google.common.io.Files;
@@ -96,8 +95,8 @@ public class UploadObjects implements Closeable {
ByteSource byteSource = Files.asByteSource(tempFile);
Payload payload = Payloads.newByteSourcePayload(byteSource);
- cloudFiles.objectApiInRegionForContainer(REGION, CONTAINER)
- .replace(filename + suffix, payload, ImmutableMap.<String, String> of());
+ cloudFiles.getObjectApiForRegionAndContainer(REGION, CONTAINER)
+ .put(filename + suffix, payload);
System.out.format(" %s%s%n", filename, suffix);
} finally {
@@ -116,8 +115,7 @@ public class UploadObjects implements Closeable {
ByteSource source = ByteSource.wrap("uploadObjectFromString".getBytes());
Payload payload = Payloads.newByteSourcePayload(source);
- cloudFiles.objectApiInRegionForContainer(REGION, CONTAINER)
- .replace(filename, payload, ImmutableMap.<String, String>of());
+ cloudFiles.getObjectApiForRegionAndContainer(REGION, CONTAINER).put(filename, payload);
System.out.format(" %s%n", filename);
}