Hi Fotis

I understand that jClouds generates the http calls for each concrete
provider but I cannot find the exact class that does this and where it gets
the information for the required attributes from.

Glad you're interested in jclouds! For a general overview of the architectural concepts, you can try the 'Core Concepts' document on the wiki page [1].

As regards the lower-level details, the HTTP call generation largely happens in the RestAnnotationProcessor [2]. In many cases, concrete implementations are encapsulated in "strategies" (e.g. [3, 4]) that are injected abstraction layer classes like BaseComputeService [5] by Guice.

Luckily, you'll find that BaseBlobStore is somewhat less complex than BaseComputeService ;-)

This is only a very high-level sketch: please feel free to hop on to IRC for further discussion!

ap

[1] https://wiki.apache.org/jclouds/Core%20Concepts
[2] https://github.com/jclouds/jclouds/blob/master/core/src/main/java/org/jclouds/rest/internal/RestAnnotationProcessor.java [3] https://github.com/jclouds/jclouds/blob/master/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/strategy/AWSEC2GetNodeMetadataStrategy.java [4] https://github.com/jclouds/jclouds/blob/master/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/strategy/internal/ParallelMultipartUploadStrategy.java [5] https://github.com/jclouds/jclouds/blob/master/compute/src/main/java/org/jclouds/compute/internal/BaseComputeService.java

Reply via email to