diff --git a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/GoogleCloudStorageApiMetadata.java b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/GoogleCloudStorageApiMetadata.java index f88541caf7..67c380fe49 100644 --- a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/GoogleCloudStorageApiMetadata.java +++ b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/GoogleCloudStorageApiMetadata.java @@ -31,8 +31,8 @@ import org.jclouds.blobstore.BlobStoreContext; import org.jclouds.googlecloudstorage.blobstore.config.GCSBlobStoreContextModule; import org.jclouds.googlecloudstorage.config.GoogleCloudStorageHttpApiModule; import org.jclouds.googlecloudstorage.config.GoogleCloudStorageParserModule; -import org.jclouds.googlecloudstorage.config.OAuthModuleWithoutTypeAdapters; import org.jclouds.oauth.v2.config.OAuthAuthenticationModule; +import org.jclouds.oauth.v2.config.OAuthModule; import org.jclouds.rest.internal.BaseHttpApiMetadata; import com.google.common.collect.ImmutableSet; @@ -77,8 +77,8 @@ public class GoogleCloudStorageApiMetadata extends BaseHttpApiMetadata> of(GoogleCloudStorageParserModule.class, - OAuthAuthenticationModule.class, OAuthModuleWithoutTypeAdapters.class, - GoogleCloudStorageHttpApiModule.class, GCSBlobStoreContextModule.class)); + OAuthAuthenticationModule.class, OAuthModule.class, + GoogleCloudStorageHttpApiModule.class, GCSBlobStoreContextModule.class)); } diff --git a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/GoogleCloudStorageParserModule.java b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/GoogleCloudStorageParserModule.java index f1de81a391..6ae92787ff 100644 --- a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/GoogleCloudStorageParserModule.java +++ b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/GoogleCloudStorageParserModule.java @@ -18,42 +18,39 @@ package org.jclouds.googlecloudstorage.config; import java.lang.reflect.Type; import java.util.Map; +import java.util.Set; import javax.inject.Singleton; import org.jclouds.googlecloudstorage.domain.templates.BucketTemplate; -import org.jclouds.json.config.GsonModule.DateAdapter; -import org.jclouds.json.config.GsonModule.Iso8601DateAdapter; -import org.jclouds.oauth.v2.domain.ClaimSet; -import org.jclouds.oauth.v2.domain.Header; -import org.jclouds.oauth.v2.json.ClaimSetTypeAdapter; -import org.jclouds.oauth.v2.json.HeaderTypeAdapter; +import org.jclouds.json.config.GsonModule; +import org.jclouds.oauth.v2.config.OAuthParserModule; import com.google.common.collect.ImmutableMap; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; +import com.google.gson.TypeAdapterFactory; import com.google.inject.AbstractModule; import com.google.inject.Provides; public class GoogleCloudStorageParserModule extends AbstractModule { - @Override - protected void configure() { - bind(DateAdapter.class).to(Iso8601DateAdapter.class); + @Override protected void configure() { + bind(GsonModule.DateAdapter.class).to(GsonModule.Iso8601DateAdapter.class); } - @Provides - @Singleton - public Map provideCustomAdapterBindings() { - return new ImmutableMap.Builder().put(Header.class, new HeaderTypeAdapter()) - .put(ClaimSet.class, new ClaimSetTypeAdapter()) + @Provides @Singleton public Set typeAdapterFactories() { + return new OAuthParserModule().typeAdapterFactories(); + } + + @Provides @Singleton public Map typeAdapters() { + return new ImmutableMap.Builder() .put(BucketTemplate.class, new BucketTemplateTypeAdapter()) .build(); } - @Singleton private static class BucketTemplateTypeAdapter implements JsonSerializer { @Override @@ -87,7 +84,5 @@ public class GoogleCloudStorageParserModule extends AbstractModule { .storageClass(template.getStorageClass()); } } - } - } diff --git a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/OAuthModuleWithoutTypeAdapters.java b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/OAuthModuleWithoutTypeAdapters.java deleted file mode 100644 index b9292a1f2b..0000000000 --- a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/OAuthModuleWithoutTypeAdapters.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecloudstorage.config; - -import org.jclouds.oauth.v2.config.CredentialType; -import org.jclouds.oauth.v2.config.OAuthModule; -import org.jclouds.oauth.v2.domain.OAuthCredentials; -import org.jclouds.oauth.v2.domain.Token; -import org.jclouds.oauth.v2.domain.TokenRequest; -import org.jclouds.oauth.v2.functions.BuildTokenRequest; -import org.jclouds.oauth.v2.functions.FetchToken; -import org.jclouds.oauth.v2.functions.OAuthCredentialsSupplier; -import org.jclouds.oauth.v2.functions.SignOrProduceMacForToken; -import org.jclouds.rest.internal.GeneratedHttpRequest; - -import com.google.common.base.Function; -import com.google.common.base.Supplier; -import com.google.inject.TypeLiteral; - -/** - * Overrides OAuthModule leaving TypeAdapters bindings out. - */ -public class OAuthModuleWithoutTypeAdapters extends OAuthModule { - - @Override - protected void configure() { - bind(new TypeLiteral>() { - }).to(SignOrProduceMacForToken.class); - bind(new TypeLiteral>() { - }).to(OAuthCredentialsSupplier.class); - bind(new TypeLiteral>() { - }).to(BuildTokenRequest.class); - bind(new TypeLiteral>() { - }).to(FetchToken.class); - bind(CredentialType.class).toProvider(OAuthModule.CredentialTypeFromPropertyOrDefault.class); - } -}