Skip to content
This repository has been archived by the owner on Mar 25, 2018. It is now read-only.

Commit

Permalink
Merge pull request #53 from jclouds/unasync-openstack-glance
Browse files Browse the repository at this point in the history
removed async classes from openstack-glance
  • Loading branch information
Adrian Cole committed Apr 10, 2013
2 parents 7d2e9e2 + a6d8a65 commit 476c032
Show file tree
Hide file tree
Showing 11 changed files with 166 additions and 401 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@
*/
package org.jclouds.openstack.glance.v1_0;

import java.io.Closeable;
import java.util.Set;

import org.jclouds.javax.annotation.Nullable;
import org.jclouds.location.Zone;
import org.jclouds.location.functions.ZoneToEndpoint;
Expand All @@ -30,14 +32,13 @@
import com.google.inject.Provides;

/**
* Provides synchronous access to Glance.
* Provides access to Glance.
* <p/>
*
* @see GlanceAsyncApi
* @see <a href="http://glance.openstack.org/glanceapi.html">api doc</a>
* @author Adrian Cole
*/
public interface GlanceApi {
public interface GlanceApi extends Closeable {
/**
*
* @return the Zone codes configured
Expand All @@ -47,14 +48,14 @@ public interface GlanceApi {
Set<String> getConfiguredZones();

/**
* Provides synchronous access to Extension features.
* Provides access to Extension features.
*/
@Delegate
ExtensionApi getExtensionApiForZone(
@EndpointParam(parser = ZoneToEndpoint.class) @Nullable String zone);

/**
* Provides synchronous access to Image features.
* Provides access to Image features.
*/
@Delegate
ImageApi getImageApiForZone(@EndpointParam(parser = ZoneToEndpoint.class) @Nullable String zone);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,29 +25,23 @@
import java.util.Properties;

import org.jclouds.apis.ApiMetadata;
import org.jclouds.openstack.glance.v1_0.config.GlanceRestClientModule;
import org.jclouds.openstack.glance.v1_0.config.GlanceHttpApiModule;
import org.jclouds.openstack.keystone.v2_0.config.AuthenticationApiModule;
import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule;
import org.jclouds.openstack.keystone.v2_0.config.MappedAuthenticationApiModule;
import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.ZoneModule;
import org.jclouds.openstack.v2_0.ServiceType;
import org.jclouds.rest.RestContext;
import org.jclouds.rest.internal.BaseRestApiMetadata;
import org.jclouds.rest.internal.BaseHttpApiMetadata;

import com.google.common.collect.ImmutableSet;
import com.google.common.reflect.TypeToken;
import com.google.inject.Module;

/**
* Implementation of {@link ApiMetadata} for Glance 1.0 API
*
* @author Adrian Cole
*/
public class GlanceApiMetadata extends BaseRestApiMetadata {

public static final TypeToken<RestContext<GlanceApi, GlanceAsyncApi>> CONTEXT_TOKEN = new TypeToken<RestContext<GlanceApi, GlanceAsyncApi>>() {
private static final long serialVersionUID = 1L;
};
public class GlanceApiMetadata extends BaseHttpApiMetadata<GlanceApi> {

@Override
public Builder toBuilder() {
Expand All @@ -63,16 +57,15 @@ protected GlanceApiMetadata(Builder builder) {
}

public static Properties defaultProperties() {
Properties properties = BaseRestApiMetadata.defaultProperties();
Properties properties = BaseHttpApiMetadata.defaultProperties();
properties.setProperty(SERVICE_TYPE, ServiceType.IMAGE);
properties.setProperty(CREDENTIAL_TYPE, CredentialTypes.PASSWORD_CREDENTIALS);
return properties;
}

public static class Builder extends BaseRestApiMetadata.Builder<Builder> {
public static class Builder extends BaseHttpApiMetadata.Builder<GlanceApi, Builder> {

protected Builder() {
super(GlanceApi.class, GlanceAsyncApi.class);
id("openstack-glance")
.name("OpenStack Glance API")
.identityName("${tenantName}:${userName} or ${userName}, if your keystone supports a default tenant")
Expand All @@ -83,10 +76,10 @@ protected Builder() {
.defaultEndpoint("http://localhost:5000/v2.0/")
.defaultProperties(GlanceApiMetadata.defaultProperties())
.defaultModules(ImmutableSet.<Class<? extends Module>>builder()
.add(MappedAuthenticationApiModule.class)
.add(AuthenticationApiModule.class)
.add(KeystoneAuthenticationModule.class)
.add(ZoneModule.class)
.add(GlanceRestClientModule.class).build());
.add(GlanceHttpApiModule.class).build());
}

@Override
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,7 @@
package org.jclouds.openstack.glance.v1_0.config;


import static org.jclouds.reflect.Reflection2.typeToken;

import java.net.URI;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;

Expand All @@ -36,46 +33,29 @@
import org.jclouds.json.config.GsonModule.DateAdapter;
import org.jclouds.json.config.GsonModule.Iso8601DateAdapter;
import org.jclouds.openstack.glance.v1_0.GlanceApi;
import org.jclouds.openstack.glance.v1_0.GlanceAsyncApi;
import org.jclouds.openstack.glance.v1_0.features.ImageApi;
import org.jclouds.openstack.glance.v1_0.features.ImageAsyncApi;
import org.jclouds.openstack.glance.v1_0.handlers.GlanceErrorHandler;
import org.jclouds.openstack.v2_0.domain.Extension;
import org.jclouds.openstack.v2_0.features.ExtensionApi;
import org.jclouds.openstack.v2_0.features.ExtensionAsyncApi;
import org.jclouds.openstack.v2_0.functions.PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet;
import org.jclouds.rest.ConfiguresRestClient;
import org.jclouds.rest.config.RestClientModule;
import org.jclouds.rest.ConfiguresHttpApi;
import org.jclouds.rest.config.HttpApiModule;
import org.jclouds.rest.functions.ImplicitOptionalConverter;

import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Multimap;
import com.google.common.reflect.TypeToken;
import com.google.inject.Provides;

/**
* Configures the Glance connection.
*
* @author Adrian Cole
*/
@ConfiguresRestClient
public class GlanceRestClientModule<S extends GlanceApi, A extends GlanceAsyncApi> extends RestClientModule<S, A> {

public static final Map<Class<?>, Class<?>> DELEGATE_MAP = ImmutableMap.<Class<?>, Class<?>> builder()
.put(ExtensionApi.class, ExtensionAsyncApi.class)
.put(ImageApi.class, ImageAsyncApi.class)
.build();

public GlanceRestClientModule() {
super(TypeToken.class.cast(typeToken(GlanceApi.class)), TypeToken.class.cast(typeToken(GlanceAsyncApi.class)), DELEGATE_MAP);
}
@ConfiguresHttpApi
public class GlanceHttpApiModule extends HttpApiModule<GlanceApi> {

protected GlanceRestClientModule(TypeToken<S> syncClientType, TypeToken<A> asyncClientType, Map<Class<?>, Class<?>> sync2Async) {
super(syncClientType, asyncClientType, sync2Async);
public GlanceHttpApiModule() {
}

@Override
Expand Down
Loading

0 comments on commit 476c032

Please sign in to comment.