Hi,
Thanks for the answer.
I started my implementation and checked resources that you provided.
I'm going to implement a blob store provider not a compute provider
and the available examples for that really less in the number :(
I'm stuck at this exception:
No implementation for com.google.common.base.Supplier<java.util.Set<?
extends org.jclouds.domain.Location>> was bound.
while locating com.google.common.base.Supplier<java.util.Set<?
extends org.jclouds.domain.Location>>
for parameter 3 at
org.jclouds.orion.blobstore.OrionBlobStore.<init>(OrionBlobStore.java:29)
at
org.jclouds.orion.config.OrionBlobStoreModule.configure(OrionBlobStoreModule.java:19)
Do you have any idea for the cause of the problem?
My current provider source classes are as listed below:
org.jclouds.orion
-OrionApi.java
-OrionApiMetadata.java
-OrionProviderMetada.java
org.jclouds.orion.blobstore
-OrionAsyncBlobStore.java
-OrionBlobStore.java
org.jclouds.orion.config
-OrionBlobStoreModule.java
-OrionHttpApiModule.java
org.jclouds.orion.domain
-Key.java
org.jclouds.orion.features
-KeyApi.java
-KeyAsyncApi.java
org.jclouds.orion.handlers
-OrionErrorHandler.java
Do you think I'm missing some critical classes?
OrionApi has this annotation
@RequestFilters(BasicAuthentication.class) which means I assume it
implicitly uses a basic HTTP authentication mechanism?
I added OrionAsyncBlobStore.java because otherwise BaseBlobLiveTest
was complaining about it.
Any help will be appreciated thanks in advance!
Regards,
Timur
On Thu, Aug 1, 2013 at 11:21 AM, Ignasi <[email protected]> wrote:
> Hi Timur,
>
> To create a new provider, the first thing you need to do is to create
> the API for that provider. That API will be the one directly talking
> to the REST service.
>
> The common advice is to take a look at some of the latest providers
> being added, because we are still missing a detailed documentation on
> how to write an entire new provider. Here is a checklist, though:
>
> * First you need to create an implementation of ApiMetadata describing
> the target API service.
> * You have to create the API interface, with its methods annotated
> accordingly so the requests are properly generated.
> * Once that is done, a Guice module has to be added to configure the
> API and the injector that will allow all Guice magic to happen.
> * Once that is done, you will have to add Expect and Live tests for
> the API, to make sure everything is working fine.
>
> You can take a look at the existing providers, or, for example, read
> the comments in the CloudSigma v2 pull request [1]. It hasn't been
> merged yet, but you'll find there some tips and things to take into
> account when adding a new api.
>
>
> HTH,
>
>
> Ignasi
>
>
>
>
> [1] https://github.com/jclouds/jclouds-labs/pull/12
>
>
>
> On 30 July 2013 14:26, Timur Sungur <[email protected]> wrote:
>> Hi,
>>
>> I will create a general provider implementation using jclouds for the
>> "providers" which use orion. The authentication is based on basic HTTP
>> authentication and server API supports REST.
>>
>> I created the template using maven archetype. I'm checking related
>> examples but they provide limited information due to lack of
>> documentation. As far as I understood created project provides a
>> client API for CRUD operations and a a key API for authentication. I
>> want to follow general implementation style which has been used in the
>> other provider implementations.
>>
>> Could you please explain me briefly the steps for a provider
>> implementation or the general code structure? The authentication needs
>> to be based on basic HTTP authentication.
>>
>> Regards,
>>
>> Timur