You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by za...@apache.org on 2015/04/07 23:32:59 UTC

[01/32] jclouds git commit: JCLOUDS-423 - Adds support for Rackspace Cloud Files API - Added support for CloudFilesApi/CDNApi - Added mock/live tests - Refactored listFirstPage() and listAt() API methods to list() and listWithOptions(…) - General Swift A

Repository: jclouds
Updated Branches:
  refs/heads/master b6fcac966 -> a3b7f3ab8


http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesContainerIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesContainerIntegrationLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesContainerIntegrationLiveTest.java
new file mode 100644
index 0000000..ba99a75
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesContainerIntegrationLiveTest.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.rackspace.cloudfiles.v1.blobstore.integration;
+
+import static org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes.API_KEY_CREDENTIALS;
+
+import java.util.Properties;
+
+import org.jclouds.openstack.swift.v1.blobstore.integration.SwiftContainerIntegrationLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesContainerIntegrationLiveTest")
+public class CloudFilesContainerIntegrationLiveTest extends SwiftContainerIntegrationLiveTest {
+
+   public CloudFilesContainerIntegrationLiveTest() {
+      provider = "rackspace-cloudfiles";
+   }
+
+   @Override
+   protected Properties setupProperties() {
+      Properties props = super.setupProperties();
+      setIfTestSystemPropertyPresent(props, API_KEY_CREDENTIALS);
+      return props;
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesContainerLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesContainerLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesContainerLiveTest.java
new file mode 100644
index 0000000..98ab003
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesContainerLiveTest.java
@@ -0,0 +1,56 @@
+/*
+ * 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.rackspace.cloudfiles.v1.blobstore.integration;
+
+import static org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes.API_KEY_CREDENTIALS;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.util.Properties;
+
+import org.jclouds.openstack.swift.v1.blobstore.integration.SwiftContainerLiveTest;
+import org.testng.SkipException;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesContainerLiveTest")
+public class CloudFilesContainerLiveTest extends SwiftContainerLiveTest {
+
+   public CloudFilesContainerLiveTest() {
+      provider = "rackspace-cloudfiles";
+   }
+
+   @Override
+   public void testPublicAccess() throws InterruptedException, MalformedURLException, IOException {
+      throw new SkipException("public access only supported through CDN");
+   }
+   
+   @Override
+   public void testPublicAccessInNonDefaultLocationWithBigBlob() throws InterruptedException, MalformedURLException, IOException {
+      throw new SkipException("public access only supported through CDN");
+   }
+   
+   public void testPublicAccessInNonDefaultLocation() throws InterruptedException, MalformedURLException, IOException {
+      throw new SkipException("public access only supported through CDN");
+   }
+   
+   @Override
+   protected Properties setupProperties() {
+      Properties props = super.setupProperties();
+      setIfTestSystemPropertyPresent(props, API_KEY_CREDENTIALS);
+      return props;
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesServiceIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesServiceIntegrationLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesServiceIntegrationLiveTest.java
new file mode 100644
index 0000000..66b4b64
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesServiceIntegrationLiveTest.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.rackspace.cloudfiles.v1.blobstore.integration;
+
+import static org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes.API_KEY_CREDENTIALS;
+
+import java.util.Properties;
+
+import org.jclouds.openstack.swift.v1.blobstore.integration.SwiftServiceIntegrationLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesServiceIntegrationLiveTest")
+public class CloudFilesServiceIntegrationLiveTest extends SwiftServiceIntegrationLiveTest {
+
+   public CloudFilesServiceIntegrationLiveTest() {
+      provider = "rackspace-cloudfiles";
+   }
+
+   @Override
+   protected Properties setupProperties() {
+      Properties props = super.setupProperties();
+      setIfTestSystemPropertyPresent(props, API_KEY_CREDENTIALS);
+      return props;
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
new file mode 100644
index 0000000..297ae7d
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
@@ -0,0 +1,38 @@
+/*
+ * 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.rackspace.cloudfiles.v1.features;
+
+import static org.testng.Assert.assertTrue;
+
+import org.jclouds.openstack.swift.v1.domain.Account;
+import org.jclouds.openstack.swift.v1.features.AccountApiLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesAccountApiLiveTest")
+public class CloudFilesAccountApiLiveTest extends AccountApiLiveTest {
+   
+   public CloudFilesAccountApiLiveTest() {
+      provider = "rackspace-cloudfiles";
+   }
+   
+   public void testUrlKeyExists() throws Exception {
+      for (String regionId : regions) {
+         Account account = api.accountApiInRegion(regionId).get();
+         assertTrue(account.getTemporaryUrlKey().isPresent());
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
new file mode 100644
index 0000000..331ab85
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.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.rackspace.cloudfiles.v1.features;
+
+import org.jclouds.openstack.swift.v1.features.BulkApiLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesBulkApiLiveTest")
+public class CloudFilesBulkApiLiveTest extends BulkApiLiveTest {
+
+   public CloudFilesBulkApiLiveTest() {
+      provider = "rackspace-cloudfiles";
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
new file mode 100644
index 0000000..fe299ba
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
@@ -0,0 +1,105 @@
+/*
+ * 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.rackspace.cloudfiles.v1.features;
+
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
+import java.util.List;
+
+import org.jclouds.openstack.swift.v1.options.CreateContainerOptions;
+import org.jclouds.openstack.swift.v1.options.ListContainerOptions;
+import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
+import org.jclouds.rackspace.cloudfiles.v1.internal.BaseCloudFilesApiLiveTest;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+/**
+ * @author Jeremy Daggett
+ */
+@Test(groups = "live", testName = "CloudFilesCDNApiLiveTest")
+public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
+
+   private String name = getClass().getSimpleName();
+
+   public CloudFilesCDNApiLiveTest() {
+      super();
+   }
+   
+   public void testList() throws Exception {
+      for (String regionId : regions) {
+         CDNApi cdnApi = api.cdnApiInRegion(regionId);
+
+         List<CDNContainer> cdnResponse = cdnApi.list().toList();
+         assertNotNull(cdnResponse);
+         for (CDNContainer cdnContainer : cdnResponse) {
+            assertNotNull(cdnContainer.getName());
+            assertTrue(cdnContainer.isEnabled());
+            assertNotNull(cdnContainer.isLogRetentionEnabled());
+            assertNotNull(cdnContainer.getTtl());
+            assertNotNull(cdnContainer.getUri());
+            assertNotNull(cdnContainer.getSslUri());
+            assertNotNull(cdnContainer.getStreamingUri());
+            assertNotNull(cdnContainer.getIosUri());
+         }
+      }
+   }
+
+   public void testListWithOptions() throws Exception {
+      String lexicographicallyBeforeName = name.substring(0, name.length() - 1);
+      for (String regionId : regions) {
+         ListContainerOptions options = ListContainerOptions.Builder.marker(lexicographicallyBeforeName);
+         CDNContainer cdnContainer = api.cdnApiInRegion(regionId).list(options).get(0);
+         
+         assertNotNull(cdnContainer.getName());
+         assertTrue(cdnContainer.isEnabled());
+         assertNotNull(cdnContainer.isLogRetentionEnabled());
+         assertNotNull(cdnContainer.getTtl());
+         assertNotNull(cdnContainer.getUri());
+         assertNotNull(cdnContainer.getSslUri());
+         assertNotNull(cdnContainer.getStreamingUri());
+         assertNotNull(cdnContainer.getIosUri());
+      }
+   }
+
+   public void testGet() throws Exception {
+      for (String regionId : regions) {
+         CDNContainer cdnContainer = api.cdnApiInRegion(regionId).get(name);
+         assertNotNull(cdnContainer);
+      }
+   }
+
+   @BeforeClass(groups = "live")
+   public void setup() {
+      super.setup();
+      for (String regionId : regions) {
+         api.containerApiInRegion(regionId).createIfAbsent(name, CreateContainerOptions.NONE);
+         api.cdnApiInRegion(regionId).enable(name);
+      }
+   }
+
+   @Override
+   @AfterClass(groups = "live")
+   public void tearDown() {
+      for (String regionId : regions) {
+         api.cdnApiInRegion(regionId).disable(name);
+         api.containerApiInRegion(regionId).deleteIfEmpty(name);
+      }
+      super.tearDown();
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
new file mode 100644
index 0000000..916496e
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
@@ -0,0 +1,381 @@
+/*
+ * 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.rackspace.cloudfiles.v1.features;
+
+import static com.google.common.base.Charsets.US_ASCII;
+import static javax.ws.rs.core.HttpHeaders.CONTENT_LENGTH;
+import static javax.ws.rs.core.HttpHeaders.CONTENT_TYPE;
+import static javax.ws.rs.core.HttpHeaders.ETAG;
+import static javax.ws.rs.core.HttpHeaders.LAST_MODIFIED;
+import static org.jclouds.rackspace.cloudfiles.v1.options.UpdateCDNContainerOptions.Builder.enabled;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_ENABLED;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_IOS_URI;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_LOG_RETENTION;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_SSL_URI;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_STREAMING_URI;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_URI;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+
+import java.net.URI;
+import java.util.List;
+
+import org.jclouds.io.Payload;
+import org.jclouds.io.Payloads;
+import org.jclouds.openstack.swift.v1.options.ListContainerOptions;
+import org.jclouds.openstack.v2_0.internal.BaseOpenStackMockTest;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
+import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
+import org.testng.annotations.Test;
+
+import com.google.common.collect.ImmutableList;
+import com.squareup.okhttp.mockwebserver.MockResponse;
+import com.squareup.okhttp.mockwebserver.MockWebServer;
+
+@Test(groups = "unit", testName = "CloudFilesCDNApiMockTest")
+public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesApi> {
+
+   List<String> emails = ImmutableList.of("foo@bar.com", "bar@foo.com");
+
+   public void testList() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/cdn_container_list.json"))));
+
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+         CDNApi cdnApi = api.cdnApiInRegion("DFW");
+
+         ImmutableList<CDNContainer> cdnContainers = cdnApi.list().toList();
+
+         assertEquals(cdnContainers, mockContainers);
+
+         assertEquals(server.getRequestCount(), 2);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "GET", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/?format=json&enabled_only=true");
+      } finally {
+         server.shutdown();
+      }
+   }
+
+   public void testListWithOptions() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/cdn_container_list_at.json"))));
+
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+         ListContainerOptions options = ListContainerOptions.Builder.marker("cdn-container-3");
+         ImmutableList<CDNContainer> containers = api.cdnApiInRegion("DFW").list(options).toList();
+         
+         for(CDNContainer container : containers) {
+            checkCDNContainer(container);
+         }
+         
+         assertEquals(containers, mockContainers.subList(2, mockContainers.size()));
+
+         assertEquals(server.getRequestCount(), 2);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "GET", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/?format=json&enabled_only=true&marker=cdn-container-3");
+      } finally {
+         server.shutdown();
+      }
+   }
+
+   public void testEnableAndDisable() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(201)));
+      server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(201)));
+      server.enqueue(addCommonHeaders(disabledResponse().setResponseCode(201)));
+      
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+         CDNApi cdnApi = api.cdnApiInRegion("DFW");
+         
+         // enable a CDN Container
+         URI enabledContainer = cdnApi.enable("container-1");
+         assertNotNull(enabledContainer);
+         
+         // ensure that it is disabled
+         assertTrue(cdnApi.disable("container-1"));
+         
+         // get the container from the CDN and  ensure that it is disabled
+         CDNContainer disabledContainer = cdnApi.get("container-1");
+         checkCDNContainer(disabledContainer);
+         assertFalse(disabledContainer.isEnabled());
+         
+         assertEquals(server.getRequestCount(), 4);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "PUT", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+         assertRequest(server.takeRequest(), "PUT", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+         assertRequest(server.takeRequest(), "HEAD", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+      } finally {
+         server.shutdown();
+      }
+   }
+
+   public void testEnableWithTTL() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(201)));
+      
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+         CDNApi cdnApi = api.cdnApiInRegion("DFW");
+         
+         // enable a CDN Container with a TTL
+         URI enabledContainer = cdnApi.enable("container-1", 777777);
+         assertNotNull(enabledContainer);
+
+         assertEquals(server.getRequestCount(), 2);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "PUT", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+      } finally {
+         server.shutdown();
+      }
+   }
+
+   public void testGet() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(201)));
+      
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+         CDNApi cdnApi = api.cdnApiInRegion("DFW");
+
+         CDNContainer cdnContainer = cdnApi.get("container-1");
+         checkCDNContainer(cdnContainer);
+         assertEquals(mockCDNContainer, cdnContainer);
+
+         assertEquals(server.getRequestCount(), 2);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "HEAD", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+      } finally {
+         server.shutdown();
+      }
+   }
+   
+   public void testGetFail() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404)));
+      
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+         CDNApi cdnApi = api.cdnApiInRegion("DFW");
+
+         CDNContainer cdnContainer = cdnApi.get("container-1");
+
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "HEAD", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+         assertNull(cdnContainer);
+      } finally {
+         server.shutdown();
+      }
+   }
+
+   public void testPurgeObject() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(201)));
+      
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+         CDNApi cdnApi = api.cdnApiInRegion("DFW");
+         
+         // purge the object
+         assertTrue(cdnApi.purgeObject("myContainer", "myObject", emails));
+         
+         assertEquals(server.getRequestCount(), 2);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "DELETE", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/myContainer/myObject");
+      } finally {
+         server.shutdown();
+      }
+   }
+
+   public void testUpdate() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")).setResponseCode(200))); //POST
+      server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(200)));
+      server.enqueue(addCommonHeaders(updatedResponse().setResponseCode(204)));
+      server.enqueue(addCommonHeaders(updatedResponse().setResponseCode(200)));
+      
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+         CDNApi cdnApi = api.cdnApiInRegion("DFW"); 
+         
+         CDNContainer cdnContainer = cdnApi.get("container-1");
+         checkCDNContainer(cdnContainer);
+         
+         // update the CDN Container
+         assertTrue(cdnApi.update("container-1", enabled(false).logRetention(true).ttl(7654321)));
+         
+         cdnContainer = cdnApi.get("container-1");
+         checkCDNContainer(cdnContainer);
+         
+         CDNContainer updatedContainer = CDNContainer.builder()
+               .name("container-1")
+               .enabled(false)
+               .logRetention(true)
+               .ttl(7654321)
+               .uri(URI.create("http://id-1.cdn.rackspace.com"))
+               .sslUri(URI.create("https://ssl-id-1.ssl.rackspace.com"))
+               .streamingUri(URI.create("http://streaming-id-1.stream.rackspace.com"))
+               .iosUri(URI.create("http://ios-id-1.iosr.rackspace.com"))
+               .build();
+         
+         assertEquals(updatedContainer, cdnContainer);
+         
+         assertEquals(server.getRequestCount(), 4);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "HEAD", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+         assertRequest(server.takeRequest(), "POST", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+         assertRequest(server.takeRequest(), "HEAD", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+      } finally {
+         server.shutdown();
+      }
+   }
+
+   private static final void checkCDNContainer(CDNContainer cdnContainer) {
+      assertNotNull(cdnContainer.getName());
+      assertNotNull(cdnContainer.isEnabled());
+      assertNotNull(cdnContainer.isLogRetentionEnabled());
+      assertNotNull(cdnContainer.getTtl());
+      assertNotNull(cdnContainer.getUri());
+      assertNotNull(cdnContainer.getSslUri());
+      assertNotNull(cdnContainer.getStreamingUri());
+      assertNotNull(cdnContainer.getIosUri());
+   }
+
+   private static final CDNContainer mockCDNContainer = CDNContainer.builder()
+         .name("container-1")
+         .enabled(true)
+         .logRetention(false)
+         .ttl(777777)
+         .uri(URI.create("http://id-1.cdn.rackspace.com"))
+         .sslUri(URI.create("https://ssl-id-1.ssl.rackspace.com"))
+         .streamingUri(URI.create("http://streaming-id-1.stream.rackspace.com"))
+         .iosUri(URI.create("http://ios-id-1.iosr.rackspace.com"))
+         .build();
+
+   private static MockResponse enabledResponse() {
+      return new MockResponse()
+            .addHeader(CDN_ENABLED, "true")
+            .addHeader(CDN_LOG_RETENTION, "false")
+            .addHeader(CDN_TTL, "777777")
+            .addHeader(CDN_URI,"http://id-1.cdn.rackspace.com")
+            .addHeader(CDN_SSL_URI, "https://ssl-id-1.ssl.rackspace.com")
+            .addHeader(CDN_STREAMING_URI, "http://streaming-id-1.stream.rackspace.com")
+            .addHeader(CDN_IOS_URI, "http://ios-id-1.iosr.rackspace.com")
+            .addHeader(CONTENT_LENGTH, "0")
+            .addHeader(CONTENT_TYPE, "text/plain; charset=UTF-8");
+   }
+   
+   private static MockResponse disabledResponse() {
+      return new MockResponse()
+            .addHeader(CDN_ENABLED, "false")
+            .addHeader(CDN_LOG_RETENTION, "false")
+            .addHeader(CDN_TTL, "777777")
+            .addHeader(CDN_URI,"http://id-1.cdn.rackspace.com")
+            .addHeader(CDN_SSL_URI, "https://ssl-id-1.ssl.rackspace.com")
+            .addHeader(CDN_STREAMING_URI, "http://streaming-id-1.stream.rackspace.com")
+            .addHeader(CDN_IOS_URI, "http://ios-id-1.iosr.rackspace.com")
+            .addHeader(CONTENT_LENGTH, "0")
+            .addHeader(CONTENT_TYPE, "text/plain; charset=UTF-8");
+   }
+
+   private static MockResponse updatedResponse() {
+      return new MockResponse()
+            .addHeader(CDN_ENABLED, "false")
+            .addHeader(CDN_LOG_RETENTION, "true")
+            .addHeader(CDN_TTL, "7654321")
+            .addHeader(CDN_URI,"http://id-1.cdn.rackspace.com")
+            .addHeader(CDN_SSL_URI, "https://ssl-id-1.ssl.rackspace.com")
+            .addHeader(CDN_STREAMING_URI, "http://streaming-id-1.stream.rackspace.com")
+            .addHeader(CDN_IOS_URI, "http://ios-id-1.iosr.rackspace.com")
+            .addHeader(CONTENT_LENGTH, "0")
+            .addHeader(CONTENT_TYPE, "text/plain; charset=UTF-8");
+   }
+
+   private static final ImmutableList<CDNContainer> mockContainers = ImmutableList.of(
+         CDNContainer.builder()
+               .name("cdn-container-1")
+               .enabled(true)
+               .logRetention(false)
+               .ttl(259200)
+               .uri(URI.create("http://id-1.cdn.rackspace.com"))
+               .sslUri(URI.create("https://ssl-id-1.ssl.rackspace.com"))
+               .streamingUri(URI.create("http://streaming-id-1.stream.rackspace.com"))
+               .iosUri(URI.create("http://ios-id-1.iosr.rackspace.com"))
+               .build(),
+         CDNContainer.builder()
+               .name("cdn-container-2")
+               .enabled(true)
+               .logRetention(true)
+               .ttl(259200)
+               .uri(URI.create("http://id-2.cdn.rackspace.com"))
+               .sslUri(URI.create("https://ssl-id-2.ssl.rackspace.com"))
+               .streamingUri(URI.create("http://streaming-id-2.stream.rackspace.com"))
+               .iosUri(URI.create("http://ios-id-2.iosr.rackspace.com"))
+               .build(),
+         CDNContainer.builder()
+               .name("cdn-container-3")
+               .enabled(true)
+               .logRetention(false)
+               .ttl(259200)
+               .uri(URI.create("http://id-3.cdn.rackspace.com"))
+               .sslUri(URI.create("https://ssl-id-3.ssl.rackspace.com"))
+               .streamingUri(URI.create("http://streaming-id-3.stream.rackspace.com"))
+               .iosUri(URI.create("http://ios-id-3.iosr.rackspace.com"))
+               .build(),
+         CDNContainer.builder()
+               .name("cdn-container-4")
+               .enabled(true)
+               .logRetention(true)
+               .ttl(777777)
+               .uri(URI.create("http://id-4.cdn.rackspace.com"))
+               .sslUri(URI.create("https://ssl-id-4.ssl.rackspace.com"))
+               .streamingUri(URI.create("http://streaming-id-4.stream.rackspace.com"))
+               .iosUri(URI.create("http://ios-id-4.iosr.rackspace.com"))
+               .build());
+
+   private static MockResponse objectResponse() {
+      return new MockResponse()
+            .addHeader(LAST_MODIFIED, "Fri, 12 Jun 2010 13:40:18 GMT")
+            .addHeader(ETAG, "8a964ee2a5e88be344f36c22562a6486")
+            // TODO: MWS doesn't allow you to return content length w/o content
+            // on HEAD!
+            .setBody("ABCD".getBytes(US_ASCII))
+            .addHeader(CONTENT_LENGTH, "4").addHeader(CONTENT_TYPE, "text/plain; charset=UTF-8");
+   }
+
+   private static final byte[] NO_CONTENT = new byte[] {};
+   
+   private static Payload payload(long bytes, String contentType) {
+      Payload payload = Payloads.newByteArrayPayload(NO_CONTENT);
+      payload.getContentMetadata().setContentLength(bytes);
+      payload.getContentMetadata().setContentType(contentType);
+      return payload;
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
new file mode 100644
index 0000000..4db4e5a
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rackspace.cloudfiles.v1.features;
+
+import org.jclouds.openstack.swift.v1.features.ContainerApiLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesContainerApiLiveTest")
+public class CloudFilesContainerApiLiveTest extends ContainerApiLiveTest {
+   public CloudFilesContainerApiLiveTest() {
+      provider = "rackspace-cloudfiles";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
new file mode 100644
index 0000000..a0ffa31
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rackspace.cloudfiles.v1.features;
+
+import org.jclouds.openstack.swift.v1.features.ObjectApiLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesObjectApiLiveTest")
+public class CloudFilesObjectApiLiveTest extends ObjectApiLiveTest {
+   public CloudFilesObjectApiLiveTest() {
+      provider = "rackspace-cloudfiles";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java
new file mode 100644
index 0000000..6586cd1
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java
@@ -0,0 +1,37 @@
+/*
+ * 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.rackspace.cloudfiles.v1.internal;
+
+import static org.testng.Assert.assertNotNull;
+
+import org.jclouds.openstack.swift.v1.domain.Container;
+import org.jclouds.openstack.swift.v1.internal.BaseSwiftApiLiveTest;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
+import org.testng.annotations.Test;
+
+/**
+ * Base class for all Cloud Files API Live tests.
+ * 
+ * @author Jeremy Daggett
+ */
+@Test(groups = "live", testName = "BaseCloudFilesApiLiveTest")
+public abstract class BaseCloudFilesApiLiveTest extends BaseSwiftApiLiveTest<CloudFilesApi> {
+   
+   protected BaseCloudFilesApiLiveTest() {
+      provider = "rackspace-cloudfiles";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list.json
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list.json b/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list.json
new file mode 100644
index 0000000..4dce8db
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list.json
@@ -0,0 +1,42 @@
+[
+    {
+        "cdn_streaming_uri": "http://streaming-id-1.stream.rackspace.com",
+        "name": "cdn-container-1",
+        "cdn_ios_uri": "http://ios-id-1.iosr.rackspace.com",
+        "cdn_ssl_uri": "https://ssl-id-1.ssl.rackspace.com",
+        "cdn_enabled": true,
+        "ttl": 259200,
+        "log_retention": false,
+        "cdn_uri": "http://id-1.cdn.rackspace.com"
+    },
+    {
+        "cdn_streaming_uri": "http://streaming-id-2.stream.rackspace.com",
+        "name": "cdn-container-2",
+        "cdn_ios_uri": "http://ios-id-2.iosr.rackspace.com",
+        "cdn_ssl_uri": "https://ssl-id-2.ssl.rackspace.com",
+        "cdn_enabled": true,
+        "ttl": 259200,
+        "log_retention": true,
+        "cdn_uri": "http://id-2.cdn.rackspace.com"
+    },
+    {
+        "cdn_streaming_uri": "http://streaming-id-3.stream.rackspace.com",
+        "name": "cdn-container-3",
+        "cdn_ios_uri": "http://ios-id-3.iosr.rackspace.com",
+        "cdn_ssl_uri": "https://ssl-id-3.ssl.rackspace.com",
+        "cdn_enabled": true,
+        "ttl": 259200,
+        "log_retention": false,
+        "cdn_uri": "http://id-3.cdn.rackspace.com"
+    },
+    {
+        "cdn_streaming_uri": "http://streaming-id-4.stream.rackspace.com",
+        "name": "cdn-container-4",
+        "cdn_ios_uri": "http://ios-id-4.iosr.rackspace.com",
+        "cdn_ssl_uri": "https://ssl-id-4.ssl.rackspace.com",
+        "cdn_enabled": true,
+        "ttl": 777777,
+        "log_retention": true,
+        "cdn_uri": "http://id-4.cdn.rackspace.com"
+    }
+]

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list_at.json
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list_at.json b/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list_at.json
new file mode 100644
index 0000000..f1fa9ee
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list_at.json
@@ -0,0 +1,22 @@
+[
+    {
+        "cdn_streaming_uri": "http://streaming-id-3.stream.rackspace.com",
+        "name": "cdn-container-3",
+        "cdn_ios_uri": "http://ios-id-3.iosr.rackspace.com",
+        "cdn_ssl_uri": "https://ssl-id-3.ssl.rackspace.com",
+        "cdn_enabled": true,
+        "ttl": 259200,
+        "log_retention": false,
+        "cdn_uri": "http://id-3.cdn.rackspace.com"
+    },
+    {
+        "cdn_streaming_uri": "http://streaming-id-4.stream.rackspace.com",
+        "name": "cdn-container-4",
+        "cdn_ios_uri": "http://ios-id-4.iosr.rackspace.com",
+        "cdn_ssl_uri": "https://ssl-id-4.ssl.rackspace.com",
+        "cdn_enabled": true,
+        "ttl": 777777,
+        "log_retention": true,
+        "cdn_uri": "http://id-4.cdn.rackspace.com"
+    }
+]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/resources/logback.xml
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/resources/logback.xml b/apis/rackspace-cloudfiles/src/test/resources/logback.xml
new file mode 100644
index 0000000..ce891f1
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/resources/logback.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<!--
+
+    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.
+
+-->
+<configuration scan="false">
+    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+        <file>target/test-data/jclouds.log</file>
+
+        <encoder>
+            <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
+        </encoder>
+    </appender>
+
+    <appender name="WIREFILE" class="ch.qos.logback.core.FileAppender">
+        <file>target/test-data/jclouds-wire.log</file>
+
+        <encoder>
+            <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
+        </encoder>
+    </appender>
+
+    <appender name="BLOBSTOREFILE" class="ch.qos.logback.core.FileAppender">
+        <file>target/test-data/jclouds-blobstore.log</file>
+
+        <encoder>
+            <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
+        </encoder>
+    </appender>
+    
+    <root>
+        <level value="warn" />
+    </root>
+
+    <logger name="org.jclouds">
+        <level value="DEBUG" />
+        <appender-ref ref="FILE" />
+    </logger>
+
+<!--
+    <logger name="jclouds.wire">
+        <level value="DEBUG" />
+        <appender-ref ref="WIREFILE" />
+    </logger>
+-->
+
+    <logger name="jclouds.headers">
+        <level value="DEBUG" />
+        <appender-ref ref="WIREFILE" />
+    </logger>
+
+    <logger name="jclouds.blobstore">
+        <level value="DEBUG" />
+        <appender-ref ref="BLOBSTOREFILE" />
+    </logger>
+
+</configuration>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/providers/rackspace-cloudfiles-us/README.md
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/README.md b/providers/rackspace-cloudfiles-us/README.md
new file mode 100644
index 0000000..25ded8c
--- /dev/null
+++ b/providers/rackspace-cloudfiles-us/README.md
@@ -0,0 +1,20 @@
+Rackspace Cloud Files US
+========================
+
+The new Rackspace Cloud Files US multi-region based provider.
+
+This new "rackspace-cloudfiles-us" provider supercedes the jclouds "cloudfiles-us" provider, which will eventually be deprecated.
+
+With this multi-region support, each BlobStore can be isolated to a specific region:
+
+     RegionScopedBlobStoreContext ctx = 
+     	contextBuilder.buildView(RegionScopedBlobStoreContext.class);
+ 
+     Set<String> regionIds = ctx.configuredRegions();
+ 
+     // isolated to a specific region
+     BlobStore dfwBlobStore = ctx.blobStoreInRegion("DFW");
+     BlobStore iadBlobStore = ctx.blobStoreInRegion("IAD");
+
+Production ready?
+No

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/providers/rackspace-cloudfiles-us/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/pom.xml b/providers/rackspace-cloudfiles-us/pom.xml
new file mode 100644
index 0000000..b882ed3
--- /dev/null
+++ b/providers/rackspace-cloudfiles-us/pom.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.jclouds</groupId>
+    <artifactId>jclouds-project</artifactId>
+    <version>1.8.0-SNAPSHOT</version>
+  </parent>
+
+  <!-- TODO: when out of labs, switch to org.jclouds.provider -->
+  <groupId>org.apache.jclouds.labs</groupId>
+  <artifactId>rackspace-cloudfiles-us</artifactId>
+  <version>1.8.0-SNAPSHOT</version>
+  <name>jclouds Rackspace Cloud Files US provider</name>
+  <description>OpenStack Object Storage implementation targeted to Rackspace Cloud Files US</description>
+  <packaging>bundle</packaging>
+
+  <properties>
+    <!-- identity endpoint -->
+    <test.rackspace-cloudfiles-us.endpoint>https://identity.api.rackspacecloud.com/v2.0/</test.rackspace-cloudfiles-us.endpoint>
+    <test.rackspace-cloudfiles-us.api-version>1</test.rackspace-cloudfiles-us.api-version>
+    <test.rackspace-cloudfiles-us.build-version />
+    <test.rackspace-cloudfiles-us.identity>${test.rackspace-us.identity}</test.rackspace-cloudfiles-us.identity>
+    <test.rackspace-cloudfiles-us.credential>${test.rackspace-us.credential}</test.rackspace-cloudfiles-us.credential>    
+    <jclouds.osgi.export>org.jclouds.rackspace.cloudfiles.us*;version="${project.version}"</jclouds.osgi.export>
+    <jclouds.osgi.import>
+      org.jclouds.rest.internal;version="${jclouds.version}",
+      org.jclouds.labs*;version="${project.version}",
+      org.jclouds*;version="${jclouds.version}",
+      *
+    </jclouds.osgi.import>
+  </properties>
+
+  <repositories>
+    <repository>
+      <id>apache-snapshots</id>
+      <url>https://repository.apache.org/content/repositories/snapshots</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.jclouds.labs</groupId>
+      <artifactId>openstack-swift</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.labs</groupId>
+      <artifactId>openstack-swift</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.labs</groupId>
+      <artifactId>rackspace-cloudfiles</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.labs</groupId>
+      <artifactId>rackspace-cloudfiles</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>    
+      <groupId>org.apache.jclouds.api</groupId>
+      <artifactId>openstack-keystone</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.api</groupId>
+      <artifactId>openstack-keystone</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds</groupId>
+      <artifactId>jclouds-blobstore</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds</groupId>
+      <artifactId>jclouds-core</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds</groupId>
+      <artifactId>jclouds-core</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.driver</groupId>
+      <artifactId>jclouds-slf4j</artifactId>
+      <version>${project.parent.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+    	<groupId>org.apache.jclouds.api</groupId>
+    	<artifactId>rackspace-cloudidentity</artifactId>
+    	<version>${project.parent.version}</version>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>live</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>integration</id>
+                <phase>integration-test</phase>
+                <goals>
+                  <goal>test</goal>
+                </goals>
+                <configuration>
+                  <forkCount>5</forkCount>
+                  <reuseForks>true</reuseForks>
+                  <parallel>classes</parallel>
+                  <systemPropertyVariables>
+                    <test.rackspace-cloudfiles-us.endpoint>${test.rackspace-cloudfiles-us.endpoint}</test.rackspace-cloudfiles-us.endpoint>
+                    <test.rackspace-cloudfiles-us.api-version>${test.rackspace-cloudfiles-us.api-version}</test.rackspace-cloudfiles-us.api-version>
+                    <test.rackspace-cloudfiles-us.build-version>${test.rackspace-cloudfiles-us.build-version}</test.rackspace-cloudfiles-us.build-version>
+                    <test.rackspace-cloudfiles-us.identity>${test.rackspace-cloudfiles-us.identity}</test.rackspace-cloudfiles-us.identity>
+                    <test.rackspace-cloudfiles-us.credential>${test.rackspace-cloudfiles-us.credential}</test.rackspace-cloudfiles-us.credential>
+                    <jclouds.blobstore.httpstream.url>${jclouds.blobstore.httpstream.url}</jclouds.blobstore.httpstream.url>
+                    <jclouds.blobstore.httpstream.md5>${jclouds.blobstore.httpstream.md5}</jclouds.blobstore.httpstream.md5>
+                  </systemPropertyVariables>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+
+</project>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java b/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java
new file mode 100644
index 0000000..beb9521
--- /dev/null
+++ b/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java
@@ -0,0 +1,145 @@
+/*
+ * 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.rackspace.cloudfiles.us;
+
+import static org.jclouds.location.reference.LocationConstants.ISO3166_CODES;
+import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGION;
+import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGIONS;
+import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.reflect.Reflection2.typeToken;
+
+import java.net.URI;
+import java.util.Properties;
+
+import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
+import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext;
+import org.jclouds.openstack.swift.v1.blobstore.config.SignUsingTemporaryUrls;
+import org.jclouds.openstack.swift.v1.blobstore.config.SwiftBlobStoreContextModule;
+import org.jclouds.openstack.swift.v1.config.SwiftTypeAdapters;
+import org.jclouds.openstack.v2_0.ServiceType;
+import org.jclouds.providers.ProviderMetadata;
+import org.jclouds.providers.internal.BaseProviderMetadata;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApiMetadata;
+import org.jclouds.rackspace.cloudfiles.v1.config.CloudFilesHttpApiModule;
+import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationApiModule;
+import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule;
+import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.inject.Module;
+
+/**
+ * Implementation of {@link ProviderMetadata} for Rackspace Cloud Files US regions.
+ * 
+ * @author Jeremy Daggett
+ */
+public class CloudFilesUSProviderMetadata extends BaseProviderMetadata {
+   
+   /**
+    * @return The Builder object.
+    */
+   public static Builder builder() {
+      return new Builder();
+   }
+
+   @Override
+   public Builder toBuilder() {
+      return builder().fromProviderMetadata(this);
+   }
+
+   /**
+    * Provider constructor.
+    */
+   public CloudFilesUSProviderMetadata() {
+      this(new Builder());
+   }
+
+   /**
+    * @param builder the Builder for the provider.
+    */
+   protected CloudFilesUSProviderMetadata(Builder builder) {
+      super(builder);
+   }
+
+   /**
+    * @return a {@link Properties} object containing the default provider properties.
+    */
+   public static Properties defaultProperties() {
+      Properties properties = new Properties();
+      properties.setProperty(CREDENTIAL_TYPE, CloudIdentityCredentialTypes.API_KEY_CREDENTIALS);
+      properties.setProperty(SERVICE_TYPE, ServiceType.OBJECT_STORE); 
+
+      properties.setProperty(PROPERTY_REGIONS, "ORD,DFW,IAD,SYD,HKG");
+      properties.setProperty(PROPERTY_REGION + ".ORD." + ISO3166_CODES, "US-IL");
+      properties.setProperty(PROPERTY_REGION + ".DFW." + ISO3166_CODES, "US-TX");
+      properties.setProperty(PROPERTY_REGION + ".IAD." + ISO3166_CODES, "US-VA");
+      properties.setProperty(PROPERTY_REGION + ".SYD." + ISO3166_CODES, "AU-NSW");
+      properties.setProperty(PROPERTY_REGION + ".HKG." + ISO3166_CODES, "HK");
+
+      return properties;
+   }
+
+   /**
+    * Builder pattern class.
+    */
+   public static class Builder extends BaseProviderMetadata.Builder {
+
+      protected Builder() {
+         id("rackspace-cloudfiles-us")
+         .name("Rackspace Cloud Files US")
+         .apiMetadata(new CloudFilesApiMetadata().toBuilder()
+               .identityName("${userName}")
+               .credentialName("${apiKey}")
+               .defaultEndpoint("https://identity.api.rackspacecloud.com/v2.0/")
+               .documentation(URI.create("http://docs.rackspace.com/files/api/v1/cf-devguide/content/index.html"))
+               .endpointName("Rackspace Cloud Identity service URL ending in /v2.0/")
+               .version("1.0")
+               .view(typeToken(RegionScopedBlobStoreContext.class))
+               .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
+                     .add(CloudIdentityAuthenticationApiModule.class)
+                     .add(CloudIdentityAuthenticationModule.class)
+                     .add(RegionModule.class)
+                     .add(SwiftTypeAdapters.class)
+                     .add(CloudFilesHttpApiModule.class)
+                     .add(SwiftBlobStoreContextModule.class)
+                     .add(SignUsingTemporaryUrls.class)
+                     .build())
+               .build())
+         .homepage(URI.create("http://www.rackspace.com/cloud/files"))
+         .console(URI.create("https://mycloud.rackspace.com"))
+         .linkedServices("rackspace-autoscale-us", "rackspace-cloudblockstorage-us",
+                         "rackspace-clouddatabases-us", "rackspace-clouddns-us",
+                         "rackspace-cloudidentity", "rackspace-cloudloadbalancers-us",
+                         "rackspace-cloudqueues-us")
+         .iso3166Codes("US-IL", "US-TX", "US-VA", "AU-NSW", "HK")
+         .defaultProperties(CloudFilesUSProviderMetadata.defaultProperties());
+         
+      }
+
+      @Override
+      public CloudFilesUSProviderMetadata build() {
+         return new CloudFilesUSProviderMetadata(this);
+      }
+
+      @Override
+      public Builder fromProviderMetadata(ProviderMetadata in) {
+         super.fromProviderMetadata(in);
+         return this;
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/providers/rackspace-cloudfiles-us/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/rackspace-cloudfiles-us/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
new file mode 100644
index 0000000..cf4c3b4
--- /dev/null
+++ b/providers/rackspace-cloudfiles-us/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
@@ -0,0 +1,18 @@
+#
+# 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.
+#
+
+org.jclouds.rackspace.cloudfiles.us.CloudFilesUSProviderMetadata

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderTest.java b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderTest.java
new file mode 100644
index 0000000..05d036a
--- /dev/null
+++ b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderTest.java
@@ -0,0 +1,29 @@
+/*
+ * 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.rackspace.cloudfiles.us;
+
+import org.jclouds.providers.internal.BaseProviderMetadataTest;
+import org.jclouds.rackspace.cloudfiles.us.CloudFilesUSProviderMetadata;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApiMetadata;
+import org.testng.annotations.Test;
+
+@Test(groups = "unit", testName = "CloudFilesUSProviderTest")
+public class CloudFilesUSProviderTest extends BaseProviderMetadataTest {
+   public CloudFilesUSProviderTest() {
+      super(new CloudFilesUSProviderMetadata(), new CloudFilesApiMetadata());
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSBlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSBlobIntegrationLiveTest.java b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSBlobIntegrationLiveTest.java
new file mode 100644
index 0000000..b684e89
--- /dev/null
+++ b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSBlobIntegrationLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rackspace.cloudfiles.us.blobstore.integration;
+
+import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesBlobIntegrationLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesUSBlobIntegrationLiveTest")
+public class CloudFilesUSBlobIntegrationLiveTest extends CloudFilesBlobIntegrationLiveTest {
+   public CloudFilesUSBlobIntegrationLiveTest() {
+      provider = "rackspace-cloudfiles-us";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSBlobLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSBlobLiveTest.java b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSBlobLiveTest.java
new file mode 100644
index 0000000..8eb5385
--- /dev/null
+++ b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSBlobLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rackspace.cloudfiles.us.blobstore.integration;
+
+import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesBlobLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesUSBlobLiveTest")
+public class CloudFilesUSBlobLiveTest extends CloudFilesBlobLiveTest {
+   public CloudFilesUSBlobLiveTest() {
+      provider = "rackspace-cloudfiles-us";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSBlobSignerLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSBlobSignerLiveTest.java b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSBlobSignerLiveTest.java
new file mode 100644
index 0000000..5255de2
--- /dev/null
+++ b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSBlobSignerLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rackspace.cloudfiles.us.blobstore.integration;
+
+import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesBlobSignerLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesUSBlobSignerLiveTest")
+public class CloudFilesUSBlobSignerLiveTest extends CloudFilesBlobSignerLiveTest {
+   public CloudFilesUSBlobSignerLiveTest() {
+      provider = "rackspace-cloudfiles-us";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSContainerIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSContainerIntegrationLiveTest.java b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSContainerIntegrationLiveTest.java
new file mode 100644
index 0000000..2fe511e
--- /dev/null
+++ b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSContainerIntegrationLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rackspace.cloudfiles.us.blobstore.integration;
+
+import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesContainerIntegrationLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesUSContainerIntegrationLiveTest")
+public class CloudFilesUSContainerIntegrationLiveTest extends CloudFilesContainerIntegrationLiveTest {
+   public CloudFilesUSContainerIntegrationLiveTest() {
+      provider = "rackspace-cloudfiles-us";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSContainerLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSContainerLiveTest.java b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSContainerLiveTest.java
new file mode 100644
index 0000000..44daffd
--- /dev/null
+++ b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSContainerLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rackspace.cloudfiles.us.blobstore.integration;
+
+import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesContainerLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesUSContainerLiveTest")
+public class CloudFilesUSContainerLiveTest extends CloudFilesContainerLiveTest {
+   public CloudFilesUSContainerLiveTest() {
+      provider = "rackspace-cloudfiles-us";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSServiceIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSServiceIntegrationLiveTest.java b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSServiceIntegrationLiveTest.java
new file mode 100644
index 0000000..698b733
--- /dev/null
+++ b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/blobstore/integration/CloudFilesUSServiceIntegrationLiveTest.java
@@ -0,0 +1,36 @@
+/*
+ * 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.rackspace.cloudfiles.us.blobstore.integration;
+
+import java.util.Set;
+
+import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesServiceIntegrationLiveTest;
+import org.testng.annotations.Test;
+
+import com.google.common.collect.ImmutableSet;
+
+@Test(groups = "live", testName = "CloudFilesUSServiceIntegrationLiveTest")
+public class CloudFilesUSServiceIntegrationLiveTest extends CloudFilesServiceIntegrationLiveTest {
+   public CloudFilesUSServiceIntegrationLiveTest() {
+      provider = "rackspace-cloudfiles-us";
+   }
+
+   @Override
+   protected Set<String> getIso3166Codes() {
+      return ImmutableSet.<String> of("US-IL", "US-TX", "US-VA", "AU-NSW", "HK");
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/providers/rackspace-cloudfiles-us/src/test/resources/logback.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/test/resources/logback.xml b/providers/rackspace-cloudfiles-us/src/test/resources/logback.xml
new file mode 100644
index 0000000..ce891f1
--- /dev/null
+++ b/providers/rackspace-cloudfiles-us/src/test/resources/logback.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<!--
+
+    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.
+
+-->
+<configuration scan="false">
+    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+        <file>target/test-data/jclouds.log</file>
+
+        <encoder>
+            <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
+        </encoder>
+    </appender>
+
+    <appender name="WIREFILE" class="ch.qos.logback.core.FileAppender">
+        <file>target/test-data/jclouds-wire.log</file>
+
+        <encoder>
+            <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
+        </encoder>
+    </appender>
+
+    <appender name="BLOBSTOREFILE" class="ch.qos.logback.core.FileAppender">
+        <file>target/test-data/jclouds-blobstore.log</file>
+
+        <encoder>
+            <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
+        </encoder>
+    </appender>
+    
+    <root>
+        <level value="warn" />
+    </root>
+
+    <logger name="org.jclouds">
+        <level value="DEBUG" />
+        <appender-ref ref="FILE" />
+    </logger>
+
+<!--
+    <logger name="jclouds.wire">
+        <level value="DEBUG" />
+        <appender-ref ref="WIREFILE" />
+    </logger>
+-->
+
+    <logger name="jclouds.headers">
+        <level value="DEBUG" />
+        <appender-ref ref="WIREFILE" />
+    </logger>
+
+    <logger name="jclouds.blobstore">
+        <level value="DEBUG" />
+        <appender-ref ref="BLOBSTOREFILE" />
+    </logger>
+
+</configuration>


[13/32] jclouds git commit: JCLOUDS-546: Remove Javadoc @author annotations

Posted by za...@apache.org.
JCLOUDS-546: Remove Javadoc @author annotations

Annotations removed with:

find -name \*.java | xargs sed -i /@author/d

Empty Javadoc removed with multiple iterations of:

find -name \*.java | xargs sed -i -z 's/ \*\n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/ \* \n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/\/\*\*\n \*\/\n//'


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

Branch: refs/heads/master
Commit: 808bd6aad7c1fe9429cff19a6eeb7f240ffc321d
Parents: 46867d1
Author: Andrew Gaul <ga...@apache.org>
Authored: Sat Jun 7 21:05:18 2014 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Sat Jun 7 21:06:46 2014 -0700

----------------------------------------------------------------------
 .../jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java   | 2 --
 .../v1/binders/BindCDNPurgeEmailAddressesToHeaders.java          | 2 --
 .../org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java | 2 --
 .../cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java    | 3 ---
 .../cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java | 3 ---
 .../rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java   | 1 -
 .../cloudfiles/v1/options/UpdateCDNContainerOptions.java         | 2 --
 .../rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java     | 1 -
 .../jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java   | 2 --
 .../rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java       | 2 --
 .../v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java  | 2 --
 .../CloudFilesRegionScopedBlobStoreContextLiveTest.java          | 2 --
 .../cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java     | 2 --
 .../cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java        | 2 --
 .../cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java         | 2 --
 .../cloudfiles/v1/features/CloudFilesCDNApiMockTest.java         | 2 --
 .../cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java   | 2 --
 .../cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java      | 2 --
 .../cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java        | 2 --
 .../cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java     | 2 --
 .../rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java    | 4 ----
 .../rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java    | 2 --
 22 files changed, 46 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
index 17baef0..186df97 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
@@ -41,8 +41,6 @@ import com.google.inject.Module;
 
 /**
  * Implementation of {@link ApiMetadata} for Cloud Files.
- * 
- * @author Jeremy Daggett
  */
 public class CloudFilesApiMetadata extends BaseHttpApiMetadata<CloudFilesApi> {
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java
index 792657a..a2cb5bd 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java
@@ -34,8 +34,6 @@ import com.google.common.collect.ImmutableMultimap;
  * Binds a list of email addresses to request headers. 
  * 
  * @see {@link CDNApi#purgeObject(String, String, Iterable)}
- * 
- * @author Jeremy Daggett
  */
 @Singleton
 public class BindCDNPurgeEmailAddressesToHeaders implements Binder {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
index 590bccb..d987f88 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
@@ -29,8 +29,6 @@ import com.google.common.base.Objects.ToStringHelper;
 
 /**
  * Represents a CDN Container in Rackspace Cloud Files.
- * 
- * @author Jeremy Daggett
  */
 public class CDNContainer implements Comparable<CDNContainer> {
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java
index e551ab1..3d4e0f9 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java
@@ -40,9 +40,6 @@ import com.google.common.base.Splitter;
 
 /**
  * Parses the {@link CDNContainer} from the response headers.
- * 
- * @author Jeremy Daggett
- *
  */
 public class ParseCDNContainerFromHeaders implements Function<HttpResponse, CDNContainer>,
       InvocationContext<ParseCDNContainerFromHeaders> {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java
index 42ed1f7..7bd3a52 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java
@@ -27,9 +27,6 @@ import com.google.common.base.Function;
 
 /**
  * Parses the {@link CDNContainer} from the response headers.
- * 
- * @author Jeremy Daggett
- *
  */
 public class ParseCDNContainerURIFromHeaders implements Function<HttpResponse, URI> {
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
index 7ce64e7..866c34f 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
@@ -42,7 +42,6 @@ import com.google.common.base.Supplier;
  * The Cloud Files Service Type will always default to OpenStack Object Storage ("object-storage").
  * <p/>
  * 
- * @author Jeremy Daggett
  * 
  * @see CloudFilesApi#cdnApiInRegion(String)
  * @see CDNApi

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
index 5f6d396..bdc2ada 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
@@ -35,8 +35,6 @@ import com.google.common.net.MediaType;
 
 /**
  * Options supported for updating CDN containers.
- * 
- * @author Jeremy Daggett
  */
 public class UpdateCDNContainerOptions extends BaseHttpRequestOptions {
    public static final UpdateCDNContainerOptions NONE = new UpdateCDNContainerOptions();

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
index c4f9983..e4d862b 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
@@ -20,7 +20,6 @@ import org.jclouds.openstack.swift.v1.reference.SwiftHeaders;
 
 /**
  * Additional headers specified by Rackspace Cloud Files.
- * 
  */
 public interface CloudFilesHeaders extends SwiftHeaders {
    // Access logs

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java
index 41f675b..4a1ce4a 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java
@@ -21,8 +21,6 @@ import org.testng.annotations.Test;
 
 /**
  * Tests live behavior of {@code CloudFilesApi}.
- * 
- * @author Jeremy Daggett
  */
 @Test(groups = "live", testName = "CloudFilesApiLiveTest")
 public class CloudFilesApiLiveTest extends BaseCloudFilesApiLiveTest {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java
index e52bb0f..8584ca4 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java
@@ -25,8 +25,6 @@ import com.google.common.reflect.TypeToken;
 
 /**
  * Tests the behavior of {@link CloudFilesApiMetadata}.
- * 
- * @author Jeremy Daggett
  */
 @Test(groups = "unit", testName = "CloudFilesApiMetadataTest")
 public class CloudFilesApiMetadataTest extends BaseApiMetadataTest {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
index 06b2dee..7c4c4de 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
@@ -30,8 +30,6 @@ import com.google.common.collect.ImmutableList;
 
 /**
  * Tests the behavior of {@code BindCDNPurgeEmailAddressesToHeaders}.
- * 
- * @author Jeremy Daggett
  */
 @Test(groups = "unit", testName = "BindCDNPurgeEmailAddressesToHeadersMockTest")
 public class BindCDNPurgeEmailAddressesToHeadersMockTest extends BaseOpenStackMockTest<CloudFilesApi> {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
index 7d6f0f3..89d1499 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
@@ -25,8 +25,6 @@ import org.testng.annotations.Test;
 
 /**
  * Tests the live behavior of the {@link RegionScopedBlobStoreContext}.
- * 
- * @author Jeremy Daggett
  */
 @Test(groups = "live")
 public class CloudFilesRegionScopedBlobStoreContextLiveTest extends RegionScopedBlobStoreContextLiveTest {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
index f1431d9..8e57cf5 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
@@ -27,8 +27,6 @@ import org.testng.annotations.Test;
 /**
  * Tests the live behavior of the OpenStack Object Storage {@link AccountApi}
  * via the {@link CloudFilesApi}.
- * 
- * @author Jeremy Daggett
  */
 @Test(groups = "live", testName = "CloudFilesAccountApiLiveTest")
 public class CloudFilesAccountApiLiveTest extends AccountApiLiveTest {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
index b4a60b4..ba6c8b4 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
@@ -22,8 +22,6 @@ import org.testng.annotations.Test;
 /**
  * Tests the live behavior of the OpenStack Object Storage {@link BulkApi}
  * via the {@link CloudFilesApi}.
- * 
- * @author Jeremy Daggett
  */
 @Test(groups = "live", testName = "CloudFilesBulkApiLiveTest")
 public class CloudFilesBulkApiLiveTest extends BulkApiLiveTest {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
index 3c68bee..39e95cc 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
@@ -42,8 +42,6 @@ import com.google.common.io.ByteSource;
 
 /**
  * Tests the live behavior of the {@code CloudFilesCDNApi}.
- * 
- * @author Jeremy Daggett
  */
 @Test(groups = "live", testName = "CloudFilesCDNApiLiveTest")
 public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
index cb692bb..de55058 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
@@ -48,8 +48,6 @@ import com.squareup.okhttp.mockwebserver.MockWebServer;
 
 /**
  * Tests the behavior of the {@link CloudFilesCDNApi}.
- * 
- * @author Jeremy Daggett
  */
 @Test(groups = "unit", testName = "CloudFilesCDNApiMockTest")
 public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesApi> {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
index e313aab..5a7f57c 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
@@ -22,8 +22,6 @@ import org.testng.annotations.Test;
 /**
  * Tests the live behavior of the OpenStack Object Storage {@link ContainerApi}
  * via the {@link CloudFilesApi}.
- * 
- * @author Jeremy Daggett
  */
 @Test(groups = "live", testName = "CloudFilesContainerApiLiveTest")
 public class CloudFilesContainerApiLiveTest extends ContainerApiLiveTest {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
index f751d18..815f4c1 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
@@ -22,8 +22,6 @@ import org.testng.annotations.Test;
 /**
  * Tests the live behavior of the OpenStack Object Storage {@link ObjectApi}
  * via the {@link CloudFilesApi}.
- * 
- * @author Jeremy Daggett
  */
 @Test(groups = "live", testName = "CloudFilesObjectApiLiveTest")
 public class CloudFilesObjectApiLiveTest extends ObjectApiLiveTest {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java
index 9392245..3df23ed 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java
@@ -22,8 +22,6 @@ import org.testng.annotations.Test;
 
 /**
  * Base class for all {@link CloudFilesApi} live tests.
- * 
- * @author Jeremy Daggett
  */
 @Test(groups = "live", testName = "BaseCloudFilesApiLiveTest")
 public abstract class BaseCloudFilesApiLiveTest extends BaseSwiftApiLiveTest<CloudFilesApi> {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java
index 8d7b7e0..04c2bc0 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java
@@ -34,8 +34,6 @@ import com.google.common.net.MediaType;
 
 /**
  * Tests behavior of {@link UpdateCDNContainerOptions}.
- * 
- * @author Jeremy Daggett
  */
 @Test(groups = "unit")
 public class UpdateCDNContainerOptionsTest {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java b/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
index a16cf72..1a2f460 100644
--- a/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
+++ b/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
@@ -43,10 +43,6 @@ import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTy
 import com.google.common.collect.ImmutableSet;
 import com.google.inject.Module;
 
-/**
- * 
- * @author Jeremy Daggett
- */
 public class CloudFilesUKProviderMetadata extends BaseProviderMetadata {
    
    public static Builder builder() {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/808bd6aa/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java b/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java
index beb9521..499b2e2 100644
--- a/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java
+++ b/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java
@@ -45,8 +45,6 @@ import com.google.inject.Module;
 
 /**
  * Implementation of {@link ProviderMetadata} for Rackspace Cloud Files US regions.
- * 
- * @author Jeremy Daggett
  */
 public class CloudFilesUSProviderMetadata extends BaseProviderMetadata {
    


[15/32] jclouds git commit: Up to 2.0.0-SNAPSHOT after the 1.8.0 release

Posted by za...@apache.org.
Up to 2.0.0-SNAPSHOT after the 1.8.0 release


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

Branch: refs/heads/master
Commit: f8b5f5216fe16b3bf1b6b296dceb74cf39351774
Parents: 77e37f4
Author: Andrew Phillips <an...@apache.org>
Authored: Tue Aug 5 10:35:49 2014 +0200
Committer: Andrew Phillips <an...@apache.org>
Committed: Tue Aug 5 10:35:49 2014 +0200

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/pom.xml         | 2 +-
 providers/rackspace-cloudfiles-uk/pom.xml | 2 +-
 providers/rackspace-cloudfiles-us/pom.xml | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/f8b5f521/apis/rackspace-cloudfiles/pom.xml
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/pom.xml b/apis/rackspace-cloudfiles/pom.xml
index 59662c9..434a0bf 100644
--- a/apis/rackspace-cloudfiles/pom.xml
+++ b/apis/rackspace-cloudfiles/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.jclouds</groupId>
     <artifactId>jclouds-project</artifactId>
-    <version>1.8.0-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
 
   <!-- TODO: when out of labs, switch to org.jclouds.api -->

http://git-wip-us.apache.org/repos/asf/jclouds/blob/f8b5f521/providers/rackspace-cloudfiles-uk/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/pom.xml b/providers/rackspace-cloudfiles-uk/pom.xml
index 773f794..3ac9cfa 100644
--- a/providers/rackspace-cloudfiles-uk/pom.xml
+++ b/providers/rackspace-cloudfiles-uk/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.jclouds</groupId>
     <artifactId>jclouds-project</artifactId>
-    <version>1.8.0-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
 
   <!-- TODO: when out of labs, switch to org.jclouds.provider -->

http://git-wip-us.apache.org/repos/asf/jclouds/blob/f8b5f521/providers/rackspace-cloudfiles-us/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/pom.xml b/providers/rackspace-cloudfiles-us/pom.xml
index b882ed3..929d968 100644
--- a/providers/rackspace-cloudfiles-us/pom.xml
+++ b/providers/rackspace-cloudfiles-us/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.jclouds</groupId>
     <artifactId>jclouds-project</artifactId>
-    <version>1.8.0-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
   </parent>
 
   <!-- TODO: when out of labs, switch to org.jclouds.provider -->


[23/32] jclouds git commit: Fix poms so that modernizer doesn't fail on snapshot.

Posted by za...@apache.org.
Fix poms so that modernizer doesn't fail on snapshot.


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

Branch: refs/heads/master
Commit: 52ecdf5a1e0e17ef7c64fe691bace3f3d6506207
Parents: acba325
Author: Adrian Cole <ad...@gmail.com>
Authored: Sun Oct 5 13:32:34 2014 -0700
Committer: Adrian Cole <ad...@apache.org>
Committed: Sun Oct 5 14:41:13 2014 -0700

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/pom.xml         | 14 ++++++++++++++
 providers/rackspace-cloudfiles-uk/pom.xml | 14 ++++++++++++++
 providers/rackspace-cloudfiles-us/pom.xml | 14 ++++++++++++++
 3 files changed, 42 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/52ecdf5a/apis/rackspace-cloudfiles/pom.xml
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/pom.xml b/apis/rackspace-cloudfiles/pom.xml
index 3e0bcbf..f3274b4 100644
--- a/apis/rackspace-cloudfiles/pom.xml
+++ b/apis/rackspace-cloudfiles/pom.xml
@@ -58,6 +58,20 @@
     </repository>
   </repositories>
 
+  <!-- For modernizer, which depends on jclouds-resources snapshot. -->
+  <pluginRepositories>
+    <pluginRepository>
+      <id>apache-snapshots</id>
+      <url>https://repository.apache.org/content/repositories/snapshots</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </pluginRepository>
+  </pluginRepositories>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.jclouds.labs</groupId>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/52ecdf5a/providers/rackspace-cloudfiles-uk/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/pom.xml b/providers/rackspace-cloudfiles-uk/pom.xml
index fd55157..9bb1af0 100644
--- a/providers/rackspace-cloudfiles-uk/pom.xml
+++ b/providers/rackspace-cloudfiles-uk/pom.xml
@@ -63,6 +63,20 @@
     </repository>
   </repositories>
 
+  <!-- For modernizer, which depends on jclouds-resources snapshot. -->
+  <pluginRepositories>
+    <pluginRepository>
+      <id>apache-snapshots</id>
+      <url>https://repository.apache.org/content/repositories/snapshots</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </pluginRepository>
+  </pluginRepositories>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.jclouds.labs</groupId>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/52ecdf5a/providers/rackspace-cloudfiles-us/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/pom.xml b/providers/rackspace-cloudfiles-us/pom.xml
index f54d9ce..a5a89db 100644
--- a/providers/rackspace-cloudfiles-us/pom.xml
+++ b/providers/rackspace-cloudfiles-us/pom.xml
@@ -63,6 +63,20 @@
     </repository>
   </repositories>
 
+  <!-- For modernizer, which depends on jclouds-resources snapshot. -->
+  <pluginRepositories>
+    <pluginRepository>
+      <id>apache-snapshots</id>
+      <url>https://repository.apache.org/content/repositories/snapshots</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </pluginRepository>
+  </pluginRepositories>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.jclouds.labs</groupId>


[03/32] jclouds git commit: JCLOUDS-423 - Adds support for Rackspace Cloud Files UK provider.

Posted by za...@apache.org.
JCLOUDS-423 - Adds support for Rackspace Cloud Files UK provider.


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

Branch: refs/heads/master
Commit: 07d234a09fe419d5b9b4c6f052c03339c77dc693
Parents: 2ca0dac
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Mon Mar 3 15:10:40 2014 -0800
Committer: Zack Shoylev <za...@rackspace.com>
Committed: Wed Mar 5 11:58:32 2014 -0600

----------------------------------------------------------------------
 .../cloudfiles/v1/CloudFilesApiLiveTest.java    |   5 +-
 .../v1/CloudFilesApiMetadataTest.java           |   3 +-
 ...CDNPurgeEmailAddressesToHeadersMockTest.java |   5 +-
 ...lesRegionScopedBlobStoreContextLiveTest.java |   6 +
 .../features/CloudFilesAccountApiLiveTest.java  |  12 +-
 .../v1/features/CloudFilesBulkApiLiveTest.java  |  10 +-
 .../v1/features/CloudFilesCDNApiLiveTest.java   |   4 +-
 .../v1/features/CloudFilesCDNApiMockTest.java   |   5 +
 .../CloudFilesContainerApiLiveTest.java         |   8 +
 .../features/CloudFilesObjectApiLiveTest.java   |   8 +
 .../v1/internal/BaseCloudFilesApiLiveTest.java  |   6 +-
 providers/rackspace-cloudfiles-uk/README.md     |  19 ++
 providers/rackspace-cloudfiles-uk/pom.xml       | 176 +++++++++++++++++++
 .../uk/CloudFilesUKProviderMetadata.java        | 125 +++++++++++++
 .../org.jclouds.providers.ProviderMetadata      |  18 ++
 .../cloudfiles/uk/CloudFilesUKProviderTest.java |  29 +++
 .../CloudFilesUKBlobIntegrationLiveTest.java    |  27 +++
 .../integration/CloudFilesUKBlobLiveTest.java   |  27 +++
 .../CloudFilesUKBlobSignerLiveTest.java         |  27 +++
 ...loudFilesUKContainerIntegrationLiveTest.java |  27 +++
 .../CloudFilesUKContainerLiveTest.java          |  27 +++
 .../CloudFilesUKServiceIntegrationLiveTest.java |  36 ++++
 .../src/test/resources/logback.xml              |  71 ++++++++
 23 files changed, 664 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java
index 666059f..41f675b 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java
@@ -20,11 +20,10 @@ import org.jclouds.rackspace.cloudfiles.v1.internal.BaseCloudFilesApiLiveTest;
 import org.testng.annotations.Test;
 
 /**
- * Tests behavior of {@code CloudFilesApi}
+ * Tests live behavior of {@code CloudFilesApi}.
  * 
  * @author Jeremy Daggett
  */
 @Test(groups = "live", testName = "CloudFilesApiLiveTest")
 public class CloudFilesApiLiveTest extends BaseCloudFilesApiLiveTest {
-
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java
index 5c32f1c..e52bb0f 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java
@@ -1,4 +1,3 @@
-package org.jclouds.rackspace.cloudfiles.v1;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.jclouds.rackspace.cloudfiles.v1;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.jclouds.rackspace.cloudfiles.v1;
 
 import org.jclouds.View;
 import org.jclouds.apis.internal.BaseApiMetadataTest;
@@ -24,6 +24,7 @@ import com.google.common.collect.ImmutableSet;
 import com.google.common.reflect.TypeToken;
 
 /**
+ * Tests the behavior of {@link CloudFilesApiMetadata}.
  * 
  * @author Jeremy Daggett
  */

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
index 5c7e2b0..288bd7f 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
@@ -24,13 +24,12 @@ import org.jclouds.http.HttpRequest;
 import org.jclouds.openstack.v2_0.internal.BaseOpenStackMockTest;
 import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders;
-import org.testng.Assert;
 import org.testng.annotations.Test;
 
 import com.google.common.collect.ImmutableList;
 
 /**
- * Tests behavior of {@code BindCDNPurgeEmailAddressesToHeaders}
+ * Tests the behavior of {@code BindCDNPurgeEmailAddressesToHeaders}.
  * 
  * @author Jeremy Daggett
  */
@@ -50,7 +49,7 @@ public class BindCDNPurgeEmailAddressesToHeadersMockTest extends BaseOpenStackMo
             .method("DELETE")
             .endpoint("https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_XXXXXX/")
             .addHeader(CloudFilesHeaders.CDN_PURGE_OBJECT_EMAIL, "foo@bar.com, bar@foo.com")
-            .build(); 
+            .build();
       
       assertEquals(actualRequest, expectedRequest);
       

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
index bc35b3a..81cd78c 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
@@ -20,9 +20,15 @@ import static org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCrede
 
 import java.util.Properties;
 
+import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext;
 import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContextLiveTest;
 import org.testng.annotations.Test;
 
+/**
+ * Tests the live behavior of the {@link RegionScopedBlobStoreContext}.
+ * 
+ * @author Jeremy Daggett
+ */
 @Test(groups = "live")
 public class CloudFilesRegionScopedBlobStoreContextLiveTest extends RegionScopedBlobStoreContextLiveTest {
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
index 297ae7d..6eeeaf7 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
@@ -19,16 +19,24 @@ package org.jclouds.rackspace.cloudfiles.v1.features;
 import static org.testng.Assert.assertTrue;
 
 import org.jclouds.openstack.swift.v1.domain.Account;
+import org.jclouds.openstack.swift.v1.features.AccountApi;
 import org.jclouds.openstack.swift.v1.features.AccountApiLiveTest;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.testng.annotations.Test;
 
+/**
+ * Tests the live behavior of the OpenStack Object Storage {@link AccountApi}
+ * via the {@link CloudFilesApi}.
+ * 
+ * @author Jeremy Daggett
+ */
 @Test(groups = "live", testName = "CloudFilesAccountApiLiveTest")
 public class CloudFilesAccountApiLiveTest extends AccountApiLiveTest {
-   
+
    public CloudFilesAccountApiLiveTest() {
       provider = "rackspace-cloudfiles";
    }
-   
+
    public void testUrlKeyExists() throws Exception {
       for (String regionId : regions) {
          Account account = api.accountApiInRegion(regionId).get();

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
index 331ab85..3fae594 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
@@ -17,12 +17,18 @@
 package org.jclouds.rackspace.cloudfiles.v1.features;
 
 import org.jclouds.openstack.swift.v1.features.BulkApiLiveTest;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.testng.annotations.Test;
 
+/**
+ * Tests the live behavior of the OpenStack Object Storage {@link BulkApi}
+ * via the {@link CloudFilesApi}.
+ * 
+ * @author Jeremy Daggett
+ */
 @Test(groups = "live", testName = "CloudFilesBulkApiLiveTest")
 public class CloudFilesBulkApiLiveTest extends BulkApiLiveTest {
-
    public CloudFilesBulkApiLiveTest() {
       provider = "rackspace-cloudfiles";
    }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
index fe299ba..15a9dd9 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
@@ -30,6 +30,8 @@ import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 /**
+ * Tests the live behavior of the {@code CloudFilesCDNApi}.
+ * 
  * @author Jeremy Daggett
  */
 @Test(groups = "live", testName = "CloudFilesCDNApiLiveTest")
@@ -40,7 +42,7 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    public CloudFilesCDNApiLiveTest() {
       super();
    }
-   
+
    public void testList() throws Exception {
       for (String regionId : regions) {
          CDNApi cdnApi = api.cdnApiInRegion(regionId);

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
index 916496e..ef87fad 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
@@ -50,6 +50,11 @@ import com.google.common.collect.ImmutableList;
 import com.squareup.okhttp.mockwebserver.MockResponse;
 import com.squareup.okhttp.mockwebserver.MockWebServer;
 
+/**
+ * Tests the behavior of the {@link CloudFilesCDNApi}.
+ * 
+ * @author Jeremy Daggett
+ */
 @Test(groups = "unit", testName = "CloudFilesCDNApiMockTest")
 public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesApi> {
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
index 4db4e5a..b7b8e17 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
@@ -16,9 +16,17 @@
  */
 package org.jclouds.rackspace.cloudfiles.v1.features;
 
+import org.jclouds.openstack.swift.v1.features.ContainerApi;
 import org.jclouds.openstack.swift.v1.features.ContainerApiLiveTest;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.testng.annotations.Test;
 
+/**
+ * Tests the live behavior of the OpenStack Object Storage {@link ContainerApi}
+ * via the {@link CloudFilesApi}.
+ * 
+ * @author Jeremy Daggett
+ */
 @Test(groups = "live", testName = "CloudFilesContainerApiLiveTest")
 public class CloudFilesContainerApiLiveTest extends ContainerApiLiveTest {
    public CloudFilesContainerApiLiveTest() {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
index a0ffa31..0de6a78 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
@@ -16,9 +16,17 @@
  */
 package org.jclouds.rackspace.cloudfiles.v1.features;
 
+import org.jclouds.openstack.swift.v1.features.ObjectApi;
 import org.jclouds.openstack.swift.v1.features.ObjectApiLiveTest;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.testng.annotations.Test;
 
+/**
+ * Tests the live behavior of the OpenStack Object Storage {@link ObjectApi}
+ * via the {@link CloudFilesApi}.
+ * 
+ * @author Jeremy Daggett
+ */
 @Test(groups = "live", testName = "CloudFilesObjectApiLiveTest")
 public class CloudFilesObjectApiLiveTest extends ObjectApiLiveTest {
    public CloudFilesObjectApiLiveTest() {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java
index 6586cd1..9392245 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/internal/BaseCloudFilesApiLiveTest.java
@@ -16,21 +16,17 @@
  */
 package org.jclouds.rackspace.cloudfiles.v1.internal;
 
-import static org.testng.Assert.assertNotNull;
-
-import org.jclouds.openstack.swift.v1.domain.Container;
 import org.jclouds.openstack.swift.v1.internal.BaseSwiftApiLiveTest;
 import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.testng.annotations.Test;
 
 /**
- * Base class for all Cloud Files API Live tests.
+ * Base class for all {@link CloudFilesApi} live tests.
  * 
  * @author Jeremy Daggett
  */
 @Test(groups = "live", testName = "BaseCloudFilesApiLiveTest")
 public abstract class BaseCloudFilesApiLiveTest extends BaseSwiftApiLiveTest<CloudFilesApi> {
-   
    protected BaseCloudFilesApiLiveTest() {
       provider = "rackspace-cloudfiles";
    }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/providers/rackspace-cloudfiles-uk/README.md
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/README.md b/providers/rackspace-cloudfiles-uk/README.md
new file mode 100644
index 0000000..52ea6ec
--- /dev/null
+++ b/providers/rackspace-cloudfiles-uk/README.md
@@ -0,0 +1,19 @@
+Rackspace Cloud Files UK
+========================
+
+The new Rackspace Cloud Files UK multi-region based provider.
+
+This new "rackspace-cloudfiles-uk" provider supercedes the jclouds "cloudfiles-uk" provider, which will eventually be deprecated.
+
+With this multi-region support, a BlobStore can be isolated to a specific region:
+
+     RegionScopedBlobStoreContext ctx = 
+     	contextBuilder.buildView(RegionScopedBlobStoreContext.class);
+ 
+     Set<String> regionIds = ctx.configuredRegions();
+ 
+     // isolated to the only UK region
+     BlobStore dfwBlobStore = ctx.blobStoreInRegion("LON");
+
+Production ready?
+No

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/providers/rackspace-cloudfiles-uk/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/pom.xml b/providers/rackspace-cloudfiles-uk/pom.xml
new file mode 100644
index 0000000..773f794
--- /dev/null
+++ b/providers/rackspace-cloudfiles-uk/pom.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.jclouds</groupId>
+    <artifactId>jclouds-project</artifactId>
+    <version>1.8.0-SNAPSHOT</version>
+  </parent>
+
+  <!-- TODO: when out of labs, switch to org.jclouds.provider -->
+  <groupId>org.apache.jclouds.labs</groupId>
+  <artifactId>rackspace-cloudfiles-uk</artifactId>
+  <version>1.8.0-SNAPSHOT</version>
+  <name>jclouds Rackspace Cloud Files UK provider</name>
+  <description>OpenStack Object Storage implementation targeted to Rackspace Cloud Files UK</description>
+  <packaging>bundle</packaging>
+
+  <properties>
+    <!-- identity endpoint -->
+    <test.rackspace-cloudfiles-uk.endpoint>https://lon.identity.api.rackspacecloud.com/v2.0/</test.rackspace-cloudfiles-uk.endpoint>
+    <test.rackspace-cloudfiles-uk.api-version>1</test.rackspace-cloudfiles-uk.api-version>
+    <test.rackspace-cloudfiles-uk.build-version />
+    <test.rackspace-cloudfiles-uk.identity>${test.rackspace-uk.identity}</test.rackspace-cloudfiles-uk.identity>
+    <test.rackspace-cloudfiles-uk.credential>${test.rackspace-uk.credential}</test.rackspace-cloudfiles-uk.credential>
+    <jclouds.osgi.export>org.jclouds.rackspace.cloudfiles.uk*;version="${project.version}"</jclouds.osgi.export>
+    <jclouds.osgi.import>
+      org.jclouds.rest.internal;version="${jclouds.version}",
+      org.jclouds.labs*;version="${project.version}",
+      org.jclouds*;version="${jclouds.version}",
+      *
+    </jclouds.osgi.import>
+  </properties>
+
+  <repositories>
+    <repository>
+      <id>apache-snapshots</id>
+      <url>https://repository.apache.org/content/repositories/snapshots</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.jclouds.labs</groupId>
+      <artifactId>openstack-swift</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.labs</groupId>
+      <artifactId>openstack-swift</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.labs</groupId>
+      <artifactId>rackspace-cloudfiles</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.labs</groupId>
+      <artifactId>rackspace-cloudfiles</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>    
+      <groupId>org.apache.jclouds.api</groupId>
+      <artifactId>openstack-keystone</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.api</groupId>
+      <artifactId>openstack-keystone</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds</groupId>
+      <artifactId>jclouds-blobstore</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds</groupId>
+      <artifactId>jclouds-core</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds</groupId>
+      <artifactId>jclouds-core</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.driver</groupId>
+      <artifactId>jclouds-slf4j</artifactId>
+      <version>${project.parent.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+    	<groupId>org.apache.jclouds.api</groupId>
+    	<artifactId>rackspace-cloudidentity</artifactId>
+    	<version>${project.parent.version}</version>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>live</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>integration</id>
+                <phase>integration-test</phase>
+                <goals>
+                  <goal>test</goal>
+                </goals>
+                <configuration>
+                  <forkCount>5</forkCount>
+                  <reuseForks>true</reuseForks>
+                  <parallel>classes</parallel>
+                  <systemPropertyVariables>
+                    <test.rackspace-cloudfiles-uk.endpoint>${test.rackspace-cloudfiles-uk.endpoint}</test.rackspace-cloudfiles-uk.endpoint>
+                    <test.rackspace-cloudfiles-uk.api-version>${test.rackspace-cloudfiles-uk.api-version}</test.rackspace-cloudfiles-uk.api-version>
+                    <test.rackspace-cloudfiles-uk.build-version>${test.rackspace-cloudfiles-uk.build-version}</test.rackspace-cloudfiles-uk.build-version>
+                    <test.rackspace-cloudfiles-uk.identity>${test.rackspace-cloudfiles-uk.identity}</test.rackspace-cloudfiles-uk.identity>
+                    <test.rackspace-cloudfiles-uk.credential>${test.rackspace-cloudfiles-uk.credential}</test.rackspace-cloudfiles-uk.credential>
+                    <jclouds.blobstore.httpstream.url>${jclouds.blobstore.httpstream.url}</jclouds.blobstore.httpstream.url>
+                    <jclouds.blobstore.httpstream.md5>${jclouds.blobstore.httpstream.md5}</jclouds.blobstore.httpstream.md5>
+                  </systemPropertyVariables>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+
+</project>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java b/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
new file mode 100644
index 0000000..a16cf72
--- /dev/null
+++ b/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
@@ -0,0 +1,125 @@
+/*
+ * 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.rackspace.cloudfiles.uk;
+
+import static org.jclouds.location.reference.LocationConstants.ISO3166_CODES;
+import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGION;
+import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGIONS;
+import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.reflect.Reflection2.typeToken;
+
+import java.net.URI;
+import java.util.Properties;
+
+import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
+import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext;
+import org.jclouds.openstack.swift.v1.blobstore.config.SignUsingTemporaryUrls;
+import org.jclouds.openstack.swift.v1.blobstore.config.SwiftBlobStoreContextModule;
+import org.jclouds.openstack.swift.v1.config.SwiftTypeAdapters;
+import org.jclouds.openstack.v2_0.ServiceType;
+import org.jclouds.providers.ProviderMetadata;
+import org.jclouds.providers.internal.BaseProviderMetadata;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApiMetadata;
+import org.jclouds.rackspace.cloudfiles.v1.config.CloudFilesHttpApiModule;
+import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationApiModule;
+import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule;
+import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.inject.Module;
+
+/**
+ * 
+ * @author Jeremy Daggett
+ */
+public class CloudFilesUKProviderMetadata extends BaseProviderMetadata {
+   
+   public static Builder builder() {
+      return new Builder();
+   }
+
+   @Override
+   public Builder toBuilder() {
+      return builder().fromProviderMetadata(this);
+   }
+
+   public CloudFilesUKProviderMetadata() {
+      this(new Builder());
+   }
+
+   protected CloudFilesUKProviderMetadata(Builder builder) {
+      super(builder);
+   }
+
+   public static Properties defaultProperties() {
+      Properties properties = new Properties();
+      properties.setProperty(CREDENTIAL_TYPE, CloudIdentityCredentialTypes.API_KEY_CREDENTIALS);
+      properties.setProperty(SERVICE_TYPE, ServiceType.OBJECT_STORE); 
+
+      properties.setProperty(PROPERTY_REGIONS, "LON");
+      properties.setProperty(PROPERTY_REGION + ".LON." + ISO3166_CODES, "GB-SLG");
+
+      return properties;
+   }
+
+   public static class Builder extends BaseProviderMetadata.Builder {
+
+      protected Builder() {
+         id("rackspace-cloudfiles-uk")
+         .name("Rackspace Cloud Files UK")
+         .apiMetadata(new CloudFilesApiMetadata().toBuilder()
+               .identityName("${userName}")
+               .credentialName("${apiKey}")
+               .defaultEndpoint("https://identity.api.rackspacecloud.com/v2.0/")
+               .documentation(URI.create("http://docs.rackspace.com/files/api/v1/cf-devguide/content/index.html"))
+               .endpointName("Rackspace Cloud Identity service URL ending in /v2.0/")
+               .version("1.0")
+               .view(typeToken(RegionScopedBlobStoreContext.class))
+               .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
+                     .add(CloudIdentityAuthenticationApiModule.class)
+                     .add(CloudIdentityAuthenticationModule.class)
+                     .add(RegionModule.class)
+                     .add(SwiftTypeAdapters.class)
+                     .add(CloudFilesHttpApiModule.class)
+                     .add(SwiftBlobStoreContextModule.class)
+                     .add(SignUsingTemporaryUrls.class)
+                     .build())
+               .build())
+         .homepage(URI.create("http://www.rackspace.com/cloud/files"))
+         .console(URI.create("https://mycloud.rackspace.com"))
+         .linkedServices("rackspace-autoscale-us", "rackspace-cloudblockstorage-us",
+                         "rackspace-clouddatabases-us", "rackspace-clouddns-us",
+                         "rackspace-cloudidentity", "rackspace-cloudloadbalancers-us",
+                         "rackspace-cloudqueues-us")
+         .iso3166Codes("GB-SLG")
+         .defaultProperties(CloudFilesUKProviderMetadata.defaultProperties());
+         
+      }
+
+      @Override
+      public CloudFilesUKProviderMetadata build() {
+         return new CloudFilesUKProviderMetadata(this);
+      }
+
+      @Override
+      public Builder fromProviderMetadata(ProviderMetadata in) {
+         super.fromProviderMetadata(in);
+         return this;
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/providers/rackspace-cloudfiles-uk/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/rackspace-cloudfiles-uk/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
new file mode 100644
index 0000000..f7523fe
--- /dev/null
+++ b/providers/rackspace-cloudfiles-uk/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
@@ -0,0 +1,18 @@
+#
+# 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.
+#
+
+org.jclouds.rackspace.cloudfiles.uk.CloudFilesUKProviderMetadata

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderTest.java b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderTest.java
new file mode 100644
index 0000000..a91f77f
--- /dev/null
+++ b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderTest.java
@@ -0,0 +1,29 @@
+/*
+ * 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.rackspace.cloudfiles.uk;
+
+import org.jclouds.providers.internal.BaseProviderMetadataTest;
+import org.jclouds.rackspace.cloudfiles.uk.CloudFilesUKProviderMetadata;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApiMetadata;
+import org.testng.annotations.Test;
+
+@Test(groups = "unit", testName = "CloudFilesUKProviderTest")
+public class CloudFilesUKProviderTest extends BaseProviderMetadataTest {
+   public CloudFilesUKProviderTest() {
+      super(new CloudFilesUKProviderMetadata(), new CloudFilesApiMetadata());
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKBlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKBlobIntegrationLiveTest.java b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKBlobIntegrationLiveTest.java
new file mode 100644
index 0000000..3486d5c
--- /dev/null
+++ b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKBlobIntegrationLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rackspace.cloudfiles.uk.blobstore.integration;
+
+import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesBlobIntegrationLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesUKBlobIntegrationLiveTest")
+public class CloudFilesUKBlobIntegrationLiveTest extends CloudFilesBlobIntegrationLiveTest {
+   public CloudFilesUKBlobIntegrationLiveTest() {
+      provider = "rackspace-cloudfiles-uk";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKBlobLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKBlobLiveTest.java b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKBlobLiveTest.java
new file mode 100644
index 0000000..de90308
--- /dev/null
+++ b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKBlobLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rackspace.cloudfiles.uk.blobstore.integration;
+
+import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesBlobLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesUKBlobLiveTest")
+public class CloudFilesUKBlobLiveTest extends CloudFilesBlobLiveTest {
+   public CloudFilesUKBlobLiveTest() {
+      provider = "rackspace-cloudfiles-uk";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKBlobSignerLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKBlobSignerLiveTest.java b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKBlobSignerLiveTest.java
new file mode 100644
index 0000000..a9acd72
--- /dev/null
+++ b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKBlobSignerLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rackspace.cloudfiles.uk.blobstore.integration;
+
+import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesBlobSignerLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesUKBlobSignerLiveTest")
+public class CloudFilesUKBlobSignerLiveTest extends CloudFilesBlobSignerLiveTest {
+   public CloudFilesUKBlobSignerLiveTest() {
+      provider = "rackspace-cloudfiles-uk";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKContainerIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKContainerIntegrationLiveTest.java b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKContainerIntegrationLiveTest.java
new file mode 100644
index 0000000..9dcf7cc
--- /dev/null
+++ b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKContainerIntegrationLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rackspace.cloudfiles.uk.blobstore.integration;
+
+import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesContainerIntegrationLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesUKContainerIntegrationLiveTest")
+public class CloudFilesUKContainerIntegrationLiveTest extends CloudFilesContainerIntegrationLiveTest {
+   public CloudFilesUKContainerIntegrationLiveTest() {
+      provider = "rackspace-cloudfiles-uk";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKContainerLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKContainerLiveTest.java b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKContainerLiveTest.java
new file mode 100644
index 0000000..902e4f4
--- /dev/null
+++ b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKContainerLiveTest.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rackspace.cloudfiles.uk.blobstore.integration;
+
+import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesContainerLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesUKContainerLiveTest")
+public class CloudFilesUKContainerLiveTest extends CloudFilesContainerLiveTest {
+   public CloudFilesUKContainerLiveTest() {
+      provider = "rackspace-cloudfiles-uk";
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKServiceIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKServiceIntegrationLiveTest.java b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKServiceIntegrationLiveTest.java
new file mode 100644
index 0000000..5115341
--- /dev/null
+++ b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/blobstore/integration/CloudFilesUKServiceIntegrationLiveTest.java
@@ -0,0 +1,36 @@
+/*
+ * 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.rackspace.cloudfiles.uk.blobstore.integration;
+
+import java.util.Set;
+
+import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesServiceIntegrationLiveTest;
+import org.testng.annotations.Test;
+
+import com.google.common.collect.ImmutableSet;
+
+@Test(groups = "live", testName = "CloudFilesUKServiceIntegrationLiveTest")
+public class CloudFilesUKServiceIntegrationLiveTest extends CloudFilesServiceIntegrationLiveTest {
+   public CloudFilesUKServiceIntegrationLiveTest() {
+      provider = "rackspace-cloudfiles-uk";
+   }
+
+   @Override
+   protected Set<String> getIso3166Codes() {
+      return ImmutableSet.<String> of("GB-SLG");
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/07d234a0/providers/rackspace-cloudfiles-uk/src/test/resources/logback.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/test/resources/logback.xml b/providers/rackspace-cloudfiles-uk/src/test/resources/logback.xml
new file mode 100644
index 0000000..ce891f1
--- /dev/null
+++ b/providers/rackspace-cloudfiles-uk/src/test/resources/logback.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<!--
+
+    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.
+
+-->
+<configuration scan="false">
+    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+        <file>target/test-data/jclouds.log</file>
+
+        <encoder>
+            <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
+        </encoder>
+    </appender>
+
+    <appender name="WIREFILE" class="ch.qos.logback.core.FileAppender">
+        <file>target/test-data/jclouds-wire.log</file>
+
+        <encoder>
+            <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
+        </encoder>
+    </appender>
+
+    <appender name="BLOBSTOREFILE" class="ch.qos.logback.core.FileAppender">
+        <file>target/test-data/jclouds-blobstore.log</file>
+
+        <encoder>
+            <Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
+        </encoder>
+    </appender>
+    
+    <root>
+        <level value="warn" />
+    </root>
+
+    <logger name="org.jclouds">
+        <level value="DEBUG" />
+        <appender-ref ref="FILE" />
+    </logger>
+
+<!--
+    <logger name="jclouds.wire">
+        <level value="DEBUG" />
+        <appender-ref ref="WIREFILE" />
+    </logger>
+-->
+
+    <logger name="jclouds.headers">
+        <level value="DEBUG" />
+        <appender-ref ref="WIREFILE" />
+    </logger>
+
+    <logger name="jclouds.blobstore">
+        <level value="DEBUG" />
+        <appender-ref ref="BLOBSTOREFILE" />
+    </logger>
+
+</configuration>


[18/32] jclouds git commit: Prefer Regions to Zones

Posted by za...@apache.org.
Prefer Regions to Zones


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

Branch: refs/heads/master
Commit: aa04ef007f06a3ba4d6ad853bd9ac7a6c96881af
Parents: 4073f7f
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Fri Jul 25 09:23:35 2014 -0700
Committer: Jeremy Daggett <je...@rackspace.com>
Committed: Wed Aug 13 10:02:44 2014 -0700

----------------------------------------------------------------------
 .../rackspace/cloudfiles/v1/CloudFilesApi.java  | 14 ++--
 .../features/CloudFilesAccountApiLiveTest.java  |  4 +-
 .../v1/features/CloudFilesCDNApiLiveTest.java   | 74 ++++++++++----------
 .../v1/features/CloudFilesCDNApiMockTest.java   | 44 ++++++------
 4 files changed, 68 insertions(+), 68 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/aa04ef00/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
index e888725..2a0e50d 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
@@ -32,7 +32,7 @@ import com.google.common.annotations.Beta;
  * <p/>
  * Additionally, Cloud Files provides a simple yet powerful way to publish and distribute content
  * behind a Content Distribution Network.
- * 
+ *
  * @see CDNApi
  * @see SwiftApi
  */
@@ -41,21 +41,21 @@ public interface CloudFilesApi extends SwiftApi {
 
    /**
     * Provides access to Cloud Files CDN features.
-    * 
+    *
     * @param region  the region to access the CDN API.
-    * 
+    *
     * @return the {@link CDNApi} for the specified region.
     */
    @Delegate
-   CDNApi getCDNApiForRegion(@EndpointParam(parser = RegionToCDNEndpoint.class) @Nullable String region);
+   CDNApi getCDNApi(@EndpointParam(parser = RegionToCDNEndpoint.class) @Nullable String region);
 
    /**
     * Provides access to Cloud Files CDN features.
-    * 
+    *
     * @param region  the region to access the CDN API.
-    * 
+    *
     * @return the {@link CDNApi} for the specified region.
-    * 
+    *
     * @deprecated Please use {@link #getCDNApiForRegion(String)}. This method will be removed in jclouds 1.8.
     */
    @Deprecated

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aa04ef00/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
index 8e57cf5..f91d2ba 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
@@ -36,8 +36,8 @@ public class CloudFilesAccountApiLiveTest extends AccountApiLiveTest {
    }
 
    public void testUrlKeyExists() throws Exception {
-      for (String regionId : regions) {
-         Account account = api.getAccountApiForRegion(regionId).get();
+      for (String region : regions) {
+         Account account = api.getAccountApi(region).get();
          assertTrue(account.getTemporaryUrlKey().isPresent());
       }
    }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aa04ef00/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
index 39e95cc..887033d 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
@@ -53,20 +53,20 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    }
 
    public void testEnable() throws Exception {
-      for (String regionId : regions) {
-         assertNotNull(api.getCDNApiForRegion(regionId).enable(name));
-         
-         CDNContainer container = api.getCDNApiForRegion(regionId).get(name);
+      for (String region : regions) {
+         assertNotNull(api.getCDNApi(region).enable(name));
+
+         CDNContainer container = api.getCDNApi(region).get(name);
          assertCDNContainerNotNull(container);
          assertTrue(container.isEnabled());
       }
    }
 
    public void testEnableWithTTL() throws Exception {
-      for (String regionId : regions) {
-         assertNotNull(api.getCDNApiForRegion(regionId).enable(name, 777777));
+      for (String region : regions) {
+         assertNotNull(api.getCDNApi(region).enable(name, 777777));
 
-         CDNContainer container = api.getCDNApiForRegion(regionId).get(name);
+         CDNContainer container = api.getCDNApi(region).get(name);
          assertCDNContainerNotNull(container);
          assertTrue(container.isEnabled());
          assertTrue(container.getTtl() == 777777);
@@ -74,19 +74,19 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    }
 
    public void testDisable() throws Exception {
-      for (String regionId : regions) {
-         assertTrue(api.getCDNApiForRegion(regionId).disable(name));
+      for (String region : regions) {
+         assertTrue(api.getCDNApi(region).disable(name));
 
-         CDNContainer container = api.getCDNApiForRegion(regionId).get(name);
+         CDNContainer container = api.getCDNApi(region).get(name);
          assertFalse(container.isEnabled());
       }
    }
 
    public void testList() throws Exception {
-      for (String regionId : regions) {
-         List<CDNContainer> cdnResponse = api.getCDNApiForRegion(regionId).list().toList();
+      for (String region : regions) {
+         List<CDNContainer> cdnResponse = api.getCDNApi(region).list().toList();
          assertNotNull(cdnResponse);
-         
+
          for (CDNContainer cdnContainer : cdnResponse) {
             assertCDNContainerNotNull(cdnContainer);
             assertTrue(cdnContainer.isEnabled());
@@ -96,35 +96,35 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
 
    public void testListWithOptions() throws Exception {
       String lexicographicallyBeforeName = name.substring(0, name.length() - 1);
-      for (String regionId : regions) {
+      for (String region : regions) {
          ListCDNContainerOptions options = new ListCDNContainerOptions().marker(lexicographicallyBeforeName);
-          
-         CDNContainer cdnContainer = api.getCDNApiForRegion(regionId).list(options).get(0);
+
+         CDNContainer cdnContainer = api.getCDNApi(region).list(options).get(0);
          assertCDNContainerNotNull(cdnContainer);
          assertTrue(cdnContainer.isEnabled());
       }
    }
 
    public void testGet() throws Exception {
-      for (String regionId : regions) {
-         CDNContainer container = api.getCDNApiForRegion(regionId).get(name);
+      for (String region : regions) {
+         CDNContainer container = api.getCDNApi(region).get(name);
          assertCDNContainerNotNull(container);
          assertTrue(container.isEnabled());
       }
    }
 
    public void testPurgeObject() throws Exception {
-      for (String regionId : regions) {
+      for (String region : regions) {
          String objectName = "testPurge";
          Payload payload = Payloads.newByteSourcePayload(ByteSource.wrap(new byte[] {1, 2, 3}));
-         ObjectApi objectApi = api.getObjectApiForRegionAndContainer(regionId, name);
-         
+         ObjectApi objectApi = api.getObjectApiForContainer(region, name);
+
          // create a new object
          objectApi.put(objectName, payload);
-         
-         CDNApi cdnApi = api.getCDNApiForRegion(regionId);
+
+         CDNApi cdnApi = api.getCDNApi(region);
          assertTrue(cdnApi.purgeObject(name, "testPurge", ImmutableList.<String>of()));
-         
+
          // delete the object
          objectApi.delete(objectName);
          assertNull(objectApi.get(objectName, GetOptions.NONE));
@@ -132,12 +132,12 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    }
 
    public void testUpdate() throws Exception {
-      for (String regionId : regions) {
+      for (String region : regions) {
          // enable with a ttl
-         assertNotNull(api.getCDNApiForRegion(regionId).enable(name, 777777));
-         
+         assertNotNull(api.getCDNApi(region).enable(name, 777777));
+
          // now get the container
-         CDNContainer original = api.getCDNApiForRegion(regionId).get(name);
+         CDNContainer original = api.getCDNApi(region).get(name);
          assertTrue(original.isEnabled());
          assertCDNContainerNotNull(original);
 
@@ -147,13 +147,13 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
                                                 .logRetention(true)
                                                 .enabled(false);
          // update the container
-         assertTrue(api.getCDNApiForRegion(regionId).update(name, opts));
-         
+         assertTrue(api.getCDNApi(region).update(name, opts));
+
          // now get the updated container
-         CDNContainer updated = api.getCDNApiForRegion(regionId).get(name);
+         CDNContainer updated = api.getCDNApi(region).get(name);
          assertFalse(updated.isEnabled());
          assertCDNContainerNotNull(updated);
-         
+
          assertNotEquals(original.getTtl(), updated.getTtl());
          assertTrue(updated.isLogRetentionEnabled());
       }
@@ -173,17 +173,17 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    @BeforeClass(groups = "live")
    public void setup() {
       super.setup();
-      for (String regionId : regions) {
-         api.getContainerApiForRegion(regionId).create(name);
+      for (String region : regions) {
+         api.getContainerApi(region).create(name);
       }
    }
 
    @Override
    @AfterClass(groups = "live")
    public void tearDown() {
-      for (String regionId : regions) {
-         api.getCDNApiForRegion(regionId).disable(name);
-         api.getContainerApiForRegion(regionId).deleteIfEmpty(name);
+      for (String region : regions) {
+         api.getCDNApi(region).disable(name);
+         api.getContainerApi(region).deleteIfEmpty(name);
       }
       super.tearDown();
    }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aa04ef00/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
index de55058..a3fa13c 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
@@ -61,7 +61,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
 
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
-         CDNApi cdnApi = api.getCDNApiForRegion("DFW");
+         CDNApi cdnApi = api.getCDNApi("DFW");
 
          ImmutableList<CDNContainer> cdnContainers = cdnApi.list().toList();
 
@@ -82,7 +82,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
 
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
-         CDNApi cdnApi = api.getCDNApiForRegion("DFW");
+         CDNApi cdnApi = api.getCDNApi("DFW");
 
          List<CDNContainer> cdnContainers = cdnApi.list().toList();
 
@@ -104,7 +104,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
          ListCDNContainerOptions options = new ListCDNContainerOptions().marker("cdn-container-3");
-         ImmutableList<CDNContainer> containers = api.getCDNApiForRegion("DFW").list(options).toList();
+         ImmutableList<CDNContainer> containers = api.getCDNApi("DFW").list(options).toList();
 
          for (CDNContainer container : containers) {
             assertCDNContainerNotNull(container);
@@ -128,7 +128,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
          ListCDNContainerOptions options = ListCDNContainerOptions.Builder.marker("cdn-container-3");
-         FluentIterable<CDNContainer> containers = api.getCDNApiForRegion("DFW").list(options);
+         FluentIterable<CDNContainer> containers = api.getCDNApi("DFW").list(options);
 
          assertEquals(server.getRequestCount(), 2);
          assertAuthentication(server);
@@ -150,7 +150,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // enable a CDN Container
-         URI enabledContainer = api.getCDNApiForRegion("DFW").enable("container-1");
+         URI enabledContainer = api.getCDNApi("DFW").enable("container-1");
          assertNotNull(enabledContainer);
 
          assertEquals(server.getRequestCount(), 2);
@@ -165,11 +165,11 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       MockWebServer server = mockOpenStackServer();
       server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
       server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(404)));
- 
+
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
          // enable a CDN Container
-         assertNull(api.getCDNApiForRegion("DFW").enable("container-1"));
+         assertNull(api.getCDNApi("DFW").enable("container-1"));
 
          assertEquals(server.getRequestCount(), 2);
          assertAuthentication(server);
@@ -188,7 +188,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // enable a CDN Container with a TTL
-         URI enabledContainer = api.getCDNApiForRegion("DFW").enable("container-1", 777777);
+         URI enabledContainer = api.getCDNApi("DFW").enable("container-1", 777777);
          assertNotNull(enabledContainer);
 
          assertEquals(server.getRequestCount(), 2);
@@ -208,7 +208,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // enable a CDN Container with a TTL
-         URI enabledContainer = api.getCDNApiForRegion("DFW").enable("container-1", 777777);
+         URI enabledContainer = api.getCDNApi("DFW").enable("container-1", 777777);
          assertNull(enabledContainer);
 
          assertEquals(server.getRequestCount(), 2);
@@ -228,7 +228,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // disable a CDN Container
-         assertTrue(api.getCDNApiForRegion("DFW").disable("container-1"));
+         assertTrue(api.getCDNApi("DFW").disable("container-1"));
 
          assertEquals(server.getRequestCount(), 2);
          assertAuthentication(server);
@@ -247,7 +247,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // disable a CDN Container
-         boolean disbledContainer = api.getCDNApiForRegion("DFW").disable("container-1");
+         boolean disbledContainer = api.getCDNApi("DFW").disable("container-1");
          assertFalse(disbledContainer);
 
          assertEquals(server.getRequestCount(), 2);
@@ -262,11 +262,11 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       MockWebServer server = mockOpenStackServer();
       server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
       server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(201)));
-      
+
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
-         CDNContainer cdnContainer = api.getCDNApiForRegion("DFW").get("container-1");
+         CDNContainer cdnContainer = api.getCDNApi("DFW").get("container-1");
          assertCDNContainerNotNull(cdnContainer);
          assertEquals(mockCDNContainer, cdnContainer);
 
@@ -286,7 +286,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
-         CDNContainer cdnContainer = api.getCDNApiForRegion("DFW").get("cdn-container with spaces");
+         CDNContainer cdnContainer = api.getCDNApi("DFW").get("cdn-container with spaces");
          assertCDNContainerNotNull(cdnContainer);
          assertEquals(mockCDNContainerWithSpaces, cdnContainer);
 
@@ -306,7 +306,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
-         CDNContainer cdnContainer = api.getCDNApiForRegion("DFW").get("container-1");
+         CDNContainer cdnContainer = api.getCDNApi("DFW").get("container-1");
 
          assertAuthentication(server);
          assertRequest(server.takeRequest(), "HEAD", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
@@ -325,7 +325,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // purge the object
-         assertTrue(api.getCDNApiForRegion("DFW").purgeObject("myContainer", "myObject", emails));
+         assertTrue(api.getCDNApi("DFW").purgeObject("myContainer", "myObject", emails));
 
          assertEquals(server.getRequestCount(), 2);
          assertAuthentication(server);
@@ -344,7 +344,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // purge the object
-         assertFalse(api.getCDNApiForRegion("DFW").purgeObject("myContainer", "myObject", emails));
+         assertFalse(api.getCDNApi("DFW").purgeObject("myContainer", "myObject", emails));
 
          assertEquals(server.getRequestCount(), 2);
          assertAuthentication(server);
@@ -364,13 +364,13 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
-         CDNContainer cdnContainer = api.getCDNApiForRegion("DFW").get("container-1");
+         CDNContainer cdnContainer = api.getCDNApi("DFW").get("container-1");
          assertCDNContainerNotNull(cdnContainer);
 
          // update the CDN Container
-         assertTrue(api.getCDNApiForRegion("DFW").update("container-1", enabled(false).logRetention(true).ttl(7654321)));
+         assertTrue(api.getCDNApi("DFW").update("container-1", enabled(false).logRetention(true).ttl(7654321)));
 
-         cdnContainer = api.getCDNApiForRegion("DFW").get("container-1");
+         cdnContainer = api.getCDNApi("DFW").get("container-1");
          assertCDNContainerNotNull(cdnContainer);
 
          CDNContainer updatedContainer = CDNContainer.builder()
@@ -405,11 +405,11 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
-         CDNContainer cdnContainer = api.getCDNApiForRegion("DFW").get("container-1");
+         CDNContainer cdnContainer = api.getCDNApi("DFW").get("container-1");
          assertCDNContainerNotNull(cdnContainer);
 
          // update the CDN Container
-         assertFalse(api.getCDNApiForRegion("DFW").update("container-1", enabled(false).logRetention(true).ttl(7654321)));
+         assertFalse(api.getCDNApi("DFW").update("container-1", enabled(false).logRetention(true).ttl(7654321)));
 
          assertEquals(server.getRequestCount(), 3);
          assertAuthentication(server);


[05/32] jclouds git commit: Added @Beta annotations to APIs

Posted by za...@apache.org.
Added @Beta annotations to APIs


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

Branch: refs/heads/master
Commit: 1814627cfe1973c5d2cf134d0e4cf34463493b79
Parents: 56c9a05
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Wed Apr 2 11:13:19 2014 -0700
Committer: Everett Toews <ev...@rackspace.com>
Committed: Wed Apr 2 15:24:29 2014 -0500

----------------------------------------------------------------------
 .../java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java   | 3 +++
 .../java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java | 2 ++
 2 files changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/1814627c/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
index 19667d7..9a7dbeb 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
@@ -23,6 +23,8 @@ import org.jclouds.rackspace.cloudfiles.v1.functions.RegionToCDNEndpoint;
 import org.jclouds.rest.annotations.Delegate;
 import org.jclouds.rest.annotations.EndpointParam;
 
+import com.google.common.annotations.Beta;
+
 /**
  * Rackspace Cloud Files is an affordable, redundant, scalable, and dynamic storage service
  * offering. The core storage system is designed to provide a secure, network-accessible way to
@@ -36,6 +38,7 @@ import org.jclouds.rest.annotations.EndpointParam;
  * @see CDNApi
  * @see SwiftApi
  */
+@Beta
 public interface CloudFilesApi extends SwiftApi {
 
    /**

http://git-wip-us.apache.org/repos/asf/jclouds/blob/1814627c/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
index 98e5c54..5161fee 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
@@ -53,6 +53,7 @@ import org.jclouds.rest.annotations.QueryParams;
 import org.jclouds.rest.annotations.RequestFilters;
 import org.jclouds.rest.annotations.ResponseParser;
 
+import com.google.common.annotations.Beta;
 import com.google.common.collect.FluentIterable;
 /**
  * Provides access to the Rackspace Cloud Files CDN API features.
@@ -67,6 +68,7 @@ import com.google.common.collect.FluentIterable;
  * 
  * @see {@link CloudFilesApi#cdnApiInRegion(String)}
  */
+@Beta
 @RequestFilters(AuthenticateRequest.class)
 @Consumes(APPLICATION_JSON)
 public interface CDNApi extends Closeable {


[32/32] jclouds git commit: Merge remote-tracking branch 'promote-jclouds-labs-openstack-local/promote-rackspace-cloudfiles-moved'

Posted by za...@apache.org.
Merge remote-tracking branch 'promote-jclouds-labs-openstack-local/promote-rackspace-cloudfiles-moved'


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

Branch: refs/heads/master
Commit: a3b7f3ab80f85a4f113e663fb93f87f0538431bd
Parents: b6fcac9 565a102
Author: Zack Shoylev <za...@rackspace.com>
Authored: Tue Apr 7 16:24:43 2015 -0500
Committer: Zack Shoylev <za...@rackspace.com>
Committed: Tue Apr 7 16:24:43 2015 -0500

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/README.md             |  22 +
 apis/rackspace-cloudfiles/pom.xml               | 176 +++++++
 .../rackspace/cloudfiles/v1/CloudFilesApi.java  |  51 ++
 .../cloudfiles/v1/CloudFilesApiMetadata.java    | 104 ++++
 .../BindCDNPurgeEmailAddressesToHeaders.java    |  53 ++
 .../v1/config/CloudFilesHttpApiModule.java      |  50 ++
 .../cloudfiles/v1/domain/CDNContainer.java      | 262 ++++++++++
 .../cloudfiles/v1/features/CDNApi.java          | 204 ++++++++
 .../functions/ParseCDNContainerFromHeaders.java |  81 +++
 .../ParseCDNContainerURIFromHeaders.java        |  41 ++
 .../v1/functions/RegionToCDNEndpoint.java       |  73 +++
 .../v1/handlers/CloudFilesErrorHandler.java     |  91 ++++
 .../v1/options/ListCDNContainerOptions.java     |  86 +++
 .../v1/options/UpdateCDNContainerOptions.java   | 177 +++++++
 .../v1/reference/CloudFilesConstants.java       |  31 ++
 .../v1/reference/CloudFilesHeaders.java         |  44 ++
 .../cloudfiles/v1/CloudFilesApiLiveTest.java    |  27 +
 .../v1/CloudFilesApiMetadataTest.java           |  34 ++
 ...CDNPurgeEmailAddressesToHeadersMockTest.java |  74 +++
 ...lesRegionScopedBlobStoreContextLiveTest.java |  42 ++
 .../CloudFilesBlobIntegrationLiveTest.java      |  39 ++
 .../integration/CloudFilesBlobLiveTest.java     |  39 ++
 .../CloudFilesBlobSignerLiveTest.java           |  39 ++
 .../CloudFilesContainerIntegrationLiveTest.java |  39 ++
 .../CloudFilesContainerLiveTest.java            |  56 ++
 .../CloudFilesServiceIntegrationLiveTest.java   |  39 ++
 .../features/CloudFilesAccountApiLiveTest.java  |  44 ++
 .../v1/features/CloudFilesBulkApiLiveTest.java  |  31 ++
 .../v1/features/CloudFilesCDNApiLiveTest.java   | 190 +++++++
 .../v1/features/CloudFilesCDNApiMockTest.java   | 523 +++++++++++++++++++
 .../CloudFilesContainerApiLiveTest.java         |  31 ++
 .../features/CloudFilesObjectApiLiveTest.java   |  31 ++
 .../v1/internal/BaseCloudFilesApiLiveTest.java  |  31 ++
 .../options/UpdateCDNContainerOptionsTest.java  | 109 ++++
 .../src/test/resources/cdn_container_list.json  |  42 ++
 .../test/resources/cdn_container_list_at.json   |  22 +
 .../src/test/resources/logback.xml              |  71 +++
 providers/rackspace-cloudfiles-uk/README.md     |  21 +
 providers/rackspace-cloudfiles-uk/pom.xml       | 176 +++++++
 .../uk/CloudFilesUKProviderMetadata.java        | 123 +++++
 .../cloudfiles/uk/CloudFilesUKProviderTest.java |  28 +
 .../CloudFilesUKBlobIntegrationLiveTest.java    |  27 +
 .../integration/CloudFilesUKBlobLiveTest.java   |  27 +
 .../CloudFilesUKBlobSignerLiveTest.java         |  27 +
 ...loudFilesUKContainerIntegrationLiveTest.java |  27 +
 .../CloudFilesUKContainerLiveTest.java          |  27 +
 .../CloudFilesUKServiceIntegrationLiveTest.java |  36 ++
 .../src/test/resources/logback.xml              |  71 +++
 providers/rackspace-cloudfiles-us/README.md     |  22 +
 providers/rackspace-cloudfiles-us/pom.xml       | 176 +++++++
 .../us/CloudFilesUSProviderMetadata.java        | 145 +++++
 .../cloudfiles/us/CloudFilesUSProviderTest.java |  28 +
 .../CloudFilesUSBlobIntegrationLiveTest.java    |  27 +
 .../integration/CloudFilesUSBlobLiveTest.java   |  27 +
 .../CloudFilesUSBlobSignerLiveTest.java         |  27 +
 ...loudFilesUSContainerIntegrationLiveTest.java |  27 +
 .../CloudFilesUSContainerLiveTest.java          |  27 +
 .../CloudFilesUSServiceIntegrationLiveTest.java |  36 ++
 .../src/test/resources/logback.xml              |  71 +++
 59 files changed, 4302 insertions(+)
----------------------------------------------------------------------



[09/32] jclouds git commit: Prefer Guava HttpHeaders over JAX-RS

Posted by za...@apache.org.
Prefer Guava HttpHeaders over JAX-RS

jclouds code contains more instances of the former and Guava has
additional constants like CONTENT_MD5.


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

Branch: refs/heads/master
Commit: 5677b0babbe4348548fd706b9e909f557832735f
Parents: 9dc7fdd
Author: Andrew Gaul <ga...@apache.org>
Authored: Thu May 15 02:04:56 2014 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Thu May 15 02:04:56 2014 -0700

----------------------------------------------------------------------
 .../cloudfiles/v1/features/CloudFilesCDNApiMockTest.java         | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/5677b0ba/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
index 19ed912..8a98dee 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
@@ -16,8 +16,8 @@
  */
 package org.jclouds.rackspace.cloudfiles.v1.features;
 
-import static javax.ws.rs.core.HttpHeaders.CONTENT_LENGTH;
-import static javax.ws.rs.core.HttpHeaders.CONTENT_TYPE;
+import static com.google.common.net.HttpHeaders.CONTENT_LENGTH;
+import static com.google.common.net.HttpHeaders.CONTENT_TYPE;
 import static org.jclouds.rackspace.cloudfiles.v1.options.UpdateCDNContainerOptions.Builder.enabled;
 import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_ENABLED;
 import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_IOS_URI;


[31/32] jclouds git commit: Next development version 2.0.0-SNAPSHOT

Posted by za...@apache.org.
Next development version 2.0.0-SNAPSHOT


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

Branch: refs/heads/master
Commit: 565a102c1551acb59b5064f27e7e5842a0a1ea68
Parents: ce3eeef
Author: Ignasi Barrera <na...@apache.org>
Authored: Tue Mar 24 11:02:39 2015 +0100
Committer: Ignasi Barrera <na...@apache.org>
Committed: Tue Mar 24 11:02:39 2015 +0100

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/pom.xml         | 4 ++--
 providers/rackspace-cloudfiles-uk/pom.xml | 4 ++--
 providers/rackspace-cloudfiles-us/pom.xml | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/565a102c/apis/rackspace-cloudfiles/pom.xml
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/pom.xml b/apis/rackspace-cloudfiles/pom.xml
index f0cb1e7..3a9e370 100644
--- a/apis/rackspace-cloudfiles/pom.xml
+++ b/apis/rackspace-cloudfiles/pom.xml
@@ -22,14 +22,14 @@
   <parent>
     <groupId>org.apache.jclouds</groupId>
     <artifactId>jclouds-project</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0-SNAPSHOT</version>
     <relativePath />
   </parent>
 
   <!-- TODO: when out of labs, switch to org.jclouds.api -->
   <groupId>org.apache.jclouds.labs</groupId>
   <artifactId>rackspace-cloudfiles</artifactId>
-  <version>1.9.0</version>
+  <version>2.0.0-SNAPSHOT</version>
   <name>jclouds rackspace-cloudfiles api</name>
   <description>jclouds components to access Rackspace Cloud Files</description>
   <packaging>bundle</packaging>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/565a102c/providers/rackspace-cloudfiles-uk/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/pom.xml b/providers/rackspace-cloudfiles-uk/pom.xml
index eda8331..abcbb84 100644
--- a/providers/rackspace-cloudfiles-uk/pom.xml
+++ b/providers/rackspace-cloudfiles-uk/pom.xml
@@ -22,14 +22,14 @@
   <parent>
     <groupId>org.apache.jclouds</groupId>
     <artifactId>jclouds-project</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0-SNAPSHOT</version>
     <relativePath />
   </parent>
 
   <!-- TODO: when out of labs, switch to org.jclouds.provider -->
   <groupId>org.apache.jclouds.labs</groupId>
   <artifactId>rackspace-cloudfiles-uk</artifactId>
-  <version>1.9.0</version>
+  <version>2.0.0-SNAPSHOT</version>
   <name>jclouds Rackspace Cloud Files UK provider</name>
   <description>OpenStack Object Storage implementation targeted to Rackspace Cloud Files UK</description>
   <packaging>bundle</packaging>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/565a102c/providers/rackspace-cloudfiles-us/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/pom.xml b/providers/rackspace-cloudfiles-us/pom.xml
index ae06a30..e0a150e 100644
--- a/providers/rackspace-cloudfiles-us/pom.xml
+++ b/providers/rackspace-cloudfiles-us/pom.xml
@@ -22,14 +22,14 @@
   <parent>
     <groupId>org.apache.jclouds</groupId>
     <artifactId>jclouds-project</artifactId>
-    <version>1.9.0</version>
+    <version>2.0.0-SNAPSHOT</version>
     <relativePath />
   </parent>
 
   <!-- TODO: when out of labs, switch to org.jclouds.provider -->
   <groupId>org.apache.jclouds.labs</groupId>
   <artifactId>rackspace-cloudfiles-us</artifactId>
-  <version>1.9.0</version>
+  <version>2.0.0-SNAPSHOT</version>
   <name>jclouds Rackspace Cloud Files US provider</name>
   <description>OpenStack Object Storage implementation targeted to Rackspace Cloud Files US</description>
   <packaging>bundle</packaging>


[04/32] jclouds git commit: Fixes more checkstyle violations.

Posted by za...@apache.org.
Fixes more checkstyle violations.


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

Branch: refs/heads/master
Commit: 56c9a05369a331a7a5468ee14b21b907af0b4729
Parents: 07d234a
Author: Zack Shoylev <za...@rackspace.com>
Authored: Fri Mar 28 17:30:03 2014 -0500
Committer: Zack Shoylev <za...@rackspace.com>
Committed: Mon Mar 31 20:11:21 2014 -0500

----------------------------------------------------------------------
 .../jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java    | 1 -
 .../v1/binders/BindCDNPurgeEmailAddressesToHeaders.java           | 1 -
 .../java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java | 1 -
 .../cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java  | 1 -
 .../rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java    | 3 ---
 .../v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java   | 2 +-
 .../blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java | 1 -
 .../cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java      | 2 --
 .../cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java         | 1 -
 .../cloudfiles/v1/features/CloudFilesCDNApiMockTest.java          | 2 +-
 .../cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java    | 2 --
 .../cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java       | 2 --
 .../jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderTest.java | 1 -
 .../jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderTest.java | 1 -
 14 files changed, 2 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
index d28b40f..17baef0 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
@@ -23,7 +23,6 @@ import static org.jclouds.reflect.Reflection2.typeToken;
 import java.net.URI;
 import java.util.Properties;
 
-import org.jclouds.apis.ApiMetadata;
 import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
 import org.jclouds.openstack.swift.v1.SwiftApiMetadata;
 import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext;

http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java
index c23f068..792657a 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java
@@ -24,7 +24,6 @@ import java.util.List;
 import javax.inject.Singleton;
 
 import org.jclouds.http.HttpRequest;
-import org.jclouds.rackspace.cloudfiles.v1.features.CDNApi;
 import org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders;
 import org.jclouds.rest.Binder;
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
index 326b951..98e5c54 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
@@ -40,7 +40,6 @@ import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.javax.annotation.Nullable;
 import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
 import org.jclouds.openstack.swift.v1.options.ListContainerOptions;
-import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.jclouds.rackspace.cloudfiles.v1.binders.BindCDNPurgeEmailAddressesToHeaders;
 import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
 import org.jclouds.rackspace.cloudfiles.v1.functions.ParseCDNContainerFromHeaders;

http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java
index 4a29f60..42ed1f7 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java
@@ -21,7 +21,6 @@ import static com.google.common.base.Preconditions.checkNotNull;
 import java.net.URI;
 
 import org.jclouds.http.HttpResponse;
-import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
 import org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders;
 
 import com.google.common.base.Function;

http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
index 3b5361a..7ce64e7 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
@@ -26,10 +26,7 @@ import javax.inject.Inject;
 import javax.inject.Singleton;
 
 import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.location.functions.RegionToEndpoint;
 import org.jclouds.location.suppliers.RegionIdToURISupplier;
-import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
-import org.jclouds.rackspace.cloudfiles.v1.features.CDNApi;
 import org.jclouds.rackspace.cloudidentity.v2_0.ServiceType;
 import org.jclouds.rest.annotations.ApiVersion;
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
index 288bd7f..06b2dee 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
@@ -67,7 +67,7 @@ public class BindCDNPurgeEmailAddressesToHeadersMockTest extends BaseOpenStackMo
       binder.bindToRequest(null, emails);
    }
    
-   private static final HttpRequest purgeRequest() {
+   private static HttpRequest purgeRequest() {
       return HttpRequest.builder()
                 .method("DELETE")
                 .endpoint("https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_XXXXXX/")

http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
index 81cd78c..7d6f0f3 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
@@ -20,7 +20,6 @@ import static org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCrede
 
 import java.util.Properties;
 
-import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext;
 import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContextLiveTest;
 import org.testng.annotations.Test;
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
index 6eeeaf7..6c2e4a2 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
@@ -19,9 +19,7 @@ package org.jclouds.rackspace.cloudfiles.v1.features;
 import static org.testng.Assert.assertTrue;
 
 import org.jclouds.openstack.swift.v1.domain.Account;
-import org.jclouds.openstack.swift.v1.features.AccountApi;
 import org.jclouds.openstack.swift.v1.features.AccountApiLiveTest;
-import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.testng.annotations.Test;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
index 3fae594..b4a60b4 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesBulkApiLiveTest.java
@@ -17,7 +17,6 @@
 package org.jclouds.rackspace.cloudfiles.v1.features;
 
 import org.jclouds.openstack.swift.v1.features.BulkApiLiveTest;
-import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.testng.annotations.Test;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
index ef87fad..8e55c2e 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
@@ -262,7 +262,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       }
    }
 
-   private static final void checkCDNContainer(CDNContainer cdnContainer) {
+   private static void checkCDNContainer(CDNContainer cdnContainer) {
       assertNotNull(cdnContainer.getName());
       assertNotNull(cdnContainer.isEnabled());
       assertNotNull(cdnContainer.isLogRetentionEnabled());

http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
index b7b8e17..e313aab 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesContainerApiLiveTest.java
@@ -16,9 +16,7 @@
  */
 package org.jclouds.rackspace.cloudfiles.v1.features;
 
-import org.jclouds.openstack.swift.v1.features.ContainerApi;
 import org.jclouds.openstack.swift.v1.features.ContainerApiLiveTest;
-import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.testng.annotations.Test;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
index 0de6a78..f751d18 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesObjectApiLiveTest.java
@@ -16,9 +16,7 @@
  */
 package org.jclouds.rackspace.cloudfiles.v1.features;
 
-import org.jclouds.openstack.swift.v1.features.ObjectApi;
 import org.jclouds.openstack.swift.v1.features.ObjectApiLiveTest;
-import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.testng.annotations.Test;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderTest.java b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderTest.java
index a91f77f..3e37705 100644
--- a/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderTest.java
+++ b/providers/rackspace-cloudfiles-uk/src/test/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderTest.java
@@ -17,7 +17,6 @@
 package org.jclouds.rackspace.cloudfiles.uk;
 
 import org.jclouds.providers.internal.BaseProviderMetadataTest;
-import org.jclouds.rackspace.cloudfiles.uk.CloudFilesUKProviderMetadata;
 import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApiMetadata;
 import org.testng.annotations.Test;
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/56c9a053/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderTest.java b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderTest.java
index 05d036a..3a717e7 100644
--- a/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderTest.java
+++ b/providers/rackspace-cloudfiles-us/src/test/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderTest.java
@@ -17,7 +17,6 @@
 package org.jclouds.rackspace.cloudfiles.us;
 
 import org.jclouds.providers.internal.BaseProviderMetadataTest;
-import org.jclouds.rackspace.cloudfiles.us.CloudFilesUSProviderMetadata;
 import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApiMetadata;
 import org.testng.annotations.Test;
 


[29/32] jclouds git commit: Use AutoService for creation of Service Loader Metadata

Posted by za...@apache.org.
Use AutoService for creation of Service Loader Metadata


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

Branch: refs/heads/master
Commit: 0b8b5e7c9cea018ed935bf9c20d8837fecc93696
Parents: 5aaba51
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Mon Nov 24 10:58:58 2014 -0800
Committer: Jeremy Daggett <je...@rackspace.com>
Committed: Wed Dec 3 09:50:08 2014 -0800

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/pom.xml                 |  5 +++++
 .../cloudfiles/v1/CloudFilesApiMetadata.java      |  3 +++
 .../services/org.jclouds.apis.ApiMetadata         | 18 ------------------
 providers/rackspace-cloudfiles-uk/pom.xml         | 18 +++++++++---------
 .../uk/CloudFilesUKProviderMetadata.java          |  2 ++
 .../org.jclouds.providers.ProviderMetadata        | 18 ------------------
 providers/rackspace-cloudfiles-us/pom.xml         | 18 +++++++++---------
 .../us/CloudFilesUSProviderMetadata.java          |  2 ++
 .../org.jclouds.providers.ProviderMetadata        | 18 ------------------
 9 files changed, 30 insertions(+), 72 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/0b8b5e7c/apis/rackspace-cloudfiles/pom.xml
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/pom.xml b/apis/rackspace-cloudfiles/pom.xml
index bdf13ee..3a9e370 100644
--- a/apis/rackspace-cloudfiles/pom.xml
+++ b/apis/rackspace-cloudfiles/pom.xml
@@ -130,6 +130,11 @@
       <artifactId>mockwebserver</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>com.google.auto.service</groupId>
+      <artifactId>auto-service</artifactId>
+      <scope>provided</scope>
+    </dependency>
   </dependencies>
 
   <profiles>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0b8b5e7c/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
index 186df97..3055678 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
@@ -23,6 +23,7 @@ import static org.jclouds.reflect.Reflection2.typeToken;
 import java.net.URI;
 import java.util.Properties;
 
+import org.jclouds.apis.ApiMetadata;
 import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
 import org.jclouds.openstack.swift.v1.SwiftApiMetadata;
 import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext;
@@ -36,12 +37,14 @@ import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticati
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
 import org.jclouds.rest.internal.BaseHttpApiMetadata;
 
+import com.google.auto.service.AutoService;
 import com.google.common.collect.ImmutableSet;
 import com.google.inject.Module;
 
 /**
  * Implementation of {@link ApiMetadata} for Cloud Files.
  */
+@AutoService(ApiMetadata.class)
 public class CloudFilesApiMetadata extends BaseHttpApiMetadata<CloudFilesApi> {
 
    @Override

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0b8b5e7c/apis/rackspace-cloudfiles/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata b/apis/rackspace-cloudfiles/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
deleted file mode 100644
index 9be2b32..0000000
--- a/apis/rackspace-cloudfiles/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.jclouds.rackspace.cloudfiles.v1.CloudFilesApiMetadata

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0b8b5e7c/providers/rackspace-cloudfiles-uk/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/pom.xml b/providers/rackspace-cloudfiles-uk/pom.xml
index 9e8f717..abcbb84 100644
--- a/providers/rackspace-cloudfiles-uk/pom.xml
+++ b/providers/rackspace-cloudfiles-uk/pom.xml
@@ -42,12 +42,7 @@
     <test.rackspace-cloudfiles-uk.identity>${test.rackspace-uk.identity}</test.rackspace-cloudfiles-uk.identity>
     <test.rackspace-cloudfiles-uk.credential>${test.rackspace-uk.credential}</test.rackspace-cloudfiles-uk.credential>
     <jclouds.osgi.export>org.jclouds.rackspace.cloudfiles.uk*;version="${project.version}"</jclouds.osgi.export>
-    <jclouds.osgi.import>
-      org.jclouds.rest.internal;version="${project.version}",
-      org.jclouds.labs*;version="${project.version}",
-      org.jclouds*;version="${project.version}",
-      *
-    </jclouds.osgi.import>
+    <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
   </properties>
 
   <repositories>
@@ -131,9 +126,14 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-    	<groupId>org.apache.jclouds.api</groupId>
-    	<artifactId>rackspace-cloudidentity</artifactId>
-    	<version>${project.parent.version}</version>
+      <groupId>org.apache.jclouds.api</groupId>
+      <artifactId>rackspace-cloudidentity</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.auto.service</groupId>
+      <artifactId>auto-service</artifactId>
+      <scope>provided</scope>
     </dependency>
   </dependencies>
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0b8b5e7c/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java b/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
index f4f63e1..bf4eefa 100644
--- a/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
+++ b/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
@@ -40,9 +40,11 @@ import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticati
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
 
+import com.google.auto.service.AutoService;
 import com.google.common.collect.ImmutableSet;
 import com.google.inject.Module;
 
+@AutoService(ProviderMetadata.class)
 public class CloudFilesUKProviderMetadata extends BaseProviderMetadata {
    
    public static Builder builder() {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0b8b5e7c/providers/rackspace-cloudfiles-uk/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/rackspace-cloudfiles-uk/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index f7523fe..0000000
--- a/providers/rackspace-cloudfiles-uk/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.jclouds.rackspace.cloudfiles.uk.CloudFilesUKProviderMetadata

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0b8b5e7c/providers/rackspace-cloudfiles-us/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/pom.xml b/providers/rackspace-cloudfiles-us/pom.xml
index e658b58..e0a150e 100644
--- a/providers/rackspace-cloudfiles-us/pom.xml
+++ b/providers/rackspace-cloudfiles-us/pom.xml
@@ -42,12 +42,7 @@
     <test.rackspace-cloudfiles-us.identity>${test.rackspace-us.identity}</test.rackspace-cloudfiles-us.identity>
     <test.rackspace-cloudfiles-us.credential>${test.rackspace-us.credential}</test.rackspace-cloudfiles-us.credential>
     <jclouds.osgi.export>org.jclouds.rackspace.cloudfiles.us*;version="${project.version}"</jclouds.osgi.export>
-    <jclouds.osgi.import>
-      org.jclouds.rest.internal;version="${project.version}",
-      org.jclouds.labs*;version="${project.version}",
-      org.jclouds*;version="${project.version}",
-      *
-    </jclouds.osgi.import>
+    <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
   </properties>
 
   <repositories>
@@ -131,9 +126,14 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-    	<groupId>org.apache.jclouds.api</groupId>
-    	<artifactId>rackspace-cloudidentity</artifactId>
-    	<version>${project.parent.version}</version>
+      <groupId>org.apache.jclouds.api</groupId>
+      <artifactId>rackspace-cloudidentity</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.auto.service</groupId>
+      <artifactId>auto-service</artifactId>
+      <scope>provided</scope>
     </dependency>
   </dependencies>
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0b8b5e7c/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java b/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java
index 499b2e2..cea0ebd 100644
--- a/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java
+++ b/providers/rackspace-cloudfiles-us/src/main/java/org/jclouds/rackspace/cloudfiles/us/CloudFilesUSProviderMetadata.java
@@ -40,12 +40,14 @@ import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticati
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
 
+import com.google.auto.service.AutoService;
 import com.google.common.collect.ImmutableSet;
 import com.google.inject.Module;
 
 /**
  * Implementation of {@link ProviderMetadata} for Rackspace Cloud Files US regions.
  */
+@AutoService(ProviderMetadata.class)
 public class CloudFilesUSProviderMetadata extends BaseProviderMetadata {
    
    /**

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0b8b5e7c/providers/rackspace-cloudfiles-us/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/rackspace-cloudfiles-us/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index cf4c3b4..0000000
--- a/providers/rackspace-cloudfiles-us/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.jclouds.rackspace.cloudfiles.us.CloudFilesUSProviderMetadata


[06/32] jclouds git commit: Refactored CDN headers and test classes

Posted by za...@apache.org.
Refactored CDN headers and test classes


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

Branch: refs/heads/master
Commit: d13ff0ebd972198482c60e5971770ffe3eb53264
Parents: 1814627
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Mon Mar 10 11:40:08 2014 -0700
Committer: Everett Toews <ev...@rackspace.com>
Committed: Thu Apr 3 16:46:35 2014 -0500

----------------------------------------------------------------------
 .../v1/options/UpdateCDNContainerOptions.java   |  86 +++---
 .../v1/reference/CloudFilesHeaders.java         |   9 +-
 .../v1/features/CloudFilesCDNApiLiveTest.java   | 129 ++++++--
 .../v1/features/CloudFilesCDNApiMockTest.java   | 302 +++++++++++++------
 .../options/UpdateCDNContainerOptionsTest.java  | 111 +++++++
 5 files changed, 476 insertions(+), 161 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/d13ff0eb/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
index d044657..0fcb177 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
@@ -1,5 +1,4 @@
 /*
-
  * 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.
@@ -19,6 +18,11 @@ package org.jclouds.rackspace.cloudfiles.v1.options;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
+import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_DIRECTORY_TYPE;
+import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_ERROR;
+import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_INDEX;
+import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_LISTINGS;
+import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_LISTINGS_CSS;
 import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_ENABLED;
 import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_LOG_RETENTION;
 import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL;
@@ -27,13 +31,11 @@ import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CD
 
 import org.jclouds.http.options.BaseHttpRequestOptions;
 
+import com.google.common.net.MediaType;
+
 /**
- * Contains options supported in the REST API for updating CDN containers.
+ * Options supported for updating CDN containers.
  * 
- * <a href=
- *    "http://docs.rackspace.com/files/api/v1/cf-devguide/content/Update_CDN-Enabled_Container_Metadata-d1e2787.html">
- *    Update CDN container</a>.
- *
  * @author Jeremy Daggett
  */
 public class UpdateCDNContainerOptions extends BaseHttpRequestOptions {
@@ -59,19 +61,18 @@ public class UpdateCDNContainerOptions extends BaseHttpRequestOptions {
 
    /** 
     * Enables or disables the CDN Container
-    * API to enable disable - is this necessary?
     */
    public UpdateCDNContainerOptions enabled(boolean enabled) {
       headers.put(CDN_ENABLED, Boolean.toString(enabled));
       return this;
    }
-   
+
    /**
-    * Sets the index page for the Static Website.
+    * Sets the directory marker type for the Static Website.
     */
-   public UpdateCDNContainerOptions staticWebsiteIndexPage(String indexPage) {
-      checkNotNull(indexPage, "index page cannot be null");
-      headers.put("indexPage", indexPage);
+   public UpdateCDNContainerOptions staticWebsiteDirectoryType(MediaType directoryType) {
+      checkNotNull(directoryType, "directoryType cannot be null");
+      headers.put(STATIC_WEB_DIRECTORY_TYPE, directoryType.toString());
       return this;
    }
 
@@ -80,7 +81,16 @@ public class UpdateCDNContainerOptions extends BaseHttpRequestOptions {
     */
    public UpdateCDNContainerOptions staticWebsiteErrorPage(String errorPage) {
       checkNotNull(errorPage, "error page cannot be null");
-      headers.put("errorPage", errorPage);
+      headers.put(STATIC_WEB_ERROR, errorPage);
+      return this;
+   }
+
+   /**
+    * Sets the index page for the Static Website.
+    */
+   public UpdateCDNContainerOptions staticWebsiteIndexPage(String indexPage) {
+      checkNotNull(indexPage, "index page cannot be null");
+      headers.put(STATIC_WEB_INDEX, indexPage);
       return this;
    }
 
@@ -88,35 +98,37 @@ public class UpdateCDNContainerOptions extends BaseHttpRequestOptions {
     * Enables or disables listings for the Static Website.
     */
    public UpdateCDNContainerOptions staticWebsiteListings(boolean listings) {
-      headers.put("enableListings", Boolean.toString(listings));
+      headers.put(STATIC_WEB_LISTINGS, Boolean.toString(listings));
       return this;
    }
-   
+
    /**
-    * Sets the CSS pages for the Static Website.
+    * Sets the listings CSS page for the Static Website.
     */
    public UpdateCDNContainerOptions staticWebsiteListingsCSS(String listingsCSS) {
       checkNotNull(listingsCSS, "listingsCSS page cannot be null");
-      headers.put("limit", listingsCSS);
+      headers.put(STATIC_WEB_LISTINGS_CSS, listingsCSS);
       return this;
    }
 
    public static class Builder {
-      /** @see UpdateCDNContainerOptions#ttl */
+      /**
+       * @see UpdateCDNContainerOptions#ttl
+       */
       public static UpdateCDNContainerOptions ttl(int ttl) {
          UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
          return options.ttl(ttl);
       }
 
-      /** 
-       * @see UpdateCDNContainerOptions#logRetention 
+      /**
+       * @see UpdateCDNContainerOptions#logRetention
        */
       public static UpdateCDNContainerOptions logRetention(boolean logRetention) {
          UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
          return options.logRetention(logRetention);
       }
 
-      /** 
+      /**
        * @see UpdateCDNContainerOptions#enabled
        */
       public static UpdateCDNContainerOptions enabled(boolean enabled) {
@@ -124,40 +136,44 @@ public class UpdateCDNContainerOptions extends BaseHttpRequestOptions {
          return options.enabled(enabled);
       }
 
-      /** 
-       * @see UpdateCDNContainerOptions#staticWebsiteIndexPage 
+      /**
+       * @see UpdateCDNContainerOptions#staticWebsiteDirectoryType
        */
-      public static UpdateCDNContainerOptions staticWebsiteIndexPage(String indexPage) {
+      public static UpdateCDNContainerOptions staticWebsiteDirectoryType(MediaType directoryType) {
          UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
-         return options.staticWebsiteIndexPage(indexPage);
+         return options.staticWebsiteDirectoryType(directoryType);
       }
 
-      /** 
-       * @see UpdateCDNContainerOptions#staticWebsiteErrorPage 
+      /**
+       * @see UpdateCDNContainerOptions#staticWebsiteErrorPage
        */
       public static UpdateCDNContainerOptions staticWebsiteErrorPage(String errorPage) {
          UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
          return options.staticWebsiteErrorPage(errorPage);
       }
 
-      /** 
-       * @see UpdateCDNContainerOptions#staticWebsiteListings 
+      /**
+       * @see UpdateCDNContainerOptions#staticWebsiteIndexPage
+       */
+      public static UpdateCDNContainerOptions staticWebsiteIndexPage(String indexPage) {
+         UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
+         return options.staticWebsiteIndexPage(indexPage);
+      }
+
+      /**
+       * @see UpdateCDNContainerOptions#staticWebsiteListings
        */
       public static UpdateCDNContainerOptions staticWebsiteListings(boolean enabled) {
          UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
          return options.staticWebsiteListings(enabled);
       }
 
-      /** 
-       * @see UpdateCDNContainerOptions#staticWebsiteListingsCSS 
+      /**
+       * @see UpdateCDNContainerOptions#staticWebsiteListingsCSS
        */
       public static UpdateCDNContainerOptions staticWebsiteListingsCSS(String cssPage) {
          UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
          return options.staticWebsiteListingsCSS(cssPage);
       }
    }
-
-   public static Builder builder() {
-      return new Builder();
-   }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d13ff0eb/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
index 7247700..c6d2bc5 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
@@ -39,7 +39,7 @@ public interface CloudFilesHeaders extends SwiftHeaders {
    String CDN_SSL_URI = "X-Cdn-Ssl-Uri";
    String CDN_STREAMING_URI = "X-Cdn-Streaming-Uri";
    String CDN_IOS_URI = "X-Cdn-Ios-Uri";
-   
+
    // CDN TTL Limits
    int CDN_TTL_MIN = 900;
    int CDN_TTL_MAX = 31536000;
@@ -48,11 +48,4 @@ public interface CloudFilesHeaders extends SwiftHeaders {
    // CDN Purge
    String CDN_PURGE_OBJECT_EMAIL = "X-Purge-Email";
    String CDN_PURGE_OBJECT_FAILED = "X-Purge-Failed-Reason";
-   
-   // CDN Static Web
-   String STATIC_WEB_INDEX = CONTAINER_METADATA_PREFIX + "Web-Index";
-   String STATIC_WEB_DIRECTORY_TYPE = CONTAINER_METADATA_PREFIX + "Web-Directory-Type";
-   String STATIC_WEB_ERROR = CONTAINER_METADATA_PREFIX + "Web-Error";
-   String STATIC_WEB_LISTINGS = CONTAINER_METADATA_PREFIX + "Web-Listings";
-   String STATIC_WEB_LISTINGS_CSS = CONTAINER_METADATA_PREFIX + "Web-Listings-CSS";
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d13ff0eb/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
index 15a9dd9..3e450fd 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
@@ -16,19 +16,32 @@
  */
 package org.jclouds.rackspace.cloudfiles.v1.features;
 
+import static org.testng.Assert.assertFalse;
+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 java.util.List;
 
+import org.jclouds.http.options.GetOptions;
+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.options.ListContainerOptions;
 import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
 import org.jclouds.rackspace.cloudfiles.v1.internal.BaseCloudFilesApiLiveTest;
+import org.jclouds.rackspace.cloudfiles.v1.options.UpdateCDNContainerOptions;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.io.ByteSource;
+
+
 /**
  * Tests the live behavior of the {@code CloudFilesCDNApi}.
  * 
@@ -43,21 +56,44 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
       super();
    }
 
-   public void testList() throws Exception {
+   public void testEnable() throws Exception {
       for (String regionId : regions) {
-         CDNApi cdnApi = api.cdnApiInRegion(regionId);
+         assertNotNull(api.cdnApiInRegion(regionId).enable(name));
+         
+         CDNContainer container = api.cdnApiInRegion(regionId).get(name);
+         assertCDNContainerNotNull(container);
+         assertTrue(container.isEnabled());
+      }
+   }
+
+   public void testEnableWithTTL() throws Exception {
+      for (String regionId : regions) {
+         assertNotNull(api.cdnApiInRegion(regionId).enable(name, 777777));
+
+         CDNContainer container = api.cdnApiInRegion(regionId).get(name);
+         assertCDNContainerNotNull(container);
+         assertTrue(container.isEnabled());
+         assertTrue(container.getTtl() == 777777);
+      }
+   }
+
+   public void testDisable() throws Exception {
+      for (String regionId : regions) {
+         assertTrue(api.cdnApiInRegion(regionId).disable(name));
+
+         CDNContainer container = api.cdnApiInRegion(regionId).get(name);
+         assertFalse(container.isEnabled());
+      }
+   }
 
-         List<CDNContainer> cdnResponse = cdnApi.list().toList();
+   public void testList() throws Exception {
+      for (String regionId : regions) {
+         List<CDNContainer> cdnResponse = api.cdnApiInRegion(regionId).list().toList();
          assertNotNull(cdnResponse);
+         
          for (CDNContainer cdnContainer : cdnResponse) {
-            assertNotNull(cdnContainer.getName());
+            assertCDNContainerNotNull(cdnContainer);
             assertTrue(cdnContainer.isEnabled());
-            assertNotNull(cdnContainer.isLogRetentionEnabled());
-            assertNotNull(cdnContainer.getTtl());
-            assertNotNull(cdnContainer.getUri());
-            assertNotNull(cdnContainer.getSslUri());
-            assertNotNull(cdnContainer.getStreamingUri());
-            assertNotNull(cdnContainer.getIosUri());
          }
       }
    }
@@ -66,32 +102,83 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
       String lexicographicallyBeforeName = name.substring(0, name.length() - 1);
       for (String regionId : regions) {
          ListContainerOptions options = ListContainerOptions.Builder.marker(lexicographicallyBeforeName);
+          
          CDNContainer cdnContainer = api.cdnApiInRegion(regionId).list(options).get(0);
-         
-         assertNotNull(cdnContainer.getName());
+         assertCDNContainerNotNull(cdnContainer);
          assertTrue(cdnContainer.isEnabled());
-         assertNotNull(cdnContainer.isLogRetentionEnabled());
-         assertNotNull(cdnContainer.getTtl());
-         assertNotNull(cdnContainer.getUri());
-         assertNotNull(cdnContainer.getSslUri());
-         assertNotNull(cdnContainer.getStreamingUri());
-         assertNotNull(cdnContainer.getIosUri());
       }
    }
 
    public void testGet() throws Exception {
       for (String regionId : regions) {
-         CDNContainer cdnContainer = api.cdnApiInRegion(regionId).get(name);
-         assertNotNull(cdnContainer);
+         CDNContainer container = api.cdnApiInRegion(regionId).get(name);
+         assertCDNContainerNotNull(container);
+         assertTrue(container.isEnabled());
+      }
+   }
+
+   public void testPurgeObject() throws Exception {
+      for (String regionId : regions) {
+         String objectName = "testPurge";
+         Payload payload = Payloads.newByteSourcePayload(ByteSource.wrap(new byte[] {1,2,3}));
+         ObjectApi objectApi = api.objectApiInRegionForContainer(regionId, name);
+         
+         // create a new object
+         objectApi.replace(objectName, payload, ImmutableMap.<String, String>of());
+         
+         CDNApi cdnApi = api.cdnApiInRegion(regionId);
+         assertTrue(cdnApi.purgeObject(name, "testPurge", ImmutableList.<String>of()));
+         
+         // delete the object
+         objectApi.delete(objectName);
+         assertNull(objectApi.get(objectName, GetOptions.NONE));
       }
    }
 
+   public void testUpdate() throws Exception {
+      for (String regionId : regions) {
+         // enable with a ttl
+         assertNotNull(api.cdnApiInRegion(regionId).enable(name, 777777));
+         
+         // now get the container
+         CDNContainer original = api.cdnApiInRegion(regionId).get(name);
+         assertTrue(original.isEnabled());
+         assertCDNContainerNotNull(original);
+
+         // update options
+         UpdateCDNContainerOptions opts = new UpdateCDNContainerOptions()
+                                                .ttl(1234567)
+                                                .logRetention(true)
+                                                .enabled(false);
+         // update the container
+         assertTrue(api.cdnApiInRegion(regionId).update(name, opts));
+         
+         // now get the updated container
+         CDNContainer updated = api.cdnApiInRegion(regionId).get(name);
+         assertFalse(updated.isEnabled());
+         assertCDNContainerNotNull(updated);
+         
+         assertNotEquals(original.getTtl(), updated.getTtl());
+         assertTrue(updated.isLogRetentionEnabled());
+      }
+   }
+
+   private static final void assertCDNContainerNotNull(CDNContainer container) {
+      assertNotNull(container);
+      assertNotNull(container.getName());
+      assertNotNull(container.getTtl());
+      assertNotNull(container.getUri());
+      assertNotNull(container.getIosUri());
+      assertNotNull(container.getSslUri());
+      assertNotNull(container.getStreamingUri());
+      assertNotNull(container.isLogRetentionEnabled());
+   }
+
    @BeforeClass(groups = "live")
    public void setup() {
       super.setup();
       for (String regionId : regions) {
          api.containerApiInRegion(regionId).createIfAbsent(name, CreateContainerOptions.NONE);
-         api.cdnApiInRegion(regionId).enable(name);
       }
    }
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d13ff0eb/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
index 8e55c2e..18cd36c 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
@@ -16,11 +16,8 @@
  */
 package org.jclouds.rackspace.cloudfiles.v1.features;
 
-import static com.google.common.base.Charsets.US_ASCII;
 import static javax.ws.rs.core.HttpHeaders.CONTENT_LENGTH;
 import static javax.ws.rs.core.HttpHeaders.CONTENT_TYPE;
-import static javax.ws.rs.core.HttpHeaders.ETAG;
-import static javax.ws.rs.core.HttpHeaders.LAST_MODIFIED;
 import static org.jclouds.rackspace.cloudfiles.v1.options.UpdateCDNContainerOptions.Builder.enabled;
 import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_ENABLED;
 import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_IOS_URI;
@@ -38,14 +35,13 @@ import static org.testng.Assert.assertTrue;
 import java.net.URI;
 import java.util.List;
 
-import org.jclouds.io.Payload;
-import org.jclouds.io.Payloads;
 import org.jclouds.openstack.swift.v1.options.ListContainerOptions;
 import org.jclouds.openstack.v2_0.internal.BaseOpenStackMockTest;
 import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
 import org.testng.annotations.Test;
 
+import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableList;
 import com.squareup.okhttp.mockwebserver.MockResponse;
 import com.squareup.okhttp.mockwebserver.MockWebServer;
@@ -81,6 +77,27 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       }
    }
 
+   public void testListIsEmpty() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404)));
+
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+         CDNApi cdnApi = api.cdnApiInRegion("DFW");
+
+         List<CDNContainer> cdnContainers = cdnApi.list().toList();
+
+         assertEquals(server.getRequestCount(), 2);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "GET", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/?format=json&enabled_only=true");
+
+         assertTrue(cdnContainers.isEmpty());
+      } finally {
+         server.shutdown();
+      }
+   }
+
    public void testListWithOptions() throws Exception {
       MockWebServer server = mockOpenStackServer();
       server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
@@ -90,11 +107,11 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
          ListContainerOptions options = ListContainerOptions.Builder.marker("cdn-container-3");
          ImmutableList<CDNContainer> containers = api.cdnApiInRegion("DFW").list(options).toList();
-         
+
          for(CDNContainer container : containers) {
-            checkCDNContainer(container);
+            assertCDNContainerNotNull(container);
          }
-         
+
          assertEquals(containers, mockContainers.subList(2, mockContainers.size()));
 
          assertEquals(server.getRequestCount(), 2);
@@ -105,34 +122,60 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       }
    }
 
-   public void testEnableAndDisable() throws Exception {
+   public void testListWithOptionsIsEmpty() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404)));
+
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+         ListContainerOptions options = ListContainerOptions.Builder.marker("cdn-container-3");
+         FluentIterable<CDNContainer> containers = api.cdnApiInRegion("DFW").list(options);
+
+         assertEquals(server.getRequestCount(), 2);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "GET", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/?format=json&enabled_only=true&marker=cdn-container-3");
+
+         assertNotNull(containers);
+         assertTrue(containers.isEmpty());
+      } finally {
+         server.shutdown();
+      }
+   }
+
+   public void testEnable() throws Exception {
       MockWebServer server = mockOpenStackServer();
       server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
       server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(201)));
-      server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(201)));
-      server.enqueue(addCommonHeaders(disabledResponse().setResponseCode(201)));
-      
+
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
-         CDNApi cdnApi = api.cdnApiInRegion("DFW");
-         
+
          // enable a CDN Container
-         URI enabledContainer = cdnApi.enable("container-1");
+         URI enabledContainer = api.cdnApiInRegion("DFW").enable("container-1");
          assertNotNull(enabledContainer);
-         
-         // ensure that it is disabled
-         assertTrue(cdnApi.disable("container-1"));
-         
-         // get the container from the CDN and  ensure that it is disabled
-         CDNContainer disabledContainer = cdnApi.get("container-1");
-         checkCDNContainer(disabledContainer);
-         assertFalse(disabledContainer.isEnabled());
-         
-         assertEquals(server.getRequestCount(), 4);
+
+         assertEquals(server.getRequestCount(), 2);
          assertAuthentication(server);
          assertRequest(server.takeRequest(), "PUT", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+      } finally {
+         server.shutdown();
+      }
+   }
+
+   public void testEnableFail() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(404)));
+ 
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+         // enable a CDN Container
+         assertNull(api.cdnApiInRegion("DFW").enable("container-1"));
+
+         assertEquals(server.getRequestCount(), 2);
+         assertAuthentication(server);
          assertRequest(server.takeRequest(), "PUT", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
-         assertRequest(server.takeRequest(), "HEAD", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
       } finally {
          server.shutdown();
       }
@@ -142,13 +185,12 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       MockWebServer server = mockOpenStackServer();
       server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
       server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(201)));
-      
+
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
-         CDNApi cdnApi = api.cdnApiInRegion("DFW");
-         
+
          // enable a CDN Container with a TTL
-         URI enabledContainer = cdnApi.enable("container-1", 777777);
+         URI enabledContainer = api.cdnApiInRegion("DFW").enable("container-1", 777777);
          assertNotNull(enabledContainer);
 
          assertEquals(server.getRequestCount(), 2);
@@ -159,6 +201,65 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       }
    }
 
+   public void testEnableWithTTLFail() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(404)));
+
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+
+         // enable a CDN Container with a TTL
+         URI enabledContainer = api.cdnApiInRegion("DFW").enable("container-1", 777777);
+         assertNull(enabledContainer);
+
+         assertEquals(server.getRequestCount(), 2);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "PUT", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+      } finally {
+         server.shutdown();
+      }
+   }
+
+   public void testDisable() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(201)));
+
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+
+         // disable a CDN Container
+         assertTrue(api.cdnApiInRegion("DFW").disable("container-1"));
+
+         assertEquals(server.getRequestCount(), 2);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "PUT", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+      } finally {
+         server.shutdown();
+      }
+   }
+
+   public void testDisableFail() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(404)));
+
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+
+         // disable a CDN Container
+         boolean disbledContainer = api.cdnApiInRegion("DFW").disable("container-1");
+         assertFalse(disbledContainer);
+
+         assertEquals(server.getRequestCount(), 2);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "PUT", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+      } finally {
+         server.shutdown();
+      }
+   }
+
    public void testGet() throws Exception {
       MockWebServer server = mockOpenStackServer();
       server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
@@ -166,10 +267,9 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
-         CDNApi cdnApi = api.cdnApiInRegion("DFW");
 
-         CDNContainer cdnContainer = cdnApi.get("container-1");
-         checkCDNContainer(cdnContainer);
+         CDNContainer cdnContainer = api.cdnApiInRegion("DFW").get("container-1");
+         assertCDNContainerNotNull(cdnContainer);
          assertEquals(mockCDNContainer, cdnContainer);
 
          assertEquals(server.getRequestCount(), 2);
@@ -179,17 +279,16 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          server.shutdown();
       }
    }
-   
+
    public void testGetFail() throws Exception {
       MockWebServer server = mockOpenStackServer();
       server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
       server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404)));
-      
+
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
-         CDNApi cdnApi = api.cdnApiInRegion("DFW");
 
-         CDNContainer cdnContainer = cdnApi.get("container-1");
+         CDNContainer cdnContainer = api.cdnApiInRegion("DFW").get("container-1");
 
          assertAuthentication(server);
          assertRequest(server.takeRequest(), "HEAD", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
@@ -203,14 +302,32 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       MockWebServer server = mockOpenStackServer();
       server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
       server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(201)));
-      
+
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
-         CDNApi cdnApi = api.cdnApiInRegion("DFW");
-         
+
          // purge the object
-         assertTrue(cdnApi.purgeObject("myContainer", "myObject", emails));
-         
+         assertTrue(api.cdnApiInRegion("DFW").purgeObject("myContainer", "myObject", emails));
+
+         assertEquals(server.getRequestCount(), 2);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "DELETE", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/myContainer/myObject");
+      } finally {
+         server.shutdown();
+      }
+   }
+
+   public void testPurgeObjectFail() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404)));
+
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+
+         // purge the object
+         assertFalse(api.cdnApiInRegion("DFW").purgeObject("myContainer", "myObject", emails));
+
          assertEquals(server.getRequestCount(), 2);
          assertAuthentication(server);
          assertRequest(server.takeRequest(), "DELETE", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/myContainer/myObject");
@@ -221,24 +338,23 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
 
    public void testUpdate() throws Exception {
       MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")).setResponseCode(200))); //POST
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")).setResponseCode(200)));
       server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(200)));
       server.enqueue(addCommonHeaders(updatedResponse().setResponseCode(204)));
       server.enqueue(addCommonHeaders(updatedResponse().setResponseCode(200)));
-      
+
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
-         CDNApi cdnApi = api.cdnApiInRegion("DFW"); 
-         
-         CDNContainer cdnContainer = cdnApi.get("container-1");
-         checkCDNContainer(cdnContainer);
-         
+
+         CDNContainer cdnContainer = api.cdnApiInRegion("DFW").get("container-1");
+         assertCDNContainerNotNull(cdnContainer);
+
          // update the CDN Container
-         assertTrue(cdnApi.update("container-1", enabled(false).logRetention(true).ttl(7654321)));
-         
-         cdnContainer = cdnApi.get("container-1");
-         checkCDNContainer(cdnContainer);
-         
+         assertTrue(api.cdnApiInRegion("DFW").update("container-1", enabled(false).logRetention(true).ttl(7654321)));
+
+         cdnContainer = api.cdnApiInRegion("DFW").get("container-1");
+         assertCDNContainerNotNull(cdnContainer);
+
          CDNContainer updatedContainer = CDNContainer.builder()
                .name("container-1")
                .enabled(false)
@@ -249,9 +365,9 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
                .streamingUri(URI.create("http://streaming-id-1.stream.rackspace.com"))
                .iosUri(URI.create("http://ios-id-1.iosr.rackspace.com"))
                .build();
-         
+
          assertEquals(updatedContainer, cdnContainer);
-         
+
          assertEquals(server.getRequestCount(), 4);
          assertAuthentication(server);
          assertRequest(server.takeRequest(), "HEAD", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
@@ -262,15 +378,39 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       }
    }
 
-   private static void checkCDNContainer(CDNContainer cdnContainer) {
-      assertNotNull(cdnContainer.getName());
-      assertNotNull(cdnContainer.isEnabled());
-      assertNotNull(cdnContainer.isLogRetentionEnabled());
-      assertNotNull(cdnContainer.getTtl());
-      assertNotNull(cdnContainer.getUri());
-      assertNotNull(cdnContainer.getSslUri());
-      assertNotNull(cdnContainer.getStreamingUri());
-      assertNotNull(cdnContainer.getIosUri());
+   public void testUpdateFail() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")).setResponseCode(200)));
+      server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(200)));
+      server.enqueue(addCommonHeaders(updatedResponse().setResponseCode(404)));
+
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+
+         CDNContainer cdnContainer = api.cdnApiInRegion("DFW").get("container-1");
+         assertCDNContainerNotNull(cdnContainer);
+
+         // update the CDN Container
+         assertFalse(api.cdnApiInRegion("DFW").update("container-1", enabled(false).logRetention(true).ttl(7654321)));
+
+         assertEquals(server.getRequestCount(), 3);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "HEAD", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+         assertRequest(server.takeRequest(), "POST", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
+      } finally {
+         server.shutdown();
+      }
+   }
+
+   private static final void assertCDNContainerNotNull(CDNContainer container) {
+      assertNotNull(container.getName());
+      assertNotNull(container.isEnabled());
+      assertNotNull(container.isLogRetentionEnabled());
+      assertNotNull(container.getTtl());
+      assertNotNull(container.getUri());
+      assertNotNull(container.getSslUri());
+      assertNotNull(container.getStreamingUri());
+      assertNotNull(container.getIosUri());
    }
 
    private static final CDNContainer mockCDNContainer = CDNContainer.builder()
@@ -296,19 +436,6 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
             .addHeader(CONTENT_LENGTH, "0")
             .addHeader(CONTENT_TYPE, "text/plain; charset=UTF-8");
    }
-   
-   private static MockResponse disabledResponse() {
-      return new MockResponse()
-            .addHeader(CDN_ENABLED, "false")
-            .addHeader(CDN_LOG_RETENTION, "false")
-            .addHeader(CDN_TTL, "777777")
-            .addHeader(CDN_URI,"http://id-1.cdn.rackspace.com")
-            .addHeader(CDN_SSL_URI, "https://ssl-id-1.ssl.rackspace.com")
-            .addHeader(CDN_STREAMING_URI, "http://streaming-id-1.stream.rackspace.com")
-            .addHeader(CDN_IOS_URI, "http://ios-id-1.iosr.rackspace.com")
-            .addHeader(CONTENT_LENGTH, "0")
-            .addHeader(CONTENT_TYPE, "text/plain; charset=UTF-8");
-   }
 
    private static MockResponse updatedResponse() {
       return new MockResponse()
@@ -364,23 +491,4 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
                .streamingUri(URI.create("http://streaming-id-4.stream.rackspace.com"))
                .iosUri(URI.create("http://ios-id-4.iosr.rackspace.com"))
                .build());
-
-   private static MockResponse objectResponse() {
-      return new MockResponse()
-            .addHeader(LAST_MODIFIED, "Fri, 12 Jun 2010 13:40:18 GMT")
-            .addHeader(ETAG, "8a964ee2a5e88be344f36c22562a6486")
-            // TODO: MWS doesn't allow you to return content length w/o content
-            // on HEAD!
-            .setBody("ABCD".getBytes(US_ASCII))
-            .addHeader(CONTENT_LENGTH, "4").addHeader(CONTENT_TYPE, "text/plain; charset=UTF-8");
-   }
-
-   private static final byte[] NO_CONTENT = new byte[] {};
-   
-   private static Payload payload(long bytes, String contentType) {
-      Payload payload = Payloads.newByteArrayPayload(NO_CONTENT);
-      payload.getContentMetadata().setContentLength(bytes);
-      payload.getContentMetadata().setContentType(contentType);
-      return payload;
-   }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d13ff0eb/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java
new file mode 100644
index 0000000..3ff8c00
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java
@@ -0,0 +1,111 @@
+/*
+ * 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.rackspace.cloudfiles.v1.options;
+
+import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_DIRECTORY_TYPE;
+import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_ERROR;
+import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_INDEX;
+import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_LISTINGS;
+import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_LISTINGS_CSS;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_LOG_RETENTION;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL_MAX;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL_MIN;
+import static org.testng.Assert.assertEquals;
+
+import org.testng.annotations.Test;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.net.MediaType;
+
+/**
+ * Tests behavior of {@link UpdateCDNContainerOptions}.
+ * 
+ * @author Jeremy Daggett
+ */
+@Test(groups = "unit")
+public class UpdateCDNContainerOptionsTest {
+
+   public void testTTLInRange() {
+      UpdateCDNContainerOptions options = 
+            new UpdateCDNContainerOptions().ttl(123456);
+      assertEquals(ImmutableList.of("123456"), options.buildRequestHeaders().get(CDN_TTL));
+   }
+
+   @Test(expectedExceptions = IllegalStateException.class)
+   public void testTTLLessThanMin() {
+      UpdateCDNContainerOptions options = 
+            new UpdateCDNContainerOptions().ttl(CDN_TTL_MIN - 1);
+      options.buildRequestHeaders().get(CDN_TTL);
+   }
+
+   @Test(expectedExceptions = IllegalStateException.class)
+   public void testTTLGreaterThanMax() {
+      UpdateCDNContainerOptions options = 
+            new UpdateCDNContainerOptions().ttl(CDN_TTL_MAX + 1);
+      options.buildRequestHeaders().get(CDN_TTL);
+   }
+
+   public void testEnableLogRetention() {
+      UpdateCDNContainerOptions options = 
+            new UpdateCDNContainerOptions().logRetention(true);
+      assertEquals(ImmutableList.of("true"), options.buildRequestHeaders().get(CDN_LOG_RETENTION));
+   }
+
+   public void testDisableLogRetention() {
+      UpdateCDNContainerOptions options = 
+            new UpdateCDNContainerOptions().logRetention(false);
+      assertEquals(ImmutableList.of("false"), options.buildRequestHeaders().get(CDN_LOG_RETENTION));
+   }
+
+   public void testStaticWebsiteDirectoryType() {
+      MediaType appDir = MediaType.create("application", "directory");
+      UpdateCDNContainerOptions options = 
+            new UpdateCDNContainerOptions().staticWebsiteDirectoryType(appDir);
+      assertEquals(ImmutableList.of(appDir.toString()), options.buildRequestHeaders().get(STATIC_WEB_DIRECTORY_TYPE));
+   }
+
+   public void testStaticWebsiteIndexPage() {
+      UpdateCDNContainerOptions options = 
+            new UpdateCDNContainerOptions().staticWebsiteIndexPage("index.html");
+      assertEquals(ImmutableList.of("index.html"), options.buildRequestHeaders().get(STATIC_WEB_INDEX));
+   }
+
+   public void testStaticWebsiteErrorPage() {
+      UpdateCDNContainerOptions options = 
+            new UpdateCDNContainerOptions().staticWebsiteErrorPage("error.html");
+      assertEquals(ImmutableList.of("error.html"), options.buildRequestHeaders().get(STATIC_WEB_ERROR));
+   }
+
+   public void testEnableStaticWebsiteListings() {
+      UpdateCDNContainerOptions options = 
+            new UpdateCDNContainerOptions().staticWebsiteListings(true);
+      assertEquals(ImmutableList.of("true"), options.buildRequestHeaders().get(STATIC_WEB_LISTINGS));
+   }
+
+   public void testDiableStaticWebsiteListings() {
+      UpdateCDNContainerOptions options = 
+            new UpdateCDNContainerOptions().staticWebsiteListings(false);
+      assertEquals(ImmutableList.of("false"), options.buildRequestHeaders().get(STATIC_WEB_LISTINGS));
+   }
+
+   public void testStaticWebsiteListingsCSS() {
+      UpdateCDNContainerOptions options = 
+            new UpdateCDNContainerOptions().staticWebsiteListingsCSS("listings.css");
+      assertEquals(ImmutableList.of("listings.css"), options.buildRequestHeaders().get(STATIC_WEB_LISTINGS_CSS));
+   }
+}


[16/32] jclouds git commit: Updating project versions to 2.0.0-SNAPSHOT

Posted by za...@apache.org.
Updating project versions to 2.0.0-SNAPSHOT

Follow-up to be8bc22


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

Branch: refs/heads/master
Commit: 271d50fe07ca3248e03852b4cca7f3ad52eed4ba
Parents: f8b5f52
Author: Andrew Phillips <an...@apache.org>
Authored: Tue Aug 5 11:36:07 2014 +0200
Committer: Andrew Phillips <an...@apache.org>
Committed: Tue Aug 5 11:36:07 2014 +0200

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/pom.xml         | 2 +-
 providers/rackspace-cloudfiles-uk/pom.xml | 2 +-
 providers/rackspace-cloudfiles-us/pom.xml | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/271d50fe/apis/rackspace-cloudfiles/pom.xml
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/pom.xml b/apis/rackspace-cloudfiles/pom.xml
index 434a0bf..e2b3ff0 100644
--- a/apis/rackspace-cloudfiles/pom.xml
+++ b/apis/rackspace-cloudfiles/pom.xml
@@ -28,7 +28,7 @@
   <!-- TODO: when out of labs, switch to org.jclouds.api -->
   <groupId>org.apache.jclouds.labs</groupId>
   <artifactId>rackspace-cloudfiles</artifactId>
-  <version>1.8.0-SNAPSHOT</version>
+  <version>2.0.0-SNAPSHOT</version>
   <name>jclouds rackspace-cloudfiles api</name>
   <description>jclouds components to access Rackspace Cloud Files</description>
   <packaging>bundle</packaging>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/271d50fe/providers/rackspace-cloudfiles-uk/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/pom.xml b/providers/rackspace-cloudfiles-uk/pom.xml
index 3ac9cfa..0dadfe7 100644
--- a/providers/rackspace-cloudfiles-uk/pom.xml
+++ b/providers/rackspace-cloudfiles-uk/pom.xml
@@ -28,7 +28,7 @@
   <!-- TODO: when out of labs, switch to org.jclouds.provider -->
   <groupId>org.apache.jclouds.labs</groupId>
   <artifactId>rackspace-cloudfiles-uk</artifactId>
-  <version>1.8.0-SNAPSHOT</version>
+  <version>2.0.0-SNAPSHOT</version>
   <name>jclouds Rackspace Cloud Files UK provider</name>
   <description>OpenStack Object Storage implementation targeted to Rackspace Cloud Files UK</description>
   <packaging>bundle</packaging>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/271d50fe/providers/rackspace-cloudfiles-us/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/pom.xml b/providers/rackspace-cloudfiles-us/pom.xml
index 929d968..ec9014d 100644
--- a/providers/rackspace-cloudfiles-us/pom.xml
+++ b/providers/rackspace-cloudfiles-us/pom.xml
@@ -28,7 +28,7 @@
   <!-- TODO: when out of labs, switch to org.jclouds.provider -->
   <groupId>org.apache.jclouds.labs</groupId>
   <artifactId>rackspace-cloudfiles-us</artifactId>
-  <version>1.8.0-SNAPSHOT</version>
+  <version>2.0.0-SNAPSHOT</version>
   <name>jclouds Rackspace Cloud Files US provider</name>
   <description>OpenStack Object Storage implementation targeted to Rackspace Cloud Files US</description>
   <packaging>bundle</packaging>


[24/32] jclouds git commit: Revert "Fix poms so that modernizer doesn't fail on snapshot."

Posted by za...@apache.org.
Revert "Fix poms so that modernizer doesn't fail on snapshot."

This reverts commit 889243a677ebba620cc9915f26304091b4dd53bb. The
snapshot repository has now been added to the jclouds-project POM.
See commit 79d4b48 to jclouds/jclouds.


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

Branch: refs/heads/master
Commit: efd09edf572057326840bb9fda989d93041fb17f
Parents: 52ecdf5
Author: Andrew Phillips <an...@apache.org>
Authored: Sun Oct 5 18:52:24 2014 -0400
Committer: Andrew Phillips <an...@apache.org>
Committed: Mon Oct 6 00:36:04 2014 -0400

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/pom.xml         | 14 --------------
 providers/rackspace-cloudfiles-uk/pom.xml | 14 --------------
 providers/rackspace-cloudfiles-us/pom.xml | 14 --------------
 3 files changed, 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/efd09edf/apis/rackspace-cloudfiles/pom.xml
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/pom.xml b/apis/rackspace-cloudfiles/pom.xml
index f3274b4..3e0bcbf 100644
--- a/apis/rackspace-cloudfiles/pom.xml
+++ b/apis/rackspace-cloudfiles/pom.xml
@@ -58,20 +58,6 @@
     </repository>
   </repositories>
 
-  <!-- For modernizer, which depends on jclouds-resources snapshot. -->
-  <pluginRepositories>
-    <pluginRepository>
-      <id>apache-snapshots</id>
-      <url>https://repository.apache.org/content/repositories/snapshots</url>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </pluginRepository>
-  </pluginRepositories>
-
   <dependencies>
     <dependency>
       <groupId>org.apache.jclouds.labs</groupId>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/efd09edf/providers/rackspace-cloudfiles-uk/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/pom.xml b/providers/rackspace-cloudfiles-uk/pom.xml
index 9bb1af0..fd55157 100644
--- a/providers/rackspace-cloudfiles-uk/pom.xml
+++ b/providers/rackspace-cloudfiles-uk/pom.xml
@@ -63,20 +63,6 @@
     </repository>
   </repositories>
 
-  <!-- For modernizer, which depends on jclouds-resources snapshot. -->
-  <pluginRepositories>
-    <pluginRepository>
-      <id>apache-snapshots</id>
-      <url>https://repository.apache.org/content/repositories/snapshots</url>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </pluginRepository>
-  </pluginRepositories>
-
   <dependencies>
     <dependency>
       <groupId>org.apache.jclouds.labs</groupId>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/efd09edf/providers/rackspace-cloudfiles-us/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/pom.xml b/providers/rackspace-cloudfiles-us/pom.xml
index a5a89db..f54d9ce 100644
--- a/providers/rackspace-cloudfiles-us/pom.xml
+++ b/providers/rackspace-cloudfiles-us/pom.xml
@@ -63,20 +63,6 @@
     </repository>
   </repositories>
 
-  <!-- For modernizer, which depends on jclouds-resources snapshot. -->
-  <pluginRepositories>
-    <pluginRepository>
-      <id>apache-snapshots</id>
-      <url>https://repository.apache.org/content/repositories/snapshots</url>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </pluginRepository>
-  </pluginRepositories>
-
   <dependencies>
     <dependency>
       <groupId>org.apache.jclouds.labs</groupId>


[12/32] jclouds git commit: JCLOUDS-547: Improved header and option support for Swift/Cloud Files

Posted by za...@apache.org.
JCLOUDS-547: Improved header and option support for Swift/Cloud Files


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

Branch: refs/heads/master
Commit: 46867d135372b130712bc0da33f95fe1e30cbbf0
Parents: 0c22936
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Sun May 25 13:47:40 2014 -0700
Committer: Jeremy Daggett <je...@rackspace.com>
Committed: Sun May 25 22:08:36 2014 -0700

----------------------------------------------------------------------
 .../rackspace/cloudfiles/v1/CloudFilesApi.java  | 13 +++
 .../cloudfiles/v1/features/CDNApi.java          |  4 +-
 .../v1/options/ListCDNContainerOptions.java     | 86 ++++++++++++++++++++
 .../v1/options/UpdateCDNContainerOptions.java   |  4 +-
 .../v1/reference/CloudFilesConstants.java       | 27 ++++++
 .../v1/reference/CloudFilesHeaders.java         | 12 +--
 .../v1/features/CloudFilesCDNApiLiveTest.java   |  6 +-
 .../v1/features/CloudFilesCDNApiMockTest.java   |  6 +-
 .../options/UpdateCDNContainerOptionsTest.java  |  4 +-
 9 files changed, 138 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/46867d13/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
index 0d33913..e888725 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
@@ -48,4 +48,17 @@ public interface CloudFilesApi extends SwiftApi {
     */
    @Delegate
    CDNApi getCDNApiForRegion(@EndpointParam(parser = RegionToCDNEndpoint.class) @Nullable String region);
+
+   /**
+    * Provides access to Cloud Files CDN features.
+    * 
+    * @param region  the region to access the CDN API.
+    * 
+    * @return the {@link CDNApi} for the specified region.
+    * 
+    * @deprecated Please use {@link #getCDNApiForRegion(String)}. This method will be removed in jclouds 1.8.
+    */
+   @Deprecated
+   @Delegate
+   CDNApi cdnApiInRegion(@EndpointParam(parser = RegionToCDNEndpoint.class) @Nullable String region);
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/46867d13/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
index 306c66d..27a9e8c 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
@@ -39,12 +39,12 @@ import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.javax.annotation.Nullable;
 import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.swift.v1.options.ListContainerOptions;
 import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.jclouds.rackspace.cloudfiles.v1.binders.BindCDNPurgeEmailAddressesToHeaders;
 import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
 import org.jclouds.rackspace.cloudfiles.v1.functions.ParseCDNContainerFromHeaders;
 import org.jclouds.rackspace.cloudfiles.v1.functions.ParseCDNContainerURIFromHeaders;
+import org.jclouds.rackspace.cloudfiles.v1.options.ListCDNContainerOptions;
 import org.jclouds.rackspace.cloudfiles.v1.options.UpdateCDNContainerOptions;
 import org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders;
 import org.jclouds.rest.annotations.BinderParam;
@@ -97,7 +97,7 @@ public interface CDNApi extends Closeable {
    @QueryParams(keys = {"format", "enabled_only"}, values = {"json", "true"})
    @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
    @Path("/")
-   FluentIterable<CDNContainer> list(ListContainerOptions options);
+   FluentIterable<CDNContainer> list(ListCDNContainerOptions options);
 
    /**
     * Gets the specified CDN Container.

http://git-wip-us.apache.org/repos/asf/jclouds/blob/46867d13/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/ListCDNContainerOptions.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/ListCDNContainerOptions.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/ListCDNContainerOptions.java
new file mode 100644
index 0000000..35baa53
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/ListCDNContainerOptions.java
@@ -0,0 +1,86 @@
+/*
+ * 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.rackspace.cloudfiles.v1.options;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+
+import org.jclouds.http.options.BaseHttpRequestOptions;
+
+/**
+ * Options for listing containers. 
+ * 
+ * @see {@link org.jclouds.rackspace.cloudfiles.v1.features.CDNAp#list(ListCDNContainerOptions) CDNApi.list(ListCDNContainerOptions)}
+ */
+public class ListCDNContainerOptions extends BaseHttpRequestOptions {
+
+   /** 
+    * For an integer value <i>n</i>, limits the number of results to <i>n</n>. 
+    */
+   public ListCDNContainerOptions limit(int limit) {
+      checkState(limit >= 0, "limit must be >= 0");
+      checkState(limit <= 10000, "limit must be <= 10000");
+      queryParameters.put("limit", Integer.toString(limit));
+      return this;
+   }
+
+   /** 
+    * Given a string value <i>x</i>, returns container names greater in value than the specified
+    * {@code marker}. Only strings using UTF-8 encoding are valid. Using {@code marker} provides
+    * a mechanism for iterating through the entire list of containers.
+    */
+   public ListCDNContainerOptions marker(String marker) {
+      queryParameters.put("marker", checkNotNull(marker, "marker"));
+      return this;
+   }
+
+   /** 
+    * Given a string value <i>x</i>, returns container names lesser in value than the specified 
+    * end marker. Only strings using UTF-8 encoding are valid.
+    */
+   public ListCDNContainerOptions endMarker(String endMarker) {
+      queryParameters.put("end_marker", checkNotNull(endMarker, "endMarker"));
+      return this;
+   }
+
+   public static class Builder {
+
+      /** 
+       * @see ListCDNContainerOptions#limit
+       */
+      public static ListCDNContainerOptions limit(int limit) {
+         ListCDNContainerOptions options = new ListCDNContainerOptions();
+         return options.limit(limit);
+      }
+
+      /** 
+       * @see ListCDNContainerOptions#marker
+       */
+      public static ListCDNContainerOptions marker(String marker) {
+         ListCDNContainerOptions options = new ListCDNContainerOptions();
+         return options.marker(marker);
+      }
+
+      /** 
+       * @see ListCDNContainerOptions#endMarker
+       */
+      public static ListCDNContainerOptions endMarker(String endMarker) {
+         ListCDNContainerOptions options = new ListCDNContainerOptions();
+         return options.endMarker(endMarker);
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/46867d13/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
index 0fcb177..5f6d396 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
@@ -23,11 +23,11 @@ import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_E
 import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_INDEX;
 import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_LISTINGS;
 import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_LISTINGS_CSS;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesConstants.CDN_TTL_MAX;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesConstants.CDN_TTL_MIN;
 import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_ENABLED;
 import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_LOG_RETENTION;
 import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL;
-import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL_MAX;
-import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL_MIN;
 
 import org.jclouds.http.options.BaseHttpRequestOptions;
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/46867d13/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesConstants.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesConstants.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesConstants.java
new file mode 100644
index 0000000..095ea10
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesConstants.java
@@ -0,0 +1,27 @@
+/*
+ * 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.rackspace.cloudfiles.v1.reference;
+
+
+/**
+ * Constants specified by Rackspace Cloud Files.
+ */
+public interface CloudFilesConstants {
+   int CDN_TTL_MIN = 900;
+   int CDN_TTL_MAX = 31536000;
+   int CDN_TTL_DEFAULT = 259200;
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/46867d13/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
index c6d2bc5..c4f9983 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
@@ -19,13 +19,8 @@ package org.jclouds.rackspace.cloudfiles.v1.reference;
 import org.jclouds.openstack.swift.v1.reference.SwiftHeaders;
 
 /**
- * Additional headers specified by Rackspace Cloud Files CDN.
+ * Additional headers specified by Rackspace Cloud Files.
  * 
- * @see <a
- *      href="http://docs.rackspace.com/files/api/v1/cf-devguide/content/index.html">
- *      Cloud Files API</a>
- *      
- * @author Jeremy Daggett
  */
 public interface CloudFilesHeaders extends SwiftHeaders {
    // Access logs
@@ -40,11 +35,6 @@ public interface CloudFilesHeaders extends SwiftHeaders {
    String CDN_STREAMING_URI = "X-Cdn-Streaming-Uri";
    String CDN_IOS_URI = "X-Cdn-Ios-Uri";
 
-   // CDN TTL Limits
-   int CDN_TTL_MIN = 900;
-   int CDN_TTL_MAX = 31536000;
-   int CDN_TTL_DEFAULT = 259200;
-
    // CDN Purge
    String CDN_PURGE_OBJECT_EMAIL = "X-Purge-Email";
    String CDN_PURGE_OBJECT_FAILED = "X-Purge-Failed-Reason";

http://git-wip-us.apache.org/repos/asf/jclouds/blob/46867d13/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
index 785ae61..3c68bee 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
@@ -28,17 +28,15 @@ import org.jclouds.http.options.GetOptions;
 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.options.ListContainerOptions;
 import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
 import org.jclouds.rackspace.cloudfiles.v1.internal.BaseCloudFilesApiLiveTest;
+import org.jclouds.rackspace.cloudfiles.v1.options.ListCDNContainerOptions;
 import org.jclouds.rackspace.cloudfiles.v1.options.UpdateCDNContainerOptions;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
 import com.google.common.io.ByteSource;
 
 
@@ -101,7 +99,7 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    public void testListWithOptions() throws Exception {
       String lexicographicallyBeforeName = name.substring(0, name.length() - 1);
       for (String regionId : regions) {
-         ListContainerOptions options = ListContainerOptions.Builder.marker(lexicographicallyBeforeName);
+         ListCDNContainerOptions options = new ListCDNContainerOptions().marker(lexicographicallyBeforeName);
           
          CDNContainer cdnContainer = api.getCDNApiForRegion(regionId).list(options).get(0);
          assertCDNContainerNotNull(cdnContainer);

http://git-wip-us.apache.org/repos/asf/jclouds/blob/46867d13/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
index f90204e..cb692bb 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
@@ -35,10 +35,10 @@ import static org.testng.Assert.assertTrue;
 import java.net.URI;
 import java.util.List;
 
-import org.jclouds.openstack.swift.v1.options.ListContainerOptions;
 import org.jclouds.openstack.v2_0.internal.BaseOpenStackMockTest;
 import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
+import org.jclouds.rackspace.cloudfiles.v1.options.ListCDNContainerOptions;
 import org.testng.annotations.Test;
 
 import com.google.common.collect.FluentIterable;
@@ -105,7 +105,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
 
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
-         ListContainerOptions options = ListContainerOptions.Builder.marker("cdn-container-3");
+         ListCDNContainerOptions options = new ListCDNContainerOptions().marker("cdn-container-3");
          ImmutableList<CDNContainer> containers = api.getCDNApiForRegion("DFW").list(options).toList();
 
          for (CDNContainer container : containers) {
@@ -129,7 +129,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
 
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
-         ListContainerOptions options = ListContainerOptions.Builder.marker("cdn-container-3");
+         ListCDNContainerOptions options = ListCDNContainerOptions.Builder.marker("cdn-container-3");
          FluentIterable<CDNContainer> containers = api.getCDNApiForRegion("DFW").list(options);
 
          assertEquals(server.getRequestCount(), 2);

http://git-wip-us.apache.org/repos/asf/jclouds/blob/46867d13/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java
index 3ff8c00..8d7b7e0 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptionsTest.java
@@ -21,10 +21,10 @@ import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_E
 import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_INDEX;
 import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_LISTINGS;
 import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.STATIC_WEB_LISTINGS_CSS;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesConstants.CDN_TTL_MAX;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesConstants.CDN_TTL_MIN;
 import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_LOG_RETENTION;
 import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL;
-import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL_MAX;
-import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL_MIN;
 import static org.testng.Assert.assertEquals;
 
 import org.testng.annotations.Test;


[10/32] jclouds git commit: JCLOUDS-545: Use established conventions for OpenStack APIs, updates JavaDocs and tests

Posted by za...@apache.org.
JCLOUDS-545: Use established conventions for OpenStack APIs, updates JavaDocs and tests


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

Branch: refs/heads/master
Commit: 010400c143b5dc2947871905924b5b5fe28cd0ae
Parents: 5677b0b
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Wed Apr 23 12:39:14 2014 -0700
Committer: Jeremy Daggett <je...@rackspace.com>
Committed: Thu May 22 07:56:37 2014 -0700

----------------------------------------------------------------------
 .../rackspace/cloudfiles/v1/CloudFilesApi.java  |  4 +--
 .../cloudfiles/v1/features/CDNApi.java          | 15 ++++----
 .../features/CloudFilesAccountApiLiveTest.java  |  4 ++-
 .../v1/features/CloudFilesCDNApiLiveTest.java   | 38 ++++++++++----------
 .../v1/features/CloudFilesCDNApiMockTest.java   | 38 ++++++++++----------
 5 files changed, 49 insertions(+), 50 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/010400c1/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
index 9a7dbeb..0d33913 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
@@ -33,8 +33,6 @@ import com.google.common.annotations.Beta;
  * Additionally, Cloud Files provides a simple yet powerful way to publish and distribute content
  * behind a Content Distribution Network.
  * 
- * @author Jeremy Daggett
- * 
  * @see CDNApi
  * @see SwiftApi
  */
@@ -49,5 +47,5 @@ public interface CloudFilesApi extends SwiftApi {
     * @return the {@link CDNApi} for the specified region.
     */
    @Delegate
-   CDNApi cdnApiInRegion(@EndpointParam(parser = RegionToCDNEndpoint.class) @Nullable String region);
+   CDNApi getCDNApiForRegion(@EndpointParam(parser = RegionToCDNEndpoint.class) @Nullable String region);
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/010400c1/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
index 5161fee..306c66d 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
@@ -40,6 +40,7 @@ import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.javax.annotation.Nullable;
 import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
 import org.jclouds.openstack.swift.v1.options.ListContainerOptions;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.jclouds.rackspace.cloudfiles.v1.binders.BindCDNPurgeEmailAddressesToHeaders;
 import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
 import org.jclouds.rackspace.cloudfiles.v1.functions.ParseCDNContainerFromHeaders;
@@ -64,9 +65,7 @@ import com.google.common.collect.FluentIterable;
  * noted in the service catalog for Cloud Files during Authentication and set the 
  * <code>X-CDN-Enabled</code> header to <code>true</code>.
  * 
- * @author Jeremy Daggett
- * 
- * @see {@link CloudFilesApi#cdnApiInRegion(String)}
+ * @see {@link CloudFilesApi#getCDNApiForRegion(String)}
  */
 @Beta
 @RequestFilters(AuthenticateRequest.class)
@@ -84,7 +83,7 @@ public interface CDNApi extends Closeable {
    @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
    @Path("/")
    FluentIterable<CDNContainer> list();
-   
+
    /**
     * Lists CDN containers, with the given options.
     * 
@@ -137,7 +136,7 @@ public interface CDNApi extends Closeable {
     * Enables the {@link CDNContainer} with a TTL.
     * 
     * @param containerName
-    *           corresponds to {@link CDNContainer#name()}.
+    *           corresponds to {@link CDNContainer#getName()}.
     * @param ttl
     *           the TTL for the CDN Container.
     *           
@@ -157,7 +156,7 @@ public interface CDNApi extends Closeable {
     * Disables the {@link CDNContainer}.
     * 
     * @param containerName
-    *           corresponds to {@link CDNContainer#name()}.
+    *           corresponds to {@link CDNContainer#getName()}.
     *           
     * @return {@code true} if the container was disabled, {@code false} if not.
     */
@@ -172,7 +171,7 @@ public interface CDNApi extends Closeable {
     * Purges an object from the CDN.
     * 
     * @param containerName
-    *           corresponds to {@link CDNContainer#name()}.
+    *           corresponds to {@link CDNContainer#getName()}.
     * @param objectName
     *           the object in the {@link CDNContainer} to purge.
     * @param emails
@@ -193,7 +192,7 @@ public interface CDNApi extends Closeable {
     * Updates a CDN container with the supplied {@link UpdateCDNContainerOptions} options.
     * 
     * @param containerName
-    *           corresponds to {@link CDNContainer#name()}.
+    *           corresponds to {@link CDNContainer#getName()}.
     *           
     * @param options
     *           the {@link UpdateCDNContainerOptions} options.

http://git-wip-us.apache.org/repos/asf/jclouds/blob/010400c1/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
index 6c2e4a2..f1431d9 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
@@ -19,7 +19,9 @@ package org.jclouds.rackspace.cloudfiles.v1.features;
 import static org.testng.Assert.assertTrue;
 
 import org.jclouds.openstack.swift.v1.domain.Account;
+import org.jclouds.openstack.swift.v1.features.AccountApi;
 import org.jclouds.openstack.swift.v1.features.AccountApiLiveTest;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.testng.annotations.Test;
 
 /**
@@ -37,7 +39,7 @@ public class CloudFilesAccountApiLiveTest extends AccountApiLiveTest {
 
    public void testUrlKeyExists() throws Exception {
       for (String regionId : regions) {
-         Account account = api.accountApiInRegion(regionId).get();
+         Account account = api.getAccountApiForRegion(regionId).get();
          assertTrue(account.getTemporaryUrlKey().isPresent());
       }
    }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/010400c1/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
index 5c073fb..785ae61 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
@@ -58,9 +58,9 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
 
    public void testEnable() throws Exception {
       for (String regionId : regions) {
-         assertNotNull(api.cdnApiInRegion(regionId).enable(name));
+         assertNotNull(api.getCDNApiForRegion(regionId).enable(name));
          
-         CDNContainer container = api.cdnApiInRegion(regionId).get(name);
+         CDNContainer container = api.getCDNApiForRegion(regionId).get(name);
          assertCDNContainerNotNull(container);
          assertTrue(container.isEnabled());
       }
@@ -68,9 +68,9 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
 
    public void testEnableWithTTL() throws Exception {
       for (String regionId : regions) {
-         assertNotNull(api.cdnApiInRegion(regionId).enable(name, 777777));
+         assertNotNull(api.getCDNApiForRegion(regionId).enable(name, 777777));
 
-         CDNContainer container = api.cdnApiInRegion(regionId).get(name);
+         CDNContainer container = api.getCDNApiForRegion(regionId).get(name);
          assertCDNContainerNotNull(container);
          assertTrue(container.isEnabled());
          assertTrue(container.getTtl() == 777777);
@@ -79,16 +79,16 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
 
    public void testDisable() throws Exception {
       for (String regionId : regions) {
-         assertTrue(api.cdnApiInRegion(regionId).disable(name));
+         assertTrue(api.getCDNApiForRegion(regionId).disable(name));
 
-         CDNContainer container = api.cdnApiInRegion(regionId).get(name);
+         CDNContainer container = api.getCDNApiForRegion(regionId).get(name);
          assertFalse(container.isEnabled());
       }
    }
 
    public void testList() throws Exception {
       for (String regionId : regions) {
-         List<CDNContainer> cdnResponse = api.cdnApiInRegion(regionId).list().toList();
+         List<CDNContainer> cdnResponse = api.getCDNApiForRegion(regionId).list().toList();
          assertNotNull(cdnResponse);
          
          for (CDNContainer cdnContainer : cdnResponse) {
@@ -103,7 +103,7 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
       for (String regionId : regions) {
          ListContainerOptions options = ListContainerOptions.Builder.marker(lexicographicallyBeforeName);
           
-         CDNContainer cdnContainer = api.cdnApiInRegion(regionId).list(options).get(0);
+         CDNContainer cdnContainer = api.getCDNApiForRegion(regionId).list(options).get(0);
          assertCDNContainerNotNull(cdnContainer);
          assertTrue(cdnContainer.isEnabled());
       }
@@ -111,7 +111,7 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
 
    public void testGet() throws Exception {
       for (String regionId : regions) {
-         CDNContainer container = api.cdnApiInRegion(regionId).get(name);
+         CDNContainer container = api.getCDNApiForRegion(regionId).get(name);
          assertCDNContainerNotNull(container);
          assertTrue(container.isEnabled());
       }
@@ -121,12 +121,12 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
       for (String regionId : regions) {
          String objectName = "testPurge";
          Payload payload = Payloads.newByteSourcePayload(ByteSource.wrap(new byte[] {1, 2, 3}));
-         ObjectApi objectApi = api.objectApiInRegionForContainer(regionId, name);
+         ObjectApi objectApi = api.getObjectApiForRegionAndContainer(regionId, name);
          
          // create a new object
-         objectApi.replace(objectName, payload, ImmutableMap.<String, String>of());
+         objectApi.put(objectName, payload);
          
-         CDNApi cdnApi = api.cdnApiInRegion(regionId);
+         CDNApi cdnApi = api.getCDNApiForRegion(regionId);
          assertTrue(cdnApi.purgeObject(name, "testPurge", ImmutableList.<String>of()));
          
          // delete the object
@@ -138,10 +138,10 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    public void testUpdate() throws Exception {
       for (String regionId : regions) {
          // enable with a ttl
-         assertNotNull(api.cdnApiInRegion(regionId).enable(name, 777777));
+         assertNotNull(api.getCDNApiForRegion(regionId).enable(name, 777777));
          
          // now get the container
-         CDNContainer original = api.cdnApiInRegion(regionId).get(name);
+         CDNContainer original = api.getCDNApiForRegion(regionId).get(name);
          assertTrue(original.isEnabled());
          assertCDNContainerNotNull(original);
 
@@ -151,10 +151,10 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
                                                 .logRetention(true)
                                                 .enabled(false);
          // update the container
-         assertTrue(api.cdnApiInRegion(regionId).update(name, opts));
+         assertTrue(api.getCDNApiForRegion(regionId).update(name, opts));
          
          // now get the updated container
-         CDNContainer updated = api.cdnApiInRegion(regionId).get(name);
+         CDNContainer updated = api.getCDNApiForRegion(regionId).get(name);
          assertFalse(updated.isEnabled());
          assertCDNContainerNotNull(updated);
          
@@ -178,7 +178,7 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    public void setup() {
       super.setup();
       for (String regionId : regions) {
-         api.containerApiInRegion(regionId).createIfAbsent(name, CreateContainerOptions.NONE);
+         api.getContainerApiForRegion(regionId).create(name);
       }
    }
 
@@ -186,8 +186,8 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    @AfterClass(groups = "live")
    public void tearDown() {
       for (String regionId : regions) {
-         api.cdnApiInRegion(regionId).disable(name);
-         api.containerApiInRegion(regionId).deleteIfEmpty(name);
+         api.getCDNApiForRegion(regionId).disable(name);
+         api.getContainerApiForRegion(regionId).deleteIfEmpty(name);
       }
       super.tearDown();
    }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/010400c1/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
index 8a98dee..3e07de5 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
@@ -63,7 +63,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
 
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
-         CDNApi cdnApi = api.cdnApiInRegion("DFW");
+         CDNApi cdnApi = api.getCDNApiForRegion("DFW");
 
          ImmutableList<CDNContainer> cdnContainers = cdnApi.list().toList();
 
@@ -84,7 +84,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
 
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
-         CDNApi cdnApi = api.cdnApiInRegion("DFW");
+         CDNApi cdnApi = api.getCDNApiForRegion("DFW");
 
          List<CDNContainer> cdnContainers = cdnApi.list().toList();
 
@@ -106,7 +106,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
          ListContainerOptions options = ListContainerOptions.Builder.marker("cdn-container-3");
-         ImmutableList<CDNContainer> containers = api.cdnApiInRegion("DFW").list(options).toList();
+         ImmutableList<CDNContainer> containers = api.getCDNApiForRegion("DFW").list(options).toList();
 
          for (CDNContainer container : containers) {
             assertCDNContainerNotNull(container);
@@ -130,7 +130,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
          ListContainerOptions options = ListContainerOptions.Builder.marker("cdn-container-3");
-         FluentIterable<CDNContainer> containers = api.cdnApiInRegion("DFW").list(options);
+         FluentIterable<CDNContainer> containers = api.getCDNApiForRegion("DFW").list(options);
 
          assertEquals(server.getRequestCount(), 2);
          assertAuthentication(server);
@@ -152,7 +152,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // enable a CDN Container
-         URI enabledContainer = api.cdnApiInRegion("DFW").enable("container-1");
+         URI enabledContainer = api.getCDNApiForRegion("DFW").enable("container-1");
          assertNotNull(enabledContainer);
 
          assertEquals(server.getRequestCount(), 2);
@@ -171,7 +171,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
          // enable a CDN Container
-         assertNull(api.cdnApiInRegion("DFW").enable("container-1"));
+         assertNull(api.getCDNApiForRegion("DFW").enable("container-1"));
 
          assertEquals(server.getRequestCount(), 2);
          assertAuthentication(server);
@@ -190,7 +190,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // enable a CDN Container with a TTL
-         URI enabledContainer = api.cdnApiInRegion("DFW").enable("container-1", 777777);
+         URI enabledContainer = api.getCDNApiForRegion("DFW").enable("container-1", 777777);
          assertNotNull(enabledContainer);
 
          assertEquals(server.getRequestCount(), 2);
@@ -210,7 +210,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // enable a CDN Container with a TTL
-         URI enabledContainer = api.cdnApiInRegion("DFW").enable("container-1", 777777);
+         URI enabledContainer = api.getCDNApiForRegion("DFW").enable("container-1", 777777);
          assertNull(enabledContainer);
 
          assertEquals(server.getRequestCount(), 2);
@@ -230,7 +230,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // disable a CDN Container
-         assertTrue(api.cdnApiInRegion("DFW").disable("container-1"));
+         assertTrue(api.getCDNApiForRegion("DFW").disable("container-1"));
 
          assertEquals(server.getRequestCount(), 2);
          assertAuthentication(server);
@@ -249,7 +249,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // disable a CDN Container
-         boolean disbledContainer = api.cdnApiInRegion("DFW").disable("container-1");
+         boolean disbledContainer = api.getCDNApiForRegion("DFW").disable("container-1");
          assertFalse(disbledContainer);
 
          assertEquals(server.getRequestCount(), 2);
@@ -268,7 +268,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
-         CDNContainer cdnContainer = api.cdnApiInRegion("DFW").get("container-1");
+         CDNContainer cdnContainer = api.getCDNApiForRegion("DFW").get("container-1");
          assertCDNContainerNotNull(cdnContainer);
          assertEquals(mockCDNContainer, cdnContainer);
 
@@ -288,7 +288,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
-         CDNContainer cdnContainer = api.cdnApiInRegion("DFW").get("container-1");
+         CDNContainer cdnContainer = api.getCDNApiForRegion("DFW").get("container-1");
 
          assertAuthentication(server);
          assertRequest(server.takeRequest(), "HEAD", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/container-1");
@@ -307,7 +307,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // purge the object
-         assertTrue(api.cdnApiInRegion("DFW").purgeObject("myContainer", "myObject", emails));
+         assertTrue(api.getCDNApiForRegion("DFW").purgeObject("myContainer", "myObject", emails));
 
          assertEquals(server.getRequestCount(), 2);
          assertAuthentication(server);
@@ -326,7 +326,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
          // purge the object
-         assertFalse(api.cdnApiInRegion("DFW").purgeObject("myContainer", "myObject", emails));
+         assertFalse(api.getCDNApiForRegion("DFW").purgeObject("myContainer", "myObject", emails));
 
          assertEquals(server.getRequestCount(), 2);
          assertAuthentication(server);
@@ -346,13 +346,13 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
-         CDNContainer cdnContainer = api.cdnApiInRegion("DFW").get("container-1");
+         CDNContainer cdnContainer = api.getCDNApiForRegion("DFW").get("container-1");
          assertCDNContainerNotNull(cdnContainer);
 
          // update the CDN Container
-         assertTrue(api.cdnApiInRegion("DFW").update("container-1", enabled(false).logRetention(true).ttl(7654321)));
+         assertTrue(api.getCDNApiForRegion("DFW").update("container-1", enabled(false).logRetention(true).ttl(7654321)));
 
-         cdnContainer = api.cdnApiInRegion("DFW").get("container-1");
+         cdnContainer = api.getCDNApiForRegion("DFW").get("container-1");
          assertCDNContainerNotNull(cdnContainer);
 
          CDNContainer updatedContainer = CDNContainer.builder()
@@ -387,11 +387,11 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       try {
          CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
 
-         CDNContainer cdnContainer = api.cdnApiInRegion("DFW").get("container-1");
+         CDNContainer cdnContainer = api.getCDNApiForRegion("DFW").get("container-1");
          assertCDNContainerNotNull(cdnContainer);
 
          // update the CDN Container
-         assertFalse(api.cdnApiInRegion("DFW").update("container-1", enabled(false).logRetention(true).ttl(7654321)));
+         assertFalse(api.getCDNApiForRegion("DFW").update("container-1", enabled(false).logRetention(true).ttl(7654321)));
 
          assertEquals(server.getRequestCount(), 3);
          assertAuthentication(server);


[26/32] jclouds git commit: Swift is now out of labs.

Posted by za...@apache.org.
Swift is now out of labs.


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

Branch: refs/heads/master
Commit: a12c168ad2a286809cb5632932a68451cb44e502
Parents: 03619ac
Author: Adrian Cole <ac...@twitter.com>
Authored: Wed Oct 8 13:10:32 2014 -0700
Committer: Andrew Phillips <an...@apache.org>
Committed: Wed Oct 8 19:34:45 2014 -0400

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/pom.xml         | 4 ++--
 providers/rackspace-cloudfiles-uk/pom.xml | 4 ++--
 providers/rackspace-cloudfiles-us/pom.xml | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/a12c168a/apis/rackspace-cloudfiles/pom.xml
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/pom.xml b/apis/rackspace-cloudfiles/pom.xml
index 498362a..8d00ba8 100644
--- a/apis/rackspace-cloudfiles/pom.xml
+++ b/apis/rackspace-cloudfiles/pom.xml
@@ -60,12 +60,12 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.jclouds.labs</groupId>
+      <groupId>org.apache.jclouds.api</groupId>
       <artifactId>openstack-swift</artifactId>
       <version>${project.parent.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.jclouds.labs</groupId>
+      <groupId>org.apache.jclouds.api</groupId>
       <artifactId>openstack-swift</artifactId>
       <version>${project.parent.version}</version>
       <type>test-jar</type>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/a12c168a/providers/rackspace-cloudfiles-uk/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/pom.xml b/providers/rackspace-cloudfiles-uk/pom.xml
index 70e2c25..104cbc9 100644
--- a/providers/rackspace-cloudfiles-uk/pom.xml
+++ b/providers/rackspace-cloudfiles-uk/pom.xml
@@ -65,14 +65,14 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.jclouds.labs</groupId>
+      <groupId>org.apache.jclouds.api</groupId>
       <artifactId>openstack-swift</artifactId>
       <version>${project.parent.version}</version>
       <type>test-jar</type>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.jclouds.labs</groupId>
+      <groupId>org.apache.jclouds.api</groupId>
       <artifactId>openstack-swift</artifactId>
       <version>${project.parent.version}</version>
     </dependency>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/a12c168a/providers/rackspace-cloudfiles-us/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/pom.xml b/providers/rackspace-cloudfiles-us/pom.xml
index ac9ff34..27f60fb 100644
--- a/providers/rackspace-cloudfiles-us/pom.xml
+++ b/providers/rackspace-cloudfiles-us/pom.xml
@@ -65,14 +65,14 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.apache.jclouds.labs</groupId>
+      <groupId>org.apache.jclouds.api</groupId>
       <artifactId>openstack-swift</artifactId>
       <version>${project.parent.version}</version>
       <type>test-jar</type>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.jclouds.labs</groupId>
+      <groupId>org.apache.jclouds.api</groupId>
       <artifactId>openstack-swift</artifactId>
       <version>${project.parent.version}</version>
     </dependency>


[27/32] jclouds git commit: Revert "JCLOUDS-653: Address Guava 18 deprecations"

Posted by za...@apache.org.
Revert "JCLOUDS-653: Address Guava 18 deprecations"

This reverts commit 65e1def4bdc1d763f505a8316dd6eb78f26300a8.

Many conflicts due to many changes between above commit and now.


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

Branch: refs/heads/master
Commit: 691144caa9cdf41847d8d928aa4d5dbf9842430e
Parents: a12c168
Author: Adrian Cole <ad...@gmail.com>
Authored: Thu Oct 23 20:21:23 2014 -0700
Committer: Adrian Cole <ac...@twitter.com>
Committed: Fri Oct 24 11:27:49 2014 -0700

----------------------------------------------------------------------
 .../org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/691144ca/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
index 9a80b10..d987f88 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
@@ -16,7 +16,7 @@
  */
 package org.jclouds.rackspace.cloudfiles.v1.domain;
 
-import static com.google.common.base.MoreObjects.toStringHelper;
+import static com.google.common.base.Objects.toStringHelper;
 import static com.google.common.base.Preconditions.checkNotNull;
 
 import java.beans.ConstructorProperties;
@@ -24,8 +24,8 @@ import java.net.URI;
 
 import javax.inject.Named;
 
-import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.base.Objects;
+import com.google.common.base.Objects.ToStringHelper;
 
 /**
  * Represents a CDN Container in Rackspace Cloud Files.


[19/32] jclouds git commit: Removed @Nullable annotations on region parameters

Posted by za...@apache.org.
Removed @Nullable annotations on region parameters


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

Branch: refs/heads/master
Commit: 4030a4c4f0e35332b52dd10a9a52e05447de420a
Parents: aa04ef0
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Wed Aug 13 11:03:10 2014 -0700
Committer: Jeremy Daggett <je...@rackspace.com>
Committed: Wed Aug 13 16:04:05 2014 -0700

----------------------------------------------------------------------
 .../rackspace/cloudfiles/v1/CloudFilesApi.java  |  5 +--
 .../cloudfiles/v1/features/CDNApi.java          | 47 ++++++++++----------
 .../functions/ParseCDNContainerFromHeaders.java |  6 +--
 .../v1/functions/RegionToCDNEndpoint.java       | 12 ++---
 4 files changed, 34 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/4030a4c4/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
index 2a0e50d..ff19eb8 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
@@ -16,7 +16,6 @@
  */
 package org.jclouds.rackspace.cloudfiles.v1;
 
-import org.jclouds.javax.annotation.Nullable;
 import org.jclouds.openstack.swift.v1.SwiftApi;
 import org.jclouds.rackspace.cloudfiles.v1.features.CDNApi;
 import org.jclouds.rackspace.cloudfiles.v1.functions.RegionToCDNEndpoint;
@@ -47,7 +46,7 @@ public interface CloudFilesApi extends SwiftApi {
     * @return the {@link CDNApi} for the specified region.
     */
    @Delegate
-   CDNApi getCDNApi(@EndpointParam(parser = RegionToCDNEndpoint.class) @Nullable String region);
+   CDNApi getCDNApi(@EndpointParam(parser = RegionToCDNEndpoint.class) String region);
 
    /**
     * Provides access to Cloud Files CDN features.
@@ -60,5 +59,5 @@ public interface CloudFilesApi extends SwiftApi {
     */
    @Deprecated
    @Delegate
-   CDNApi cdnApiInRegion(@EndpointParam(parser = RegionToCDNEndpoint.class) @Nullable String region);
+   CDNApi cdnApiInRegion(@EndpointParam(parser = RegionToCDNEndpoint.class) String region);
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/4030a4c4/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
index 27a9e8c..e88626f 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
@@ -39,7 +39,6 @@ import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.javax.annotation.Nullable;
 import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
 import org.jclouds.rackspace.cloudfiles.v1.binders.BindCDNPurgeEmailAddressesToHeaders;
 import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
 import org.jclouds.rackspace.cloudfiles.v1.functions.ParseCDNContainerFromHeaders;
@@ -60,12 +59,12 @@ import com.google.common.collect.FluentIterable;
  * Provides access to the Rackspace Cloud Files CDN API features.
  *
  * <h3>NOTE</h3>
- * Before a container can be CDN enabled, it must exist in the storage system. 
- * To CDN enable the container, perform PUT request against it using the <code>publicURL</code> 
- * noted in the service catalog for Cloud Files during Authentication and set the 
+ * Before a container can be CDN enabled, it must exist in the storage system.
+ * To CDN enable the container, perform PUT request against it using the <code>publicURL</code>
+ * noted in the service catalog for Cloud Files during Authentication and set the
  * <code>X-CDN-Enabled</code> header to <code>true</code>.
- * 
- * @see {@link CloudFilesApi#getCDNApiForRegion(String)}
+ *
+ * @see {@link org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi#getCDNApi(String)}
  */
 @Beta
 @RequestFilters(AuthenticateRequest.class)
@@ -74,7 +73,7 @@ public interface CDNApi extends Closeable {
 
    /**
     * Lists up to 10,000 CDN containers.
-    * 
+    *
     * @return a list of CDN enabled containers ordered by name.
     */
    @Named("cdn:list")
@@ -86,10 +85,10 @@ public interface CDNApi extends Closeable {
 
    /**
     * Lists CDN containers, with the given options.
-    * 
+    *
     * @param options
     *           the options to control output.
-    * 
+    *
     * @return a list of CDN enabled containers ordered by name.
     */
    @Named("cdn:list")
@@ -101,10 +100,10 @@ public interface CDNApi extends Closeable {
 
    /**
     * Gets the specified CDN Container.
-    * 
+    *
     * @param containerName
     *           the name of the CDN Container
-    * 
+    *
     * @return the CDNContainer or null, if not found.
     */
    @Named("cdn:get")
@@ -117,10 +116,10 @@ public interface CDNApi extends Closeable {
 
    /**
     * Enables the {@link CDNContainer}.
-    * 
+    *
     * @param containerName
     *           corresponds to {@link CDNContainer#getName()}.
-    *           
+    *
     * @return the CDN container {@link URI} or {@code null}, if not found.
     */
    @Named("cdn:enable")
@@ -134,12 +133,12 @@ public interface CDNApi extends Closeable {
 
    /**
     * Enables the {@link CDNContainer} with a TTL.
-    * 
+    *
     * @param containerName
     *           corresponds to {@link CDNContainer#getName()}.
     * @param ttl
     *           the TTL for the CDN Container.
-    *           
+    *
     * @return the CDN container {@link URI} or {@code null}, if not found.
     */
    @Named("cdn:enable")
@@ -149,15 +148,15 @@ public interface CDNApi extends Closeable {
    @Path("/{containerName}")
    @Headers(keys = CDN_ENABLED, values = "true")
    @Nullable
-   URI enable(@PathParam("containerName") String containerName, 
+   URI enable(@PathParam("containerName") String containerName,
          @HeaderParam(CDN_TTL) int ttl);
 
    /**
     * Disables the {@link CDNContainer}.
-    * 
+    *
     * @param containerName
     *           corresponds to {@link CDNContainer#getName()}.
-    *           
+    *
     * @return {@code true} if the container was disabled, {@code false} if not.
     */
    @Named("cdn:disable")
@@ -169,14 +168,14 @@ public interface CDNApi extends Closeable {
 
    /**
     * Purges an object from the CDN.
-    * 
+    *
     * @param containerName
     *           corresponds to {@link CDNContainer#getName()}.
     * @param objectName
     *           the object in the {@link CDNContainer} to purge.
     * @param emails
     *           the email addresses to notify after purging.
-    * 
+    *
     * @return {@code true} if the object was successfully purged, {@code false} if not.
     */
    @Named("cdn:purge")
@@ -184,16 +183,16 @@ public interface CDNApi extends Closeable {
    @Fallback(FalseOnNotFoundOr404.class)
    @Path("/{containerName}/{objectName}")
    @Headers(keys = CloudFilesHeaders.CDN_PURGE_OBJECT_EMAIL, values = "{email}")
-   boolean purgeObject(@PathParam("containerName") String containerName, 
-         @PathParam("objectName") String objectName, 
+   boolean purgeObject(@PathParam("containerName") String containerName,
+         @PathParam("objectName") String objectName,
          @BinderParam(BindCDNPurgeEmailAddressesToHeaders.class) Iterable<String> emails);
 
    /**
     * Updates a CDN container with the supplied {@link UpdateCDNContainerOptions} options.
-    * 
+    *
     * @param containerName
     *           corresponds to {@link CDNContainer#getName()}.
-    *           
+    *
     * @param options
     *           the {@link UpdateCDNContainerOptions} options.
     */

http://git-wip-us.apache.org/repos/asf/jclouds/blob/4030a4c4/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java
index 3d4e0f9..38430d6 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java
@@ -57,11 +57,11 @@ public class ParseCDNContainerFromHeaders implements Function<HttpResponse, CDNC
       String enabled = checkNotNull(from.getFirstHeaderOrNull(CDN_ENABLED), CDN_ENABLED);
       String logRetention = checkNotNull(from.getFirstHeaderOrNull(CDN_LOG_RETENTION), CDN_LOG_RETENTION);
       String ttl = checkNotNull(from.getFirstHeaderOrNull(CDN_TTL), CDN_TTL);
-      
+
       // just need the name from the path
       List<String> parts = newArrayList(Splitter.on('/').split(request.getEndpoint().getPath()));
-      checkArgument(parts.size() > 0);
-      
+      checkArgument(!parts.isEmpty());
+
       return CDNContainer.builder().name(parts.get(parts.size() - 1))
             .enabled(Boolean.parseBoolean(enabled))
             .logRetention(Boolean.parseBoolean(logRetention))

http://git-wip-us.apache.org/repos/asf/jclouds/blob/4030a4c4/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
index 866c34f..07f6f25 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
@@ -34,15 +34,15 @@ import com.google.common.base.Function;
 import com.google.common.base.Supplier;
 
 /**
- * This class ensures that the correct Cloud Files CDN endpoint is retrieved from the endpoint 
- * supplier. The CDN API should never be instantiated directly, but rather accessed through the 
+ * This class ensures that the correct Cloud Files CDN endpoint is retrieved from the endpoint
+ * supplier. The CDN API should never be instantiated directly, but rather accessed through the
  * {@link CloudFilesApi#cdnApiInRegion(String)} API.
  * <p/>
  * <h3>NOTE</h3>
  * The Cloud Files Service Type will always default to OpenStack Object Storage ("object-storage").
  * <p/>
- * 
- * 
+ *
+ *
  * @see CloudFilesApi#cdnApiInRegion(String)
  * @see CDNApi
  * @see RegionToEndpoint
@@ -53,7 +53,7 @@ import com.google.common.base.Supplier;
  *      Service Access Endpoints</a>
  */
 @Singleton
-public class RegionToCDNEndpoint implements Function<Object, URI> { 
+public class RegionToCDNEndpoint implements Function<Object, URI> {
 
    private final Supplier<Map<String, Supplier<URI>>> endpointsSupplier;
 
@@ -65,7 +65,7 @@ public class RegionToCDNEndpoint implements Function<Object, URI> {
    public URI apply(@Nullable Object from) {
       checkArgument(from != null && from instanceof String, "you must specify a region, as a String argument");
       Map<String, Supplier<URI>> regionToEndpoint = endpointsSupplier.get();
-      checkState(regionToEndpoint.size() > 0, "no region name to endpoint mappings configured!");
+      checkState(!regionToEndpoint.isEmpty(), "no region name to endpoint mappings configured!");
       checkArgument(regionToEndpoint.containsKey(from),
             "requested location %s, which is not in the configured locations: %s", from, regionToEndpoint);
       return regionToEndpoint.get(from).get();


[11/32] jclouds git commit: JCLOUDS-562: Decode object names with spaces, added test cases and updated test names.

Posted by za...@apache.org.
JCLOUDS-562: Decode object names with spaces, added test cases and updated test names.


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

Branch: refs/heads/master
Commit: 0c22936ab21f42bc4234197910a748d54b9a3d82
Parents: 010400c
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Tue May 20 14:38:19 2014 -0700
Committer: Jeremy Daggett <je...@rackspace.com>
Committed: Sun May 25 18:49:47 2014 -0700

----------------------------------------------------------------------
 .../v1/features/CloudFilesCDNApiMockTest.java   | 33 +++++++++++++++++++-
 .../src/test/resources/cdn_container_list.json  |  2 +-
 .../test/resources/cdn_container_list_at.json   |  2 +-
 3 files changed, 34 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/0c22936a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
index 3e07de5..f90204e 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
@@ -280,6 +280,26 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       }
    }
 
+   public void testGetCDNContainerWithSpaces() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      server.enqueue(addCommonHeaders(enabledResponse().setResponseCode(201)));
+
+      try {
+         CloudFilesApi api = api(server.getUrl("/").toString(), "rackspace-cloudfiles");
+
+         CDNContainer cdnContainer = api.getCDNApiForRegion("DFW").get("cdn-container with spaces");
+         assertCDNContainerNotNull(cdnContainer);
+         assertEquals(mockCDNContainerWithSpaces, cdnContainer);
+
+         assertEquals(server.getRequestCount(), 2);
+         assertAuthentication(server);
+         assertRequest(server.takeRequest(), "HEAD", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/cdn-container%20with%20spaces");
+      } finally {
+         server.shutdown();
+      }
+   }
+
    public void testGetFail() throws Exception {
       MockWebServer server = mockOpenStackServer();
       server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
@@ -424,6 +444,17 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          .iosUri(URI.create("http://ios-id-1.iosr.rackspace.com"))
          .build();
 
+   private static final CDNContainer mockCDNContainerWithSpaces = CDNContainer.builder()
+         .name("cdn-container with spaces")
+         .enabled(true)
+         .logRetention(false)
+         .ttl(777777)
+         .uri(URI.create("http://id-1.cdn.rackspace.com"))
+         .sslUri(URI.create("https://ssl-id-1.ssl.rackspace.com"))
+         .streamingUri(URI.create("http://streaming-id-1.stream.rackspace.com"))
+         .iosUri(URI.create("http://ios-id-1.iosr.rackspace.com"))
+         .build();
+
    private static MockResponse enabledResponse() {
       return new MockResponse()
             .addHeader(CDN_ENABLED, "true")
@@ -482,7 +513,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
                .iosUri(URI.create("http://ios-id-3.iosr.rackspace.com"))
                .build(),
          CDNContainer.builder()
-               .name("cdn-container-4")
+               .name("cdn-container-4 with spaces")
                .enabled(true)
                .logRetention(true)
                .ttl(777777)

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0c22936a/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list.json
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list.json b/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list.json
index 4dce8db..5a36ca3 100644
--- a/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list.json
+++ b/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list.json
@@ -31,7 +31,7 @@
     },
     {
         "cdn_streaming_uri": "http://streaming-id-4.stream.rackspace.com",
-        "name": "cdn-container-4",
+        "name": "cdn-container-4 with spaces",
         "cdn_ios_uri": "http://ios-id-4.iosr.rackspace.com",
         "cdn_ssl_uri": "https://ssl-id-4.ssl.rackspace.com",
         "cdn_enabled": true,

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0c22936a/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list_at.json
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list_at.json b/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list_at.json
index f1fa9ee..b3ae802 100644
--- a/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list_at.json
+++ b/apis/rackspace-cloudfiles/src/test/resources/cdn_container_list_at.json
@@ -11,7 +11,7 @@
     },
     {
         "cdn_streaming_uri": "http://streaming-id-4.stream.rackspace.com",
-        "name": "cdn-container-4",
+        "name": "cdn-container-4 with spaces",
         "cdn_ios_uri": "http://ios-id-4.iosr.rackspace.com",
         "cdn_ssl_uri": "https://ssl-id-4.ssl.rackspace.com",
         "cdn_enabled": true,


[28/32] jclouds git commit: Remove jclouds.version and replace it with project.version in all poms.

Posted by za...@apache.org.
Remove jclouds.version and replace it with project.version in all poms.


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

Branch: refs/heads/master
Commit: 5aaba51618005c5ffc4f9ba1abd1866413b0c718
Parents: 691144c
Author: Zack Shoylev <za...@rackspace.com>
Authored: Fri Nov 14 07:30:08 2014 -0600
Committer: Zack Shoylev <za...@rackspace.com>
Committed: Fri Nov 14 12:17:51 2014 -0600

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/pom.xml         | 2 +-
 providers/rackspace-cloudfiles-uk/pom.xml | 4 ++--
 providers/rackspace-cloudfiles-us/pom.xml | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/5aaba516/apis/rackspace-cloudfiles/pom.xml
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/pom.xml b/apis/rackspace-cloudfiles/pom.xml
index 8d00ba8..bdf13ee 100644
--- a/apis/rackspace-cloudfiles/pom.xml
+++ b/apis/rackspace-cloudfiles/pom.xml
@@ -42,7 +42,7 @@
     <test.rackspace-cloudfiles.identity>FIXME_IDENTITY</test.rackspace-cloudfiles.identity>
     <test.rackspace-cloudfiles.credential>FIXME_CREDENTIALS</test.rackspace-cloudfiles.credential>
     <jclouds.osgi.export>org.jclouds.rackspace.cloudfiles.v1*;version="${project.version}"</jclouds.osgi.export>
-    <jclouds.osgi.import>org.jclouds*;version="${jclouds.version}",*</jclouds.osgi.import>
+    <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
   </properties>
 
   <repositories>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5aaba516/providers/rackspace-cloudfiles-uk/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/pom.xml b/providers/rackspace-cloudfiles-uk/pom.xml
index 104cbc9..9e8f717 100644
--- a/providers/rackspace-cloudfiles-uk/pom.xml
+++ b/providers/rackspace-cloudfiles-uk/pom.xml
@@ -43,9 +43,9 @@
     <test.rackspace-cloudfiles-uk.credential>${test.rackspace-uk.credential}</test.rackspace-cloudfiles-uk.credential>
     <jclouds.osgi.export>org.jclouds.rackspace.cloudfiles.uk*;version="${project.version}"</jclouds.osgi.export>
     <jclouds.osgi.import>
-      org.jclouds.rest.internal;version="${jclouds.version}",
+      org.jclouds.rest.internal;version="${project.version}",
       org.jclouds.labs*;version="${project.version}",
-      org.jclouds*;version="${jclouds.version}",
+      org.jclouds*;version="${project.version}",
       *
     </jclouds.osgi.import>
   </properties>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5aaba516/providers/rackspace-cloudfiles-us/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/pom.xml b/providers/rackspace-cloudfiles-us/pom.xml
index 27f60fb..e658b58 100644
--- a/providers/rackspace-cloudfiles-us/pom.xml
+++ b/providers/rackspace-cloudfiles-us/pom.xml
@@ -43,9 +43,9 @@
     <test.rackspace-cloudfiles-us.credential>${test.rackspace-us.credential}</test.rackspace-cloudfiles-us.credential>
     <jclouds.osgi.export>org.jclouds.rackspace.cloudfiles.us*;version="${project.version}"</jclouds.osgi.export>
     <jclouds.osgi.import>
-      org.jclouds.rest.internal;version="${jclouds.version}",
+      org.jclouds.rest.internal;version="${project.version}",
       org.jclouds.labs*;version="${project.version}",
-      org.jclouds*;version="${jclouds.version}",
+      org.jclouds*;version="${project.version}",
       *
     </jclouds.osgi.import>
   </properties>


[07/32] jclouds git commit: Better explanation of Beta APIs

Posted by za...@apache.org.
Better explanation of Beta APIs


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

Branch: refs/heads/master
Commit: 5dfa1cff5cb25a24319d776ee7075a314e50ddd1
Parents: d13ff0e
Author: Everett Toews <ev...@rackspace.com>
Authored: Thu Apr 3 17:17:55 2014 -0500
Committer: Everett Toews <ev...@rackspace.com>
Committed: Thu Apr 3 17:33:22 2014 -0500

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/README.md         | 4 +++-
 providers/rackspace-cloudfiles-uk/README.md | 4 +++-
 providers/rackspace-cloudfiles-us/README.md | 4 +++-
 3 files changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/5dfa1cff/apis/rackspace-cloudfiles/README.md
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/README.md b/apis/rackspace-cloudfiles/README.md
index 1142323..3da83d2 100644
--- a/apis/rackspace-cloudfiles/README.md
+++ b/apis/rackspace-cloudfiles/README.md
@@ -17,4 +17,6 @@ With this multi-region support, each BlobStore can be isolated to a specific reg
      BlobStore iadBlobStore = ctx.blobStoreInRegion("IAD");
 
 Production ready?
-No
+Beta
+
+This API is new to jclouds and hence is in Beta. That means we need people to use it and give us feedback. Based on that feedback, minor changes to the interfaces may happen. This code will replace org.jclouds.openstack.swift.SwiftClient in jclouds 2.0 and it is recommended you adopt it sooner than later.

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5dfa1cff/providers/rackspace-cloudfiles-uk/README.md
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/README.md b/providers/rackspace-cloudfiles-uk/README.md
index 52ea6ec..71d04bb 100644
--- a/providers/rackspace-cloudfiles-uk/README.md
+++ b/providers/rackspace-cloudfiles-uk/README.md
@@ -16,4 +16,6 @@ With this multi-region support, a BlobStore can be isolated to a specific region
      BlobStore dfwBlobStore = ctx.blobStoreInRegion("LON");
 
 Production ready?
-No
+Beta
+
+This API is new to jclouds and hence is in Beta. That means we need people to use it and give us feedback. Based on that feedback, minor changes to the interfaces may happen. This code will replace org.jclouds.openstack.swift.SwiftClient in jclouds 2.0 and it is recommended you adopt it sooner than later.

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5dfa1cff/providers/rackspace-cloudfiles-us/README.md
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/README.md b/providers/rackspace-cloudfiles-us/README.md
index 25ded8c..9bd50c2 100644
--- a/providers/rackspace-cloudfiles-us/README.md
+++ b/providers/rackspace-cloudfiles-us/README.md
@@ -17,4 +17,6 @@ With this multi-region support, each BlobStore can be isolated to a specific reg
      BlobStore iadBlobStore = ctx.blobStoreInRegion("IAD");
 
 Production ready?
-No
+Beta
+
+This API is new to jclouds and hence is in Beta. That means we need people to use it and give us feedback. Based on that feedback, minor changes to the interfaces may happen. This code will replace org.jclouds.openstack.swift.SwiftClient in jclouds 2.0 and it is recommended you adopt it sooner than later.


[25/32] jclouds git commit: JCLOUDS-641 copy/paste error completely screwed blobstore tests.

Posted by za...@apache.org.
JCLOUDS-641 copy/paste error completely screwed blobstore tests.


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

Branch: refs/heads/master
Commit: 03619accbd917c20b7c8ed6c19ec98433809d73c
Parents: efd09ed
Author: Adrian Cole <ac...@twitter.com>
Authored: Tue Oct 7 19:38:16 2014 -0700
Committer: Adrian Cole <ad...@apache.org>
Committed: Tue Oct 7 22:05:58 2014 -0700

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/pom.xml         | 5 ++---
 providers/rackspace-cloudfiles-uk/pom.xml | 5 ++---
 providers/rackspace-cloudfiles-us/pom.xml | 5 ++---
 3 files changed, 6 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/03619acc/apis/rackspace-cloudfiles/pom.xml
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/pom.xml b/apis/rackspace-cloudfiles/pom.xml
index 3e0bcbf..498362a 100644
--- a/apis/rackspace-cloudfiles/pom.xml
+++ b/apis/rackspace-cloudfiles/pom.xml
@@ -148,10 +148,9 @@
                   <goal>test</goal>
                 </goals>
                 <configuration>
-                  <forkCount>5</forkCount>
-                  <reuseForks>true</reuseForks>
-                  <parallel>classes</parallel>
                   <systemPropertyVariables>
+                    <jclouds.blobstore.httpstream.url>${jclouds.blobstore.httpstream.url}</jclouds.blobstore.httpstream.url>
+                    <jclouds.blobstore.httpstream.md5>${jclouds.blobstore.httpstream.md5}</jclouds.blobstore.httpstream.md5>
                     <test.rackspace-cloudfiles.endpoint>${test.rackspace-cloudfiles.endpoint}</test.rackspace-cloudfiles.endpoint>
                     <test.rackspace-cloudfiles.api-version>${test.rackspace-cloudfiles.api-version}</test.rackspace-cloudfiles.api-version>
                     <test.rackspace-cloudfiles.build-version>${test.rackspace-cloudfiles.build-version}</test.rackspace-cloudfiles.build-version>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/03619acc/providers/rackspace-cloudfiles-uk/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/pom.xml b/providers/rackspace-cloudfiles-uk/pom.xml
index fd55157..70e2c25 100644
--- a/providers/rackspace-cloudfiles-uk/pom.xml
+++ b/providers/rackspace-cloudfiles-uk/pom.xml
@@ -153,10 +153,9 @@
                   <goal>test</goal>
                 </goals>
                 <configuration>
-                  <forkCount>5</forkCount>
-                  <reuseForks>true</reuseForks>
-                  <parallel>classes</parallel>
                   <systemPropertyVariables>
+                    <jclouds.blobstore.httpstream.url>${jclouds.blobstore.httpstream.url}</jclouds.blobstore.httpstream.url>
+                    <jclouds.blobstore.httpstream.md5>${jclouds.blobstore.httpstream.md5}</jclouds.blobstore.httpstream.md5>
                     <test.rackspace-cloudfiles-uk.endpoint>${test.rackspace-cloudfiles-uk.endpoint}</test.rackspace-cloudfiles-uk.endpoint>
                     <test.rackspace-cloudfiles-uk.api-version>${test.rackspace-cloudfiles-uk.api-version}</test.rackspace-cloudfiles-uk.api-version>
                     <test.rackspace-cloudfiles-uk.build-version>${test.rackspace-cloudfiles-uk.build-version}</test.rackspace-cloudfiles-uk.build-version>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/03619acc/providers/rackspace-cloudfiles-us/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/pom.xml b/providers/rackspace-cloudfiles-us/pom.xml
index f54d9ce..ac9ff34 100644
--- a/providers/rackspace-cloudfiles-us/pom.xml
+++ b/providers/rackspace-cloudfiles-us/pom.xml
@@ -153,10 +153,9 @@
                   <goal>test</goal>
                 </goals>
                 <configuration>
-                  <forkCount>5</forkCount>
-                  <reuseForks>true</reuseForks>
-                  <parallel>classes</parallel>
                   <systemPropertyVariables>
+                    <jclouds.blobstore.httpstream.url>${jclouds.blobstore.httpstream.url}</jclouds.blobstore.httpstream.url>
+                    <jclouds.blobstore.httpstream.md5>${jclouds.blobstore.httpstream.md5}</jclouds.blobstore.httpstream.md5>
                     <test.rackspace-cloudfiles-us.endpoint>${test.rackspace-cloudfiles-us.endpoint}</test.rackspace-cloudfiles-us.endpoint>
                     <test.rackspace-cloudfiles-us.api-version>${test.rackspace-cloudfiles-us.api-version}</test.rackspace-cloudfiles-us.api-version>
                     <test.rackspace-cloudfiles-us.build-version>${test.rackspace-cloudfiles-us.build-version}</test.rackspace-cloudfiles-us.build-version>


[02/32] jclouds git commit: JCLOUDS-423 - Adds support for Rackspace Cloud Files API - Added support for CloudFilesApi/CDNApi - Added mock/live tests - Refactored listFirstPage() and listAt() API methods to list() and listWithOptions(…) - General Swift A

Posted by za...@apache.org.
JCLOUDS-423 - Adds support for Rackspace Cloud Files API - Added support for CloudFilesApi/CDNApi - Added mock/live tests - Refactored listFirstPage() and listAt() API methods to list() and listWithOptions(…) - General Swift API cleanup: docs and tests - Added support for Internal URL - Updated JavaDocs and domain objects. - Added support for Cloud Files US


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

Branch: refs/heads/master
Commit: 2ca0dac76c64c65d10e195496392d2b6c39a2e09
Parents: 
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Fri Feb 14 09:36:53 2014 -0800
Committer: Zack Shoylev <za...@rackspace.com>
Committed: Mon Mar 3 15:32:58 2014 -0600

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/README.md             |  20 +
 apis/rackspace-cloudfiles/pom.xml               | 171 +++++++++
 .../rackspace/cloudfiles/v1/CloudFilesApi.java  |  50 +++
 .../cloudfiles/v1/CloudFilesApiMetadata.java    | 104 +++++
 .../BindCDNPurgeEmailAddressesToHeaders.java    |  56 +++
 .../v1/config/CloudFilesHttpApiModule.java      |  50 +++
 .../cloudfiles/v1/domain/CDNContainer.java      | 264 +++++++++++++
 .../cloudfiles/v1/features/CDNApi.java          | 205 ++++++++++
 .../functions/ParseCDNContainerFromHeaders.java |  84 ++++
 .../ParseCDNContainerURIFromHeaders.java        |  45 +++
 .../v1/functions/RegionToCDNEndpoint.java       |  77 ++++
 .../v1/handlers/CloudFilesErrorHandler.java     |  91 +++++
 .../v1/options/UpdateCDNContainerOptions.java   | 163 ++++++++
 .../v1/reference/CloudFilesHeaders.java         |  58 +++
 .../services/org.jclouds.apis.ApiMetadata       |  18 +
 .../cloudfiles/v1/CloudFilesApiLiveTest.java    |  30 ++
 .../v1/CloudFilesApiMetadataTest.java           |  35 ++
 ...CDNPurgeEmailAddressesToHeadersMockTest.java |  77 ++++
 ...lesRegionScopedBlobStoreContextLiveTest.java |  39 ++
 .../CloudFilesBlobIntegrationLiveTest.java      |  39 ++
 .../integration/CloudFilesBlobLiveTest.java     |  39 ++
 .../CloudFilesBlobSignerLiveTest.java           |  39 ++
 .../CloudFilesContainerIntegrationLiveTest.java |  39 ++
 .../CloudFilesContainerLiveTest.java            |  56 +++
 .../CloudFilesServiceIntegrationLiveTest.java   |  39 ++
 .../features/CloudFilesAccountApiLiveTest.java  |  38 ++
 .../v1/features/CloudFilesBulkApiLiveTest.java  |  28 ++
 .../v1/features/CloudFilesCDNApiLiveTest.java   | 105 +++++
 .../v1/features/CloudFilesCDNApiMockTest.java   | 381 +++++++++++++++++++
 .../CloudFilesContainerApiLiveTest.java         |  27 ++
 .../features/CloudFilesObjectApiLiveTest.java   |  27 ++
 .../v1/internal/BaseCloudFilesApiLiveTest.java  |  37 ++
 .../src/test/resources/cdn_container_list.json  |  42 ++
 .../test/resources/cdn_container_list_at.json   |  22 ++
 .../src/test/resources/logback.xml              |  71 ++++
 providers/rackspace-cloudfiles-us/README.md     |  20 +
 providers/rackspace-cloudfiles-us/pom.xml       | 176 +++++++++
 .../us/CloudFilesUSProviderMetadata.java        | 145 +++++++
 .../org.jclouds.providers.ProviderMetadata      |  18 +
 .../cloudfiles/us/CloudFilesUSProviderTest.java |  29 ++
 .../CloudFilesUSBlobIntegrationLiveTest.java    |  27 ++
 .../integration/CloudFilesUSBlobLiveTest.java   |  27 ++
 .../CloudFilesUSBlobSignerLiveTest.java         |  27 ++
 ...loudFilesUSContainerIntegrationLiveTest.java |  27 ++
 .../CloudFilesUSContainerLiveTest.java          |  27 ++
 .../CloudFilesUSServiceIntegrationLiveTest.java |  36 ++
 .../src/test/resources/logback.xml              |  71 ++++
 47 files changed, 3296 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/README.md
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/README.md b/apis/rackspace-cloudfiles/README.md
new file mode 100644
index 0000000..1142323
--- /dev/null
+++ b/apis/rackspace-cloudfiles/README.md
@@ -0,0 +1,20 @@
+Rackspace Cloud Files
+==========================
+
+The new Rackspace Cloud Files multi-region based service API.
+
+This new "rackspace-cloudfiles" API supercedes the jclouds "cloudfiles" API, which will eventually be deprecated.
+
+With this multi-region support, each BlobStore can be isolated to a specific region:
+
+     RegionScopedBlobStoreContext ctx = 
+     	contextBuilder.buildView(RegionScopedBlobStoreContext.class);
+ 
+     Set<String> regionIds = ctx.configuredRegions();
+ 
+     // isolated to a specific region
+     BlobStore dfwBlobStore = ctx.blobStoreInRegion("DFW");
+     BlobStore iadBlobStore = ctx.blobStoreInRegion("IAD");
+
+Production ready?
+No

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/pom.xml
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/pom.xml b/apis/rackspace-cloudfiles/pom.xml
new file mode 100644
index 0000000..59662c9
--- /dev/null
+++ b/apis/rackspace-cloudfiles/pom.xml
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.jclouds</groupId>
+    <artifactId>jclouds-project</artifactId>
+    <version>1.8.0-SNAPSHOT</version>
+  </parent>
+
+  <!-- TODO: when out of labs, switch to org.jclouds.api -->
+  <groupId>org.apache.jclouds.labs</groupId>
+  <artifactId>rackspace-cloudfiles</artifactId>
+  <version>1.8.0-SNAPSHOT</version>
+  <name>jclouds rackspace-cloudfiles api</name>
+  <description>jclouds components to access Rackspace Cloud Files</description>
+  <packaging>bundle</packaging>
+
+  <properties>
+    <!-- identity endpoint -->
+    <test.rackspace-cloudfiles.endpoint>https://identity.api.rackspacecloud.com/v2.0/</test.rackspace-cloudfiles.endpoint>
+    <test.rackspace-cloudfiles.api-version>1</test.rackspace-cloudfiles.api-version>
+    <test.rackspace-cloudfiles.build-version />
+    <test.rackspace-cloudfiles.identity>FIXME_IDENTITY</test.rackspace-cloudfiles.identity>
+    <test.rackspace-cloudfiles.credential>FIXME_CREDENTIALS</test.rackspace-cloudfiles.credential>
+    <jclouds.osgi.export>org.jclouds.rackspace.cloudfiles.v1*;version="${project.version}"</jclouds.osgi.export>
+    <jclouds.osgi.import>org.jclouds*;version="${jclouds.version}",*</jclouds.osgi.import>
+  </properties>
+
+  <repositories>
+    <repository>
+      <id>apache-snapshots</id>
+      <url>https://repository.apache.org/content/repositories/snapshots</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.jclouds.labs</groupId>
+      <artifactId>openstack-swift</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.labs</groupId>
+      <artifactId>openstack-swift</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.api</groupId>
+      <artifactId>openstack-keystone</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.api</groupId>
+      <artifactId>openstack-keystone</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.api</groupId>
+      <artifactId>rackspace-cloudidentity</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds</groupId>
+      <artifactId>jclouds-core</artifactId>
+      <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds</groupId>
+      <artifactId>jclouds-core</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds</groupId>
+      <artifactId>jclouds-blobstore</artifactId>
+      <version>${project.parent.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.shrinkwrap</groupId>
+      <artifactId>shrinkwrap-depchain</artifactId>
+      <version>1.2.0</version>
+      <type>pom</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.driver</groupId>
+      <artifactId>jclouds-slf4j</artifactId>
+      <version>${project.parent.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup.okhttp</groupId>
+      <artifactId>mockwebserver</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>live</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>integration</id>
+                <phase>integration-test</phase>
+                <goals>
+                  <goal>test</goal>
+                </goals>
+                <configuration>
+                  <forkCount>5</forkCount>
+                  <reuseForks>true</reuseForks>
+                  <parallel>classes</parallel>
+                  <systemPropertyVariables>
+                    <test.rackspace-cloudfiles.endpoint>${test.rackspace-cloudfiles.endpoint}</test.rackspace-cloudfiles.endpoint>
+                    <test.rackspace-cloudfiles.api-version>${test.rackspace-cloudfiles.api-version}</test.rackspace-cloudfiles.api-version>
+                    <test.rackspace-cloudfiles.build-version>${test.rackspace-cloudfiles.build-version}</test.rackspace-cloudfiles.build-version>
+                    <test.rackspace-cloudfiles.identity>${test.rackspace-cloudfiles.identity}</test.rackspace-cloudfiles.identity>
+                    <test.rackspace-cloudfiles.credential>${test.rackspace-cloudfiles.credential}</test.rackspace-cloudfiles.credential>
+                    <jclouds.blobstore.httpstream.url>${jclouds.blobstore.httpstream.url}</jclouds.blobstore.httpstream.url>
+                    <jclouds.blobstore.httpstream.md5>${jclouds.blobstore.httpstream.md5}</jclouds.blobstore.httpstream.md5>
+                  </systemPropertyVariables>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+
+</project>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
new file mode 100644
index 0000000..19667d7
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
@@ -0,0 +1,50 @@
+/*
+ * 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.rackspace.cloudfiles.v1;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.openstack.swift.v1.SwiftApi;
+import org.jclouds.rackspace.cloudfiles.v1.features.CDNApi;
+import org.jclouds.rackspace.cloudfiles.v1.functions.RegionToCDNEndpoint;
+import org.jclouds.rest.annotations.Delegate;
+import org.jclouds.rest.annotations.EndpointParam;
+
+/**
+ * Rackspace Cloud Files is an affordable, redundant, scalable, and dynamic storage service
+ * offering. The core storage system is designed to provide a secure, network-accessible way to
+ * store an unlimited number of files. Each file can be as large as 5 gigabytes.
+ * <p/>
+ * Additionally, Cloud Files provides a simple yet powerful way to publish and distribute content
+ * behind a Content Distribution Network.
+ * 
+ * @author Jeremy Daggett
+ * 
+ * @see CDNApi
+ * @see SwiftApi
+ */
+public interface CloudFilesApi extends SwiftApi {
+
+   /**
+    * Provides access to Cloud Files CDN features.
+    * 
+    * @param region  the region to access the CDN API.
+    * 
+    * @return the {@link CDNApi} for the specified region.
+    */
+   @Delegate
+   CDNApi cdnApiInRegion(@EndpointParam(parser = RegionToCDNEndpoint.class) @Nullable String region);
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
new file mode 100644
index 0000000..d28b40f
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadata.java
@@ -0,0 +1,104 @@
+/*
+ * 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.rackspace.cloudfiles.v1;
+
+import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.reflect.Reflection2.typeToken;
+
+import java.net.URI;
+import java.util.Properties;
+
+import org.jclouds.apis.ApiMetadata;
+import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
+import org.jclouds.openstack.swift.v1.SwiftApiMetadata;
+import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext;
+import org.jclouds.openstack.swift.v1.blobstore.config.SignUsingTemporaryUrls;
+import org.jclouds.openstack.swift.v1.blobstore.config.SwiftBlobStoreContextModule;
+import org.jclouds.openstack.swift.v1.config.SwiftTypeAdapters;
+import org.jclouds.openstack.v2_0.ServiceType;
+import org.jclouds.rackspace.cloudfiles.v1.config.CloudFilesHttpApiModule;
+import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationApiModule;
+import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule;
+import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
+import org.jclouds.rest.internal.BaseHttpApiMetadata;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.inject.Module;
+
+/**
+ * Implementation of {@link ApiMetadata} for Cloud Files.
+ * 
+ * @author Jeremy Daggett
+ */
+public class CloudFilesApiMetadata extends BaseHttpApiMetadata<CloudFilesApi> {
+
+   @Override
+   public Builder toBuilder() {
+      return new Builder().fromApiMetadata(this);
+   }
+
+   public CloudFilesApiMetadata() {
+      this(new Builder());
+   }
+
+   protected CloudFilesApiMetadata(Builder builder) {
+      super(builder);
+   }
+
+   public static Properties defaultProperties() {
+      Properties properties = SwiftApiMetadata.defaultProperties();
+      properties.setProperty(CREDENTIAL_TYPE, CloudIdentityCredentialTypes.API_KEY_CREDENTIALS);
+      properties.setProperty(SERVICE_TYPE, ServiceType.OBJECT_STORE);
+      return properties;
+   }
+
+   public static class Builder extends BaseHttpApiMetadata.Builder<CloudFilesApi, Builder> {
+
+      protected Builder() {
+          id("rackspace-cloudfiles")
+         .name("Rackspace Cloud Files API")
+         .identityName("${userName}")
+         .credentialName("${apiKey}")
+         .documentation(URI.create("http://docs.rackspace.com/files/api/v1/cf-devguide/content/index.html"))
+         .version("1.0")
+         .endpointName("Rackspace Cloud Identity service URL ending in /v2.0/")
+         .defaultEndpoint("https://identity.api.rackspacecloud.com/v2.0/")
+         .defaultProperties(CloudFilesApiMetadata.defaultProperties())
+         .view(typeToken(RegionScopedBlobStoreContext.class))
+         .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
+                                     .add(CloudIdentityAuthenticationApiModule.class)
+                                     .add(CloudIdentityAuthenticationModule.class)
+                                     .add(RegionModule.class)
+                                     .add(SwiftTypeAdapters.class)
+                                     .add(CloudFilesHttpApiModule.class)
+                                     .add(SwiftBlobStoreContextModule.class)
+                                     .add(SignUsingTemporaryUrls.class)
+                                     .build());
+      }
+
+      @Override
+      public CloudFilesApiMetadata build() {
+         return new CloudFilesApiMetadata(this);
+      }
+
+      @Override
+      protected Builder self() {
+         return this;
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java
new file mode 100644
index 0000000..c23f068
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeaders.java
@@ -0,0 +1,56 @@
+/*
+ * 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.rackspace.cloudfiles.v1.binders;
+
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import java.util.List;
+
+import javax.inject.Singleton;
+
+import org.jclouds.http.HttpRequest;
+import org.jclouds.rackspace.cloudfiles.v1.features.CDNApi;
+import org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders;
+import org.jclouds.rest.Binder;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableMultimap;
+
+/**
+ * Binds a list of email addresses to request headers. 
+ * 
+ * @see {@link CDNApi#purgeObject(String, String, Iterable)}
+ * 
+ * @author Jeremy Daggett
+ */
+@Singleton
+public class BindCDNPurgeEmailAddressesToHeaders implements Binder {
+   @SuppressWarnings("unchecked")
+   @Override
+   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
+      checkArgument(checkNotNull(input, "input") instanceof Iterable<?>, "this binder is only valid for Iterable!");
+      checkNotNull(request, "request");
+
+      Iterable<String> emails = (Iterable<String>) input;
+      String emailCSV = Joiner.on(", ").join((List<String>) emails);
+      ImmutableMultimap<String, String> headers = 
+            ImmutableMultimap.<String, String> of(CloudFilesHeaders.CDN_PURGE_OBJECT_EMAIL, emailCSV);
+      
+      return (R) request.toBuilder().replaceHeaders(headers).build();
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/config/CloudFilesHttpApiModule.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/config/CloudFilesHttpApiModule.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/config/CloudFilesHttpApiModule.java
new file mode 100644
index 0000000..092fec9
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/config/CloudFilesHttpApiModule.java
@@ -0,0 +1,50 @@
+/*
+ * 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.rackspace.cloudfiles.v1.config;
+
+import org.jclouds.http.HttpErrorHandler;
+import org.jclouds.http.annotation.ClientError;
+import org.jclouds.http.annotation.Redirection;
+import org.jclouds.http.annotation.ServerError;
+import org.jclouds.openstack.swift.v1.SwiftApi;
+import org.jclouds.openstack.swift.v1.config.BaseSwiftHttpApiModule;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
+import org.jclouds.rackspace.cloudfiles.v1.handlers.CloudFilesErrorHandler;
+import org.jclouds.rest.ConfiguresHttpApi;
+
+import com.google.inject.Scopes;
+
+@ConfiguresHttpApi
+public class CloudFilesHttpApiModule extends BaseSwiftHttpApiModule<CloudFilesApi> {
+
+   public CloudFilesHttpApiModule() {
+      super(CloudFilesApi.class);
+   }
+
+   @Override
+   protected void configure() {
+      super.configure();
+      bind(SwiftApi.class).to(CloudFilesApi.class).in(Scopes.SINGLETON);
+   }
+   
+   @Override
+   protected void bindErrorHandlers() {
+      bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(CloudFilesErrorHandler.class);
+      bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(CloudFilesErrorHandler.class);
+      bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(CloudFilesErrorHandler.class);
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
new file mode 100644
index 0000000..590bccb
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
@@ -0,0 +1,264 @@
+/*
+ * 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.rackspace.cloudfiles.v1.domain;
+
+import static com.google.common.base.Objects.toStringHelper;
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import java.beans.ConstructorProperties;
+import java.net.URI;
+
+import javax.inject.Named;
+
+import com.google.common.base.Objects;
+import com.google.common.base.Objects.ToStringHelper;
+
+/**
+ * Represents a CDN Container in Rackspace Cloud Files.
+ * 
+ * @author Jeremy Daggett
+ */
+public class CDNContainer implements Comparable<CDNContainer> {
+
+   private String name;
+   @Named("cdn_enabled")
+   private boolean enabled;
+   @Named("log_retention")
+   private boolean logRetention;
+   private int ttl;
+   @Named("cdn_uri")
+   private URI uri;
+   @Named("cdn_ssl_uri")
+   private URI sslUri;
+   @Named("cdn_streaming_uri")
+   private URI streamingUri;
+   @Named("cdn_ios_uri")
+   private URI iosUri;
+
+   @ConstructorProperties({ "name", "cdn_enabled", "log_retention", "ttl", "cdn_uri", "cdn_ssl_uri", "cdn_streaming_uri", "cdn_ios_uri"})
+   public CDNContainer(String name, boolean enabled, boolean logRetention, int ttl, URI uri, URI sslUri, URI streamingUri, URI iosUri) {
+      this.name = checkNotNull(name, "name required");
+      this.enabled = enabled;
+      this.logRetention = logRetention;
+      this.ttl = ttl;
+      this.uri = checkNotNull(uri, "uri required");
+      this.sslUri = checkNotNull(sslUri, "sslUri required");
+      this.streamingUri = checkNotNull(streamingUri, "streamingUri required");
+      this.iosUri = checkNotNull(iosUri, "iosUri required");
+   }
+
+   /**
+    * <h3>NOTE</h3>
+    * The container name is not available from HEAD CDN responses and will be null.
+    *
+    * @return The name of this CDN container.
+    */
+   public String getName() {
+      return name;
+   }
+
+   /**
+    * @return {@code true} if the container is CDN enabled, {@code false} if not.
+    */
+   public boolean isEnabled() {
+      return enabled;
+   }
+
+   /**
+    * @return {@code true} if the logs will be retained for this CDN container, {@code false} if not.
+    */
+   public boolean isLogRetentionEnabled() {
+      return logRetention;
+   }
+
+   /**
+    * @return the TTL for this CDN container.
+    */
+   public int getTtl() {
+      return ttl;
+   }
+
+   /**
+    * @return the {@link URI} for this CDN container.
+    */
+   public URI getUri() {
+      return uri;
+   }
+
+   /**
+    * @return the SSL {@link URI} for this CDN container.
+    */
+   public URI getSslUri() {
+      return sslUri;
+   }
+
+   /**
+    * @return the streaming {@link URI} for this CDN container.
+    */
+   public URI getStreamingUri() {
+      return streamingUri;
+   }
+
+   /**
+    * @return the iOS {@link URI} for this CDN container.
+    */
+   public URI getIosUri() {
+      return iosUri;
+   }
+   
+   @Override
+   public boolean equals(Object obj) {
+      if (this == obj) return true;
+      if (obj == null || getClass() != obj.getClass()) return false;
+      CDNContainer that = CDNContainer.class.cast(obj);
+      return Objects.equal(this.name, that.name)
+               && Objects.equal(this.enabled, that.enabled)
+               && Objects.equal(this.logRetention, that.logRetention)
+               && Objects.equal(this.ttl, that.ttl)
+               && Objects.equal(this.uri, that.uri)
+               && Objects.equal(this.sslUri, that.sslUri)
+               && Objects.equal(this.streamingUri, that.streamingUri)
+               && Objects.equal(this.iosUri, that.iosUri);
+   }
+   
+
+   @Override
+   public int hashCode() {
+      return Objects.hashCode(getName(), isEnabled(), isLogRetentionEnabled(), getTtl(), getUri(), getSslUri(), getStreamingUri(), getIosUri());
+   }
+
+   @Override
+   public String toString() {
+      return string().toString();
+   }
+
+   protected ToStringHelper string() {
+      return toStringHelper("").omitNullValues()
+            .add("name", getName())
+            .add("enabled", isEnabled())
+            .add("logRetention", isLogRetentionEnabled())
+            .add("ttl", getTtl())
+            .add("uri", getUri())
+            .add("sslUri", getSslUri())
+            .add("streamingUri", getStreamingUri())
+            .add("iosUri", getIosUri());
+   }
+
+   @Override
+   public int compareTo(CDNContainer that) {
+      if (that == null)
+         return 1;
+      if (this == that)
+         return 0;
+      return this.getName().compareTo(that.getName());
+   }
+
+   public static Builder builder() {
+      return new Builder();
+   }
+
+   public static class Builder {
+      
+      private String name;
+      private boolean enabled;
+      private boolean logRetention;
+      private int ttl;
+      private URI uri;
+      private URI sslUri;
+      private URI streamingUri;
+      private URI iosUri;
+      
+      /**
+       * @see CDNContainer#getName()
+       */
+      public Builder name(String name) {
+         this.name = checkNotNull(name, "name");
+         return this;
+      }
+
+      /**
+       * @see CDNContainer#isEnabled()
+       */
+      public Builder enabled(boolean enabled) {
+         this.enabled = enabled;
+         return this;
+      }
+
+      /**
+       * @see CDNContainer#isLogRetentionEnabled()
+       */
+      public Builder logRetention(boolean logRetention) {
+         this.logRetention = logRetention;
+         return this;
+      }
+
+      /**
+       * @see CDNContainer#getTtl()
+       */
+      public Builder ttl(int ttl) {
+         this.ttl = ttl;
+         return this;
+      }
+
+      /**
+       * @see CDNContainer#getUri()
+       */
+      public Builder uri(URI uri) {
+         this.uri = uri;
+         return this;
+      }
+
+      /**
+       * @see CDNContainer#getSslUri()
+       */
+      public Builder sslUri(URI sslUri) {
+         this.sslUri = sslUri;
+         return this;
+      }
+
+      /**
+       * @see CDNContainer#getStreamingUri()
+       */
+      public Builder streamingUri(URI streamingUri) {
+         this.streamingUri = streamingUri;
+         return this;
+      }
+
+      /**
+       * @see CDNContainer#getIosUri()
+       */
+      public Builder iosUri(URI iosUri) {
+         this.iosUri = iosUri;
+         return this;
+      }
+
+      public CDNContainer build() {
+         return new CDNContainer(name, enabled, logRetention, ttl, uri, sslUri, streamingUri, iosUri);
+      }
+
+      public Builder fromContainer(CDNContainer from) {
+         return name(from.getName())
+               .enabled(from.isEnabled())
+               .logRetention(from.isLogRetentionEnabled())
+               .ttl(from.getTtl())
+               .uri(from.getUri())
+               .sslUri(from.getSslUri())
+               .streamingUri(from.getStreamingUri())
+               .iosUri(from.getIosUri());
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
new file mode 100644
index 0000000..326b951
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/features/CDNApi.java
@@ -0,0 +1,205 @@
+/*
+ * 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.rackspace.cloudfiles.v1.features;
+
+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_ENABLED;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL;
+
+import java.io.Closeable;
+import java.net.URI;
+
+import javax.inject.Named;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.HEAD;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+
+import org.jclouds.Fallbacks.EmptyFluentIterableOnNotFoundOr404;
+import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
+import org.jclouds.Fallbacks.NullOnNotFoundOr404;
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.swift.v1.options.ListContainerOptions;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
+import org.jclouds.rackspace.cloudfiles.v1.binders.BindCDNPurgeEmailAddressesToHeaders;
+import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
+import org.jclouds.rackspace.cloudfiles.v1.functions.ParseCDNContainerFromHeaders;
+import org.jclouds.rackspace.cloudfiles.v1.functions.ParseCDNContainerURIFromHeaders;
+import org.jclouds.rackspace.cloudfiles.v1.options.UpdateCDNContainerOptions;
+import org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders;
+import org.jclouds.rest.annotations.BinderParam;
+import org.jclouds.rest.annotations.Fallback;
+import org.jclouds.rest.annotations.Headers;
+import org.jclouds.rest.annotations.QueryParams;
+import org.jclouds.rest.annotations.RequestFilters;
+import org.jclouds.rest.annotations.ResponseParser;
+
+import com.google.common.collect.FluentIterable;
+/**
+ * Provides access to the Rackspace Cloud Files CDN API features.
+ *
+ * <h3>NOTE</h3>
+ * Before a container can be CDN enabled, it must exist in the storage system. 
+ * To CDN enable the container, perform PUT request against it using the <code>publicURL</code> 
+ * noted in the service catalog for Cloud Files during Authentication and set the 
+ * <code>X-CDN-Enabled</code> header to <code>true</code>.
+ * 
+ * @author Jeremy Daggett
+ * 
+ * @see {@link CloudFilesApi#cdnApiInRegion(String)}
+ */
+@RequestFilters(AuthenticateRequest.class)
+@Consumes(APPLICATION_JSON)
+public interface CDNApi extends Closeable {
+
+   /**
+    * Lists up to 10,000 CDN containers.
+    * 
+    * @return a list of CDN enabled containers ordered by name.
+    */
+   @Named("cdn:list")
+   @GET
+   @QueryParams(keys = {"format", "enabled_only"}, values = {"json", "true"})
+   @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
+   @Path("/")
+   FluentIterable<CDNContainer> list();
+   
+   /**
+    * Lists CDN containers, with the given options.
+    * 
+    * @param options
+    *           the options to control output.
+    * 
+    * @return a list of CDN enabled containers ordered by name.
+    */
+   @Named("cdn:list")
+   @GET
+   @QueryParams(keys = {"format", "enabled_only"}, values = {"json", "true"})
+   @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
+   @Path("/")
+   FluentIterable<CDNContainer> list(ListContainerOptions options);
+
+   /**
+    * Gets the specified CDN Container.
+    * 
+    * @param containerName
+    *           the name of the CDN Container
+    * 
+    * @return the CDNContainer or null, if not found.
+    */
+   @Named("cdn:get")
+   @HEAD
+   @ResponseParser(ParseCDNContainerFromHeaders.class)
+   @Fallback(NullOnNotFoundOr404.class)
+   @Path("/{container}")
+   @Nullable
+   CDNContainer get(@PathParam("container") String containerName);
+
+   /**
+    * Enables the {@link CDNContainer}.
+    * 
+    * @param containerName
+    *           corresponds to {@link CDNContainer#getName()}.
+    *           
+    * @return the CDN container {@link URI} or {@code null}, if not found.
+    */
+   @Named("cdn:enable")
+   @PUT
+   @ResponseParser(ParseCDNContainerURIFromHeaders.class)
+   @Fallback(NullOnNotFoundOr404.class)
+   @Path("/{containerName}")
+   @Headers(keys = CDN_ENABLED, values = "true")
+   @Nullable
+   URI enable(@PathParam("containerName") String containerName);
+
+   /**
+    * Enables the {@link CDNContainer} with a TTL.
+    * 
+    * @param containerName
+    *           corresponds to {@link CDNContainer#name()}.
+    * @param ttl
+    *           the TTL for the CDN Container.
+    *           
+    * @return the CDN container {@link URI} or {@code null}, if not found.
+    */
+   @Named("cdn:enable")
+   @PUT
+   @ResponseParser(ParseCDNContainerURIFromHeaders.class)
+   @Fallback(NullOnNotFoundOr404.class)
+   @Path("/{containerName}")
+   @Headers(keys = CDN_ENABLED, values = "true")
+   @Nullable
+   URI enable(@PathParam("containerName") String containerName, 
+         @HeaderParam(CDN_TTL) int ttl);
+
+   /**
+    * Disables the {@link CDNContainer}.
+    * 
+    * @param containerName
+    *           corresponds to {@link CDNContainer#name()}.
+    *           
+    * @return {@code true} if the container was disabled, {@code false} if not.
+    */
+   @Named("cdn:disable")
+   @PUT
+   @Fallback(FalseOnNotFoundOr404.class)
+   @Path("/{containerName}")
+   @Headers(keys = CDN_ENABLED, values = "False")
+   boolean disable(@PathParam("containerName") String containerName);
+
+   /**
+    * Purges an object from the CDN.
+    * 
+    * @param containerName
+    *           corresponds to {@link CDNContainer#name()}.
+    * @param objectName
+    *           the object in the {@link CDNContainer} to purge.
+    * @param emails
+    *           the email addresses to notify after purging.
+    * 
+    * @return {@code true} if the object was successfully purged, {@code false} if not.
+    */
+   @Named("cdn:purge")
+   @DELETE
+   @Fallback(FalseOnNotFoundOr404.class)
+   @Path("/{containerName}/{objectName}")
+   @Headers(keys = CloudFilesHeaders.CDN_PURGE_OBJECT_EMAIL, values = "{email}")
+   boolean purgeObject(@PathParam("containerName") String containerName, 
+         @PathParam("objectName") String objectName, 
+         @BinderParam(BindCDNPurgeEmailAddressesToHeaders.class) Iterable<String> emails);
+
+   /**
+    * Updates a CDN container with the supplied {@link UpdateCDNContainerOptions} options.
+    * 
+    * @param containerName
+    *           corresponds to {@link CDNContainer#name()}.
+    *           
+    * @param options
+    *           the {@link UpdateCDNContainerOptions} options.
+    */
+   @Named("cdn:update")
+   @POST
+   @Fallback(FalseOnNotFoundOr404.class)
+   @Path("/{containerName}")
+   boolean update(@PathParam("containerName") String containerName, UpdateCDNContainerOptions options);
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java
new file mode 100644
index 0000000..e551ab1
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerFromHeaders.java
@@ -0,0 +1,84 @@
+/*
+ * 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.rackspace.cloudfiles.v1.functions;
+
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.collect.Lists.newArrayList;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_ENABLED;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_IOS_URI;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_LOG_RETENTION;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_SSL_URI;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_STREAMING_URI;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_URI;
+
+import java.net.URI;
+import java.util.List;
+
+import org.jclouds.http.HttpRequest;
+import org.jclouds.http.HttpResponse;
+import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
+import org.jclouds.rest.InvocationContext;
+
+import com.google.common.base.Function;
+import com.google.common.base.Splitter;
+
+/**
+ * Parses the {@link CDNContainer} from the response headers.
+ * 
+ * @author Jeremy Daggett
+ *
+ */
+public class ParseCDNContainerFromHeaders implements Function<HttpResponse, CDNContainer>,
+      InvocationContext<ParseCDNContainerFromHeaders> {
+
+   private HttpRequest request;
+
+   /**
+    * parses the http response headers to create a new {@link CDNContainer} object.
+    */
+   public CDNContainer apply(final HttpResponse from) {
+      String uri = checkNotNull(from.getFirstHeaderOrNull(CDN_URI), CDN_URI);
+      String sslUri = checkNotNull(from.getFirstHeaderOrNull(CDN_SSL_URI), CDN_SSL_URI);
+      String streamingUri = checkNotNull(from.getFirstHeaderOrNull(CDN_STREAMING_URI), CDN_STREAMING_URI);
+      String iosUri = checkNotNull(from.getFirstHeaderOrNull(CDN_IOS_URI), CDN_IOS_URI);
+      String enabled = checkNotNull(from.getFirstHeaderOrNull(CDN_ENABLED), CDN_ENABLED);
+      String logRetention = checkNotNull(from.getFirstHeaderOrNull(CDN_LOG_RETENTION), CDN_LOG_RETENTION);
+      String ttl = checkNotNull(from.getFirstHeaderOrNull(CDN_TTL), CDN_TTL);
+      
+      // just need the name from the path
+      List<String> parts = newArrayList(Splitter.on('/').split(request.getEndpoint().getPath()));
+      checkArgument(parts.size() > 0);
+      
+      return CDNContainer.builder().name(parts.get(parts.size() - 1))
+            .enabled(Boolean.parseBoolean(enabled))
+            .logRetention(Boolean.parseBoolean(logRetention))
+            .ttl(Integer.parseInt(ttl))
+            .uri(URI.create(uri))
+            .sslUri(URI.create(sslUri))
+            .streamingUri(URI.create(streamingUri))
+            .iosUri(URI.create(iosUri))
+            .build();
+   }
+
+   @Override
+   public ParseCDNContainerFromHeaders setContext(HttpRequest request) {
+      this.request = request;
+      return this;
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java
new file mode 100644
index 0000000..4a29f60
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/ParseCDNContainerURIFromHeaders.java
@@ -0,0 +1,45 @@
+/*
+ * 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.rackspace.cloudfiles.v1.functions;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import java.net.URI;
+
+import org.jclouds.http.HttpResponse;
+import org.jclouds.rackspace.cloudfiles.v1.domain.CDNContainer;
+import org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders;
+
+import com.google.common.base.Function;
+
+/**
+ * Parses the {@link CDNContainer} from the response headers.
+ * 
+ * @author Jeremy Daggett
+ *
+ */
+public class ParseCDNContainerURIFromHeaders implements Function<HttpResponse, URI> {
+
+   /**
+    * parses the http response headers to provide the CDN URI string.
+    */
+   public URI apply(final HttpResponse from) {
+      String cdnUri = checkNotNull(from.getFirstHeaderOrNull(CloudFilesHeaders.CDN_URI),
+               CloudFilesHeaders.CDN_URI);
+      return URI.create(cdnUri);
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
new file mode 100644
index 0000000..3b5361a
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/functions/RegionToCDNEndpoint.java
@@ -0,0 +1,77 @@
+/*
+ * 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.rackspace.cloudfiles.v1.functions;
+
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkState;
+
+import java.net.URI;
+import java.util.Map;
+
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.location.functions.RegionToEndpoint;
+import org.jclouds.location.suppliers.RegionIdToURISupplier;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
+import org.jclouds.rackspace.cloudfiles.v1.features.CDNApi;
+import org.jclouds.rackspace.cloudidentity.v2_0.ServiceType;
+import org.jclouds.rest.annotations.ApiVersion;
+
+import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+
+/**
+ * This class ensures that the correct Cloud Files CDN endpoint is retrieved from the endpoint 
+ * supplier. The CDN API should never be instantiated directly, but rather accessed through the 
+ * {@link CloudFilesApi#cdnApiInRegion(String)} API.
+ * <p/>
+ * <h3>NOTE</h3>
+ * The Cloud Files Service Type will always default to OpenStack Object Storage ("object-storage").
+ * <p/>
+ * 
+ * @author Jeremy Daggett
+ * 
+ * @see CloudFilesApi#cdnApiInRegion(String)
+ * @see CDNApi
+ * @see RegionToEndpoint
+ * @see org.jclouds.openstack.v2_0.ServiceType#OBJECT_STORE
+ * @see org.jclouds.rackspace.cloudidentity.v2_0.ServiceType#OBJECT_CDN
+ * @see <a
+ *      href="http://docs.rackspace.com/files/api/v1/cf-devguide/content/Service-Access-Endpoints-d1e003.html">
+ *      Service Access Endpoints</a>
+ */
+@Singleton
+public class RegionToCDNEndpoint implements Function<Object, URI> { 
+
+   private final Supplier<Map<String, Supplier<URI>>> endpointsSupplier;
+
+   @Inject
+   public RegionToCDNEndpoint(@ApiVersion final String apiVersion, final RegionIdToURISupplier.Factory factory) {
+      this.endpointsSupplier = factory.createForApiTypeAndVersion(ServiceType.OBJECT_CDN, apiVersion);
+   }
+
+   public URI apply(@Nullable Object from) {
+      checkArgument(from != null && from instanceof String, "you must specify a region, as a String argument");
+      Map<String, Supplier<URI>> regionToEndpoint = endpointsSupplier.get();
+      checkState(regionToEndpoint.size() > 0, "no region name to endpoint mappings configured!");
+      checkArgument(regionToEndpoint.containsKey(from),
+            "requested location %s, which is not in the configured locations: %s", from, regionToEndpoint);
+      return regionToEndpoint.get(from).get();
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/handlers/CloudFilesErrorHandler.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/handlers/CloudFilesErrorHandler.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/handlers/CloudFilesErrorHandler.java
new file mode 100644
index 0000000..1e69b23
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/handlers/CloudFilesErrorHandler.java
@@ -0,0 +1,91 @@
+/*
+ * 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.rackspace.cloudfiles.v1.handlers;
+
+import static org.jclouds.http.HttpUtils.closeClientButKeepContentStream;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.jclouds.blobstore.ContainerNotFoundException;
+import org.jclouds.blobstore.KeyNotFoundException;
+import org.jclouds.http.HttpCommand;
+import org.jclouds.http.HttpErrorHandler;
+import org.jclouds.http.HttpResponse;
+import org.jclouds.http.HttpResponseException;
+import org.jclouds.openstack.swift.v1.CopyObjectException;
+import org.jclouds.openstack.swift.v1.reference.SwiftHeaders;
+import org.jclouds.rest.AuthorizationException;
+import org.jclouds.rest.InsufficientResourcesException;
+
+// TODO: is there error spec someplace? let's type errors, etc.
+public class CloudFilesErrorHandler implements HttpErrorHandler {
+   public static final String PREFIX = "^/v[0-9][^/]*/[a-zA-Z]+_[^/]+/";
+   public static final Pattern CONTAINER_PATH = Pattern.compile(PREFIX + "([^/]+)$");
+   public static final Pattern CONTAINER_KEY_PATH = Pattern.compile(PREFIX + "([^/]+)/(.*)");
+
+   public void handleError(HttpCommand command, HttpResponse response) {
+      // it is important to always read fully and close streams
+      byte[] data = closeClientButKeepContentStream(response);
+      String message = data != null ? new String(data) : null;
+
+      Exception exception = message != null ? new HttpResponseException(command, response, message)
+               : new HttpResponseException(command, response);
+      message = message != null ? message : String.format("%s -> %s", command.getCurrentRequest().getRequestLine(),
+               response.getStatusLine());
+      switch (response.getStatusCode()) {
+         case 401:
+            exception = new AuthorizationException(exception.getMessage(), exception);
+            break;
+         case 404:
+            Exception oldException = exception;
+            String sourcePath = command.getCurrentRequest().getFirstHeaderOrNull(SwiftHeaders.OBJECT_COPY_FROM);
+            if (sourcePath != null) {
+               // the path returned here is in the form "/v1/tenant-id/destContainer/destObject"
+               String path = command.getCurrentRequest().getEndpoint().getPath();
+               int startOfDestinationPath = path.lastIndexOf("/", path.lastIndexOf("/") - 1);
+               // get the "/destContainer/destObject" portion of the path
+               String destinationPath = path.substring(startOfDestinationPath);
+               
+               exception = new CopyObjectException(sourcePath, destinationPath, message);
+               exception.initCause(oldException);
+            } else if (!command.getCurrentRequest().getMethod().equals("DELETE")) {
+               String path = command.getCurrentRequest().getEndpoint().getPath();
+               Matcher matcher = CONTAINER_PATH.matcher(path);
+               
+               if (matcher.find()) {
+                  exception = new ContainerNotFoundException(matcher.group(1), message);
+                  exception.initCause(oldException);
+               } else {
+                  matcher = CONTAINER_KEY_PATH.matcher(path);
+                  if (matcher.find()) {
+                     exception = new KeyNotFoundException(matcher.group(1), matcher.group(2), message);
+                     exception.initCause(oldException);
+                  }
+               }
+            }
+            break;
+         case 409:
+            exception = new IllegalStateException(exception.getMessage(), exception);
+            break;
+         case 413:
+            exception = new InsufficientResourcesException(exception.getMessage(), exception);
+            break;
+      }
+      command.setException(exception);
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
new file mode 100644
index 0000000..d044657
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/options/UpdateCDNContainerOptions.java
@@ -0,0 +1,163 @@
+/*
+
+ * 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.rackspace.cloudfiles.v1.options;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_ENABLED;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_LOG_RETENTION;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL_MAX;
+import static org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders.CDN_TTL_MIN;
+
+import org.jclouds.http.options.BaseHttpRequestOptions;
+
+/**
+ * Contains options supported in the REST API for updating CDN containers.
+ * 
+ * <a href=
+ *    "http://docs.rackspace.com/files/api/v1/cf-devguide/content/Update_CDN-Enabled_Container_Metadata-d1e2787.html">
+ *    Update CDN container</a>.
+ *
+ * @author Jeremy Daggett
+ */
+public class UpdateCDNContainerOptions extends BaseHttpRequestOptions {
+   public static final UpdateCDNContainerOptions NONE = new UpdateCDNContainerOptions();
+
+   /** 
+    * Updates TTL
+    */
+   public UpdateCDNContainerOptions ttl(int ttl) {
+      checkState(ttl >= Integer.valueOf(CDN_TTL_MIN), "ttl must be >= " + CDN_TTL_MIN);
+      checkState(ttl <= Integer.valueOf(CDN_TTL_MAX), "ttl must be <= " + CDN_TTL_MAX);
+      headers.put(CDN_TTL, Integer.toString(ttl));
+      return this;
+   }
+
+   /** 
+    * Enables or disables log retention
+    */
+   public UpdateCDNContainerOptions logRetention(boolean logRetention) {
+      headers.put(CDN_LOG_RETENTION, Boolean.toString(logRetention));
+      return this;
+   }
+
+   /** 
+    * Enables or disables the CDN Container
+    * API to enable disable - is this necessary?
+    */
+   public UpdateCDNContainerOptions enabled(boolean enabled) {
+      headers.put(CDN_ENABLED, Boolean.toString(enabled));
+      return this;
+   }
+   
+   /**
+    * Sets the index page for the Static Website.
+    */
+   public UpdateCDNContainerOptions staticWebsiteIndexPage(String indexPage) {
+      checkNotNull(indexPage, "index page cannot be null");
+      headers.put("indexPage", indexPage);
+      return this;
+   }
+
+   /**
+    * Sets the error page for the Static Website.
+    */
+   public UpdateCDNContainerOptions staticWebsiteErrorPage(String errorPage) {
+      checkNotNull(errorPage, "error page cannot be null");
+      headers.put("errorPage", errorPage);
+      return this;
+   }
+
+   /**
+    * Enables or disables listings for the Static Website.
+    */
+   public UpdateCDNContainerOptions staticWebsiteListings(boolean listings) {
+      headers.put("enableListings", Boolean.toString(listings));
+      return this;
+   }
+   
+   /**
+    * Sets the CSS pages for the Static Website.
+    */
+   public UpdateCDNContainerOptions staticWebsiteListingsCSS(String listingsCSS) {
+      checkNotNull(listingsCSS, "listingsCSS page cannot be null");
+      headers.put("limit", listingsCSS);
+      return this;
+   }
+
+   public static class Builder {
+      /** @see UpdateCDNContainerOptions#ttl */
+      public static UpdateCDNContainerOptions ttl(int ttl) {
+         UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
+         return options.ttl(ttl);
+      }
+
+      /** 
+       * @see UpdateCDNContainerOptions#logRetention 
+       */
+      public static UpdateCDNContainerOptions logRetention(boolean logRetention) {
+         UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
+         return options.logRetention(logRetention);
+      }
+
+      /** 
+       * @see UpdateCDNContainerOptions#enabled
+       */
+      public static UpdateCDNContainerOptions enabled(boolean enabled) {
+         UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
+         return options.enabled(enabled);
+      }
+
+      /** 
+       * @see UpdateCDNContainerOptions#staticWebsiteIndexPage 
+       */
+      public static UpdateCDNContainerOptions staticWebsiteIndexPage(String indexPage) {
+         UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
+         return options.staticWebsiteIndexPage(indexPage);
+      }
+
+      /** 
+       * @see UpdateCDNContainerOptions#staticWebsiteErrorPage 
+       */
+      public static UpdateCDNContainerOptions staticWebsiteErrorPage(String errorPage) {
+         UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
+         return options.staticWebsiteErrorPage(errorPage);
+      }
+
+      /** 
+       * @see UpdateCDNContainerOptions#staticWebsiteListings 
+       */
+      public static UpdateCDNContainerOptions staticWebsiteListings(boolean enabled) {
+         UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
+         return options.staticWebsiteListings(enabled);
+      }
+
+      /** 
+       * @see UpdateCDNContainerOptions#staticWebsiteListingsCSS 
+       */
+      public static UpdateCDNContainerOptions staticWebsiteListingsCSS(String cssPage) {
+         UpdateCDNContainerOptions options = new UpdateCDNContainerOptions();
+         return options.staticWebsiteListingsCSS(cssPage);
+      }
+   }
+
+   public static Builder builder() {
+      return new Builder();
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
new file mode 100644
index 0000000..7247700
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
@@ -0,0 +1,58 @@
+/*
+ * 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.rackspace.cloudfiles.v1.reference;
+
+import org.jclouds.openstack.swift.v1.reference.SwiftHeaders;
+
+/**
+ * Additional headers specified by Rackspace Cloud Files CDN.
+ * 
+ * @see <a
+ *      href="http://docs.rackspace.com/files/api/v1/cf-devguide/content/index.html">
+ *      Cloud Files API</a>
+ *      
+ * @author Jeremy Daggett
+ */
+public interface CloudFilesHeaders extends SwiftHeaders {
+   // Access logs
+   String CONTAINER_ACCESS_LOG_DELIVERY = CONTAINER_METADATA_PREFIX + "Access-Log-Delivery";
+
+   // Common CDN Headers
+   String CDN_ENABLED = "X-Cdn-Enabled";
+   String CDN_LOG_RETENTION = "X-Log-Retention";
+   String CDN_TTL = "X-Ttl";
+   String CDN_URI = "X-Cdn-Uri";
+   String CDN_SSL_URI = "X-Cdn-Ssl-Uri";
+   String CDN_STREAMING_URI = "X-Cdn-Streaming-Uri";
+   String CDN_IOS_URI = "X-Cdn-Ios-Uri";
+   
+   // CDN TTL Limits
+   int CDN_TTL_MIN = 900;
+   int CDN_TTL_MAX = 31536000;
+   int CDN_TTL_DEFAULT = 259200;
+
+   // CDN Purge
+   String CDN_PURGE_OBJECT_EMAIL = "X-Purge-Email";
+   String CDN_PURGE_OBJECT_FAILED = "X-Purge-Failed-Reason";
+   
+   // CDN Static Web
+   String STATIC_WEB_INDEX = CONTAINER_METADATA_PREFIX + "Web-Index";
+   String STATIC_WEB_DIRECTORY_TYPE = CONTAINER_METADATA_PREFIX + "Web-Directory-Type";
+   String STATIC_WEB_ERROR = CONTAINER_METADATA_PREFIX + "Web-Error";
+   String STATIC_WEB_LISTINGS = CONTAINER_METADATA_PREFIX + "Web-Listings";
+   String STATIC_WEB_LISTINGS_CSS = CONTAINER_METADATA_PREFIX + "Web-Listings-CSS";
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata b/apis/rackspace-cloudfiles/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
new file mode 100644
index 0000000..9be2b32
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
@@ -0,0 +1,18 @@
+#
+# 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.
+#
+
+org.jclouds.rackspace.cloudfiles.v1.CloudFilesApiMetadata

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java
new file mode 100644
index 0000000..666059f
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiLiveTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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.rackspace.cloudfiles.v1;
+
+import org.jclouds.rackspace.cloudfiles.v1.internal.BaseCloudFilesApiLiveTest;
+import org.testng.annotations.Test;
+
+/**
+ * Tests behavior of {@code CloudFilesApi}
+ * 
+ * @author Jeremy Daggett
+ */
+@Test(groups = "live", testName = "CloudFilesApiLiveTest")
+public class CloudFilesApiLiveTest extends BaseCloudFilesApiLiveTest {
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java
new file mode 100644
index 0000000..5c32f1c
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApiMetadataTest.java
@@ -0,0 +1,35 @@
+package org.jclouds.rackspace.cloudfiles.v1;
+/*
+ * 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.
+ */
+
+import org.jclouds.View;
+import org.jclouds.apis.internal.BaseApiMetadataTest;
+import org.testng.annotations.Test;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.common.reflect.TypeToken;
+
+/**
+ * 
+ * @author Jeremy Daggett
+ */
+@Test(groups = "unit", testName = "CloudFilesApiMetadataTest")
+public class CloudFilesApiMetadataTest extends BaseApiMetadataTest {
+   public CloudFilesApiMetadataTest() {
+      super(new CloudFilesApiMetadata(), ImmutableSet.<TypeToken<? extends View>> of());
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
new file mode 100644
index 0000000..5c7e2b0
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/binders/BindCDNPurgeEmailAddressesToHeadersMockTest.java
@@ -0,0 +1,77 @@
+/*
+ * 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.rackspace.cloudfiles.v1.binders;
+
+import static org.testng.Assert.assertEquals;
+
+import java.util.List;
+
+import org.jclouds.http.HttpRequest;
+import org.jclouds.openstack.v2_0.internal.BaseOpenStackMockTest;
+import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
+import org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import com.google.common.collect.ImmutableList;
+
+/**
+ * Tests behavior of {@code BindCDNPurgeEmailAddressesToHeaders}
+ * 
+ * @author Jeremy Daggett
+ */
+@Test(groups = "unit", testName = "BindCDNPurgeEmailAddressesToHeadersMockTest")
+public class BindCDNPurgeEmailAddressesToHeadersMockTest extends BaseOpenStackMockTest<CloudFilesApi> {
+
+   BindCDNPurgeEmailAddressesToHeaders binder = new BindCDNPurgeEmailAddressesToHeaders();
+
+   public void testEmailBind() throws Exception {
+      List<String> emails = ImmutableList.of("foo@bar.com", "bar@foo.com");
+
+      HttpRequest request = purgeRequest();
+      
+      HttpRequest actualRequest = binder.bindToRequest(request, emails);
+      
+      HttpRequest expectedRequest = HttpRequest.builder()
+            .method("DELETE")
+            .endpoint("https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_XXXXXX/")
+            .addHeader(CloudFilesHeaders.CDN_PURGE_OBJECT_EMAIL, "foo@bar.com, bar@foo.com")
+            .build(); 
+      
+      assertEquals(actualRequest, expectedRequest);
+      
+   }
+
+   @Test(expectedExceptions = NullPointerException.class, expectedExceptionsMessageRegExp = "input")
+   public void testNullList() {
+      HttpRequest request = purgeRequest();
+      binder.bindToRequest(request, null);
+   }
+
+   @Test(expectedExceptions = NullPointerException.class, expectedExceptionsMessageRegExp = "request")
+   public void testNullRequest() {
+      List<String> emails = ImmutableList.of("foo@bar.com", "bar@foo.com");
+      binder.bindToRequest(null, emails);
+   }
+   
+   private static final HttpRequest purgeRequest() {
+      return HttpRequest.builder()
+                .method("DELETE")
+                .endpoint("https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_XXXXXX/")
+                .build();
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.java
new file mode 100644
index 0000000..bc35b3a
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/CloudFilesRegionScopedBlobStoreContextLiveTest.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.rackspace.cloudfiles.v1.blobstore;
+
+import static org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes.API_KEY_CREDENTIALS;
+
+import java.util.Properties;
+
+import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContextLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live")
+public class CloudFilesRegionScopedBlobStoreContextLiveTest extends RegionScopedBlobStoreContextLiveTest {
+
+   public CloudFilesRegionScopedBlobStoreContextLiveTest() {
+      provider = "rackspace-cloudfiles";
+   }
+
+   @Override
+   protected Properties setupProperties() {
+      Properties props = super.setupProperties();
+      setIfTestSystemPropertyPresent(props, API_KEY_CREDENTIALS);
+      return props;
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesBlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesBlobIntegrationLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesBlobIntegrationLiveTest.java
new file mode 100644
index 0000000..58ed73b
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesBlobIntegrationLiveTest.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.rackspace.cloudfiles.v1.blobstore.integration;
+
+import static org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes.API_KEY_CREDENTIALS;
+
+import java.util.Properties;
+
+import org.jclouds.openstack.swift.v1.blobstore.integration.SwiftBlobIntegrationLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesBlobIntegrationLiveTest")
+public class CloudFilesBlobIntegrationLiveTest extends SwiftBlobIntegrationLiveTest {
+
+   public CloudFilesBlobIntegrationLiveTest() {
+      provider = "rackspace-cloudfiles";
+   }
+   
+   @Override
+   protected Properties setupProperties() {
+      Properties props = super.setupProperties();
+      setIfTestSystemPropertyPresent(props, API_KEY_CREDENTIALS);
+      return props;
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesBlobLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesBlobLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesBlobLiveTest.java
new file mode 100644
index 0000000..87519d5
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesBlobLiveTest.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.rackspace.cloudfiles.v1.blobstore.integration;
+
+import static org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes.API_KEY_CREDENTIALS;
+
+import java.util.Properties;
+
+import org.jclouds.openstack.swift.v1.blobstore.integration.SwiftBlobLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesBlobLiveTest")
+public class CloudFilesBlobLiveTest extends SwiftBlobLiveTest {
+
+   public CloudFilesBlobLiveTest() {
+      provider = "rackspace-cloudfiles";
+   }
+
+   @Override
+   protected Properties setupProperties() {
+      Properties props = super.setupProperties();
+      setIfTestSystemPropertyPresent(props, API_KEY_CREDENTIALS);
+      return props;
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2ca0dac7/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesBlobSignerLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesBlobSignerLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesBlobSignerLiveTest.java
new file mode 100644
index 0000000..dea68f2
--- /dev/null
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/blobstore/integration/CloudFilesBlobSignerLiveTest.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.rackspace.cloudfiles.v1.blobstore.integration;
+
+import static org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes.API_KEY_CREDENTIALS;
+
+import java.util.Properties;
+
+import org.jclouds.openstack.swift.v1.blobstore.integration.SwiftBlobSignerLiveTest;
+import org.testng.annotations.Test;
+
+@Test(groups = "live", testName = "CloudFilesBlobSignerLiveTest")
+public class CloudFilesBlobSignerLiveTest extends SwiftBlobSignerLiveTest {
+
+   public CloudFilesBlobSignerLiveTest() {
+      provider = "rackspace-cloudfiles";
+   }
+
+   @Override
+   protected Properties setupProperties() {
+      Properties props = super.setupProperties();
+      setIfTestSystemPropertyPresent(props, API_KEY_CREDENTIALS);
+      return props;
+   }
+}


[21/32] jclouds git commit: Swift API region cleanup

Posted by za...@apache.org.
Swift API region cleanup

Conflicts:
	openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/ObjectApiMockTest.java


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

Branch: refs/heads/master
Commit: 66627e94b80da2e988dfa488985a6c70493dd794
Parents: f04e2c2
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Tue Aug 12 09:53:50 2014 -0700
Committer: Jeremy Daggett <je...@rackspace.com>
Committed: Fri Aug 22 11:06:48 2014 -0700

----------------------------------------------------------------------
 .../rackspace/cloudfiles/v1/CloudFilesApi.java  | 12 -----
 .../features/CloudFilesAccountApiLiveTest.java  |  4 +-
 .../v1/features/CloudFilesCDNApiLiveTest.java   | 56 ++++++++++----------
 3 files changed, 30 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/66627e94/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
index ff19eb8..7c25ec2 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/CloudFilesApi.java
@@ -48,16 +48,4 @@ public interface CloudFilesApi extends SwiftApi {
    @Delegate
    CDNApi getCDNApi(@EndpointParam(parser = RegionToCDNEndpoint.class) String region);
 
-   /**
-    * Provides access to Cloud Files CDN features.
-    *
-    * @param region  the region to access the CDN API.
-    *
-    * @return the {@link CDNApi} for the specified region.
-    *
-    * @deprecated Please use {@link #getCDNApiForRegion(String)}. This method will be removed in jclouds 1.8.
-    */
-   @Deprecated
-   @Delegate
-   CDNApi cdnApiInRegion(@EndpointParam(parser = RegionToCDNEndpoint.class) String region);
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/66627e94/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
index f91d2ba..95de2b3 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesAccountApiLiveTest.java
@@ -36,8 +36,8 @@ public class CloudFilesAccountApiLiveTest extends AccountApiLiveTest {
    }
 
    public void testUrlKeyExists() throws Exception {
-      for (String region : regions) {
-         Account account = api.getAccountApi(region).get();
+      for (String regionId : regions) {
+         Account account = api.getAccountApi(regionId).get();
          assertTrue(account.getTemporaryUrlKey().isPresent());
       }
    }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/66627e94/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
index 887033d..beeb15a 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
@@ -53,20 +53,20 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    }
 
    public void testEnable() throws Exception {
-      for (String region : regions) {
-         assertNotNull(api.getCDNApi(region).enable(name));
+      for (String regionId : regions) {
+         assertNotNull(api.getCDNApi(regionId).enable(name));
 
-         CDNContainer container = api.getCDNApi(region).get(name);
+         CDNContainer container = api.getCDNApi(regionId).get(name);
          assertCDNContainerNotNull(container);
          assertTrue(container.isEnabled());
       }
    }
 
    public void testEnableWithTTL() throws Exception {
-      for (String region : regions) {
-         assertNotNull(api.getCDNApi(region).enable(name, 777777));
+      for (String regionId : regions) {
+         assertNotNull(api.getCDNApi(regionId).enable(name, 777777));
 
-         CDNContainer container = api.getCDNApi(region).get(name);
+         CDNContainer container = api.getCDNApi(regionId).get(name);
          assertCDNContainerNotNull(container);
          assertTrue(container.isEnabled());
          assertTrue(container.getTtl() == 777777);
@@ -74,17 +74,17 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    }
 
    public void testDisable() throws Exception {
-      for (String region : regions) {
-         assertTrue(api.getCDNApi(region).disable(name));
+      for (String regionId : regions) {
+         assertTrue(api.getCDNApi(regionId).disable(name));
 
-         CDNContainer container = api.getCDNApi(region).get(name);
+         CDNContainer container = api.getCDNApi(regionId).get(name);
          assertFalse(container.isEnabled());
       }
    }
 
    public void testList() throws Exception {
-      for (String region : regions) {
-         List<CDNContainer> cdnResponse = api.getCDNApi(region).list().toList();
+      for (String regionId : regions) {
+         List<CDNContainer> cdnResponse = api.getCDNApi(regionId).list().toList();
          assertNotNull(cdnResponse);
 
          for (CDNContainer cdnContainer : cdnResponse) {
@@ -96,33 +96,33 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
 
    public void testListWithOptions() throws Exception {
       String lexicographicallyBeforeName = name.substring(0, name.length() - 1);
-      for (String region : regions) {
+      for (String regionId : regions) {
          ListCDNContainerOptions options = new ListCDNContainerOptions().marker(lexicographicallyBeforeName);
 
-         CDNContainer cdnContainer = api.getCDNApi(region).list(options).get(0);
+         CDNContainer cdnContainer = api.getCDNApi(regionId).list(options).get(0);
          assertCDNContainerNotNull(cdnContainer);
          assertTrue(cdnContainer.isEnabled());
       }
    }
 
    public void testGet() throws Exception {
-      for (String region : regions) {
-         CDNContainer container = api.getCDNApi(region).get(name);
+      for (String regionId : regions) {
+         CDNContainer container = api.getCDNApi(regionId).get(name);
          assertCDNContainerNotNull(container);
          assertTrue(container.isEnabled());
       }
    }
 
    public void testPurgeObject() throws Exception {
-      for (String region : regions) {
+      for (String regionId : regions) {
          String objectName = "testPurge";
          Payload payload = Payloads.newByteSourcePayload(ByteSource.wrap(new byte[] {1, 2, 3}));
-         ObjectApi objectApi = api.getObjectApiForContainer(region, name);
+         ObjectApi objectApi = api.getObjectApi(regionId, name);
 
          // create a new object
          objectApi.put(objectName, payload);
 
-         CDNApi cdnApi = api.getCDNApi(region);
+         CDNApi cdnApi = api.getCDNApi(regionId);
          assertTrue(cdnApi.purgeObject(name, "testPurge", ImmutableList.<String>of()));
 
          // delete the object
@@ -132,12 +132,12 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    }
 
    public void testUpdate() throws Exception {
-      for (String region : regions) {
+      for (String regionId : regions) {
          // enable with a ttl
-         assertNotNull(api.getCDNApi(region).enable(name, 777777));
+         assertNotNull(api.getCDNApi(regionId).enable(name, 777777));
 
          // now get the container
-         CDNContainer original = api.getCDNApi(region).get(name);
+         CDNContainer original = api.getCDNApi(regionId).get(name);
          assertTrue(original.isEnabled());
          assertCDNContainerNotNull(original);
 
@@ -147,10 +147,10 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
                                                 .logRetention(true)
                                                 .enabled(false);
          // update the container
-         assertTrue(api.getCDNApi(region).update(name, opts));
+         assertTrue(api.getCDNApi(regionId).update(name, opts));
 
          // now get the updated container
-         CDNContainer updated = api.getCDNApi(region).get(name);
+         CDNContainer updated = api.getCDNApi(regionId).get(name);
          assertFalse(updated.isEnabled());
          assertCDNContainerNotNull(updated);
 
@@ -173,17 +173,17 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    @BeforeClass(groups = "live")
    public void setup() {
       super.setup();
-      for (String region : regions) {
-         api.getContainerApi(region).create(name);
+      for (String regionId : regions) {
+         api.getContainerApi(regionId).create(name);
       }
    }
 
    @Override
    @AfterClass(groups = "live")
    public void tearDown() {
-      for (String region : regions) {
-         api.getCDNApi(region).disable(name);
-         api.getContainerApi(region).deleteIfEmpty(name);
+      for (String regionId : regions) {
+         api.getCDNApi(regionId).disable(name);
+         api.getContainerApi(regionId).deleteIfEmpty(name);
       }
       super.tearDown();
    }


[14/32] jclouds git commit: Make sure metadata points to UK resources

Posted by za...@apache.org.
Make sure metadata points to UK resources


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

Branch: refs/heads/master
Commit: 77e37f423d50a05538524653f642f73f43b72321
Parents: 808bd6a
Author: Everett Toews <ev...@rackspace.com>
Authored: Thu Jun 26 12:06:42 2014 -0500
Committer: Everett Toews <ev...@rackspace.com>
Committed: Thu Jun 26 15:11:42 2014 -0500

----------------------------------------------------------------------
 .../cloudfiles/uk/CloudFilesUKProviderMetadata.java   | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/77e37f42/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java b/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
index 1a2f460..f4f63e1 100644
--- a/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
+++ b/providers/rackspace-cloudfiles-uk/src/main/java/org/jclouds/rackspace/cloudfiles/uk/CloudFilesUKProviderMetadata.java
@@ -81,7 +81,7 @@ public class CloudFilesUKProviderMetadata extends BaseProviderMetadata {
          .apiMetadata(new CloudFilesApiMetadata().toBuilder()
                .identityName("${userName}")
                .credentialName("${apiKey}")
-               .defaultEndpoint("https://identity.api.rackspacecloud.com/v2.0/")
+               .defaultEndpoint("https://lon.identity.api.rackspacecloud.com/v2.0/")
                .documentation(URI.create("http://docs.rackspace.com/files/api/v1/cf-devguide/content/index.html"))
                .endpointName("Rackspace Cloud Identity service URL ending in /v2.0/")
                .version("1.0")
@@ -96,12 +96,12 @@ public class CloudFilesUKProviderMetadata extends BaseProviderMetadata {
                      .add(SignUsingTemporaryUrls.class)
                      .build())
                .build())
-         .homepage(URI.create("http://www.rackspace.com/cloud/files"))
-         .console(URI.create("https://mycloud.rackspace.com"))
-         .linkedServices("rackspace-autoscale-us", "rackspace-cloudblockstorage-us",
-                         "rackspace-clouddatabases-us", "rackspace-clouddns-us",
-                         "rackspace-cloudidentity", "rackspace-cloudloadbalancers-us",
-                         "rackspace-cloudqueues-us")
+         .homepage(URI.create("http://www.rackspace.co.uk/cloud/files/"))
+         .console(URI.create("https://mycloud.rackspace.co.uk"))
+         .linkedServices("rackspace-autoscale-uk", "rackspace-cloudblockstorage-uk",
+                         "rackspace-clouddatabases-uk", "rackspace-clouddns-uk",
+                         "rackspace-cloudidentity", "rackspace-cloudloadbalancers-uk",
+                         "rackspace-cloudqueues-uk")
          .iso3166Codes("GB-SLG")
          .defaultProperties(CloudFilesUKProviderMetadata.defaultProperties());
          


[22/32] jclouds git commit: Convert fake interfaces to utility classes

Posted by za...@apache.org.
Convert fake interfaces to utility classes


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

Branch: refs/heads/master
Commit: acba325333be3c634d8485aa47fe6fef0d12ef9f
Parents: 66627e9
Author: Andrew Gaul <ga...@apache.org>
Authored: Sat Sep 6 11:48:09 2014 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Sat Sep 20 18:47:07 2014 -0700

----------------------------------------------------------------------
 .../v1/reference/CloudFilesConstants.java       | 12 ++++++---
 .../v1/reference/CloudFilesHeaders.java         | 26 +++++++++++---------
 2 files changed, 23 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/acba3253/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesConstants.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesConstants.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesConstants.java
index 095ea10..57ff302 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesConstants.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesConstants.java
@@ -20,8 +20,12 @@ package org.jclouds.rackspace.cloudfiles.v1.reference;
 /**
  * Constants specified by Rackspace Cloud Files.
  */
-public interface CloudFilesConstants {
-   int CDN_TTL_MIN = 900;
-   int CDN_TTL_MAX = 31536000;
-   int CDN_TTL_DEFAULT = 259200;
+public final class CloudFilesConstants {
+   public static final int CDN_TTL_MIN = 900;
+   public static final int CDN_TTL_MAX = 31536000;
+   public static final int CDN_TTL_DEFAULT = 259200;
+
+   private CloudFilesConstants() {
+      throw new AssertionError("intentionally unimplemented");
+   }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/acba3253/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
index e4d862b..1563c61 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/reference/CloudFilesHeaders.java
@@ -21,20 +21,24 @@ import org.jclouds.openstack.swift.v1.reference.SwiftHeaders;
 /**
  * Additional headers specified by Rackspace Cloud Files.
  */
-public interface CloudFilesHeaders extends SwiftHeaders {
+public final class CloudFilesHeaders {
    // Access logs
-   String CONTAINER_ACCESS_LOG_DELIVERY = CONTAINER_METADATA_PREFIX + "Access-Log-Delivery";
+   public static final String CONTAINER_ACCESS_LOG_DELIVERY = SwiftHeaders.CONTAINER_METADATA_PREFIX + "Access-Log-Delivery";
 
    // Common CDN Headers
-   String CDN_ENABLED = "X-Cdn-Enabled";
-   String CDN_LOG_RETENTION = "X-Log-Retention";
-   String CDN_TTL = "X-Ttl";
-   String CDN_URI = "X-Cdn-Uri";
-   String CDN_SSL_URI = "X-Cdn-Ssl-Uri";
-   String CDN_STREAMING_URI = "X-Cdn-Streaming-Uri";
-   String CDN_IOS_URI = "X-Cdn-Ios-Uri";
+   public static final String CDN_ENABLED = "X-Cdn-Enabled";
+   public static final String CDN_LOG_RETENTION = "X-Log-Retention";
+   public static final String CDN_TTL = "X-Ttl";
+   public static final String CDN_URI = "X-Cdn-Uri";
+   public static final String CDN_SSL_URI = "X-Cdn-Ssl-Uri";
+   public static final String CDN_STREAMING_URI = "X-Cdn-Streaming-Uri";
+   public static final String CDN_IOS_URI = "X-Cdn-Ios-Uri";
 
    // CDN Purge
-   String CDN_PURGE_OBJECT_EMAIL = "X-Purge-Email";
-   String CDN_PURGE_OBJECT_FAILED = "X-Purge-Failed-Reason";
+   public static final String CDN_PURGE_OBJECT_EMAIL = "X-Purge-Email";
+   public static final String CDN_PURGE_OBJECT_FAILED = "X-Purge-Failed-Reason";
+
+   private CloudFilesHeaders() {
+      throw new AssertionError("intentionally unimplemented");
+   }
 }


[20/32] jclouds git commit: Fix Maven parent.relativePath warnings

Posted by za...@apache.org.
Fix Maven parent.relativePath warnings


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

Branch: refs/heads/master
Commit: f04e2c2c2e4a5c97a4d2b1a6e2eb92f98974e4ba
Parents: 4030a4c
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Thu Aug 21 08:51:35 2014 -0700
Committer: Jeremy Daggett <je...@rackspace.com>
Committed: Thu Aug 21 11:25:34 2014 -0700

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/pom.xml         | 1 +
 providers/rackspace-cloudfiles-uk/pom.xml | 3 ++-
 providers/rackspace-cloudfiles-us/pom.xml | 5 +++--
 3 files changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/f04e2c2c/apis/rackspace-cloudfiles/pom.xml
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/pom.xml b/apis/rackspace-cloudfiles/pom.xml
index e2b3ff0..3e0bcbf 100644
--- a/apis/rackspace-cloudfiles/pom.xml
+++ b/apis/rackspace-cloudfiles/pom.xml
@@ -23,6 +23,7 @@
     <groupId>org.apache.jclouds</groupId>
     <artifactId>jclouds-project</artifactId>
     <version>2.0.0-SNAPSHOT</version>
+    <relativePath />
   </parent>
 
   <!-- TODO: when out of labs, switch to org.jclouds.api -->

http://git-wip-us.apache.org/repos/asf/jclouds/blob/f04e2c2c/providers/rackspace-cloudfiles-uk/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/pom.xml b/providers/rackspace-cloudfiles-uk/pom.xml
index 0dadfe7..fd55157 100644
--- a/providers/rackspace-cloudfiles-uk/pom.xml
+++ b/providers/rackspace-cloudfiles-uk/pom.xml
@@ -23,6 +23,7 @@
     <groupId>org.apache.jclouds</groupId>
     <artifactId>jclouds-project</artifactId>
     <version>2.0.0-SNAPSHOT</version>
+    <relativePath />
   </parent>
 
   <!-- TODO: when out of labs, switch to org.jclouds.provider -->
@@ -87,7 +88,7 @@
       <artifactId>rackspace-cloudfiles</artifactId>
       <version>${project.parent.version}</version>
     </dependency>
-    <dependency>    
+    <dependency>
       <groupId>org.apache.jclouds.api</groupId>
       <artifactId>openstack-keystone</artifactId>
       <version>${project.parent.version}</version>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/f04e2c2c/providers/rackspace-cloudfiles-us/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/pom.xml b/providers/rackspace-cloudfiles-us/pom.xml
index ec9014d..f54d9ce 100644
--- a/providers/rackspace-cloudfiles-us/pom.xml
+++ b/providers/rackspace-cloudfiles-us/pom.xml
@@ -23,6 +23,7 @@
     <groupId>org.apache.jclouds</groupId>
     <artifactId>jclouds-project</artifactId>
     <version>2.0.0-SNAPSHOT</version>
+    <relativePath />
   </parent>
 
   <!-- TODO: when out of labs, switch to org.jclouds.provider -->
@@ -39,7 +40,7 @@
     <test.rackspace-cloudfiles-us.api-version>1</test.rackspace-cloudfiles-us.api-version>
     <test.rackspace-cloudfiles-us.build-version />
     <test.rackspace-cloudfiles-us.identity>${test.rackspace-us.identity}</test.rackspace-cloudfiles-us.identity>
-    <test.rackspace-cloudfiles-us.credential>${test.rackspace-us.credential}</test.rackspace-cloudfiles-us.credential>    
+    <test.rackspace-cloudfiles-us.credential>${test.rackspace-us.credential}</test.rackspace-cloudfiles-us.credential>
     <jclouds.osgi.export>org.jclouds.rackspace.cloudfiles.us*;version="${project.version}"</jclouds.osgi.export>
     <jclouds.osgi.import>
       org.jclouds.rest.internal;version="${jclouds.version}",
@@ -87,7 +88,7 @@
       <artifactId>rackspace-cloudfiles</artifactId>
       <version>${project.parent.version}</version>
     </dependency>
-    <dependency>    
+    <dependency>
       <groupId>org.apache.jclouds.api</groupId>
       <artifactId>openstack-keystone</artifactId>
       <version>${project.parent.version}</version>


[30/32] jclouds git commit: Apache jclouds 1.9.0 release

Posted by za...@apache.org.
Apache jclouds 1.9.0 release


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

Branch: refs/heads/master
Commit: ce3eeefd85e89c5713ebc36636b65f064f0d95f5
Parents: 0b8b5e7
Author: Ignasi Barrera <na...@apache.org>
Authored: Tue Mar 24 10:59:36 2015 +0100
Committer: Ignasi Barrera <na...@apache.org>
Committed: Tue Mar 24 10:59:36 2015 +0100

----------------------------------------------------------------------
 apis/rackspace-cloudfiles/pom.xml         | 4 ++--
 providers/rackspace-cloudfiles-uk/pom.xml | 4 ++--
 providers/rackspace-cloudfiles-us/pom.xml | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce3eeefd/apis/rackspace-cloudfiles/pom.xml
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/pom.xml b/apis/rackspace-cloudfiles/pom.xml
index 3a9e370..f0cb1e7 100644
--- a/apis/rackspace-cloudfiles/pom.xml
+++ b/apis/rackspace-cloudfiles/pom.xml
@@ -22,14 +22,14 @@
   <parent>
     <groupId>org.apache.jclouds</groupId>
     <artifactId>jclouds-project</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
+    <version>1.9.0</version>
     <relativePath />
   </parent>
 
   <!-- TODO: when out of labs, switch to org.jclouds.api -->
   <groupId>org.apache.jclouds.labs</groupId>
   <artifactId>rackspace-cloudfiles</artifactId>
-  <version>2.0.0-SNAPSHOT</version>
+  <version>1.9.0</version>
   <name>jclouds rackspace-cloudfiles api</name>
   <description>jclouds components to access Rackspace Cloud Files</description>
   <packaging>bundle</packaging>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce3eeefd/providers/rackspace-cloudfiles-uk/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-uk/pom.xml b/providers/rackspace-cloudfiles-uk/pom.xml
index abcbb84..eda8331 100644
--- a/providers/rackspace-cloudfiles-uk/pom.xml
+++ b/providers/rackspace-cloudfiles-uk/pom.xml
@@ -22,14 +22,14 @@
   <parent>
     <groupId>org.apache.jclouds</groupId>
     <artifactId>jclouds-project</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
+    <version>1.9.0</version>
     <relativePath />
   </parent>
 
   <!-- TODO: when out of labs, switch to org.jclouds.provider -->
   <groupId>org.apache.jclouds.labs</groupId>
   <artifactId>rackspace-cloudfiles-uk</artifactId>
-  <version>2.0.0-SNAPSHOT</version>
+  <version>1.9.0</version>
   <name>jclouds Rackspace Cloud Files UK provider</name>
   <description>OpenStack Object Storage implementation targeted to Rackspace Cloud Files UK</description>
   <packaging>bundle</packaging>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/ce3eeefd/providers/rackspace-cloudfiles-us/pom.xml
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudfiles-us/pom.xml b/providers/rackspace-cloudfiles-us/pom.xml
index e0a150e..ae06a30 100644
--- a/providers/rackspace-cloudfiles-us/pom.xml
+++ b/providers/rackspace-cloudfiles-us/pom.xml
@@ -22,14 +22,14 @@
   <parent>
     <groupId>org.apache.jclouds</groupId>
     <artifactId>jclouds-project</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
+    <version>1.9.0</version>
     <relativePath />
   </parent>
 
   <!-- TODO: when out of labs, switch to org.jclouds.provider -->
   <groupId>org.apache.jclouds.labs</groupId>
   <artifactId>rackspace-cloudfiles-us</artifactId>
-  <version>2.0.0-SNAPSHOT</version>
+  <version>1.9.0</version>
   <name>jclouds Rackspace Cloud Files US provider</name>
   <description>OpenStack Object Storage implementation targeted to Rackspace Cloud Files US</description>
   <packaging>bundle</packaging>


[08/32] jclouds git commit: Address Checkstyle violations

Posted by za...@apache.org.
Address Checkstyle violations


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

Branch: refs/heads/master
Commit: 9dc7fddb559ea3a0f32fcb8f0813509cea12cc21
Parents: 5dfa1cf
Author: Andrew Gaul <ga...@apache.org>
Authored: Tue May 13 00:20:00 2014 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Tue May 13 00:30:14 2014 -0700

----------------------------------------------------------------------
 .../cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java     | 4 ++--
 .../cloudfiles/v1/features/CloudFilesCDNApiMockTest.java     | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/9dc7fddb/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
index 3e450fd..5c073fb 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiLiveTest.java
@@ -120,7 +120,7 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
    public void testPurgeObject() throws Exception {
       for (String regionId : regions) {
          String objectName = "testPurge";
-         Payload payload = Payloads.newByteSourcePayload(ByteSource.wrap(new byte[] {1,2,3}));
+         Payload payload = Payloads.newByteSourcePayload(ByteSource.wrap(new byte[] {1, 2, 3}));
          ObjectApi objectApi = api.objectApiInRegionForContainer(regionId, name);
          
          // create a new object
@@ -163,7 +163,7 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
       }
    }
 
-   private static final void assertCDNContainerNotNull(CDNContainer container) {
+   private static void assertCDNContainerNotNull(CDNContainer container) {
       assertNotNull(container);
       assertNotNull(container.getName());
       assertNotNull(container.getTtl());

http://git-wip-us.apache.org/repos/asf/jclouds/blob/9dc7fddb/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
index 18cd36c..19ed912 100644
--- a/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
+++ b/apis/rackspace-cloudfiles/src/test/java/org/jclouds/rackspace/cloudfiles/v1/features/CloudFilesCDNApiMockTest.java
@@ -108,7 +108,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
          ListContainerOptions options = ListContainerOptions.Builder.marker("cdn-container-3");
          ImmutableList<CDNContainer> containers = api.cdnApiInRegion("DFW").list(options).toList();
 
-         for(CDNContainer container : containers) {
+         for (CDNContainer container : containers) {
             assertCDNContainerNotNull(container);
          }
 
@@ -402,7 +402,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
       }
    }
 
-   private static final void assertCDNContainerNotNull(CDNContainer container) {
+   private static void assertCDNContainerNotNull(CDNContainer container) {
       assertNotNull(container.getName());
       assertNotNull(container.isEnabled());
       assertNotNull(container.isLogRetentionEnabled());
@@ -429,7 +429,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
             .addHeader(CDN_ENABLED, "true")
             .addHeader(CDN_LOG_RETENTION, "false")
             .addHeader(CDN_TTL, "777777")
-            .addHeader(CDN_URI,"http://id-1.cdn.rackspace.com")
+            .addHeader(CDN_URI, "http://id-1.cdn.rackspace.com")
             .addHeader(CDN_SSL_URI, "https://ssl-id-1.ssl.rackspace.com")
             .addHeader(CDN_STREAMING_URI, "http://streaming-id-1.stream.rackspace.com")
             .addHeader(CDN_IOS_URI, "http://ios-id-1.iosr.rackspace.com")
@@ -442,7 +442,7 @@ public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesAp
             .addHeader(CDN_ENABLED, "false")
             .addHeader(CDN_LOG_RETENTION, "true")
             .addHeader(CDN_TTL, "7654321")
-            .addHeader(CDN_URI,"http://id-1.cdn.rackspace.com")
+            .addHeader(CDN_URI, "http://id-1.cdn.rackspace.com")
             .addHeader(CDN_SSL_URI, "https://ssl-id-1.ssl.rackspace.com")
             .addHeader(CDN_STREAMING_URI, "http://streaming-id-1.stream.rackspace.com")
             .addHeader(CDN_IOS_URI, "http://ios-id-1.iosr.rackspace.com")


[17/32] jclouds git commit: JCLOUDS-653: Address Guava 18 deprecations

Posted by za...@apache.org.
JCLOUDS-653: Address Guava 18 deprecations

Mostly renaming Objects.toStringHelper to MoreObjects.toStringHelper.


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

Branch: refs/heads/master
Commit: 4073f7fdc4e11fc9ff1d419dc05731336cd9d8d0
Parents: 271d50f
Author: Andrew Gaul <ga...@apache.org>
Authored: Fri Aug 8 11:29:10 2014 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Aug 8 11:34:44 2014 -0700

----------------------------------------------------------------------
 .../org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/4073f7fd/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
index d987f88..9a80b10 100644
--- a/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
+++ b/apis/rackspace-cloudfiles/src/main/java/org/jclouds/rackspace/cloudfiles/v1/domain/CDNContainer.java
@@ -16,7 +16,7 @@
  */
 package org.jclouds.rackspace.cloudfiles.v1.domain;
 
-import static com.google.common.base.Objects.toStringHelper;
+import static com.google.common.base.MoreObjects.toStringHelper;
 import static com.google.common.base.Preconditions.checkNotNull;
 
 import java.beans.ConstructorProperties;
@@ -24,8 +24,8 @@ import java.net.URI;
 
 import javax.inject.Named;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.base.Objects;
-import com.google.common.base.Objects.ToStringHelper;
 
 /**
  * Represents a CDN Container in Rackspace Cloud Files.