Git merge upstream/master

This commit is contained in:
Carlos 2011-01-25 20:04:37 -08:00
commit fe9922acce
2514 changed files with 25284 additions and 12802 deletions

View File

@ -29,24 +29,29 @@ data.
our current version is 1.0-beta-8
our dev version is 1.0-SNAPSHOT
our compute api supports: ec2, gogrid, cloudservers (rackspace), vcloud,
trmk-ecloud, trmk-vcloudexpress, eucalyptus, cloudsigma,
elasticstack, bluelock-vclouddirector, slicehost,
elastichosts-lon-p (Peer 1), elastichosts-sat-p (Peer 1),
elastichosts-lon-b (BlueSquare), stub (in-memory)
our compute api supports: aws-ec2, gogrid, cloudservers (generic), cloudservers-us,
cloudservers-uk, vcloud (generic), ec2 (generic),
trmk-ecloud, trmk-vcloudexpress, eucalyptus (generic),
cloudsigma-zrh, elasticstack(generic), bluelock-vclouddirector,
slicehost, eucalyptus-partnercloud-ec2, elastichosts-lon-p (Peer 1),
elastichosts-sat-p (Peer 1), elastichosts-lon-b (BlueSquare),
openhosting-east1, serverlove-z1-man, skalicloud-sdg-my,
vcloudexpress (generic), stub (in-memory)
* note * the pom dependency org.jclouds/jclouds-allcompute gives you access to
to all of these providers
our blobstore api supports: s3, cloudfiles (rackspace), azurestorage, atmosonline,
synaptic, peer1-storage, walrus, googlestorage,
transient (in-memory), filesystem (on-disk)
our blobstore api supports: aws-s3, cloudfiles (generic), cloudfiles-us, cloudfiles-uk,
azureblob, atmos (generic), synaptic-storage,
cloudonestorage, s3 (generic), walrus(generic), googlestorage,
scaleup-storage, eucalyptus-partnercloud-s3, swift (generic),
transient (in-mem), filesystem (on-disk)
* note * the pom dependency org.jclouds/jclouds-allblobstore gives you access to
to all of these providers
we also have support for: ibmdev, mezeo, nirvanix, boxdotnet, rimuhosting, as well
a number of features the sandbox
we also have support for: ibmdev, mezeo, nirvanix, boxdotnet, rimuhosting, openstack nova,
azurequeue, simpledb as well a number of features the sandbox
If you want access to all jclouds components, include the maven dependency org.jclouds/jclouds-all

View File

@ -41,7 +41,7 @@
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>aws-simpledb</artifactId>
<artifactId>aws-elb</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>

View File

@ -30,23 +30,73 @@
<name>allblobstore</name>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jclouds-aws</artifactId>
<groupId>org.jclouds.api</groupId>
<artifactId>s3</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jclouds-azure</artifactId>
<groupId>org.jclouds.provider</groupId>
<artifactId>aws-s3</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jclouds-atmos</artifactId>
<groupId>org.jclouds.provider</groupId>
<artifactId>googlestorage</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jclouds-rackspace</artifactId>
<groupId>org.jclouds.provider</groupId>
<artifactId>synaptic-storage</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>scaleup-storage</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>cloudonestorage</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.api</groupId>
<artifactId>walrus</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>eucalyptus-partnercloud-s3</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>azureblob</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.api</groupId>
<artifactId>atmos</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.api</groupId>
<artifactId>swift</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.api</groupId>
<artifactId>cloudfiles</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>cloudfiles-us</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>cloudfiles-uk</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>

View File

@ -30,28 +30,68 @@
<name>allcompute</name>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jclouds-aws</artifactId>
<groupId>org.jclouds.provider</groupId>
<artifactId>eucalyptus-partnercloud-ec2</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jclouds-rackspace</artifactId>
<groupId>org.jclouds.provider</groupId>
<artifactId>aws-ec2</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jclouds-vcloud</artifactId>
<groupId>org.jclouds.api</groupId>
<artifactId>ec2</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jclouds-bluelock</artifactId>
<groupId>org.jclouds.provider</groupId>
<artifactId>cloudservers-us</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jclouds-terremark</artifactId>
<groupId>org.jclouds.provider</groupId>
<artifactId>cloudservers-uk</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.api</groupId>
<artifactId>cloudservers</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.api</groupId>
<artifactId>vcloud</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.api</groupId>
<artifactId>vcloudexpress</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>trmk-vcloudexpress</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>trmk-ecloud</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>trmk-vcloudexpress</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>trmk-ecloud</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>bluelock-vcdirector</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
@ -65,13 +105,43 @@
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jclouds-elasticstack</artifactId>
<groupId>org.jclouds.api</groupId>
<artifactId>elasticstack</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>cloudsigma</artifactId>
<artifactId>elastichosts-lon-p</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>elastichosts-sat-p</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>elastichosts-lon-b</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>openhosting-east1</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>serverlove-z1-man</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>skalicloud-sdg-my</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>cloudsigma-zrh</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>

View File

@ -24,8 +24,9 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.jclouds</groupId>
<artifactId>jclouds-tools-project</artifactId>
<artifactId>jclouds-project</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../project/pom.xml</relativePath>
</parent>
<artifactId>jclouds-antcontrib</artifactId>
<name>Ant-Contrib extensions</name>
@ -55,7 +56,7 @@
<version>1.7.1</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<groupId>org.jclouds.driver</groupId>
<artifactId>jclouds-jsch</artifactId>
<version>${project.version}</version>
</dependency>

View File

