diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/compute/config/TerremarkBindComputeSuppliersByClass.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/compute/config/TerremarkBindComputeSuppliersByClass.java index fce9625dce..5ba2841eff 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/compute/config/TerremarkBindComputeSuppliersByClass.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/compute/config/TerremarkBindComputeSuppliersByClass.java @@ -18,27 +18,15 @@ */ package org.jclouds.trmk.vcloud_0_8.compute.config; -import static com.google.common.base.Preconditions.checkNotNull; -import static com.google.common.collect.Iterables.find; import java.util.Set; -import javax.inject.Inject; -import javax.inject.Singleton; - -import org.jclouds.collect.Memoized; import org.jclouds.compute.config.BindComputeSuppliersByClass; import org.jclouds.compute.domain.Hardware; import org.jclouds.compute.domain.Image; -import org.jclouds.domain.Location; -import org.jclouds.domain.LocationScope; -import org.jclouds.trmk.vcloud_0_8.compute.suppliers.OrgAndVDCToLocationSupplier; import org.jclouds.trmk.vcloud_0_8.compute.suppliers.StaticHardwareSupplier; import org.jclouds.trmk.vcloud_0_8.compute.suppliers.VAppTemplatesInOrgs; -import org.jclouds.trmk.vcloud_0_8.domain.ReferenceType; -import org.jclouds.trmk.vcloud_0_8.endpoints.VDC; -import com.google.common.base.Predicate; import com.google.common.base.Supplier; /** @@ -50,54 +38,6 @@ public class TerremarkBindComputeSuppliersByClass extends BindComputeSuppliersBy return StaticHardwareSupplier.class; } - @Override - protected Class>> defineLocationSupplier() { - return OrgAndVDCToLocationSupplier.class; - } - - @Override - protected Class> defineDefaultLocationSupplier() { - return DefaultVDC.class; - } - - @Singleton - public static class DefaultVDC implements Supplier { - @Singleton - public static final class IsDefaultVDC implements Predicate { - private final ReferenceType defaultVDC; - - @Inject - IsDefaultVDC(@VDC ReferenceType defaultVDC) { - this.defaultVDC = checkNotNull(defaultVDC, "defaultVDC"); - } - - @Override - public boolean apply(Location input) { - return input.getScope() == LocationScope.ZONE && input.getId().equals(defaultVDC.getHref().toASCIIString()); - } - - @Override - public String toString() { - return "isDefaultVDC()"; - } - } - - private final Supplier> locationsSupplier; - private final IsDefaultVDC isDefaultVDC; - - @Inject - DefaultVDC(@Memoized Supplier> locationsSupplier, IsDefaultVDC isDefaultVDC) { - this.locationsSupplier = checkNotNull(locationsSupplier, "locationsSupplierSupplier"); - this.isDefaultVDC = checkNotNull(isDefaultVDC, "isDefaultVDC"); - } - - @Override - public Location get() { - return find(locationsSupplier.get(), isDefaultVDC); - } - - } - @Override protected Class>> defineImageSupplier() { return VAppTemplatesInOrgs.class; diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/config/TerremarkVCloudRestClientModule.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/config/TerremarkVCloudRestClientModule.java index 0a5bf2f085..2a6a745efb 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/config/TerremarkVCloudRestClientModule.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/config/TerremarkVCloudRestClientModule.java @@ -20,7 +20,6 @@ package org.jclouds.trmk.vcloud_0_8.config; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; -import static com.google.common.base.Throwables.propagate; import static com.google.common.collect.Iterables.concat; import static com.google.common.collect.Iterables.getLast; import static com.google.common.collect.Iterables.transform; @@ -28,16 +27,14 @@ import static com.google.common.collect.Maps.transformValues; import static com.google.common.collect.Maps.uniqueIndex; import static org.jclouds.Constants.PROPERTY_API_VERSION; import static org.jclouds.Constants.PROPERTY_SESSION_INTERVAL; +import static org.jclouds.rest.config.BinderUtils.bindClientAndAsyncClient; import static org.jclouds.trmk.vcloud_0_8.reference.VCloudConstants.PROPERTY_VCLOUD_TIMEOUT_TASK_COMPLETED; import java.io.IOException; import java.net.URI; import java.util.Map; -import java.util.Map.Entry; import java.util.SortedMap; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; +import java.util.Map.Entry; import java.util.concurrent.atomic.AtomicReference; import javax.inject.Inject; @@ -49,8 +46,9 @@ import org.jclouds.http.HttpErrorHandler; import org.jclouds.http.annotation.ClientError; import org.jclouds.http.annotation.Redirection; import org.jclouds.http.annotation.ServerError; +import org.jclouds.location.suppliers.ImplicitLocationSupplier; +import org.jclouds.location.suppliers.LocationsSupplier; import org.jclouds.predicates.RetryablePredicate; -import org.jclouds.rest.AsyncClientFactory; import org.jclouds.rest.AuthorizationException; import org.jclouds.rest.config.RestClientModule; import org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier; @@ -67,6 +65,7 @@ import org.jclouds.trmk.vcloud_0_8.domain.VDC; import org.jclouds.trmk.vcloud_0_8.endpoints.Keys; import org.jclouds.trmk.vcloud_0_8.endpoints.Org; import org.jclouds.trmk.vcloud_0_8.endpoints.OrgList; +import org.jclouds.trmk.vcloud_0_8.endpoints.VCloudLogin; import org.jclouds.trmk.vcloud_0_8.functions.AllCatalogItemsInCatalog; import org.jclouds.trmk.vcloud_0_8.functions.AllCatalogItemsInOrg; import org.jclouds.trmk.vcloud_0_8.functions.AllCatalogsInOrg; @@ -76,7 +75,11 @@ import org.jclouds.trmk.vcloud_0_8.functions.OrgsForNames; import org.jclouds.trmk.vcloud_0_8.functions.VAppTemplatesForCatalogItems; import org.jclouds.trmk.vcloud_0_8.handlers.ParseTerremarkVCloudErrorFromHttpResponse; import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudLoginAsyncClient; +import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudLoginClient; import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudVersionsAsyncClient; +import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudVersionsClient; +import org.jclouds.trmk.vcloud_0_8.location.DefaultVDC; +import org.jclouds.trmk.vcloud_0_8.location.OrgAndVDCToLocationSupplier; import org.jclouds.trmk.vcloud_0_8.predicates.TaskSuccess; import org.jclouds.util.Strings2; @@ -85,10 +88,11 @@ import com.google.common.base.Predicate; import com.google.common.base.Supplier; import com.google.common.base.Suppliers; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableMap.Builder; import com.google.common.collect.Maps; +import com.google.common.collect.ImmutableMap.Builder; import com.google.inject.Injector; import com.google.inject.Provides; +import com.google.inject.Scopes; import com.google.inject.TypeLiteral; public class TerremarkVCloudRestClientModule @@ -109,9 +113,6 @@ public class TerremarkVCloudRestClientModule, Iterable>>() { }).to(new TypeLiteral() { }); - // Ensures we don't retry on authorization failures - bind(new TypeLiteral>() { - }).toInstance(new AtomicReference()); installDefaultVCloudEndpointsModule(); bind(new TypeLiteral>() { }).to(new TypeLiteral() { @@ -135,6 +136,8 @@ public class TerremarkVCloudRestClientModule>>() { }).to(new TypeLiteral() { }); + bindClientAndAsyncClient(binder(), TerremarkVCloudVersionsClient.class, TerremarkVCloudVersionsAsyncClient.class); + bindClientAndAsyncClient(binder(), TerremarkVCloudLoginClient.class, TerremarkVCloudLoginAsyncClient.class); } @Provides @@ -171,9 +174,20 @@ public class TerremarkVCloudRestClientModule sessionSupplier) { - VCloudSession session = sessionSupplier.get(); - return URI.create(getLast(session.getOrgs().values()).getHref().toASCIIString().replaceAll("org/.*", "org")); + protected Supplier provideOrgListURI(Supplier sessionSupplier) { + return Suppliers.compose(new Function() { + + @Override + public URI apply(VCloudSession arg0) { + return URI.create(getLast(arg0.getOrgs().values()).getHref().toASCIIString().replaceAll("org/.*", "org")); + } + + @Override + public String toString() { + return "orgListURI()"; + } + + }, sessionSupplier); } @Singleton @@ -296,17 +310,29 @@ public class TerremarkVCloudRestClientModule versions = versionService.getSupportedVersions().get(180, TimeUnit.SECONDS); - checkState(versions.size() > 0, "No versions present"); - checkState(versions.containsKey(version), "version " + version + " not present in: " + versions); - return versions.get(version); + @VCloudLogin + protected Supplier provideAuthenticationURI(final TerremarkVCloudVersionsClient versionService, + @Named(PROPERTY_API_VERSION) final String version) { + return new Supplier() { + + @Override + public URI get() { + SortedMap versions = versionService.getSupportedVersions(); + checkState(versions.size() > 0, "No versions present"); + checkState(versions.containsKey(version), "version " + version + " not present in: " + versions); + return versions.get(version); + } + + public String toString() { + return "login()"; + } + }; } + @Singleton private static class OrgNameToOrgSupplier implements Supplier> { private final Supplier sessionSupplier; @@ -324,12 +350,6 @@ public class TerremarkVCloudRestClientModule provideVCloudTokenCache(@Named(PROPERTY_SESSION_INTERVAL) long seconds, - AtomicReference authException, final TerremarkVCloudLoginAsyncClient login) { + AtomicReference authException, final TerremarkVCloudLoginClient login) { return new MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier(authException, seconds, - new Supplier() { + new Supplier() { - @Override - public VCloudSession get() { - try { - return login.login().get(10, TimeUnit.SECONDS); - } catch (Exception e) { - propagate(e); - assert false : e; - return null; + @Override + public VCloudSession get() { + return login.login(); } - } - }); + }); } @Singleton @@ -539,4 +548,11 @@ public class TerremarkVCloudRestClientModule getSupportedVersions(); +} \ No newline at end of file diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/location/DefaultVDC.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/location/DefaultVDC.java new file mode 100644 index 0000000000..1061fc60c0 --- /dev/null +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/location/DefaultVDC.java @@ -0,0 +1,75 @@ +/** + * Licensed to jclouds, Inc. (jclouds) under one or more + * contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. jclouds 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.trmk.vcloud_0_8.location; + +import static com.google.common.base.Preconditions.checkNotNull; +import static com.google.common.collect.Iterables.find; + +import java.util.Set; + +import javax.inject.Inject; +import javax.inject.Singleton; + +import org.jclouds.collect.Memoized; +import org.jclouds.domain.Location; +import org.jclouds.domain.LocationScope; +import org.jclouds.location.suppliers.ImplicitLocationSupplier; +import org.jclouds.trmk.vcloud_0_8.domain.ReferenceType; +import org.jclouds.trmk.vcloud_0_8.endpoints.VDC; + +import com.google.common.base.Predicate; +import com.google.common.base.Supplier; + +@Singleton +public class DefaultVDC implements ImplicitLocationSupplier { + @Singleton + public static final class IsDefaultVDC implements Predicate { + private final ReferenceType defaultVDC; + + @Inject + IsDefaultVDC(@VDC ReferenceType defaultVDC) { + this.defaultVDC = checkNotNull(defaultVDC, "defaultVDC"); + } + + @Override + public boolean apply(Location input) { + return input.getScope() == LocationScope.ZONE && input.getId().equals(defaultVDC.getHref().toASCIIString()); + } + + @Override + public String toString() { + return "isDefaultVDC()"; + } + } + + private final Supplier> locationsSupplier; + private final DefaultVDC.IsDefaultVDC isDefaultVDC; + + @Inject + DefaultVDC(@Memoized Supplier> locationsSupplier, DefaultVDC.IsDefaultVDC isDefaultVDC) { + this.locationsSupplier = checkNotNull(locationsSupplier, "locationsSupplierSupplier"); + this.isDefaultVDC = checkNotNull(isDefaultVDC, "isDefaultVDC"); + } + + @Override + public Location get() { + return find(locationsSupplier.get(), isDefaultVDC); + } + +} \ No newline at end of file diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/compute/suppliers/OrgAndVDCToLocationSupplier.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/location/OrgAndVDCToLocationSupplier.java similarity index 63% rename from common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/compute/suppliers/OrgAndVDCToLocationSupplier.java rename to common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/location/OrgAndVDCToLocationSupplier.java index 53555388bd..b8cc48a92d 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/compute/suppliers/OrgAndVDCToLocationSupplier.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/location/OrgAndVDCToLocationSupplier.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.trmk.vcloud_0_8.compute.suppliers; +package org.jclouds.trmk.vcloud_0_8.location; import static com.google.common.base.Preconditions.checkNotNull; @@ -32,7 +32,8 @@ import org.jclouds.domain.LocationBuilder; import org.jclouds.domain.LocationScope; import org.jclouds.location.Iso3166; import org.jclouds.location.Provider; -import org.jclouds.location.suppliers.JustProvider; +import org.jclouds.location.suppliers.LocationsSupplier; +import org.jclouds.location.suppliers.all.JustProvider; import org.jclouds.trmk.vcloud_0_8.domain.Org; import org.jclouds.trmk.vcloud_0_8.domain.ReferenceType; @@ -45,20 +46,21 @@ import com.google.common.collect.ImmutableSet.Builder; * @author Adrian Cole */ @Singleton -public class OrgAndVDCToLocationSupplier extends JustProvider { +public class OrgAndVDCToLocationSupplier extends JustProvider implements LocationsSupplier { private final Supplier> orgNameToResource; private final Supplier> orgNameToVDCResource; - private final Map> isoCodesById; + private final Supplier>>> isoCodesByIdSupplier; @Inject OrgAndVDCToLocationSupplier(@Iso3166 Set isoCodes, @Provider String providerName, @Provider URI endpoint, @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier> orgNameToResource, - Supplier> orgNameToVDCResource, @Iso3166 Map> isoCodesById) { + Supplier> orgNameToVDCResource, + @Iso3166 Supplier>>> isoCodesByIdSupplier) { super(providerName, endpoint, isoCodes); this.orgNameToResource = checkNotNull(orgNameToResource, "orgNameToResource"); this.orgNameToVDCResource = checkNotNull(orgNameToVDCResource, "orgNameToVDCResource"); - this.isoCodesById = checkNotNull(isoCodesById, "isoCodesById"); + this.isoCodesByIdSupplier = checkNotNull(isoCodesByIdSupplier, "isoCodesByIdSupplier"); } @Override @@ -71,21 +73,21 @@ public class OrgAndVDCToLocationSupplier extends JustProvider { Location provider = Iterables.getOnlyElement(super.get()); if (orgNameToResource.get().size() == 0) return locations.add(provider); - else - for (ReferenceType org : orgNameToResource.get().values()) { - LocationBuilder builder = new LocationBuilder().scope(LocationScope.REGION).id( - org.getHref().toASCIIString()).description((org.getName())).parent(provider); - if (isoCodesById.containsKey(org.getHref().toASCIIString())) - builder.iso3166Codes(isoCodesById.get(org.getHref().toASCIIString())); - Location orgL = builder.build(); - for (ReferenceType vdc : orgNameToVDCResource.get().get(org.getName()).getVDCs().values()) { - builder = new LocationBuilder().scope(LocationScope.ZONE).id(vdc.getHref().toASCIIString()).description( - (vdc.getName())).parent(orgL); - if (isoCodesById.containsKey(vdc.getHref().toASCIIString())) - builder.iso3166Codes(isoCodesById.get(vdc.getHref().toASCIIString())); - locations.add(builder.build()); - } + Map>> isoCodesById = isoCodesByIdSupplier.get(); + for (ReferenceType org : orgNameToResource.get().values()) { + LocationBuilder builder = new LocationBuilder().scope(LocationScope.REGION).id(org.getHref().toASCIIString()) + .description((org.getName())).parent(provider); + if (isoCodesById.containsKey(org.getHref().toASCIIString())) + builder.iso3166Codes(isoCodesById.get(org.getHref().toASCIIString()).get()); + Location orgL = builder.build(); + for (ReferenceType vdc : orgNameToVDCResource.get().get(org.getName()).getVDCs().values()) { + builder = new LocationBuilder().scope(LocationScope.ZONE).id(vdc.getHref().toASCIIString()).description( + (vdc.getName())).parent(orgL); + if (isoCodesById.containsKey(vdc.getHref().toASCIIString())) + builder.iso3166Codes(isoCodesById.get(vdc.getHref().toASCIIString()).get()); + locations.add(builder.build()); } + } return locations; } diff --git a/common/trmk/src/test/java/org/jclouds/trmk/vcloud_0_8/internal/TerremarkVCloudLoginAsyncClientTest.java b/common/trmk/src/test/java/org/jclouds/trmk/vcloud_0_8/internal/TerremarkVCloudLoginAsyncClientTest.java index f728d20f98..89516be5ea 100644 --- a/common/trmk/src/test/java/org/jclouds/trmk/vcloud_0_8/internal/TerremarkVCloudLoginAsyncClientTest.java +++ b/common/trmk/src/test/java/org/jclouds/trmk/vcloud_0_8/internal/TerremarkVCloudLoginAsyncClientTest.java @@ -24,23 +24,21 @@ import static org.testng.Assert.assertEquals; import java.io.IOException; import java.lang.reflect.Method; import java.net.URI; -import java.util.concurrent.TimeUnit; import javax.ws.rs.core.HttpHeaders; -import org.jclouds.concurrent.Timeout; import org.jclouds.http.HttpRequest; import org.jclouds.http.filters.BasicAuthentication; import org.jclouds.location.Provider; import org.jclouds.rest.RestClientTest; import org.jclouds.rest.RestContextSpec; import org.jclouds.rest.internal.RestAnnotationProcessor; -import org.jclouds.trmk.vcloud_0_8.domain.VCloudSession; import org.jclouds.trmk.vcloud_0_8.endpoints.VCloudLogin; import org.jclouds.trmk.vcloud_0_8.functions.ParseLoginResponseFromHeaders; -import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudLoginAsyncClient; import org.testng.annotations.Test; +import com.google.common.base.Supplier; +import com.google.common.base.Suppliers; import com.google.inject.Binder; import com.google.inject.Module; import com.google.inject.Provides; @@ -93,22 +91,17 @@ public class TerremarkVCloudLoginAsyncClientTest extends RestClientTest provideURI(@Provider URI uri) { + return Suppliers.ofInstance(uri); } }; } - @Timeout(duration = 10, timeUnit = TimeUnit.SECONDS) - public interface VCloudLoginClient { - - VCloudSession login(); - } @Override - public RestContextSpec createContextSpec() { + public RestContextSpec createContextSpec() { return contextSpec("test", "http://localhost:8080/login", "1", "", "", "identity", "credential", - VCloudLoginClient.class, TerremarkVCloudLoginAsyncClient.class); + TerremarkVCloudLoginClient.class, TerremarkVCloudLoginAsyncClient.class); } } diff --git a/common/trmk/src/test/java/org/jclouds/trmk/vcloud_0_8/internal/TerremarkVCloudVersionsAsyncClientTest.java b/common/trmk/src/test/java/org/jclouds/trmk/vcloud_0_8/internal/TerremarkVCloudVersionsAsyncClientTest.java index 1399a22476..5a5e03e7d5 100644 --- a/common/trmk/src/test/java/org/jclouds/trmk/vcloud_0_8/internal/TerremarkVCloudVersionsAsyncClientTest.java +++ b/common/trmk/src/test/java/org/jclouds/trmk/vcloud_0_8/internal/TerremarkVCloudVersionsAsyncClientTest.java @@ -23,17 +23,12 @@ import static org.testng.Assert.assertEquals; import java.io.IOException; import java.lang.reflect.Method; -import java.net.URI; -import java.util.SortedMap; -import java.util.concurrent.TimeUnit; -import org.jclouds.concurrent.Timeout; import org.jclouds.http.HttpRequest; import org.jclouds.http.functions.ParseSax; import org.jclouds.rest.RestClientTest; import org.jclouds.rest.RestContextSpec; import org.jclouds.rest.internal.RestAnnotationProcessor; -import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudVersionsAsyncClient; import org.jclouds.trmk.vcloud_0_8.xml.SupportedVersionsHandler; import org.testng.annotations.Test; @@ -74,16 +69,10 @@ public class TerremarkVCloudVersionsAsyncClientTest extends RestClientTest getSupportedVersions(); - } - @Override - public RestContextSpec createContextSpec() { + public RestContextSpec createContextSpec() { return contextSpec("test", "http://localhost:8080", "1", "", "", "identity", "credential", - VCloudVersionsClient.class, TerremarkVCloudVersionsAsyncClient.class); + TerremarkVCloudVersionsClient.class, TerremarkVCloudVersionsAsyncClient.class); } } diff --git a/providers/trmk-ecloud/src/test/java/org/jclouds/trmk/ecloud/BaseTerremarkECloudAsyncClientTest.java b/providers/trmk-ecloud/src/test/java/org/jclouds/trmk/ecloud/BaseTerremarkECloudAsyncClientTest.java index 316d4443d9..5acba65890 100644 --- a/providers/trmk-ecloud/src/test/java/org/jclouds/trmk/ecloud/BaseTerremarkECloudAsyncClientTest.java +++ b/providers/trmk-ecloud/src/test/java/org/jclouds/trmk/ecloud/BaseTerremarkECloudAsyncClientTest.java @@ -48,8 +48,8 @@ import org.jclouds.trmk.vcloud_0_8.domain.internal.CatalogItemImpl; import org.jclouds.trmk.vcloud_0_8.domain.internal.ReferenceTypeImpl; import org.jclouds.trmk.vcloud_0_8.domain.internal.VDCImpl; import org.jclouds.trmk.vcloud_0_8.filters.SetVCloudTokenCookie; -import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudLoginAsyncClient; -import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudVersionsAsyncClient; +import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudLoginClient; +import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudVersionsClient; import com.google.common.base.Supplier; import com.google.common.base.Suppliers; @@ -133,8 +133,8 @@ public abstract class BaseTerremarkECloudAsyncClientTest extends RestClientTe protected static class TerremarkECloudRestClientModuleExtension extends TerremarkECloudRestClientModule { @Override - protected URI provideAuthenticationURI(TerremarkVCloudVersionsAsyncClient versionService, String version) { - return URI.create("https://vcloud.safesecureweb.com/api/v0.8/login"); + protected Supplier provideAuthenticationURI(TerremarkVCloudVersionsClient versionService, String version) { + return Suppliers.ofInstance(URI.create("https://vcloud.safesecureweb.com/api/v0.8/login")); } @Override @@ -166,7 +166,7 @@ public abstract class BaseTerremarkECloudAsyncClientTest extends RestClientTe @Override protected Supplier provideVCloudTokenCache(@Named(PROPERTY_SESSION_INTERVAL) long seconds, - AtomicReference authException, TerremarkVCloudLoginAsyncClient login) { + AtomicReference authException, TerremarkVCloudLoginClient login) { return Suppliers. ofInstance(new VCloudSession() { @Override diff --git a/providers/trmk-vcloudexpress/src/test/java/org/jclouds/trmk/vcloudexpress/TerremarkVCloudExpressAsyncClientTest.java b/providers/trmk-vcloudexpress/src/test/java/org/jclouds/trmk/vcloudexpress/TerremarkVCloudExpressAsyncClientTest.java index 986fde6caa..f543e3c30b 100644 --- a/providers/trmk-vcloudexpress/src/test/java/org/jclouds/trmk/vcloudexpress/TerremarkVCloudExpressAsyncClientTest.java +++ b/providers/trmk-vcloudexpress/src/test/java/org/jclouds/trmk/vcloudexpress/TerremarkVCloudExpressAsyncClientTest.java @@ -64,8 +64,8 @@ import org.jclouds.trmk.vcloud_0_8.domain.internal.ReferenceTypeImpl; import org.jclouds.trmk.vcloud_0_8.domain.internal.VDCImpl; import org.jclouds.trmk.vcloud_0_8.filters.SetVCloudTokenCookie; import org.jclouds.trmk.vcloud_0_8.functions.ParseTaskFromLocationHeader; -import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudLoginAsyncClient; -import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudVersionsAsyncClient; +import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudLoginClient; +import org.jclouds.trmk.vcloud_0_8.internal.TerremarkVCloudVersionsClient; import org.jclouds.trmk.vcloud_0_8.options.AddInternetServiceOptions; import org.jclouds.trmk.vcloud_0_8.options.AddNodeOptions; import org.jclouds.trmk.vcloud_0_8.options.InstantiateVAppTemplateOptions; @@ -675,8 +675,8 @@ public class TerremarkVCloudExpressAsyncClientTest extends RestClientTest provideAuthenticationURI(TerremarkVCloudVersionsClient versionService, String version) { + return Suppliers.ofInstance(URI.create("https://vcloud.safesecureweb.com/api/v0.8/login")); } @Override @@ -708,7 +708,7 @@ public class TerremarkVCloudExpressAsyncClientTest extends RestClientTest provideVCloudTokenCache(@Named(PROPERTY_SESSION_INTERVAL) long seconds, - AtomicReference authException, TerremarkVCloudLoginAsyncClient login) { + AtomicReference authException, TerremarkVCloudLoginClient login) { return Suppliers. ofInstance(new VCloudSession() { @Override