@ -21,41 +21,57 @@
-->
<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">
<parent>
<artifactId>jclouds-extensions-project</artifactId>
<groupId>org.jclouds</groupId>
<version>1.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jclouds-ssh-project</artifactId>
<packaging>pom</packaging>
<name>jclouds ssh project</name>
<modules>
<module>jsch</module>
</modules>
<parent>
<groupId>org.jclouds</groupId>
<artifactId>jclouds-project</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../../project/pom.xml</relativePath>
</parent>
<groupId>org.jclouds.api</groupId>
<artifactId>atmos</artifactId>
<name>jclouds atmos components</name>
<properties>
<jclouds.test.ssh.host>localhost</jclouds.test.ssh.host>
<jclouds.test.ssh.port>22</jclouds.test.ssh.port>
<jclouds.test.ssh.username />
<jclouds.test.ssh.password />
<jclouds.test.ssh.keyfile />
<test.initializer>org.jclouds.atmos.blobstore.integration.AtmosStorageTestInitializer</test.initializer>
<test.atmos.endpoint>https://accesspoint.atmos.com</test.atmos.endpoint>
<test.atmos.apiversion>1.3.0</test.atmos.apiversion>
<test.atmos.identity>FIXME</test.atmos.identity>
<test.atmos.credential>FIXME</test.atmos.credential>
</properties>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jclouds-compute</artifactId>
<groupId>org.jclouds</groupId>
<artifactId>jclouds-blobstore</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jclouds-compute</artifactId>
<groupId>org.jclouds</groupId>
<artifactId>jclouds-blobstore</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jclouds</groupId>
<artifactId>jclouds-core</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jclouds.driver</groupId>
<artifactId>jclouds-log4j</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<profiles>
<profile>
<id>live</id>
<build>
@ -71,41 +87,34 @@
<goal>test</goal>
</goals>
<configuration>
<!-- note that the groups/excluded groups don't work due to some problem
in surefire or testng. instead, we have to exclude via file path
<groups>live,integration</groups>
<excludedGroups>unit,performance</excludedGroups> -->
<excludes>
<exclude>none</exclude>
</excludes>
<includes>
<include>**/*IntegrationTest.java</include>
<include>**/*LiveTest.java</include>
</includes>
<systemProperties>
<property>
<name>file.encoding</name>
<value>UTF-8</value>
<name>test.atmos.endpoint</name>
<value>${test.atmos.endpoint}</value>
</property>
<property>
<name>jclouds.test.ssh.host</name>
<value>${jclouds.test.ssh.host}</value>
<name>test.atmos.apiversion</name>
<value>${test.atmos.apiversion}</value>
</property>
<property>
<name>jclouds.test.ssh.port</name>
<value>${jclouds.test.ssh.port}</value>
<name>test.atmos.identity</name>
<value>${test.atmos.identity}</value>
</property>
<property>
<name>jclouds.test.ssh.username</name>
<value>${jclouds.test.ssh.username}</value>
<name>test.atmos.credential</name>
<value>${test.atmos.credential}</value>
</property>
<property>
<name>jclouds.test.ssh.keyfile</name>
<value>${jclouds.test.ssh.keyfile}</value>
<name>test.initializer</name>
<value>${test.initializer}</value>
</property>
<property>
<name>jclouds.test.ssh.password</name>
<value>${jclouds.test.ssh.password}</value>
<name>jclouds.blobstore.httpstream.url</name>
<value>${jclouds.blobstore.httpstream.url}</value>
</property>
<property>
<name>jclouds.blobstore.httpstream.md5</name>
<value>${jclouds.blobstore.httpstream.md5}</value>
</property>
</systemProperties>
</configuration>
@ -116,5 +125,5 @@
</build>
</profile>
</profiles>
</project>

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas;
package org.jclouds.atmos;
import java.net.URI;
@ -32,19 +32,19 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.jclouds.atmosonline.saas.binders.BindMetadataToHeaders;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmosonline.saas.domain.BoundedSet;
import org.jclouds.atmosonline.saas.domain.DirectoryEntry;
import org.jclouds.atmosonline.saas.domain.SystemMetadata;
import org.jclouds.atmosonline.saas.domain.UserMetadata;
import org.jclouds.atmosonline.saas.filters.SignRequest;
import org.jclouds.atmosonline.saas.functions.AtmosObjectName;
import org.jclouds.atmosonline.saas.functions.ParseDirectoryListFromContentAndHeaders;
import org.jclouds.atmosonline.saas.functions.ParseObjectFromHeadersAndHttpContent;
import org.jclouds.atmosonline.saas.functions.ParseSystemMetadataFromHeaders;
import org.jclouds.atmosonline.saas.functions.ReturnEndpointIfAlreadyExists;
import org.jclouds.atmosonline.saas.options.ListOptions;
import org.jclouds.atmos.binders.BindMetadataToHeaders;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.atmos.domain.BoundedSet;
import org.jclouds.atmos.domain.DirectoryEntry;
import org.jclouds.atmos.domain.SystemMetadata;
import org.jclouds.atmos.domain.UserMetadata;
import org.jclouds.atmos.filters.SignRequest;
import org.jclouds.atmos.functions.AtmosObjectName;
import org.jclouds.atmos.functions.ParseDirectoryListFromContentAndHeaders;
import org.jclouds.atmos.functions.ParseObjectFromHeadersAndHttpContent;
import org.jclouds.atmos.functions.ParseSystemMetadataFromHeaders;
import org.jclouds.atmos.functions.ReturnEndpointIfAlreadyExists;
import org.jclouds.atmos.options.ListOptions;
import org.jclouds.blobstore.functions.ThrowContainerNotFoundOn404;
import org.jclouds.blobstore.functions.ThrowKeyNotFoundOn404;
import org.jclouds.http.options.GetOptions;
@ -65,21 +65,21 @@ import com.google.common.util.concurrent.ListenableFuture;
* Provides asynchronous access to EMC Atmos Online Storage resources via their REST API.
* <p/>
*
* @see AtmosStorageClient
* @see AtmosClient
* @see <a href="https://community.emc.com/community/labs/atmos_online" />
* @author Adrian Cole
*/
@RequestFilters(SignRequest.class)
@SkipEncoding('/')
@Path("/rest/namespace")
public interface AtmosStorageAsyncClient {
public interface AtmosAsyncClient {
/**
* Creates a default implementation of AtmosObject
*/
AtmosObject newObject();
/**
* @see AtmosStorageClient#listDirectories
* @see AtmosClient#listDirectories
*/
@GET
@ResponseParser(ParseDirectoryListFromContentAndHeaders.class)
@ -87,7 +87,7 @@ public interface AtmosStorageAsyncClient {
ListenableFuture<BoundedSet<? extends DirectoryEntry>> listDirectories(ListOptions... options);
/**
* @see AtmosStorageClient#listDirectory
* @see AtmosClient#listDirectory
*/
@GET
@Path("/{directoryName}/")
@ -98,7 +98,7 @@ public interface AtmosStorageAsyncClient {
@PathParam("directoryName") String directoryName, ListOptions... options);
/**
* @see AtmosStorageClient#createDirectory
* @see AtmosClient#createDirectory
*/
@POST
@Path("/{directoryName}/")
@ -108,7 +108,7 @@ public interface AtmosStorageAsyncClient {
ListenableFuture<URI> createDirectory(@PathParam("directoryName") String directoryName);
/**
* @see AtmosStorageClient#createFile
* @see AtmosClient#createFile
*/
@POST
@Path("/{parent}/{name}")
@ -118,7 +118,7 @@ public interface AtmosStorageAsyncClient {
@PathParam("name") @ParamParser(AtmosObjectName.class) @BinderParam(BindMetadataToHeaders.class) AtmosObject object);
/**
* @see AtmosStorageClient#updateFile
* @see AtmosClient#updateFile
*/
@PUT
@Path("/{parent}/{name}")
@ -129,7 +129,7 @@ public interface AtmosStorageAsyncClient {
@PathParam("name") @ParamParser(AtmosObjectName.class) @BinderParam(BindMetadataToHeaders.class) AtmosObject object);
/**
* @see AtmosStorageClient#readFile
* @see AtmosClient#readFile
*/
@GET
@ResponseParser(ParseObjectFromHeadersAndHttpContent.class)
@ -139,7 +139,7 @@ public interface AtmosStorageAsyncClient {
ListenableFuture<AtmosObject> readFile(@PathParam("path") String path, GetOptions... options);
/**
* @see AtmosStorageClient#headFile
* @see AtmosClient#headFile
*/
@HEAD
@ResponseParser(ParseObjectFromHeadersAndHttpContent.class)
@ -149,7 +149,7 @@ public interface AtmosStorageAsyncClient {
ListenableFuture<AtmosObject> headFile(@PathParam("path") String path);
/**
* @see AtmosStorageClient#getSystemMetadata
* @see AtmosClient#getSystemMetadata
*/
@HEAD
@ResponseParser(ParseSystemMetadataFromHeaders.class)
@ -160,7 +160,7 @@ public interface AtmosStorageAsyncClient {
ListenableFuture<SystemMetadata> getSystemMetadata(@PathParam("path") String path);
/**
* @see AtmosStorageClient#getUserMetadata
* @see AtmosClient#getUserMetadata
*/
@HEAD
@ResponseParser(ParseSystemMetadataFromHeaders.class)
@ -171,7 +171,7 @@ public interface AtmosStorageAsyncClient {
ListenableFuture<UserMetadata> getUserMetadata(@PathParam("path") String path);
/**
* @see AtmosStorageClient#deletePath
* @see AtmosClient#deletePath
*/
@DELETE
@ExceptionParser(ReturnVoidOnNotFoundOr404.class)
@ -180,7 +180,7 @@ public interface AtmosStorageAsyncClient {
ListenableFuture<Void> deletePath(@PathParam("path") String path);
/**
* @see AtmosStorageClient#pathExists
* @see AtmosClient#pathExists
*/
@HEAD
@ExceptionParser(ReturnFalseOnNotFoundOr404.class)

View File

@ -17,17 +17,17 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas;
package org.jclouds.atmos;
import java.net.URI;
import java.util.concurrent.TimeUnit;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmosonline.saas.domain.BoundedSet;
import org.jclouds.atmosonline.saas.domain.DirectoryEntry;
import org.jclouds.atmosonline.saas.domain.SystemMetadata;
import org.jclouds.atmosonline.saas.domain.UserMetadata;
import org.jclouds.atmosonline.saas.options.ListOptions;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.atmos.domain.BoundedSet;
import org.jclouds.atmos.domain.DirectoryEntry;
import org.jclouds.atmos.domain.SystemMetadata;
import org.jclouds.atmos.domain.UserMetadata;
import org.jclouds.atmos.options.ListOptions;
import org.jclouds.concurrent.Timeout;
import org.jclouds.http.options.GetOptions;
@ -35,12 +35,12 @@ import org.jclouds.http.options.GetOptions;
* Provides access to EMC Atmos Online Storage resources via their REST API.
* <p/>
*
* @see AtmosStorageAsyncClient
* @see AtmosAsyncClient
* @see <a href="https://community.emc.com/community/labs/atmos_online" />
* @author Adrian Cole
*/
@Timeout(duration = 300, timeUnit = TimeUnit.SECONDS)
public interface AtmosStorageClient {
public interface AtmosClient {
/**
* Creates a default implementation of AtmosObject
*/

View File

@ -17,13 +17,13 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas;
package org.jclouds.atmos;
import java.util.List;
import java.util.Properties;
import org.jclouds.atmosonline.saas.blobstore.config.AtmosBlobStoreContextModule;
import org.jclouds.atmosonline.saas.config.AtmosStorageRestClientModule;
import org.jclouds.atmos.blobstore.config.AtmosBlobStoreContextModule;
import org.jclouds.atmos.config.AtmosRestClientModule;
import org.jclouds.blobstore.BlobStoreContextBuilder;
import org.jclouds.http.config.JavaUrlHttpCommandExecutorServiceModule;
import org.jclouds.logging.jdk.config.JDKLoggingModule;
@ -44,11 +44,11 @@ import com.google.inject.Module;
* @author Adrian Cole, Andrew Newdigate
* @see AtmosBlobStoreContext
*/
public class AtmosStorageContextBuilder extends
BlobStoreContextBuilder<AtmosStorageClient, AtmosStorageAsyncClient> {
public class AtmosContextBuilder extends
BlobStoreContextBuilder<AtmosClient, AtmosAsyncClient> {
public AtmosStorageContextBuilder(Properties props) {
super(AtmosStorageClient.class, AtmosStorageAsyncClient.class, props);
public AtmosContextBuilder(Properties props) {
super(AtmosClient.class, AtmosAsyncClient.class, props);
}
@Override
@ -58,6 +58,6 @@ public class AtmosStorageContextBuilder extends
@Override
protected void addClientModule(List<Module> modules) {
modules.add(new AtmosStorageRestClientModule());
modules.add(new AtmosRestClientModule());
}
}

View File

@ -17,10 +17,10 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas;
package org.jclouds.atmos;
import org.jclouds.atmosonline.saas.domain.AtmosStorageError;
import org.jclouds.atmosonline.saas.handlers.ParseAtmosStorageErrorFromXmlContent;
import org.jclouds.atmos.domain.AtmosError;
import org.jclouds.atmos.handlers.ParseAtmosErrorFromXmlContent;
import org.jclouds.http.HttpCommand;
import org.jclouds.http.HttpResponse;
import org.jclouds.http.HttpResponseException;
@ -28,52 +28,52 @@ import org.jclouds.http.HttpResponseException;
/**
* Encapsulates an Error from Atmos Storage Services.
*
* @see AtmosStorageError
* @see ParseAtmosStorageErrorFromXmlContent
* @see AtmosError
* @see ParseAtmosErrorFromXmlContent
* @author Adrian Cole
*
*/
public class AtmosStorageResponseException extends HttpResponseException {
public class AtmosResponseException extends HttpResponseException {
private static final long serialVersionUID = 1L;
private AtmosStorageError error;
private AtmosError error;
public AtmosStorageResponseException(HttpCommand command, HttpResponse response,
AtmosStorageError error) {
public AtmosResponseException(HttpCommand command, HttpResponse response,
AtmosError error) {
super(String.format("command %s failed with code %s, error: %s", command.getCurrentRequest()
.getRequestLine(), response.getStatusCode(), error.toString()), command, response);
this.setError(error);
}
public AtmosStorageResponseException(HttpCommand command, HttpResponse response,
AtmosStorageError error, Throwable cause) {
public AtmosResponseException(HttpCommand command, HttpResponse response,
AtmosError error, Throwable cause) {
super(String.format("command %1$s failed with error: %2$s", command.getCurrentRequest()
.getRequestLine(), error.toString()), command, response, cause);
this.setError(error);
}
public AtmosStorageResponseException(String message, HttpCommand command, HttpResponse response,
AtmosStorageError error) {
public AtmosResponseException(String message, HttpCommand command, HttpResponse response,
AtmosError error) {
super(message, command, response);
this.setError(error);
}
public AtmosStorageResponseException(String message, HttpCommand command, HttpResponse response,
AtmosStorageError error, Throwable cause) {
public AtmosResponseException(String message, HttpCommand command, HttpResponse response,
AtmosError error, Throwable cause) {
super(message, command, response, cause);
this.setError(error);
}
public void setError(AtmosStorageError error) {
public void setError(AtmosError error) {
this.error = error;
}
public AtmosStorageError getError() {
public AtmosError getError() {
return error;
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.binders;
package org.jclouds.atmos.binders;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
@ -25,7 +25,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.http.HttpRequest;
import org.jclouds.rest.Binder;

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.binders;
package org.jclouds.atmos.binders;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
@ -26,7 +26,7 @@ import java.util.Map;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.UserMetadata;
import org.jclouds.atmos.domain.UserMetadata;
import org.jclouds.http.HttpRequest;
import org.jclouds.http.utils.ModifyRequest;
import org.jclouds.rest.Binder;

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore;
package org.jclouds.atmos.blobstore;
import static com.google.common.base.Preconditions.checkNotNull;
@ -32,18 +32,18 @@ import javax.inject.Provider;
import javax.inject.Singleton;
import org.jclouds.Constants;
import org.jclouds.atmosonline.saas.AtmosStorageAsyncClient;
import org.jclouds.atmosonline.saas.AtmosStorageClient;
import org.jclouds.atmosonline.saas.blobstore.functions.BlobStoreListOptionsToListOptions;
import org.jclouds.atmosonline.saas.blobstore.functions.BlobToObject;
import org.jclouds.atmosonline.saas.blobstore.functions.DirectoryEntryListToResourceMetadataList;
import org.jclouds.atmosonline.saas.blobstore.functions.ObjectToBlob;
import org.jclouds.atmosonline.saas.blobstore.functions.ObjectToBlobMetadata;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmosonline.saas.domain.BoundedSet;
import org.jclouds.atmosonline.saas.domain.DirectoryEntry;
import org.jclouds.atmosonline.saas.options.ListOptions;
import org.jclouds.atmosonline.saas.util.AtmosStorageUtils;
import org.jclouds.atmos.AtmosAsyncClient;
import org.jclouds.atmos.AtmosClient;
import org.jclouds.atmos.blobstore.functions.BlobStoreListOptionsToListOptions;
import org.jclouds.atmos.blobstore.functions.BlobToObject;
import org.jclouds.atmos.blobstore.functions.DirectoryEntryListToResourceMetadataList;
import org.jclouds.atmos.blobstore.functions.ObjectToBlob;
import org.jclouds.atmos.blobstore.functions.ObjectToBlobMetadata;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.atmos.domain.BoundedSet;
import org.jclouds.atmos.domain.DirectoryEntry;
import org.jclouds.atmos.options.ListOptions;
import org.jclouds.atmos.util.AtmosUtils;
import org.jclouds.blobstore.BlobStoreContext;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.blobstore.domain.BlobMetadata;
@ -68,8 +68,8 @@ import com.google.common.util.concurrent.ListenableFuture;
*/
@Singleton
public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
private final AtmosStorageAsyncClient async;
private final AtmosStorageClient sync;
private final AtmosAsyncClient async;
private final AtmosClient sync;
private final ObjectToBlob object2Blob;
private final ObjectToBlobMetadata object2BlobMd;
private final BlobToObject blob2Object;
@ -82,8 +82,8 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
@Inject
AtmosAsyncBlobStore(BlobStoreContext context, BlobUtils blobUtils,
@Named(Constants.PROPERTY_USER_THREADS) ExecutorService service, Supplier<Location> defaultLocation,
@Memoized Supplier<Set<? extends Location>> locations, AtmosStorageAsyncClient async,
AtmosStorageClient sync, ObjectToBlob object2Blob, ObjectToBlobMetadata object2BlobMd,
@Memoized Supplier<Set<? extends Location>> locations, AtmosAsyncClient async,
AtmosClient sync, ObjectToBlob object2Blob, ObjectToBlobMetadata object2BlobMd,
BlobToObject blob2Object, BlobStoreListOptionsToListOptions container2ContainerListOptions,
DirectoryEntryListToResourceMetadataList container2ResourceList, Crypto crypto,
BlobToHttpGetOptions blob2ObjectGetOptions, Provider<FetchBlobMetadata> fetchBlobMetadataProvider) {
@ -102,7 +102,7 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageAsyncClient#headFile}
* This implementation invokes {@link AtmosAsyncClient#headFile}
*/
@Override
public ListenableFuture<BlobMetadata> blobMetadata(String container, String key) {
@ -115,7 +115,7 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageAsyncClient#createDirectory}
* This implementation invokes {@link AtmosAsyncClient#createDirectory}
* <p/>
* Note location is ignored
*/
@ -131,7 +131,7 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageAsyncClient#createDirectory}
* This implementation invokes {@link AtmosAsyncClient#createDirectory}
*/
@Override
public ListenableFuture<Void> createDirectory(String container, String directory) {
@ -145,8 +145,8 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageAsyncClient#deletePath} followed by
* {@link AtmosStorageAsyncClient#pathExists} until it is true.
* This implementation invokes {@link AtmosAsyncClient#deletePath} followed by
* {@link AtmosAsyncClient#pathExists} until it is true.
*/
protected boolean deleteAndVerifyContainerGone(final String container) {
sync.deletePath(container + "/");
@ -154,7 +154,7 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageAsyncClient#pathExists}
* This implementation invokes {@link AtmosAsyncClient#pathExists}
*/
@Override
public ListenableFuture<Boolean> containerExists(String container) {
@ -162,7 +162,7 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageAsyncClient#pathExists}
* This implementation invokes {@link AtmosAsyncClient#pathExists}
*/
@Override
public ListenableFuture<Boolean> directoryExists(String container, String directory) {
@ -178,7 +178,7 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageAsyncClient#pathExists}
* This implementation invokes {@link AtmosAsyncClient#pathExists}
*
* @param container
* container
@ -191,7 +191,7 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageAsyncClient#readFile}
* This implementation invokes {@link AtmosAsyncClient#readFile}
*/
@Override
public ListenableFuture<Blob> getBlob(String container, String key, org.jclouds.blobstore.options.GetOptions options) {
@ -201,7 +201,7 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageAsyncClient#listDirectories}
* This implementation invokes {@link AtmosAsyncClient#listDirectories}
*/
@Override
public ListenableFuture<PageSet<? extends StorageMetadata>> list() {
@ -209,12 +209,12 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageAsyncClient#listDirectory}
* This implementation invokes {@link AtmosAsyncClient#listDirectory}
*/
@Override
public ListenableFuture<PageSet<? extends StorageMetadata>> list(String container,
org.jclouds.blobstore.options.ListContainerOptions options) {
container = AtmosStorageUtils.adjustContainerIfDirOptionPresent(container, options);
container = AtmosUtils.adjustContainerIfDirOptionPresent(container, options);
ListOptions nativeOptions = container2ContainerListOptions.apply(options);
ListenableFuture<BoundedSet<? extends DirectoryEntry>> returnVal = async.listDirectory(container, nativeOptions);
ListenableFuture<PageSet<? extends StorageMetadata>> list = Futures.compose(returnVal, container2ResourceList,
@ -224,7 +224,7 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageAsyncClient#createFile}
* This implementation invokes {@link AtmosAsyncClient#createFile}
* <p/>
* Since there is no etag support in atmos, we just return the path.
*/
@ -234,7 +234,7 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
@Override
public String call() throws Exception {
return AtmosStorageUtils.putBlob(sync, crypto, blob2Object, container, blob);
return AtmosUtils.putBlob(sync, crypto, blob2Object, container, blob);
}
@ -243,7 +243,7 @@ public class AtmosAsyncBlobStore extends BaseAsyncBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageAsyncClient#deletePath}
* This implementation invokes {@link AtmosAsyncClient#deletePath}
*/
@Override
public ListenableFuture<Void> removeBlob(String container, String key) {

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore;
package org.jclouds.atmos.blobstore;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.jclouds.blobstore.util.BlobStoreUtils.cleanRequest;
@ -27,9 +27,9 @@ import java.lang.reflect.Method;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.AtmosStorageAsyncClient;
import org.jclouds.atmosonline.saas.blobstore.functions.BlobToObject;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmos.AtmosAsyncClient;
import org.jclouds.atmos.blobstore.functions.BlobToObject;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.blobstore.BlobRequestSigner;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.http.HttpRequest;
@ -42,20 +42,20 @@ import org.jclouds.rest.internal.RestAnnotationProcessor;
*/
@Singleton
public class AtmosBlobRequestSigner implements BlobRequestSigner {
private final RestAnnotationProcessor<AtmosStorageAsyncClient> processor;
private final RestAnnotationProcessor<AtmosAsyncClient> processor;
private final BlobToObject blobToObject;
private final Method getMethod;
private final Method deleteMethod;
private final Method createMethod;
@Inject
public AtmosBlobRequestSigner(RestAnnotationProcessor<AtmosStorageAsyncClient> processor, BlobToObject blobToObject)
public AtmosBlobRequestSigner(RestAnnotationProcessor<AtmosAsyncClient> processor, BlobToObject blobToObject)
throws SecurityException, NoSuchMethodException {
this.processor = checkNotNull(processor, "processor");
this.blobToObject = checkNotNull(blobToObject, "blobToObject");
this.getMethod = AtmosStorageAsyncClient.class.getMethod("readFile", String.class, GetOptions[].class);
this.deleteMethod = AtmosStorageAsyncClient.class.getMethod("deletePath", String.class);
this.createMethod = AtmosStorageAsyncClient.class.getMethod("createFile", String.class, AtmosObject.class);
this.getMethod = AtmosAsyncClient.class.getMethod("readFile", String.class, GetOptions[].class);
this.deleteMethod = AtmosAsyncClient.class.getMethod("deletePath", String.class);
this.createMethod = AtmosAsyncClient.class.getMethod("createFile", String.class, AtmosObject.class);
}
@ -78,4 +78,4 @@ public class AtmosBlobRequestSigner implements BlobRequestSigner {
return checkNotNull(container, "container") + "/" + checkNotNull(name, "name");
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore;
package org.jclouds.atmos.blobstore;
import static com.google.common.base.Preconditions.checkNotNull;
@ -27,15 +27,15 @@ import javax.inject.Inject;
import javax.inject.Provider;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.AtmosStorageAsyncClient;
import org.jclouds.atmosonline.saas.AtmosStorageClient;
import org.jclouds.atmosonline.saas.blobstore.functions.BlobStoreListOptionsToListOptions;
import org.jclouds.atmosonline.saas.blobstore.functions.BlobToObject;
import org.jclouds.atmosonline.saas.blobstore.functions.DirectoryEntryListToResourceMetadataList;
import org.jclouds.atmosonline.saas.blobstore.functions.ObjectToBlob;
import org.jclouds.atmosonline.saas.blobstore.functions.ObjectToBlobMetadata;
import org.jclouds.atmosonline.saas.options.ListOptions;
import org.jclouds.atmosonline.saas.util.AtmosStorageUtils;
import org.jclouds.atmos.AtmosAsyncClient;
import org.jclouds.atmos.AtmosClient;
import org.jclouds.atmos.blobstore.functions.BlobStoreListOptionsToListOptions;
import org.jclouds.atmos.blobstore.functions.BlobToObject;
import org.jclouds.atmos.blobstore.functions.DirectoryEntryListToResourceMetadataList;
import org.jclouds.atmos.blobstore.functions.ObjectToBlob;
import org.jclouds.atmos.blobstore.functions.ObjectToBlobMetadata;
import org.jclouds.atmos.options.ListOptions;
import org.jclouds.atmos.util.AtmosUtils;
import org.jclouds.blobstore.BlobStoreContext;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.blobstore.domain.BlobMetadata;
@ -57,7 +57,7 @@ import com.google.common.base.Supplier;
*/
@Singleton
public class AtmosBlobStore extends BaseBlobStore {
private final AtmosStorageClient sync;
private final AtmosClient sync;
private final ObjectToBlob object2Blob;
private final ObjectToBlobMetadata object2BlobMd;
private final BlobToObject blob2Object;
@ -69,7 +69,7 @@ public class AtmosBlobStore extends BaseBlobStore {
@Inject
AtmosBlobStore(BlobStoreContext context, BlobUtils blobUtils, Supplier<Location> defaultLocation,
@Memoized Supplier<Set<? extends Location>> locations, AtmosStorageClient sync, ObjectToBlob object2Blob,
@Memoized Supplier<Set<? extends Location>> locations, AtmosClient sync, ObjectToBlob object2Blob,
ObjectToBlobMetadata object2BlobMd, BlobToObject blob2Object,
BlobStoreListOptionsToListOptions container2ContainerListOptions,
DirectoryEntryListToResourceMetadataList container2ResourceList, Crypto crypto,
@ -88,7 +88,7 @@ public class AtmosBlobStore extends BaseBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageClient#headFile}
* This implementation invokes {@link AtmosClient#headFile}
*/
@Override
public BlobMetadata blobMetadata(String container, String key) {
@ -96,8 +96,8 @@ public class AtmosBlobStore extends BaseBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageAsyncClient#deletePath} followed by
* {@link AtmosStorageAsyncClient#pathExists} until it is true.
* This implementation invokes {@link AtmosAsyncClient#deletePath} followed by
* {@link AtmosAsyncClient#pathExists} until it is true.
*/
protected boolean deleteAndVerifyContainerGone(final String container) {
sync.deletePath(container + "/");
@ -105,7 +105,7 @@ public class AtmosBlobStore extends BaseBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageClient#createDirectory}
* This implementation invokes {@link AtmosClient#createDirectory}
*
* @param location
* currently ignored
@ -119,7 +119,7 @@ public class AtmosBlobStore extends BaseBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageClient#createDirectory}
* This implementation invokes {@link AtmosClient#createDirectory}
*
* @param container
* directory name
@ -138,7 +138,7 @@ public class AtmosBlobStore extends BaseBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageClient#pathExists}
* This implementation invokes {@link AtmosClient#pathExists}
*/
@Override
public boolean containerExists(String container) {
@ -146,7 +146,7 @@ public class AtmosBlobStore extends BaseBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageClient#pathExists}
* This implementation invokes {@link AtmosClient#pathExists}
*/
@Override
public boolean directoryExists(String container, String directory) {
@ -154,7 +154,7 @@ public class AtmosBlobStore extends BaseBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageClient#pathExists}
* This implementation invokes {@link AtmosClient#pathExists}
*
* @param container
* container
@ -167,7 +167,7 @@ public class AtmosBlobStore extends BaseBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageClient#readFile}
* This implementation invokes {@link AtmosClient#readFile}
*/
@Override
public Blob getBlob(String container, String key, org.jclouds.blobstore.options.GetOptions options) {
@ -176,7 +176,7 @@ public class AtmosBlobStore extends BaseBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageClient#listDirectories}
* This implementation invokes {@link AtmosClient#listDirectories}
*/
@Override
public PageSet<? extends StorageMetadata> list() {
@ -184,12 +184,12 @@ public class AtmosBlobStore extends BaseBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageClient#listDirectory}
* This implementation invokes {@link AtmosClient#listDirectory}
*/
@Override
public PageSet<? extends StorageMetadata> list(String container,
org.jclouds.blobstore.options.ListContainerOptions options) {
container = AtmosStorageUtils.adjustContainerIfDirOptionPresent(container, options);
container = AtmosUtils.adjustContainerIfDirOptionPresent(container, options);
ListOptions nativeOptions = container2ContainerListOptions.apply(options);
// until includeMeta() option works for namespace interface
PageSet<? extends StorageMetadata> list = container2ResourceList.apply(sync.listDirectory(container,
@ -198,17 +198,17 @@ public class AtmosBlobStore extends BaseBlobStore {
}
/**
* This implementation invokes {@link AtmosStorageClient#createFile}
* This implementation invokes {@link AtmosClient#createFile}
* <p/>
* Since there is no etag support in atmos, we just return the path.
*/
@Override
public String putBlob(final String container, final Blob blob) {
return AtmosStorageUtils.putBlob(sync, crypto, blob2Object, container, blob);
return AtmosUtils.putBlob(sync, crypto, blob2Object, container, blob);
}
/**
* This implementation invokes {@link AtmosStorageClient#deletePath}
* This implementation invokes {@link AtmosClient#deletePath}
*/
@Override
public void removeBlob(String container, String key) {

View File

@ -17,18 +17,18 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.config;
package org.jclouds.atmos.blobstore.config;
import java.util.Set;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.AtmosStorageAsyncClient;
import org.jclouds.atmosonline.saas.AtmosStorageClient;
import org.jclouds.atmosonline.saas.blobstore.AtmosAsyncBlobStore;
import org.jclouds.atmosonline.saas.blobstore.AtmosBlobRequestSigner;
import org.jclouds.atmosonline.saas.blobstore.AtmosBlobStore;
import org.jclouds.atmosonline.saas.blobstore.strategy.FindMD5InUserMetadata;
import org.jclouds.atmos.AtmosAsyncClient;
import org.jclouds.atmos.AtmosClient;
import org.jclouds.atmos.blobstore.AtmosAsyncBlobStore;
import org.jclouds.atmos.blobstore.AtmosBlobRequestSigner;
import org.jclouds.atmos.blobstore.AtmosBlobStore;
import org.jclouds.atmos.blobstore.strategy.FindMD5InUserMetadata;
import org.jclouds.blobstore.AsyncBlobStore;
import org.jclouds.blobstore.BlobRequestSigner;
import org.jclouds.blobstore.BlobStore;
@ -65,7 +65,7 @@ public class AtmosBlobStoreContextModule extends AbstractModule {
bind(AsyncBlobStore.class).to(AtmosAsyncBlobStore.class).in(Scopes.SINGLETON);
bind(BlobStore.class).to(AtmosBlobStore.class).in(Scopes.SINGLETON);
bind(BlobStoreContext.class).to(
new TypeLiteral<BlobStoreContextImpl<AtmosStorageClient, AtmosStorageAsyncClient>>() {
new TypeLiteral<BlobStoreContextImpl<AtmosClient, AtmosAsyncClient>>() {
}).in(Scopes.SINGLETON);
bind(ContainsValueInListStrategy.class).to(FindMD5InUserMetadata.class);
bind(BlobRequestSigner.class).to(AtmosBlobRequestSigner.class);

View File

@ -17,15 +17,15 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.functions;
package org.jclouds.atmos.blobstore.functions;
import java.util.Map.Entry;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmosonline.saas.domain.UserMetadata;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.atmos.domain.UserMetadata;
import org.jclouds.blobstore.domain.BlobMetadata;
import com.google.common.base.Function;
@ -58,4 +58,4 @@ public class BlobMetadataToObject implements Function<BlobMetadata, AtmosObject>
return factory.create(blob2ContentMd.apply(from), blob2SysMd.apply(from), userMd);
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.functions;
package org.jclouds.atmos.blobstore.functions;
import static com.google.common.base.Preconditions.checkNotNull;
@ -32,11 +32,11 @@ import com.google.common.base.Function;
*/
@Singleton
public class BlobStoreListOptionsToListOptions implements
Function<ListContainerOptions, org.jclouds.atmosonline.saas.options.ListOptions> {
Function<ListContainerOptions, org.jclouds.atmos.options.ListOptions> {
@Override
public org.jclouds.atmosonline.saas.options.ListOptions apply(ListContainerOptions from) {
public org.jclouds.atmos.options.ListOptions apply(ListContainerOptions from) {
checkNotNull(from, "set options to instance NONE instead of passing null");
org.jclouds.atmosonline.saas.options.ListOptions httpOptions = new org.jclouds.atmosonline.saas.options.ListOptions();
org.jclouds.atmos.options.ListOptions httpOptions = new org.jclouds.atmos.options.ListOptions();
if (from.getMarker() != null) {
httpOptions.token(from.getMarker());
}
@ -48,4 +48,4 @@ public class BlobStoreListOptionsToListOptions implements
}
return httpOptions;
}
}
}

View File

@ -17,12 +17,12 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.functions;
package org.jclouds.atmos.blobstore.functions;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.MutableContentMetadata;
import org.jclouds.atmosonline.saas.domain.internal.DelegatingMutableContentMetadata;
import org.jclouds.atmos.domain.MutableContentMetadata;
import org.jclouds.atmos.domain.internal.DelegatingMutableContentMetadata;
import org.jclouds.blobstore.domain.BlobMetadata;
import org.jclouds.blobstore.domain.internal.MutableBlobMetadataImpl;
import org.jclouds.http.HttpUtils;
@ -40,4 +40,4 @@ public class BlobToContentMetadata implements Function<BlobMetadata, MutableCont
return new DelegatingMutableContentMetadata(base.getName(), to.getContentMetadata());
}
}
}

View File

@ -17,14 +17,14 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.functions;
package org.jclouds.atmos.blobstore.functions;
import static com.google.common.base.Preconditions.checkNotNull;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.blobstore.domain.Blob;
import com.google.common.base.Function;
@ -49,4 +49,4 @@ public class BlobToObject implements Function<Blob, AtmosObject> {
object.setAllHeaders(from.getAllHeaders());
return object;
}
}
}

View File

@ -17,12 +17,12 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.functions;
package org.jclouds.atmos.blobstore.functions;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.FileType;
import org.jclouds.atmosonline.saas.domain.SystemMetadata;
import org.jclouds.atmos.domain.FileType;
import org.jclouds.atmos.domain.SystemMetadata;
import org.jclouds.blobstore.domain.BlobMetadata;
import com.google.common.base.Function;
@ -38,4 +38,4 @@ public class BlobToSystemMetadata implements Function<BlobMetadata, SystemMetada
.getContentMetadata().getContentLength() : 0, FileType.REGULAR, "root");
}
}
}

View File

@ -17,14 +17,14 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.functions;
package org.jclouds.atmos.blobstore.functions;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.BoundedSet;
import org.jclouds.atmosonline.saas.domain.DirectoryEntry;
import org.jclouds.atmosonline.saas.domain.FileType;
import org.jclouds.atmos.domain.BoundedSet;
import org.jclouds.atmos.domain.DirectoryEntry;
import org.jclouds.atmos.domain.FileType;
import org.jclouds.blobstore.domain.PageSet;
import org.jclouds.blobstore.domain.StorageMetadata;
import org.jclouds.blobstore.domain.StorageType;
@ -70,4 +70,4 @@ public class DirectoryEntryListToResourceMetadataList implements
}), from.getToken());
}
}
}

View File

@ -17,14 +17,14 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.functions;
package org.jclouds.atmos.blobstore.functions;
import static com.google.common.base.Preconditions.checkNotNull;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.blobstore.domain.Blob.Factory;
import org.jclouds.http.HttpUtils;

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.functions;
package org.jclouds.atmos.blobstore.functions;
import java.util.Map;
import java.util.Set;
@ -26,9 +26,9 @@ import java.util.Map.Entry;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmosonline.saas.domain.FileType;
import org.jclouds.atmosonline.saas.functions.AtmosObjectName;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.atmos.domain.FileType;
import org.jclouds.atmos.functions.AtmosObjectName;
import org.jclouds.blobstore.domain.MutableBlobMetadata;
import org.jclouds.blobstore.domain.StorageType;
import org.jclouds.blobstore.domain.internal.MutableBlobMetadataImpl;
@ -75,4 +75,4 @@ public class ObjectToBlobMetadata implements Function<AtmosObject, MutableBlobMe
to.setUserMetadata(lowerKeyMetadata);
return to;
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.strategy;
package org.jclouds.atmos.blobstore.strategy;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.jclouds.concurrent.FutureIterables.awaitCompletion;
@ -36,8 +36,8 @@ import javax.inject.Named;
import javax.inject.Singleton;
import org.jclouds.Constants;
import org.jclouds.atmosonline.saas.AtmosStorageAsyncClient;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmos.AtmosAsyncClient;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.blobstore.domain.BlobMetadata;
import org.jclouds.blobstore.functions.ObjectMD5;
import org.jclouds.blobstore.internal.BlobRuntimeException;
@ -63,7 +63,7 @@ public class FindMD5InUserMetadata implements ContainsValueInListStrategy {
protected Logger logger = Logger.NULL;
protected final ObjectMD5 objectMD5;
protected final ListBlobsInContainer getAllBlobMetadata;
private final AtmosStorageAsyncClient client;
private final AtmosAsyncClient client;
private final ExecutorService userExecutor;
/**
* maximum duration of an blob Request
@ -74,7 +74,7 @@ public class FindMD5InUserMetadata implements ContainsValueInListStrategy {
@Inject
FindMD5InUserMetadata(@Named(Constants.PROPERTY_USER_THREADS) ExecutorService userExecutor, ObjectMD5 objectMD5,
ListBlobsInContainer getAllBlobMetadata, AtmosStorageAsyncClient client) {
ListBlobsInContainer getAllBlobMetadata, AtmosAsyncClient client) {
this.objectMD5 = objectMD5;
this.getAllBlobMetadata = getAllBlobMetadata;
this.client = client;

View File

@ -17,10 +17,10 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.config;
package org.jclouds.atmos.config;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmosonline.saas.domain.MutableContentMetadata;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.atmos.domain.MutableContentMetadata;
import org.jclouds.blobstore.config.BlobStoreObjectModule;
import com.google.inject.AbstractModule;
@ -48,4 +48,4 @@ public class AtmosObjectModule extends AbstractModule {
return factory.create((MutableContentMetadata) null);
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.rackspace.config;
package org.jclouds.atmos.config;
import org.jclouds.json.config.GsonModule.DateAdapter;
import org.jclouds.json.config.GsonModule.Iso8601DateAdapter;
@ -25,14 +25,15 @@ import org.jclouds.json.config.GsonModule.Iso8601DateAdapter;
import com.google.inject.AbstractModule;
/**
*
*
* @author Adrian Cole
*/
public class RackspaceParserModule extends AbstractModule {
public class AtmosParserModule extends AbstractModule {
@Override
protected void configure() {
bind(DateAdapter.class).to(Iso8601DateAdapter.class);
}
}
}

View File

@ -17,17 +17,17 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.config;
package org.jclouds.atmos.config;
import java.util.concurrent.TimeUnit;
import javax.inject.Named;
import org.jclouds.Constants;
import org.jclouds.atmosonline.saas.AtmosStorageAsyncClient;
import org.jclouds.atmosonline.saas.AtmosStorageClient;
import org.jclouds.atmosonline.saas.handlers.AtmosStorageClientErrorRetryHandler;
import org.jclouds.atmosonline.saas.handlers.ParseAtmosStorageErrorFromXmlContent;
import org.jclouds.atmos.AtmosAsyncClient;
import org.jclouds.atmos.AtmosClient;
import org.jclouds.atmos.handlers.AtmosClientErrorRetryHandler;
import org.jclouds.atmos.handlers.ParseAtmosErrorFromXmlContent;
import org.jclouds.date.DateService;
import org.jclouds.date.TimeStamp;
import org.jclouds.http.HttpErrorHandler;
@ -51,14 +51,14 @@ import com.google.inject.Provides;
*/
@ConfiguresRestClient
@RequiresHttp
public class AtmosStorageRestClientModule extends RestClientModule<AtmosStorageClient, AtmosStorageAsyncClient> {
public AtmosStorageRestClientModule() {
super(AtmosStorageClient.class, AtmosStorageAsyncClient.class);
public class AtmosRestClientModule extends RestClientModule<AtmosClient, AtmosAsyncClient> {
public AtmosRestClientModule() {
super(AtmosClient.class, AtmosAsyncClient.class);
}
@Override
protected void configure() {
install(new AtmosStorageParserModule());
install(new AtmosParserModule());
install(new AtmosObjectModule());
super.configure();
}
@ -85,14 +85,14 @@ public class AtmosStorageRestClientModule extends RestClientModule<AtmosStorageC
@Override
protected void bindErrorHandlers() {
bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(ParseAtmosStorageErrorFromXmlContent.class);
bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(ParseAtmosStorageErrorFromXmlContent.class);
bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(ParseAtmosStorageErrorFromXmlContent.class);
bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(ParseAtmosErrorFromXmlContent.class);
bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(ParseAtmosErrorFromXmlContent.class);
bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(ParseAtmosErrorFromXmlContent.class);
}
@Override
protected void bindRetryHandlers() {
bind(HttpRetryHandler.class).annotatedWith(ClientError.class).to(AtmosStorageClientErrorRetryHandler.class);
bind(HttpRetryHandler.class).annotatedWith(ClientError.class).to(AtmosClientErrorRetryHandler.class);
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.domain;
package org.jclouds.atmos.domain;
/**
* When an Atmos Storage request is in error, the client receives an error response.
@ -27,18 +27,18 @@ package org.jclouds.atmosonline.saas.domain;
* @author Adrian Cole
*
*/
public class AtmosStorageError {
public class AtmosError {
private final int code;
private final String message;
private String stringSigned;
@Override
public String toString() {
return "AtmosStorageError [code=" + code + ", message=" + message
return "AtmosError [code=" + code + ", message=" + message
+ (stringSigned != null ? (", stringSigned=" + stringSigned) : "") + "]";
}
public AtmosStorageError(int code, String message) {
public AtmosError(int code, String message) {
this.code = code;
this.message = message;
}

View File

@ -17,11 +17,11 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.domain;
package org.jclouds.atmos.domain;
import javax.annotation.Nullable;
import org.jclouds.atmosonline.saas.domain.internal.AtmosObjectImpl.AtmosObjectFactory;
import org.jclouds.atmos.domain.internal.AtmosObjectImpl.AtmosObjectFactory;
import org.jclouds.io.PayloadEnclosing;
import com.google.common.collect.Multimap;
@ -55,4 +55,4 @@ public interface AtmosObject extends PayloadEnclosing, Comparable<AtmosObject> {
Multimap<String, String> getAllHeaders();
void setAllHeaders(Multimap<String, String> allHeaders);
}
}

View File

@ -17,13 +17,13 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.domain;
package org.jclouds.atmos.domain;
import java.util.Set;
import javax.annotation.Nullable;
import org.jclouds.atmosonline.saas.domain.internal.BoundedLinkedHashSet;
import org.jclouds.atmos.domain.internal.BoundedLinkedHashSet;
import com.google.inject.ImplementedBy;
@ -38,4 +38,4 @@ public interface BoundedSet<T> extends Set<T> {
@Nullable
String getToken();
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.domain;
package org.jclouds.atmos.domain;
/**
* Metadata of a Atmos Online object
@ -95,4 +95,4 @@ public class DirectoryEntry implements Comparable<DirectoryEntry> {
return "DirectoryEntry [type=" + type + ", objectid=" + objectid + ", objname=" + objname
+ "]";
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.domain;
package org.jclouds.atmos.domain;
public enum FileType {

View File

@ -17,9 +17,9 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.domain;
package org.jclouds.atmos.domain;
import org.jclouds.atmosonline.saas.domain.internal.DelegatingMutableContentMetadata;
import org.jclouds.atmos.domain.internal.DelegatingMutableContentMetadata;
import com.google.inject.ImplementedBy;
@ -35,4 +35,4 @@ public interface MutableContentMetadata extends org.jclouds.io.MutableContentMet
public void setName(String name);
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.domain;
package org.jclouds.atmos.domain;
import java.util.Date;
@ -168,4 +168,4 @@ public class SystemMetadata extends DirectoryEntry {
return "[type=" + getType() + ", id=" + getObjectID() + ", name=" + getObjectName() + "]";
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.domain;
package org.jclouds.atmos.domain;
import java.net.URI;

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.domain;
package org.jclouds.atmos.domain;
import static com.google.common.base.Preconditions.checkNotNull;
@ -118,4 +118,4 @@ public class UserMetadata {
return true;
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.domain.internal;
package org.jclouds.atmos.domain.internal;
import static com.google.common.base.Preconditions.checkNotNull;
@ -25,10 +25,10 @@ import javax.inject.Inject;
import javax.inject.Provider;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmosonline.saas.domain.MutableContentMetadata;
import org.jclouds.atmosonline.saas.domain.SystemMetadata;
import org.jclouds.atmosonline.saas.domain.UserMetadata;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.atmos.domain.MutableContentMetadata;
import org.jclouds.atmos.domain.SystemMetadata;
import org.jclouds.atmos.domain.UserMetadata;
import org.jclouds.http.internal.PayloadEnclosingImpl;
import org.jclouds.io.Payload;

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.domain.internal;
package org.jclouds.atmos.domain.internal;
import static com.google.common.base.Preconditions.checkNotNull;
@ -25,7 +25,7 @@ import java.util.LinkedHashSet;
import javax.annotation.Nullable;
import org.jclouds.atmosonline.saas.domain.BoundedSet;
import org.jclouds.atmos.domain.BoundedSet;
import com.google.common.collect.Iterables;
@ -80,4 +80,4 @@ public class BoundedLinkedHashSet<T> extends LinkedHashSet<T> implements Bounded
return "[token=" + token + ", contents=" + super.toString() + "]";
}
}
}

View File

@ -17,9 +17,9 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.domain.internal;
package org.jclouds.atmos.domain.internal;
import org.jclouds.atmosonline.saas.domain.MutableContentMetadata;
import org.jclouds.atmos.domain.MutableContentMetadata;
import org.jclouds.io.payloads.BaseMutableContentMetadata;
import com.google.common.collect.Multimap;
@ -157,4 +157,4 @@ public class DelegatingMutableContentMetadata implements MutableContentMetadata
delegate.setPropertiesFromHttpHeaders(headers);
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.filters;
package org.jclouds.atmos.filters;
import static org.jclouds.Constants.LOGGER_SIGNATURE;
import static org.jclouds.Constants.PROPERTY_CREDENTIAL;
@ -35,7 +35,7 @@ import javax.inject.Provider;
import javax.inject.Singleton;
import javax.ws.rs.core.HttpHeaders;
import org.jclouds.atmosonline.saas.reference.AtmosStorageHeaders;
import org.jclouds.atmos.reference.AtmosHeaders;
import org.jclouds.crypto.Crypto;
import org.jclouds.crypto.CryptoStreams;
import org.jclouds.date.TimeStamp;
@ -93,14 +93,14 @@ public class SignRequest implements HttpRequestFilter {
@Override
public HttpRequest filter(HttpRequest request) throws HttpException {
Builder<String, String> builder = ImmutableMap.builder();
builder.put(AtmosStorageHeaders.UID, uid);
builder.put(AtmosHeaders.UID, uid);
String date = timeStampProvider.get();
builder.put(HttpHeaders.DATE, date);
if (request.getHeaders().containsKey(AtmosStorageHeaders.DATE))
builder.put(AtmosStorageHeaders.DATE, date);
if (request.getHeaders().containsKey(AtmosHeaders.DATE))
builder.put(AtmosHeaders.DATE, date);
request = ModifyRequest.replaceHeaders(request, Multimaps.forMap(builder.build()));
String signature = calculateSignature(createStringToSign(request));
request = ModifyRequest.replaceHeader(request, AtmosStorageHeaders.SIGNATURE, signature);
request = ModifyRequest.replaceHeader(request, AtmosHeaders.SIGNATURE, signature);
utils.logRequest(signatureLog, request, "<<");
return request;
}
@ -144,7 +144,7 @@ public class SignRequest implements HttpRequestFilter {
// TreeSet == Sort the headers alphabetically.
Set<String> headers = new TreeSet<String>(request.getHeaders().keySet());
for (String header : headers) {
if (header.startsWith("x-emc-") && !header.equals(AtmosStorageHeaders.SIGNATURE)) {
if (header.startsWith("x-emc-") && !header.equals(AtmosHeaders.SIGNATURE)) {
// Convert all header names to lowercase.
toSign.append(header.toLowerCase()).append(":");
// For headers with values that span multiple lines, convert them into one line by
@ -188,4 +188,4 @@ public class SignRequest implements HttpRequestFilter {
toSign.append(request.getEndpoint().getRawPath().toLowerCase()).append("\n");
}
}
}

View File

@ -17,14 +17,14 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.functions;
package org.jclouds.atmos.functions;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmos.domain.AtmosObject;
import com.google.common.base.Function;
@ -44,4 +44,4 @@ public class AtmosObjectName implements Function<Object, String> {
: object.getSystemMetadata().getObjectName(), "objectName");
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.functions;
package org.jclouds.atmos.functions;
import static com.google.common.base.Preconditions.checkNotNull;
@ -25,11 +25,11 @@ import javax.inject.Inject;
import javax.inject.Provider;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.BoundedSet;
import org.jclouds.atmosonline.saas.domain.DirectoryEntry;
import org.jclouds.atmosonline.saas.domain.internal.BoundedLinkedHashSet;
import org.jclouds.atmosonline.saas.reference.AtmosStorageHeaders;
import org.jclouds.atmosonline.saas.xml.ListDirectoryResponseHandler;
import org.jclouds.atmos.domain.BoundedSet;
import org.jclouds.atmos.domain.DirectoryEntry;
import org.jclouds.atmos.domain.internal.BoundedLinkedHashSet;
import org.jclouds.atmos.reference.AtmosHeaders;
import org.jclouds.atmos.xml.ListDirectoryResponseHandler;
import org.jclouds.http.HttpResponse;
import org.jclouds.http.functions.ParseSax;
import org.jclouds.http.functions.ParseSax.Factory;
@ -58,7 +58,7 @@ public class ParseDirectoryListFromContentAndHeaders implements Function<HttpRes
*/
public BoundedSet<DirectoryEntry> apply(HttpResponse from) {
checkNotNull(from, "http response");
String token = from.getFirstHeaderOrNull(AtmosStorageHeaders.TOKEN);
String token = from.getFirstHeaderOrNull(AtmosHeaders.TOKEN);
return new BoundedLinkedHashSet<DirectoryEntry>(factory.create(listHandlerProvider.get()).parse(
from.getPayload().getInput()), token);
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.functions;
package org.jclouds.atmos.functions;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.jclouds.http.HttpUtils.attemptToParseSizeAndRangeFromHeaders;
@ -25,7 +25,7 @@ import static org.jclouds.http.HttpUtils.attemptToParseSizeAndRangeFromHeaders;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.blobstore.functions.ParseSystemAndUserMetadataFromHeaders;
import org.jclouds.http.HttpResponse;
@ -69,4 +69,4 @@ public class ParseObjectFromHeadersAndHttpContent implements Function<HttpRespon
object.getContentMetadata().setContentLength(attemptToParseSizeAndRangeFromHeaders(from));
return object;
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.functions;
package org.jclouds.atmos.functions;
import static com.google.common.base.Preconditions.checkNotNull;
@ -26,9 +26,9 @@ import java.util.Map;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.FileType;
import org.jclouds.atmosonline.saas.domain.SystemMetadata;
import org.jclouds.atmosonline.saas.reference.AtmosStorageHeaders;
import org.jclouds.atmos.domain.FileType;
import org.jclouds.atmos.domain.SystemMetadata;
import org.jclouds.atmos.reference.AtmosHeaders;
import org.jclouds.crypto.CryptoStreams;
import org.jclouds.date.DateService;
import org.jclouds.http.HttpResponse;
@ -50,7 +50,7 @@ public class ParseSystemMetadataFromHeaders implements Function<HttpResponse, Sy
public SystemMetadata apply(HttpResponse from) {
checkNotNull(from, "http response");
String meta = checkNotNull(from.getFirstHeaderOrNull(AtmosStorageHeaders.META), AtmosStorageHeaders.META);
String meta = checkNotNull(from.getFirstHeaderOrNull(AtmosHeaders.META), AtmosHeaders.META);
Map<String, String> metaMap = Maps.newHashMap();
String[] metas = meta.split(", ");
for (String entry : metas) {
@ -68,4 +68,4 @@ public class ParseSystemMetadataFromHeaders implements Function<HttpResponse, Sy
"policyname"), Long.parseLong(checkNotNull(metaMap.get("size"), "size")),
FileType.fromValue(checkNotNull(metaMap.get("type"), "type")), checkNotNull(metaMap.get("uid"), "uid"));
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.functions;
package org.jclouds.atmos.functions;
import static com.google.common.base.Preconditions.checkNotNull;
@ -26,8 +26,8 @@ import java.util.Set;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.UserMetadata;
import org.jclouds.atmosonline.saas.reference.AtmosStorageHeaders;
import org.jclouds.atmos.domain.UserMetadata;
import org.jclouds.atmos.reference.AtmosHeaders;
import org.jclouds.http.HttpResponse;
import com.google.common.base.Function;
@ -58,17 +58,17 @@ public class ParseUserMetadataFromHeaders implements Function<HttpResponse, User
checkNotNull(from, "http response");
Map<String, String> meta = Maps.filterKeys(
getMetaMap(checkNotNull(from.getFirstHeaderOrNull(AtmosStorageHeaders.META), AtmosStorageHeaders.META)),
getMetaMap(checkNotNull(from.getFirstHeaderOrNull(AtmosHeaders.META), AtmosHeaders.META)),
filter);
Map<String, String> listableMeta = (from.getFirstHeaderOrNull(AtmosStorageHeaders.LISTABLE_META) != null) ? getMetaMap(from
.getFirstHeaderOrNull(AtmosStorageHeaders.LISTABLE_META)) : ImmutableMap.<String, String> of();
Map<String, String> listableMeta = (from.getFirstHeaderOrNull(AtmosHeaders.LISTABLE_META) != null) ? getMetaMap(from
.getFirstHeaderOrNull(AtmosHeaders.LISTABLE_META)) : ImmutableMap.<String, String> of();
Iterable<String> tags = (from.getFirstHeaderOrNull(AtmosStorageHeaders.TAGS) != null) ? Splitter.on(", ").split(
from.getFirstHeaderOrNull(AtmosStorageHeaders.TAGS)) : ImmutableSet.<String> of();
Iterable<String> tags = (from.getFirstHeaderOrNull(AtmosHeaders.TAGS) != null) ? Splitter.on(", ").split(
from.getFirstHeaderOrNull(AtmosHeaders.TAGS)) : ImmutableSet.<String> of();
Iterable<String> listableTags = (from.getFirstHeaderOrNull(AtmosStorageHeaders.LISTABLE_TAGS) != null) ? Splitter
.on(", ").split(from.getFirstHeaderOrNull(AtmosStorageHeaders.LISTABLE_TAGS)) : ImmutableSet.<String> of();
Iterable<String> listableTags = (from.getFirstHeaderOrNull(AtmosHeaders.LISTABLE_TAGS) != null) ? Splitter
.on(", ").split(from.getFirstHeaderOrNull(AtmosHeaders.LISTABLE_TAGS)) : ImmutableSet.<String> of();
return new UserMetadata(meta, listableMeta, tags, listableTags);
}
@ -82,4 +82,4 @@ public class ParseUserMetadataFromHeaders implements Function<HttpResponse, User
}
return metaMap.build();
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.functions;
package org.jclouds.atmos.functions;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.jclouds.util.Throwables2.propagateOrNull;
@ -60,4 +60,4 @@ public class ReturnEndpointIfAlreadyExists implements Function<Exception, URI>,
return this;
}
}
}

View File

@ -17,14 +17,14 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.handlers;
package org.jclouds.atmos.handlers;
import javax.annotation.Resource;
import javax.inject.Named;
import org.jclouds.Constants;
import org.jclouds.atmosonline.saas.domain.AtmosStorageError;
import org.jclouds.atmosonline.saas.util.AtmosStorageUtils;
import org.jclouds.atmos.domain.AtmosError;
import org.jclouds.atmos.util.AtmosUtils;
import org.jclouds.http.HttpCommand;
import org.jclouds.http.HttpException;
import org.jclouds.http.HttpResponse;
@ -40,13 +40,13 @@ import com.google.inject.Inject;
*
* @author Adrian Cole
*/
public class AtmosStorageClientErrorRetryHandler implements HttpRetryHandler {
private final AtmosStorageUtils utils;
public class AtmosClientErrorRetryHandler implements HttpRetryHandler {
private final AtmosUtils utils;
private final BackoffLimitedRetryHandler backoffHandler;
@Inject
public AtmosStorageClientErrorRetryHandler(BackoffLimitedRetryHandler backoffHandler,
AtmosStorageUtils utils) {
public AtmosClientErrorRetryHandler(BackoffLimitedRetryHandler backoffHandler,
AtmosUtils utils) {
this.backoffHandler = backoffHandler;
this.utils = utils;
}
@ -68,7 +68,7 @@ public class AtmosStorageClientErrorRetryHandler implements HttpRetryHandler {
// Content can be null in the case of HEAD requests
if (content != null) {
try {
AtmosStorageError error = utils.parseAtmosStorageErrorFromContent(command, response,
AtmosError error = utils.parseAtmosErrorFromContent(command, response,
new String(content));
if (error.getCode() == 1016) {
return backoffHandler.shouldRetryRequest(command, response);

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.handlers;
package org.jclouds.atmos.handlers;
import static org.jclouds.http.HttpUtils.releasePayload;
@ -30,9 +30,9 @@ import javax.annotation.Resource;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.AtmosStorageResponseException;
import org.jclouds.atmosonline.saas.domain.AtmosStorageError;
import org.jclouds.atmosonline.saas.util.AtmosStorageUtils;
import org.jclouds.atmos.AtmosResponseException;
import org.jclouds.atmos.domain.AtmosError;
import org.jclouds.atmos.util.AtmosUtils;
import org.jclouds.blobstore.ContainerNotFoundException;
import org.jclouds.blobstore.KeyAlreadyExistsException;
import org.jclouds.blobstore.KeyNotFoundException;
@ -47,19 +47,19 @@ import org.jclouds.util.Strings2;
/**
* This will parse and set an appropriate exception on the command object.
*
* @see AtmosStorageError
* @see AtmosError
* @author Adrian Cole
*
*/
@Singleton
public class ParseAtmosStorageErrorFromXmlContent implements HttpErrorHandler {
public class ParseAtmosErrorFromXmlContent implements HttpErrorHandler {
@Resource
protected Logger logger = Logger.NULL;
private final AtmosStorageUtils utils;
private final AtmosUtils utils;
@Inject
public ParseAtmosStorageErrorFromXmlContent(AtmosStorageUtils utils) {
public ParseAtmosErrorFromXmlContent(AtmosUtils utils) {
this.utils = utils;
}
@ -69,12 +69,12 @@ public class ParseAtmosStorageErrorFromXmlContent implements HttpErrorHandler {
public void handleError(HttpCommand command, HttpResponse response) {
Exception exception = new HttpResponseException(command, response);
try {
AtmosStorageError error = null;
AtmosError error = null;
if (response.getPayload() != null) {
try {
String content = Strings2.toStringAndClose(response.getPayload().getInput());
if (content != null && content.indexOf('<') >= 0) {
error = utils.parseAtmosStorageErrorFromContent(command, response, Strings2.toInputStream(content));
error = utils.parseAtmosErrorFromContent(command, response, Strings2.toInputStream(content));
} else {
exception = content != null ? new HttpResponseException(command, response, content) : exception;
}
@ -107,7 +107,7 @@ public class ParseAtmosStorageErrorFromXmlContent implements HttpErrorHandler {
}
break;
default:
exception = error != null ? new AtmosStorageResponseException(command, response, error)
exception = error != null ? new AtmosResponseException(command, response, error)
: new HttpResponseException(command, response);
}
@ -118,4 +118,4 @@ public class ParseAtmosStorageErrorFromXmlContent implements HttpErrorHandler {
}
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.options;
package org.jclouds.atmos.options;
import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Preconditions.checkState;

View File

@ -17,16 +17,16 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.reference;
package org.jclouds.atmos.reference;
/**
* Query parameters common to AtmosStorage apis.
* Query parameters common to Atmos apis.
*
* @see <a href="https://community.emc.com/community/labs/atmos_online" />
* @author Adrian Cole
*
*/
public interface AtmosStorageHeaders {
public interface AtmosHeaders {
public static final String SIGNATURE = "x-emc-signature";
public static final String LISTABLE_META = "x-emc-listable-meta";

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.util;
package org.jclouds.atmos.util;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@ -25,11 +25,11 @@ import java.io.InputStream;
import javax.inject.Inject;
import javax.inject.Provider;
import org.jclouds.atmosonline.saas.AtmosStorageClient;
import org.jclouds.atmosonline.saas.blobstore.functions.BlobToObject;
import org.jclouds.atmosonline.saas.domain.AtmosStorageError;
import org.jclouds.atmosonline.saas.filters.SignRequest;
import org.jclouds.atmosonline.saas.xml.ErrorHandler;
import org.jclouds.atmos.AtmosClient;
import org.jclouds.atmos.blobstore.functions.BlobToObject;
import org.jclouds.atmos.domain.AtmosError;
import org.jclouds.atmos.filters.SignRequest;
import org.jclouds.atmos.xml.ErrorHandler;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.crypto.Crypto;
import org.jclouds.http.HttpCommand;
@ -46,7 +46,7 @@ import com.google.common.base.Supplier;
*
* @author Adrian Cole
*/
public class AtmosStorageUtils {
public class AtmosUtils {
@Inject
SignRequest signer;
@ -57,9 +57,9 @@ public class AtmosStorageUtils {
@Inject
Provider<ErrorHandler> errorHandlerProvider;
public AtmosStorageError parseAtmosStorageErrorFromContent(HttpCommand command, HttpResponse response,
public AtmosError parseAtmosErrorFromContent(HttpCommand command, HttpResponse response,
InputStream content) throws HttpException {
AtmosStorageError error = (AtmosStorageError) factory.create(errorHandlerProvider.get()).parse(content);
AtmosError error = (AtmosError) factory.create(errorHandlerProvider.get()).parse(content);
if (error.getCode() == 1032) {
error.setStringSigned(signer.createStringToSign(command.getCurrentRequest()));
}
@ -67,7 +67,7 @@ public class AtmosStorageUtils {
}
public static String putBlob(final AtmosStorageClient sync, Crypto crypto, BlobToObject blob2Object,
public static String putBlob(final AtmosClient sync, Crypto crypto, BlobToObject blob2Object,
String container, Blob blob) {
final String path = container + "/" + blob.getMetadata().getName();
deleteAndEnsureGone(sync, path);
@ -75,7 +75,7 @@ public class AtmosStorageUtils {
return path;
}
public static void deleteAndEnsureGone(final AtmosStorageClient sync, final String path) {
public static void deleteAndEnsureGone(final AtmosClient sync, final String path) {
try {
if (!Assertions.eventuallyTrue(new Supplier<Boolean>() {
public Boolean get() {
@ -90,9 +90,9 @@ public class AtmosStorageUtils {
}
}
public AtmosStorageError parseAtmosStorageErrorFromContent(HttpCommand command, HttpResponse response, String content)
public AtmosError parseAtmosErrorFromContent(HttpCommand command, HttpResponse response, String content)
throws HttpException {
return parseAtmosStorageErrorFromContent(command, response, new ByteArrayInputStream(content.getBytes()));
return parseAtmosErrorFromContent(command, response, new ByteArrayInputStream(content.getBytes()));
}
public static String adjustContainerIfDirOptionPresent(String container,
@ -107,4 +107,4 @@ public class AtmosStorageUtils {
}
return container;
}
}
}

View File

@ -17,9 +17,9 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.xml;
package org.jclouds.atmos.xml;
import org.jclouds.atmosonline.saas.domain.AtmosStorageError;
import org.jclouds.atmos.domain.AtmosError;
import org.jclouds.http.functions.ParseSax;
/**
@ -27,14 +27,14 @@ import org.jclouds.http.functions.ParseSax;
*
* @author Adrian Cole
*/
public class ErrorHandler extends ParseSax.HandlerWithResult<AtmosStorageError> {
public class ErrorHandler extends ParseSax.HandlerWithResult<AtmosError> {
private StringBuilder currentText = new StringBuilder();
private int code;
private String message;
public AtmosStorageError getResult() {
return new AtmosStorageError(code, message);
public AtmosError getResult() {
return new AtmosError(code, message);
}
public void endElement(String uri, String name, String qName) {

View File

@ -17,12 +17,12 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.xml;
package org.jclouds.atmos.xml;
import java.util.Set;
import org.jclouds.atmosonline.saas.domain.DirectoryEntry;
import org.jclouds.atmosonline.saas.domain.FileType;
import org.jclouds.atmos.domain.DirectoryEntry;
import org.jclouds.atmos.domain.FileType;
import org.jclouds.http.functions.ParseSax;
import com.google.common.collect.Sets;

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas;
package org.jclouds.atmos;
import static org.testng.Assert.assertEquals;
@ -28,15 +28,15 @@ import java.util.Properties;
import javax.ws.rs.core.HttpHeaders;
import org.jclouds.atmosonline.saas.blobstore.functions.BlobToObject;
import org.jclouds.atmosonline.saas.config.AtmosStorageRestClientModule;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmosonline.saas.filters.SignRequest;
import org.jclouds.atmosonline.saas.functions.ParseDirectoryListFromContentAndHeaders;
import org.jclouds.atmosonline.saas.functions.ParseObjectFromHeadersAndHttpContent;
import org.jclouds.atmosonline.saas.functions.ParseSystemMetadataFromHeaders;
import org.jclouds.atmosonline.saas.functions.ReturnEndpointIfAlreadyExists;
import org.jclouds.atmosonline.saas.options.ListOptions;
import org.jclouds.atmos.blobstore.functions.BlobToObject;
import org.jclouds.atmos.config.AtmosRestClientModule;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.atmos.filters.SignRequest;
import org.jclouds.atmos.functions.ParseDirectoryListFromContentAndHeaders;
import org.jclouds.atmos.functions.ParseObjectFromHeadersAndHttpContent;
import org.jclouds.atmos.functions.ParseSystemMetadataFromHeaders;
import org.jclouds.atmos.functions.ReturnEndpointIfAlreadyExists;
import org.jclouds.atmos.options.ListOptions;
import org.jclouds.blobstore.binders.BindBlobToMultipartFormTest;
import org.jclouds.blobstore.functions.ThrowContainerNotFoundOn404;
import org.jclouds.blobstore.functions.ThrowKeyNotFoundOn404;
@ -61,19 +61,19 @@ import com.google.inject.Module;
import com.google.inject.TypeLiteral;
/**
* Tests behavior of {@code AtmosStorageAsyncClient}
* Tests behavior of {@code AtmosAsyncClient}
*
* @author Adrian Cole
*/
// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
@Test(groups = "unit", testName = "AtmosStorageAsyncClientTest")
public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyncClient> {
@Test(groups = "unit", testName = "AtmosAsyncClientTest")
public class AtmosAsyncClientTest extends RestClientTest<AtmosAsyncClient> {
private BlobToObject blobToObject;
public void testListDirectories() throws SecurityException, NoSuchMethodException, IOException {
Method method = AtmosStorageAsyncClient.class.getMethod("listDirectories", Array
.newInstance(ListOptions.class, 0).getClass());
Method method = AtmosAsyncClient.class.getMethod("listDirectories", Array.newInstance(ListOptions.class, 0)
.getClass());
HttpRequest request = processor.createRequest(method);
assertRequestLineEquals(request, "GET https://accesspoint.atmosonline.com/rest/namespace HTTP/1.1");
@ -88,7 +88,7 @@ public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyn
}
public void testListDirectory() throws SecurityException, NoSuchMethodException, IOException {
Method method = AtmosStorageAsyncClient.class.getMethod("listDirectory", String.class, Array.newInstance(
Method method = AtmosAsyncClient.class.getMethod("listDirectory", String.class, Array.newInstance(
ListOptions.class, 0).getClass());
HttpRequest request = processor.createRequest(method, "directory");
@ -104,8 +104,8 @@ public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyn
}
public void testListDirectoriesOptions() throws SecurityException, NoSuchMethodException, IOException {
Method method = AtmosStorageAsyncClient.class.getMethod("listDirectories", Array
.newInstance(ListOptions.class, 0).getClass());
Method method = AtmosAsyncClient.class.getMethod("listDirectories", Array.newInstance(ListOptions.class, 0)
.getClass());
HttpRequest request = processor.createRequest(method, new ListOptions().limit(1).token("asda"));
assertRequestLineEquals(request, "GET https://accesspoint.atmosonline.com/rest/namespace HTTP/1.1");
@ -120,7 +120,7 @@ public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyn
}
public void testListDirectoryOptions() throws SecurityException, NoSuchMethodException, IOException {
Method method = AtmosStorageAsyncClient.class.getMethod("listDirectory", String.class, Array.newInstance(
Method method = AtmosAsyncClient.class.getMethod("listDirectory", String.class, Array.newInstance(
ListOptions.class, 0).getClass());
HttpRequest request = processor.createRequest(method, "directory", new ListOptions().limit(1).token("asda"));
@ -136,7 +136,7 @@ public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyn
}
public void testCreateDirectory() throws SecurityException, NoSuchMethodException, IOException {
Method method = AtmosStorageAsyncClient.class.getMethod("createDirectory", String.class);
Method method = AtmosAsyncClient.class.getMethod("createDirectory", String.class);
HttpRequest request = processor.createRequest(method, "dir");
assertRequestLineEquals(request, "POST https://accesspoint.atmosonline.com/rest/namespace/dir/ HTTP/1.1");
@ -151,7 +151,7 @@ public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyn
}
public void testCreateFile() throws SecurityException, NoSuchMethodException, IOException {
Method method = AtmosStorageAsyncClient.class.getMethod("createFile", String.class, AtmosObject.class);
Method method = AtmosAsyncClient.class.getMethod("createFile", String.class, AtmosObject.class);
HttpRequest request = processor.createRequest(method, "dir", blobToObject
.apply(BindBlobToMultipartFormTest.TEST_BLOB));
@ -167,7 +167,7 @@ public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyn
}
public void testUpdateFile() throws SecurityException, NoSuchMethodException, IOException {
Method method = AtmosStorageAsyncClient.class.getMethod("updateFile", String.class, AtmosObject.class);
Method method = AtmosAsyncClient.class.getMethod("updateFile", String.class, AtmosObject.class);
HttpRequest request = processor.createRequest(method, "dir", blobToObject
.apply(BindBlobToMultipartFormTest.TEST_BLOB));
@ -183,7 +183,7 @@ public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyn
}
public void testReadFile() throws SecurityException, NoSuchMethodException, IOException {
Method method = AtmosStorageAsyncClient.class.getMethod("readFile", String.class, GetOptions[].class);
Method method = AtmosAsyncClient.class.getMethod("readFile", String.class, GetOptions[].class);
HttpRequest request = processor.createRequest(method, "dir/file");
assertRequestLineEquals(request, "GET https://accesspoint.atmosonline.com/rest/namespace/dir/file HTTP/1.1");
@ -198,7 +198,7 @@ public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyn
}
public void testGetSystemMetadata() throws SecurityException, NoSuchMethodException, IOException {
Method method = AtmosStorageAsyncClient.class.getMethod("getSystemMetadata", String.class);
Method method = AtmosAsyncClient.class.getMethod("getSystemMetadata", String.class);
HttpRequest request = processor.createRequest(method, "dir/file");
assertRequestLineEquals(request, "HEAD https://accesspoint.atmosonline.com/rest/namespace/dir/file HTTP/1.1");
@ -213,7 +213,7 @@ public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyn
}
public void testDeletePath() throws SecurityException, NoSuchMethodException, IOException {
Method method = AtmosStorageAsyncClient.class.getMethod("deletePath", String.class);
Method method = AtmosAsyncClient.class.getMethod("deletePath", String.class);
HttpRequest request = processor.createRequest(method, "dir/file");
assertRequestLineEquals(request, "DELETE https://accesspoint.atmosonline.com/rest/namespace/dir/file HTTP/1.1");
@ -228,7 +228,7 @@ public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyn
}
public void testNewObject() throws SecurityException, NoSuchMethodException, IOException {
Method method = AtmosStorageAsyncClient.class.getMethod("newObject");
Method method = AtmosAsyncClient.class.getMethod("newObject");
assertEquals(method.getReturnType(), AtmosObject.class);
}
@ -239,8 +239,8 @@ public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyn
}
@Override
protected TypeLiteral<RestAnnotationProcessor<AtmosStorageAsyncClient>> createTypeLiteral() {
return new TypeLiteral<RestAnnotationProcessor<AtmosStorageAsyncClient>>() {
protected TypeLiteral<RestAnnotationProcessor<AtmosAsyncClient>> createTypeLiteral() {
return new TypeLiteral<RestAnnotationProcessor<AtmosAsyncClient>>() {
};
}
@ -253,12 +253,12 @@ public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyn
@Override
protected Module createModule() {
return new TestAtmosStorageRestClientModule();
return new TestAtmosRestClientModule();
}
@RequiresHttp
@ConfiguresRestClient
private static final class TestAtmosStorageRestClientModule extends AtmosStorageRestClientModule {
private static final class TestAtmosRestClientModule extends AtmosRestClientModule {
@Override
protected void configure() {
super.configure();
@ -270,9 +270,13 @@ public class AtmosStorageAsyncClientTest extends RestClientTest<AtmosStorageAsyn
}
}
protected String provider = "atmos";
@Override
public RestContextSpec<?, ?> createContextSpec() {
return new RestContextFactory().createContextSpec("atmosonline", "identity", "credential", new Properties());
Properties props = new Properties();
props.setProperty(provider + ".endpoint", "https://accesspoint.atmosonline.com");
return new RestContextFactory().createContextSpec(provider, "identity", "credential", props);
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas;
package org.jclouds.atmos;
import static org.testng.Assert.assertEquals;
@ -28,12 +28,12 @@ import java.security.SecureRandom;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmosonline.saas.domain.BoundedSet;
import org.jclouds.atmosonline.saas.domain.DirectoryEntry;
import org.jclouds.atmosonline.saas.domain.FileType;
import org.jclouds.atmosonline.saas.domain.SystemMetadata;
import org.jclouds.atmosonline.saas.options.ListOptions;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.atmos.domain.BoundedSet;
import org.jclouds.atmos.domain.DirectoryEntry;
import org.jclouds.atmos.domain.FileType;
import org.jclouds.atmos.domain.SystemMetadata;
import org.jclouds.atmos.options.ListOptions;
import org.jclouds.blobstore.KeyAlreadyExistsException;
import org.jclouds.blobstore.KeyNotFoundException;
import org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest;
@ -50,23 +50,23 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Sets;
/**
* Tests behavior of {@code AtmosStorageClient}
* Tests behavior of {@code AtmosClient}
*
* @author Adrian Cole
*/
@Test(groups = "live", sequential = true)
public class AtmosStorageClientLiveTest extends BaseBlobStoreIntegrationTest {
public class AtmosClientLiveTest extends BaseBlobStoreIntegrationTest {
public AtmosStorageClient getApi() {
return (AtmosStorageClient) context.getProviderSpecificContext().getApi();
public AtmosClient getApi() {
return (AtmosClient) context.getProviderSpecificContext().getApi();
}
private static final class HeadMatches implements Runnable {
private final AtmosStorageClient connection;
private final AtmosClient connection;
private final String name;
private final String metadataValue;
private HeadMatches(AtmosStorageClient connection, String name, String metadataValue) {
private HeadMatches(AtmosClient connection, String name, String metadataValue) {
this.connection = connection;
this.name = name;
this.metadataValue = metadataValue;
@ -82,12 +82,12 @@ public class AtmosStorageClientLiveTest extends BaseBlobStoreIntegrationTest {
}
private static final class ObjectMatches implements Runnable {
private final AtmosStorageClient connection;
private final AtmosClient connection;
private final String name;
private final String metadataValue;
private final String compare;
private ObjectMatches(AtmosStorageClient connection, String name, String metadataValue, String compare) {
private ObjectMatches(AtmosClient connection, String name, String metadataValue, String compare) {
this.connection = connection;
this.name = name;
this.metadataValue = metadataValue;
@ -237,14 +237,14 @@ public class AtmosStorageClientLiveTest extends BaseBlobStoreIntegrationTest {
assertEventually(new HeadMatches(getApi(), privateDirectory + "/" + name, metadataValue));
}
private static void verifyHeadObject(AtmosStorageClient connection, String path, String metadataValue)
private static void verifyHeadObject(AtmosClient connection, String path, String metadataValue)
throws InterruptedException, ExecutionException, TimeoutException, IOException {
AtmosObject getBlob = connection.headFile(path);
assertEquals(Strings2.toStringAndClose(getBlob.getPayload().getInput()), "");
verifyMetadata(metadataValue, getBlob);
}
private static void verifyObject(AtmosStorageClient connection, String path, String compare, String metadataValue)
private static void verifyObject(AtmosClient connection, String path, String compare, String metadataValue)
throws InterruptedException, ExecutionException, TimeoutException, IOException {
AtmosObject getBlob = connection.readFile(path);
assertEquals(Strings2.toStringAndClose(getBlob.getPayload().getInput()), compare);

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.azure.storage;
package org.jclouds.atmos;
import org.jclouds.blobstore.util.BlobStoreUtils;
import org.jclouds.rest.Providers;
@ -36,15 +36,13 @@ public class ProvidersInPropertiesTest {
@Test
public void testSupportedProviders() {
Iterable<String> providers = Providers.getSupportedProviders();
assert Iterables.contains(providers, "azurequeue") : providers;
assert Iterables.contains(providers, "azureblob") : providers;
assert Iterables.contains(providers, "atmos") : providers;
}
@Test
public void testSupportedBlobStoreProviders() {
Iterable<String> providers = BlobStoreUtils.getSupportedProviders();
assert !Iterables.contains(providers, "azurequeue") : providers;
assert Iterables.contains(providers, "azureblob") : providers;
assert Iterables.contains(providers, "atmos") : providers;
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.binders;
package org.jclouds.atmos.binders;
import static org.testng.Assert.assertEquals;
@ -26,7 +26,7 @@ import java.net.URI;
import javax.ws.rs.HttpMethod;
import org.jclouds.atmosonline.saas.domain.AtmosObject;
import org.jclouds.atmos.domain.AtmosObject;
import org.jclouds.http.HttpRequest;
import org.jclouds.io.Payload;
import org.jclouds.io.Payloads;

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.binders;
package org.jclouds.atmos.binders;
import static org.testng.Assert.assertEquals;
@ -26,7 +26,7 @@ import java.net.URI;
import javax.ws.rs.HttpMethod;
import org.jclouds.atmosonline.saas.domain.UserMetadata;
import org.jclouds.atmos.domain.UserMetadata;
import org.jclouds.http.HttpRequest;
import org.testng.annotations.Test;

View File

@ -17,16 +17,16 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore;
package org.jclouds.atmos.blobstore;
import static org.testng.Assert.assertEquals;
import java.io.IOException;
import java.util.Properties;
import org.jclouds.atmosonline.saas.AtmosStorageAsyncClient;
import org.jclouds.atmosonline.saas.config.AtmosStorageRestClientModule;
import org.jclouds.atmosonline.saas.filters.SignRequest;
import org.jclouds.atmos.AtmosAsyncClient;
import org.jclouds.atmos.config.AtmosRestClientModule;
import org.jclouds.atmos.filters.SignRequest;
import org.jclouds.blobstore.BlobRequestSigner;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.blobstore.domain.Blob.Factory;
@ -52,7 +52,7 @@ import com.google.inject.TypeLiteral;
*/
// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
@Test(groups = "unit", testName = "AtmosBlobRequestSignerTest")
public class AtmosBlobRequestSignerTest extends RestClientTest<AtmosStorageAsyncClient> {
public class AtmosBlobRequestSignerTest extends RestClientTest<AtmosAsyncClient> {
private BlobRequestSigner signer;
private Factory blobFactory;
@ -120,19 +120,19 @@ public class AtmosBlobRequestSignerTest extends RestClientTest<AtmosStorageAsync
}
@Override
protected TypeLiteral<RestAnnotationProcessor<AtmosStorageAsyncClient>> createTypeLiteral() {
return new TypeLiteral<RestAnnotationProcessor<AtmosStorageAsyncClient>>() {
protected TypeLiteral<RestAnnotationProcessor<AtmosAsyncClient>> createTypeLiteral() {
return new TypeLiteral<RestAnnotationProcessor<AtmosAsyncClient>>() {
};
}
@Override
protected Module createModule() {
return new TestAtmosStorageRestClientModule();
return new TestAtmosRestClientModule();
}
@RequiresHttp
@ConfiguresRestClient
private static final class TestAtmosStorageRestClientModule extends AtmosStorageRestClientModule {
private static final class TestAtmosRestClientModule extends AtmosRestClientModule {
@Override
protected void configure() {
super.configure();
@ -146,7 +146,7 @@ public class AtmosBlobRequestSignerTest extends RestClientTest<AtmosStorageAsync
@Override
public RestContextSpec<?, ?> createContextSpec() {
return new RestContextFactory().createContextSpec("atmosonline", "identity", "credential", new Properties());
return new RestContextFactory().createContextSpec("atmos", "identity", "credential", new Properties());
}
}
}

View File

@ -17,11 +17,11 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.config;
package org.jclouds.atmos.blobstore.config;
import static org.testng.Assert.assertEquals;
import org.jclouds.atmosonline.saas.blobstore.strategy.FindMD5InUserMetadata;
import org.jclouds.atmos.blobstore.strategy.FindMD5InUserMetadata;
import org.jclouds.blobstore.BlobStoreContext;
import org.jclouds.blobstore.internal.BlobStoreContextImpl;
import org.jclouds.blobstore.strategy.ContainsValueInListStrategy;
@ -41,7 +41,7 @@ import com.google.inject.Module;
public class AtmosBlobStoreModuleTest {
Injector createInjector() {
return new RestContextFactory().createContextBuilder("atmosonline", "uid", "key",
return new RestContextFactory().createContextBuilder("atmos", "uid", "key",
ImmutableSet.<Module> of(new MockModule(), new NullLoggingModule())).buildInjector();
}
@ -57,4 +57,4 @@ public class AtmosBlobStoreModuleTest {
assertEquals(valueList.getClass(), FindMD5InUserMetadata.class);
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.functions;
package org.jclouds.atmos.blobstore.functions;
import javax.inject.Singleton;
@ -30,8 +30,8 @@ import com.google.common.base.Function;
*/
@Singleton
public class ListOptionsToBlobStoreListOptions implements
Function<org.jclouds.atmosonline.saas.options.ListOptions[], ListContainerOptions> {
public ListContainerOptions apply(org.jclouds.atmosonline.saas.options.ListOptions[] optionsList) {
Function<org.jclouds.atmos.options.ListOptions[], ListContainerOptions> {
public ListContainerOptions apply(org.jclouds.atmos.options.ListOptions[] optionsList) {
ListContainerOptions options = new ListContainerOptions();
if (optionsList.length != 0) {
if (optionsList[0].getToken() != null) {
@ -46,4 +46,4 @@ public class ListOptionsToBlobStoreListOptions implements
}
return options;
}
}
}

View File

@ -17,7 +17,7 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.functions;
package org.jclouds.atmos.blobstore.functions;
import static org.testng.Assert.assertEquals;

View File

@ -17,14 +17,14 @@
* ====================================================================
*/
package org.jclouds.atmosonline.saas.blobstore.functions;
package org.jclouds.atmos.blobstore.functions;
import javax.inject.Singleton;
import org.jclouds.atmosonline.saas.domain.BoundedSet;
import org.jclouds.atmosonline.saas.domain.DirectoryEntry;
import org.jclouds.atmosonline.saas.domain.FileType;
import org.jclouds.atmosonline.saas.domain.internal.BoundedLinkedHashSet;
import org.jclouds.atmos.domain.BoundedSet;
import org.jclouds.atmos.domain.DirectoryEntry;
import org.jclouds.atmos.domain.FileType;
import org.jclouds.atmos.domain.internal.BoundedLinkedHashSet;
import org.jclouds.blobstore.domain.StorageMetadata;
import org.jclouds.blobstore.domain.StorageType;
@ -53,4 +53,4 @@ public class ResourceMetadataListToDirectoryEntryList
}), from.getNextMarker());
}
}
}

Some files were not shown because too many files have changed in this diff Show More