diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/binders/BindInstantiateVAppTemplateParamsToXmlPayload.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/binders/BindInstantiateVAppTemplateParamsToXmlPayload.java index a6aebc28e7..5dc5f7e607 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/binders/BindInstantiateVAppTemplateParamsToXmlPayload.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/binders/BindInstantiateVAppTemplateParamsToXmlPayload.java @@ -52,6 +52,7 @@ import org.jclouds.vcloud.options.InstantiateVAppTemplateOptions; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Function; +import com.google.common.base.Supplier; import com.google.common.cache.LoadingCache; import com.google.common.collect.ImmutableSet; import com.jamesmurty.utils.XMLBuilder; @@ -67,7 +68,7 @@ public class BindInstantiateVAppTemplateParamsToXmlPayload implements MapBinder protected final String ns; protected final String schema; protected final BindToStringPayload stringBinder; - protected final ReferenceType defaultNetwork; + protected final Supplier defaultNetwork; protected final FenceMode defaultFenceMode; protected final LoadingCache templateCache; protected final Function defaultNetworkNameInTemplate; @@ -76,7 +77,7 @@ public class BindInstantiateVAppTemplateParamsToXmlPayload implements MapBinder public BindInstantiateVAppTemplateParamsToXmlPayload(LoadingCache templateCache, @Network Function defaultNetworkNameInTemplate, BindToStringPayload stringBinder, @Named(PROPERTY_VCLOUD_XML_NAMESPACE) String ns, @Named(PROPERTY_VCLOUD_XML_SCHEMA) String schema, - @Network ReferenceType network, FenceMode fenceMode) { + @Network Supplier network, FenceMode fenceMode) { this.templateCache = templateCache; this.defaultNetworkNameInTemplate = defaultNetworkNameInTemplate; this.ns = ns; @@ -98,7 +99,7 @@ public class BindInstantiateVAppTemplateParamsToXmlPayload implements MapBinder Set networkConfig = null; NetworkConfigDecorator networkConfigDecorator = new NetworkConfigDecorator(templateCache.getUnchecked(template), - defaultNetwork.getHref(), defaultFenceMode, defaultNetworkNameInTemplate); + defaultNetwork.get().getHref(), defaultFenceMode, defaultNetworkNameInTemplate); InstantiateVAppTemplateOptions options = findOptionsInArgsOrNull(gRequest); diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/compute/config/VCloudComputeServiceDependenciesModule.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/compute/config/VCloudComputeServiceDependenciesModule.java index 19499dd7c5..1e30db8269 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/compute/config/VCloudComputeServiceDependenciesModule.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/compute/config/VCloudComputeServiceDependenciesModule.java @@ -51,6 +51,8 @@ import org.jclouds.vcloud.functions.VAppTemplatesInOrg; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Function; +import com.google.common.base.Supplier; +import com.google.common.base.Suppliers; import com.google.common.collect.ImmutableMap; import com.google.inject.AbstractModule; import com.google.inject.Provides; @@ -108,8 +110,16 @@ public class VCloudComputeServiceDependenciesModule extends AbstractModule { @Provides @Singleton - public NetworkConfig networkConfig(@Network ReferenceType network, FenceMode defaultFenceMode) { - return new NetworkConfig(network.getName(), network.getHref(), defaultFenceMode); + public Supplier networkConfig(@Network Supplier network, + final FenceMode defaultFenceMode) { + return Suppliers.compose(new Function() { + + @Override + public NetworkConfig apply(ReferenceType input) { + return new NetworkConfig(input.getName(), input.getHref(), defaultFenceMode); + } + + }, network); } } diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/compute/strategy/InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOn.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/compute/strategy/InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOn.java index 823bd76aed..d40f391d31 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/compute/strategy/InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOn.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/compute/strategy/InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOn.java @@ -57,6 +57,7 @@ import org.jclouds.vcloud.domain.network.NetworkConfig; import org.jclouds.vcloud.options.InstantiateVAppTemplateOptions; import com.google.common.base.Predicate; +import com.google.common.base.Supplier; import com.google.common.cache.LoadingCache; import com.google.common.collect.ImmutableSet; @@ -72,13 +73,13 @@ public class InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployA protected final VCloudClient client; protected final Predicate successTester; protected final LoadingCache vAppTemplates; - protected final NetworkConfig defaultNetworkConfig; + protected final Supplier defaultNetworkConfig; protected final String buildVersion; @Inject protected InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOn(VCloudClient client, Predicate successTester, LoadingCache vAppTemplates, - NetworkConfig defaultNetworkConfig, @Named(PROPERTY_BUILD_VERSION) String buildVersion) { + Supplier defaultNetworkConfig, @Named(PROPERTY_BUILD_VERSION) String buildVersion) { this.client = client; this.successTester = successTester; this.vAppTemplates = vAppTemplates; @@ -142,9 +143,9 @@ public class InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployA // if we only have a disconnected network, let's add a new section for the upstream // TODO: remove the disconnected entry if (networkWithNoIpAllocation.apply(networkToConnect)) - config = defaultNetworkConfig; + config = defaultNetworkConfig.get(); else - config = defaultNetworkConfig.toBuilder().networkName(networkToConnect.getName()).build(); + config = defaultNetworkConfig.get().toBuilder().networkName(networkToConnect.getName()).build(); // note that in VCD 1.5, the network name after instantiation will be the same as the parent InstantiateVAppTemplateOptions options = addNetworkConfig(config); diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/config/DefaultOrgForUser.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/config/DefaultOrgForUser.java index f328a9545e..143e9d601d 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/config/DefaultOrgForUser.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/config/DefaultOrgForUser.java @@ -34,13 +34,14 @@ import org.jclouds.vcloud.suppliers.OnlyReferenceTypeFirstWithNameMatchingConfig import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.base.Supplier; +import com.google.common.base.Suppliers; /** * * @author Adrian Cole */ @Singleton -public class DefaultOrgForUser implements Function { +public class DefaultOrgForUser implements Function> { private final OnlyReferenceTypeFirstWithNameMatchingConfigurationKeyOrDefault selector; private final Supplier sessionSupplier; @@ -55,10 +56,16 @@ public class DefaultOrgForUser implements Function { } @Override - public ReferenceType apply(String user) { - VCloudSession session = sessionSupplier.get(); - checkState(session != null, "could not retrieve Session at %s", user); - return selector.apply(session.getOrgs().values()); + public Supplier apply(final String user) { + return Suppliers.compose(new Function() { + + @Override + public ReferenceType apply(VCloudSession session) { + checkState(session != null, "could not retrieve Session at %s", user); + return selector.apply(session.getOrgs().values()); + } + + }, sessionSupplier); } } \ No newline at end of file diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/config/DefaultVCloudReferencesModule.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/config/DefaultVCloudReferencesModule.java index 78f4f65074..708f119007 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/config/DefaultVCloudReferencesModule.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/config/DefaultVCloudReferencesModule.java @@ -57,7 +57,7 @@ public class DefaultVCloudReferencesModule extends AbstractModule { @Provides @org.jclouds.vcloud.endpoints.Org @Singleton - protected ReferenceType provideDefaultOrg(DefaultOrgForUser defaultOrgURIForUser, + protected Supplier provideDefaultOrg(DefaultOrgForUser defaultOrgURIForUser, @Named(PROPERTY_IDENTITY) String user) { return defaultOrgURIForUser.apply(user); } @@ -72,17 +72,17 @@ public class DefaultVCloudReferencesModule extends AbstractModule { @Provides @org.jclouds.vcloud.endpoints.TasksList @Singleton - protected ReferenceType provideDefaultTasksList(DefaultTasksListForOrg defaultTasksListURIForOrg, - @org.jclouds.vcloud.endpoints.Org ReferenceType defaultOrg) { - return defaultTasksListURIForOrg.apply(defaultOrg); + protected Supplier provideDefaultTasksList(DefaultTasksListForOrg defaultTasksListURIForOrg, + @org.jclouds.vcloud.endpoints.Org Supplier defaultOrg) { + return Suppliers.compose(defaultTasksListURIForOrg, defaultOrg); } @Provides @org.jclouds.vcloud.endpoints.Catalog @Singleton - protected ReferenceType provideDefaultCatalog(DefaultCatalogForOrg defaultCatalogURIForOrg, - @org.jclouds.vcloud.endpoints.Org ReferenceType defaultOrg) { - return defaultCatalogURIForOrg.apply(defaultOrg); + protected Supplier provideDefaultCatalog(DefaultCatalogForOrg defaultCatalogURIForOrg, + @org.jclouds.vcloud.endpoints.Org Supplier defaultOrg) { + return Suppliers.compose(defaultCatalogURIForOrg, defaultOrg); } @Provides @@ -146,9 +146,9 @@ public class DefaultVCloudReferencesModule extends AbstractModule { @Provides @org.jclouds.vcloud.endpoints.VDC @Singleton - protected ReferenceType provideDefaultVDC(DefaultVDCForOrg defaultVDCURIForOrg, - @org.jclouds.vcloud.endpoints.Org ReferenceType defaultOrg) { - return defaultVDCURIForOrg.apply(defaultOrg); + protected Supplier provideDefaultVDC(DefaultVDCForOrg defaultVDCURIForOrg, + @org.jclouds.vcloud.endpoints.Org Supplier defaultOrg) { + return Suppliers.compose(defaultVDCURIForOrg, defaultOrg); } @Provides @@ -161,9 +161,9 @@ public class DefaultVCloudReferencesModule extends AbstractModule { @Provides @org.jclouds.vcloud.endpoints.Network @Singleton - protected ReferenceType provideDefaultNetwork(DefaultNetworkForVDC defaultNetworkURIForVDC, - @org.jclouds.vcloud.endpoints.VDC ReferenceType defaultVDC) { - return defaultNetworkURIForVDC.apply(defaultVDC); + protected Supplier provideDefaultNetwork(DefaultNetworkForVDC defaultNetworkURIForVDC, + @org.jclouds.vcloud.endpoints.VDC Supplier defaultVDC) { + return Suppliers.compose(defaultNetworkURIForVDC, defaultVDC); } @Provides diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/config/VCloudRestClientModule.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/config/VCloudRestClientModule.java index 270546727f..ddc950c37d 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/config/VCloudRestClientModule.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/config/VCloudRestClientModule.java @@ -316,8 +316,15 @@ public class VCloudRestClientModule extends RestClientModule cache) { - return checkNotNull(cache.get().getVCloudToken(), "No token present in session"); + @Singleton + Supplier provideVCloudToken(Supplier cache) { + return Suppliers.compose(new Function() { + + @Override + public String apply(VCloudSession input) { + return checkNotNull(input.getVCloudToken(), "No token present in session"); + } + }, cache); } @Provides @@ -419,9 +426,16 @@ public class VCloudRestClientModule extends RestClientModule> orgSupplier, - @org.jclouds.vcloud.endpoints.Org ReferenceType defaultOrg) { - return orgSupplier.get().get(defaultOrg.getName()); + protected Supplier provideOrg(final Supplier> orgSupplier, + @org.jclouds.vcloud.endpoints.Org Supplier defaultOrg) { + return Suppliers.compose(new Function() { + + @Override + public Org apply(ReferenceType input) { + return orgSupplier.get().get(input.getName()); + + } + }, defaultOrg); } @Provides diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/filters/SetVCloudTokenCookie.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/filters/SetVCloudTokenCookie.java index cacd55862f..62da6224a7 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/filters/SetVCloudTokenCookie.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/filters/SetVCloudTokenCookie.java @@ -19,7 +19,6 @@ package org.jclouds.vcloud.filters; import javax.inject.Inject; -import javax.inject.Provider; import javax.inject.Singleton; import javax.ws.rs.core.HttpHeaders; @@ -29,6 +28,8 @@ import org.jclouds.http.HttpRequestFilter; import org.jclouds.http.utils.ModifyRequest; import org.jclouds.vcloud.VCloudToken; +import com.google.common.base.Supplier; + /** * Adds the VCloud Token to the request as a cookie * @@ -37,10 +38,10 @@ import org.jclouds.vcloud.VCloudToken; */ @Singleton public class SetVCloudTokenCookie implements HttpRequestFilter { - private Provider vcloudTokenProvider; + private Supplier vcloudTokenProvider; @Inject - public SetVCloudTokenCookie(@VCloudToken Provider authTokenProvider) { + public SetVCloudTokenCookie(@VCloudToken Supplier authTokenProvider) { this.vcloudTokenProvider = authTokenProvider; } diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameAndCatalogNameToEndpoint.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameAndCatalogNameToEndpoint.java index 7ced169d91..4ab10367cc 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameAndCatalogNameToEndpoint.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameAndCatalogNameToEndpoint.java @@ -42,12 +42,13 @@ import com.google.common.collect.Iterables; @Singleton public class OrgNameAndCatalogNameToEndpoint implements Function { private final Supplier> orgMap; - private final ReferenceType defaultOrg; - private final ReferenceType defaultCatalog; + private final Supplier defaultOrg; + private final Supplier defaultCatalog; @Inject public OrgNameAndCatalogNameToEndpoint(Supplier> orgMap, - @org.jclouds.vcloud.endpoints.Org ReferenceType defaultOrg, @Catalog ReferenceType defaultCatalog) { + @org.jclouds.vcloud.endpoints.Org Supplier defaultOrg, + @Catalog Supplier defaultCatalog) { this.orgMap = orgMap; this.defaultOrg = defaultOrg; this.defaultCatalog = defaultCatalog; @@ -59,9 +60,9 @@ public class OrgNameAndCatalogNameToEndpoint implements Function { Object org = Iterables.get(orgCatalog, 0); Object catalog = Iterables.get(orgCatalog, 1); if (org == null && catalog == null) - return defaultCatalog.getHref(); + return defaultCatalog.get().getHref(); else if (org == null) - org = defaultOrg.getName(); + org = defaultOrg.get().getName(); try { Map catalogs = checkNotNull(orgMap.get().get(org)).getCatalogs(); diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameAndVDCNameToEndpoint.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameAndVDCNameToEndpoint.java index b34a9a293e..0814fcfcde 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameAndVDCNameToEndpoint.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameAndVDCNameToEndpoint.java @@ -42,12 +42,12 @@ import com.google.common.collect.Iterables; @Singleton public class OrgNameAndVDCNameToEndpoint implements Function { private final Supplier> orgNameToVDCEndpoint; - private final ReferenceType defaultOrg; - private final ReferenceType defaultVDC; + private final Supplier defaultOrg; + private final Supplier defaultVDC; @Inject public OrgNameAndVDCNameToEndpoint(Supplier> orgNameToVDCEndpoint, - @org.jclouds.vcloud.endpoints.Org ReferenceType defaultOrg, @VDC ReferenceType defaultVDC) { + @org.jclouds.vcloud.endpoints.Org Supplier defaultOrg, @VDC Supplier defaultVDC) { this.orgNameToVDCEndpoint = orgNameToVDCEndpoint; this.defaultOrg = defaultOrg; this.defaultVDC = defaultVDC; @@ -59,9 +59,9 @@ public class OrgNameAndVDCNameToEndpoint implements Function { Object org = Iterables.get(orgVdc, 0); Object vdc = Iterables.get(orgVdc, 1); if (org == null && vdc == null) - return defaultVDC.getHref(); + return defaultVDC.get().getHref(); else if (org == null) - org = defaultOrg.getName(); + org = defaultOrg.get().getName(); try { Map vdcs = checkNotNull(orgNameToVDCEndpoint.get().get(org)).getVDCs(); diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameCatalogNameItemNameToEndpoint.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameCatalogNameItemNameToEndpoint.java index c62d712fac..4a72203bf6 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameCatalogNameItemNameToEndpoint.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameCatalogNameItemNameToEndpoint.java @@ -42,13 +42,13 @@ import com.google.common.collect.Iterables; @Singleton public class OrgNameCatalogNameItemNameToEndpoint implements Function { private final Supplier>> orgCatalogMap; - private final ReferenceType defaultOrg; - private final ReferenceType defaultCatalog; + private final Supplier defaultOrg; + private final Supplier defaultCatalog; @Inject public OrgNameCatalogNameItemNameToEndpoint( Supplier>> orgCatalogMap, - @Org ReferenceType defaultOrg, @Catalog ReferenceType defaultCatalog) { + @Org Supplier defaultOrg, @Catalog Supplier defaultCatalog) { this.orgCatalogMap = orgCatalogMap; this.defaultOrg = defaultOrg; this.defaultCatalog = defaultCatalog; @@ -61,9 +61,9 @@ public class OrgNameCatalogNameItemNameToEndpoint implements Function catalogs = checkNotNull(orgCatalogMap.get().get(org)); return catalogs.get(catalog).get(catalogItem).getHref(); diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameCatalogNameVAppTemplateNameToEndpoint.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameCatalogNameVAppTemplateNameToEndpoint.java index 01aed9bf5e..dca8f5f2bb 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameCatalogNameVAppTemplateNameToEndpoint.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameCatalogNameVAppTemplateNameToEndpoint.java @@ -43,13 +43,13 @@ import com.google.common.collect.Iterables; @Singleton public class OrgNameCatalogNameVAppTemplateNameToEndpoint implements Function { private final Supplier>>> orgCatalogItemMap; - private final ReferenceType defaultOrg; - private final ReferenceType defaultCatalog; + private final Supplier defaultOrg; + private final Supplier defaultCatalog; @Inject public OrgNameCatalogNameVAppTemplateNameToEndpoint( Supplier>>> orgCatalogItemMap, - @Org ReferenceType defaultOrg, @Catalog ReferenceType defaultCatalog) { + @Org Supplier defaultOrg, @Catalog Supplier defaultCatalog) { this.orgCatalogItemMap = orgCatalogItemMap; this.defaultOrg = defaultOrg; this.defaultCatalog = defaultCatalog; @@ -62,9 +62,9 @@ public class OrgNameCatalogNameVAppTemplateNameToEndpoint implements Function>> orgCatalogItemMap = this.orgCatalogItemMap.get(); if (!orgCatalogItemMap.containsKey(org)) diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameToEndpoint.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameToEndpoint.java index fc1b37647f..139282c438 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameToEndpoint.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameToEndpoint.java @@ -38,11 +38,11 @@ import com.google.common.base.Supplier; @Singleton public class OrgNameToEndpoint implements Function { private final Supplier> orgNameToEndpointSupplier; - private final ReferenceType defaultOrg; + private final Supplier defaultOrg; @Inject public OrgNameToEndpoint(@Org Supplier> orgNameToEndpointSupplier, - @Org ReferenceType defaultOrg) { + @Org Supplier defaultOrg) { this.orgNameToEndpointSupplier = orgNameToEndpointSupplier; this.defaultOrg = defaultOrg; } @@ -50,7 +50,7 @@ public class OrgNameToEndpoint implements Function { public URI apply(Object from) { try { Map orgNameToEndpoint = orgNameToEndpointSupplier.get(); - return from == null ? defaultOrg.getHref() : orgNameToEndpoint.get(from).getHref(); + return from == null ? defaultOrg.get().getHref() : orgNameToEndpoint.get(from).getHref(); } catch (NullPointerException e) { throw new NoSuchElementException("org " + from + " not found in " + orgNameToEndpointSupplier.get().keySet()); } diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameToTasksListEndpoint.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameToTasksListEndpoint.java index f4897da452..bd630218ba 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameToTasksListEndpoint.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameToTasksListEndpoint.java @@ -41,11 +41,11 @@ import com.google.common.base.Supplier; @Singleton public class OrgNameToTasksListEndpoint implements Function { private final Supplier> orgMap; - private final ReferenceType defaultTasksList; + private final Supplier defaultTasksList; @Inject public OrgNameToTasksListEndpoint(Supplier> orgMap, - @TasksList ReferenceType defaultTasksList) { + @TasksList Supplier defaultTasksList) { this.orgMap = orgMap; this.defaultTasksList = defaultTasksList; } @@ -53,7 +53,7 @@ public class OrgNameToTasksListEndpoint implements Function { public URI apply(Object from) { Object org = from; if (org == null) - return defaultTasksList.getHref(); + return defaultTasksList.get().getHref(); try { return checkNotNull(orgMap.get().get(org)).getTasksList().getHref(); } catch (NullPointerException e) { diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameVDCNameNetworkNameToEndpoint.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameVDCNameNetworkNameToEndpoint.java index e7ed133dfd..a505791e9f 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameVDCNameNetworkNameToEndpoint.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameVDCNameNetworkNameToEndpoint.java @@ -40,7 +40,7 @@ public class OrgNameVDCNameNetworkNameToEndpoint extends OrgNameVDCNameResourceN @Inject public OrgNameVDCNameNetworkNameToEndpoint( Supplier>> orgVDCMap, - @Org ReferenceType defaultOrg, @VDC ReferenceType defaultVDC) { + @Org Supplier defaultOrg, @VDC Supplier defaultVDC) { super(orgVDCMap, defaultOrg, defaultVDC); } diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameVDCNameResourceEntityNameToEndpoint.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameVDCNameResourceEntityNameToEndpoint.java index fc323b35a2..d94a03a892 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameVDCNameResourceEntityNameToEndpoint.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameVDCNameResourceEntityNameToEndpoint.java @@ -40,7 +40,7 @@ public class OrgNameVDCNameResourceEntityNameToEndpoint extends OrgNameVDCNameRe @Inject public OrgNameVDCNameResourceEntityNameToEndpoint( Supplier>> orgVDCMap, - @Org ReferenceType defaultOrg, @VDC ReferenceType defaultVDC) { + @Org Supplier defaultOrg, @VDC Supplier defaultVDC) { super(orgVDCMap, defaultOrg, defaultVDC); } diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameVDCNameResourceNameToEndpoint.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameVDCNameResourceNameToEndpoint.java index f383a2a026..07147b0245 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameVDCNameResourceNameToEndpoint.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/functions/OrgNameVDCNameResourceNameToEndpoint.java @@ -41,13 +41,13 @@ import com.google.common.collect.Iterables; public abstract class OrgNameVDCNameResourceNameToEndpoint implements Function{ protected final Supplier>> orgVDCMap; - protected final ReferenceType defaultOrg; - protected final ReferenceType defaultVDC; + protected final Supplier defaultOrg; + protected final Supplier defaultVDC; @Inject public OrgNameVDCNameResourceNameToEndpoint( Supplier>> orgVDCMap, - @Org ReferenceType defaultOrg, @org.jclouds.vcloud.endpoints.VDC ReferenceType defaultVDC) { + @Org Supplier defaultOrg, @org.jclouds.vcloud.endpoints.VDC Supplier defaultVDC) { this.orgVDCMap = orgVDCMap; this.defaultOrg = defaultOrg; this.defaultVDC = defaultVDC; @@ -60,9 +60,9 @@ public abstract class OrgNameVDCNameResourceNameToEndpoint implements Function< Object vDC = Iterables.get(orgVDC, 1); Object resource = Iterables.get(orgVDC, 2); if (org == null) - org = defaultOrg.getName(); + org = defaultOrg.get().getName(); if (vDC == null) - vDC = defaultVDC.getName(); + vDC = defaultVDC.get().getName(); Map> orgToVDCs = orgVDCMap.get(); checkState(orgToVDCs != null, "could not get map of org name to vdcs!"); Map vDCs = orgToVDCs.get(org); diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/location/DefaultVDC.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/location/DefaultVDC.java index c4d3a83e6e..21c30f2c3d 100644 --- a/apis/vcloud/src/main/java/org/jclouds/vcloud/location/DefaultVDC.java +++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/location/DefaultVDC.java @@ -55,15 +55,16 @@ public class DefaultVDC implements ImplicitLocationSupplier { @Singleton public static class IsDefaultVDC implements Predicate { - private final ReferenceType defaultVDC; + private final Supplier defaultVDCSupplier; @Inject - IsDefaultVDC(@VDC ReferenceType defaultVDC) { - this.defaultVDC = checkNotNull(defaultVDC, "defaultVDC"); + IsDefaultVDC(@VDC Supplier defaultVDCSupplier) { + this.defaultVDCSupplier = checkNotNull(defaultVDCSupplier, "defaultVDCSupplier"); } @Override public boolean apply(Location input) { + ReferenceType defaultVDC = defaultVDCSupplier.get(); return input.getScope() == LocationScope.ZONE && input.getId().equals(defaultVDC.getHref().toASCIIString()); } diff --git a/apis/vcloud/src/test/java/org/jclouds/vcloud/binders/BindInstantiateVAppTemplateParamsToXmlPayloadTest.java b/apis/vcloud/src/test/java/org/jclouds/vcloud/binders/BindInstantiateVAppTemplateParamsToXmlPayloadTest.java index c5647b7ce8..1b5151563e 100644 --- a/apis/vcloud/src/test/java/org/jclouds/vcloud/binders/BindInstantiateVAppTemplateParamsToXmlPayloadTest.java +++ b/apis/vcloud/src/test/java/org/jclouds/vcloud/binders/BindInstantiateVAppTemplateParamsToXmlPayloadTest.java @@ -49,6 +49,8 @@ import org.testng.annotations.Test; import com.google.common.base.Function; import com.google.common.base.Functions; +import com.google.common.base.Supplier; +import com.google.common.base.Suppliers; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; @@ -102,9 +104,9 @@ public class BindInstantiateVAppTemplateParamsToXmlPayloadTest { @Network @Provides @Singleton - ReferenceType provideNetwork() { - return new ReferenceTypeImpl(null, null, URI - .create("https://vcenterprise.bluelock.com/api/v1.0/network/1990")); + Supplier provideNetwork() { + return Suppliers.ofInstance(new ReferenceTypeImpl(null, null, URI + .create("https://vcenterprise.bluelock.com/api/v1.0/network/1990"))); } })); } diff --git a/apis/vcloud/src/test/java/org/jclouds/vcloud/filters/SetVCloudTokenCookieTest.java b/apis/vcloud/src/test/java/org/jclouds/vcloud/filters/SetVCloudTokenCookieTest.java index 1ee62b9fd1..dd46999749 100644 --- a/apis/vcloud/src/test/java/org/jclouds/vcloud/filters/SetVCloudTokenCookieTest.java +++ b/apis/vcloud/src/test/java/org/jclouds/vcloud/filters/SetVCloudTokenCookieTest.java @@ -22,7 +22,6 @@ import static org.testng.Assert.assertEquals; import java.net.URI; -import javax.inject.Provider; import javax.ws.rs.core.HttpHeaders; import org.jclouds.http.HttpRequest; @@ -30,6 +29,8 @@ import org.jclouds.vcloud.filters.SetVCloudTokenCookie; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; +import com.google.common.base.Supplier; + /** * @author Adrian Cole */ @@ -40,7 +41,7 @@ public class SetVCloudTokenCookieTest { @BeforeTest void setUp() { - filter = new SetVCloudTokenCookie(new Provider() { + filter = new SetVCloudTokenCookie(new Supplier() { public String get() { return "token"; } diff --git a/apis/vcloud/src/test/java/org/jclouds/vcloud/internal/BaseVCloudAsyncClientTest.java b/apis/vcloud/src/test/java/org/jclouds/vcloud/internal/BaseVCloudAsyncClientTest.java index 90ec8dfbd5..96b696cf30 100644 --- a/apis/vcloud/src/test/java/org/jclouds/vcloud/internal/BaseVCloudAsyncClientTest.java +++ b/apis/vcloud/src/test/java/org/jclouds/vcloud/internal/BaseVCloudAsyncClientTest.java @@ -139,9 +139,9 @@ public abstract class BaseVCloudAsyncClientTest extends RestClientTest { } @Override - protected Org provideOrg(Supplier> orgSupplier, - @org.jclouds.vcloud.endpoints.Org ReferenceType defaultOrg) { - return ORG; + protected Supplier provideOrg(Supplier> orgSupplier, + @org.jclouds.vcloud.endpoints.Org Supplier defaultOrg) { + return Suppliers.ofInstance(ORG); } @Override @@ -150,14 +150,18 @@ public abstract class BaseVCloudAsyncClientTest extends RestClientTest { @Override protected void configure() { - bind(ReferenceType.class).annotatedWith(org.jclouds.vcloud.endpoints.Org.class).toInstance(ORG_REF); - bind(ReferenceType.class).annotatedWith(org.jclouds.vcloud.endpoints.Catalog.class).toInstance( - CATALOG_REF); - bind(ReferenceType.class).annotatedWith(org.jclouds.vcloud.endpoints.TasksList.class).toInstance( - TASKSLIST_REF); - bind(ReferenceType.class).annotatedWith(org.jclouds.vcloud.endpoints.VDC.class).toInstance(VDC_REF); - bind(ReferenceType.class).annotatedWith(org.jclouds.vcloud.endpoints.Network.class).toInstance( - NETWORK_REF); + TypeLiteral> refTypeSupplier = new TypeLiteral>() { + }; + bind(refTypeSupplier).annotatedWith(org.jclouds.vcloud.endpoints.Org.class).toInstance( + Suppliers. ofInstance(ORG_REF)); + bind(refTypeSupplier).annotatedWith(org.jclouds.vcloud.endpoints.Catalog.class).toInstance( + Suppliers. ofInstance(CATALOG_REF)); + bind(refTypeSupplier).annotatedWith(org.jclouds.vcloud.endpoints.TasksList.class).toInstance( + Suppliers. ofInstance(TASKSLIST_REF)); + bind(refTypeSupplier).annotatedWith(org.jclouds.vcloud.endpoints.VDC.class).toInstance( + Suppliers. ofInstance(VDC_REF)); + bind(refTypeSupplier).annotatedWith(org.jclouds.vcloud.endpoints.Network.class).toInstance( + Suppliers. ofInstance(NETWORK_REF)); } }); diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/binders/BindInstantiateVAppTemplateParamsToXmlPayload.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/binders/BindInstantiateVAppTemplateParamsToXmlPayload.java index ef0e72acad..cdf12faa03 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/binders/BindInstantiateVAppTemplateParamsToXmlPayload.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/binders/BindInstantiateVAppTemplateParamsToXmlPayload.java @@ -48,6 +48,7 @@ import org.jclouds.trmk.vcloud_0_8.endpoints.Network; import org.jclouds.trmk.vcloud_0_8.options.InstantiateVAppTemplateOptions; import org.jclouds.trmk.vcloud_0_8.options.InstantiateVAppTemplateOptions.NetworkConfig; +import com.google.common.base.Supplier; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; @@ -67,13 +68,13 @@ public class BindInstantiateVAppTemplateParamsToXmlPayload implements MapBinder private final BindToStringPayload stringBinder; protected final Map virtualHardwareToInstanceId = ImmutableMap.of(ResourceType.PROCESSOR, "1", ResourceType.MEMORY, "2", ResourceType.DISK_DRIVE, "9"); - private final ReferenceType defaultNetwork; + private final Supplier defaultNetwork; private final String defaultFenceMode; @Inject public BindInstantiateVAppTemplateParamsToXmlPayload(BindToStringPayload stringBinder, @Named(PROPERTY_VCLOUD_XML_NAMESPACE) String ns, @Named(PROPERTY_VCLOUD_XML_SCHEMA) String schema, - @Network ReferenceType network, @Named(PROPERTY_VCLOUD_DEFAULT_FENCEMODE) String fenceMode) { + @Network Supplier network, @Named(PROPERTY_VCLOUD_DEFAULT_FENCEMODE) String fenceMode) { this.ns = ns; this.schema = schema; this.stringBinder = stringBinder; @@ -93,7 +94,7 @@ public class BindInstantiateVAppTemplateParamsToXmlPayload implements MapBinder SortedMap virtualHardwareQuantity = Maps.newTreeMap(); InstantiateVAppTemplateOptions options = findOptionsInArgsOrNull(gRequest); - String network = (defaultNetwork != null) ? defaultNetwork.getHref().toASCIIString() : null; + String network = (defaultNetwork != null) ? defaultNetwork.get().getHref().toASCIIString() : null; String fenceMode = defaultFenceMode; String networkName = name; if (options != null) { diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/config/DefaultOrgForUser.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/config/DefaultOrgForUser.java index 090cc2f236..448489b3ab 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/config/DefaultOrgForUser.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/config/DefaultOrgForUser.java @@ -34,13 +34,14 @@ import org.jclouds.trmk.vcloud_0_8.suppliers.OnlyReferenceTypeFirstWithNameMatch import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.base.Supplier; +import com.google.common.base.Suppliers; /** * * @author Adrian Cole */ @Singleton -public class DefaultOrgForUser implements Function { +public class DefaultOrgForUser implements Function> { private final OnlyReferenceTypeFirstWithNameMatchingConfigurationKeyOrDefault selector; private final Supplier sessionSupplier; @@ -55,10 +56,16 @@ public class DefaultOrgForUser implements Function { } @Override - public ReferenceType apply(String user) { - VCloudSession session = sessionSupplier.get(); - checkState(session != null, "could not retrieve Session at %s", user); - return selector.apply(session.getOrgs().values()); + public Supplier apply(final String user) { + return Suppliers.compose(new Function() { + + @Override + public ReferenceType apply(VCloudSession session) { + checkState(session != null, "could not retrieve Session at %s", user); + return selector.apply(session.getOrgs().values()); + } + + }, sessionSupplier); } } \ No newline at end of file diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/config/DefaultVCloudReferencesModule.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/config/DefaultVCloudReferencesModule.java index 7f8611d8ce..59e765640b 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/config/DefaultVCloudReferencesModule.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/config/DefaultVCloudReferencesModule.java @@ -54,7 +54,7 @@ public class DefaultVCloudReferencesModule extends AbstractModule { @Provides @org.jclouds.trmk.vcloud_0_8.endpoints.Org @Singleton - protected ReferenceType provideDefaultOrg(DefaultOrgForUser defaultOrgURIForUser, + protected Supplier provideDefaultOrg(DefaultOrgForUser defaultOrgURIForUser, @Named(PROPERTY_IDENTITY) String user) { return defaultOrgURIForUser.apply(user); } @@ -69,9 +69,9 @@ public class DefaultVCloudReferencesModule extends AbstractModule { @Provides @org.jclouds.trmk.vcloud_0_8.endpoints.TasksList @Singleton - protected ReferenceType provideDefaultTasksList(DefaultTasksListForOrg defaultTasksListURIForOrg, - @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultOrg) { - return defaultTasksListURIForOrg.apply(defaultOrg); + protected Supplier provideDefaultTasksList(DefaultTasksListForOrg defaultTasksListURIForOrg, + @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier defaultOrg) { + return Suppliers.compose(defaultTasksListURIForOrg, defaultOrg); } @Provides @@ -84,9 +84,9 @@ public class DefaultVCloudReferencesModule extends AbstractModule { @Provides @org.jclouds.trmk.vcloud_0_8.endpoints.Catalog @Singleton - protected ReferenceType provideDefaultCatalog(DefaultCatalogForOrg defaultCatalogURIForOrg, - @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultOrg) { - return defaultCatalogURIForOrg.apply(defaultOrg); + protected Supplier provideDefaultCatalog(DefaultCatalogForOrg defaultCatalogURIForOrg, + @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier defaultOrg) { + return Suppliers.compose(defaultCatalogURIForOrg, defaultOrg); } @Provides @@ -121,9 +121,9 @@ public class DefaultVCloudReferencesModule extends AbstractModule { @Provides @org.jclouds.trmk.vcloud_0_8.endpoints.VDC @Singleton - protected ReferenceType provideDefaultVDC(DefaultVDCForOrg defaultVDCURIForOrg, - @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultOrg) { - return defaultVDCURIForOrg.apply(defaultOrg); + protected Supplier provideDefaultVDC(DefaultVDCForOrg defaultVDCURIForOrg, + @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier defaultOrg) { + return Suppliers.compose(defaultVDCURIForOrg, defaultOrg); } @Provides @@ -136,9 +136,9 @@ public class DefaultVCloudReferencesModule extends AbstractModule { @Provides @org.jclouds.trmk.vcloud_0_8.endpoints.Network @Singleton - protected ReferenceType provideDefaultNetwork(DefaultNetworkForVDC defaultNetworkURIForVDC, - @org.jclouds.trmk.vcloud_0_8.endpoints.VDC ReferenceType defaultVDC) { - return defaultNetworkURIForVDC.apply(defaultVDC); + protected Supplier provideDefaultNetwork(DefaultNetworkForVDC defaultNetworkURIForVDC, + @org.jclouds.trmk.vcloud_0_8.endpoints.VDC Supplier defaultVDC) { + return Suppliers.compose(defaultNetworkURIForVDC, defaultVDC); } @Provides 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 2a6a745efb..2d0c46c4a1 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 @@ -352,10 +352,17 @@ public class TerremarkVCloudRestClientModule> orgSupplier, - @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultOrg) { - return orgSupplier.get().get(defaultOrg.getName()); + protected Supplier provideOrg( + final Supplier> orgSupplier, + @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier defaultOrg) { + return Suppliers.compose(new Function() { + + @Override + public org.jclouds.trmk.vcloud_0_8.domain.Org apply(ReferenceType input) { + return orgSupplier.get().get(input.getName()); + + } + }, defaultOrg); } @Provides diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameAndCatalogNameToEndpoint.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameAndCatalogNameToEndpoint.java index cd7c6532e6..9d771e3c40 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameAndCatalogNameToEndpoint.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameAndCatalogNameToEndpoint.java @@ -42,12 +42,12 @@ import com.google.common.collect.Iterables; @Singleton public class OrgNameAndCatalogNameToEndpoint implements Function { private final Supplier> orgMap; - private final ReferenceType defaultOrg; - private final ReferenceType defaultCatalog; + private final Supplier defaultOrg; + private final Supplier defaultCatalog; @Inject public OrgNameAndCatalogNameToEndpoint(Supplier> orgMap, - @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultOrg, @Catalog ReferenceType defaultCatalog) { + @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier defaultOrg, @Catalog Supplier defaultCatalog) { this.orgMap = orgMap; this.defaultOrg = defaultOrg; this.defaultCatalog = defaultCatalog; @@ -59,9 +59,9 @@ public class OrgNameAndCatalogNameToEndpoint implements Function { Object org = Iterables.get(orgCatalog, 0); Object catalog = Iterables.get(orgCatalog, 1); if (org == null && catalog == null) - return defaultCatalog.getHref(); + return defaultCatalog.get().getHref(); else if (org == null) - org = defaultOrg.getName(); + org = defaultOrg.get().getName(); try { Map catalogs = checkNotNull(orgMap.get().get(org)).getCatalogs(); diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameAndTasksListNameToEndpoint.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameAndTasksListNameToEndpoint.java index 31830cc0b2..32f57ca13e 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameAndTasksListNameToEndpoint.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameAndTasksListNameToEndpoint.java @@ -42,12 +42,12 @@ import com.google.common.collect.Iterables; @Singleton public class OrgNameAndTasksListNameToEndpoint implements Function { private final Supplier> orgMap; - private final ReferenceType defaultOrg; - private final ReferenceType defaultTasksList; + private final Supplier defaultOrg; + private final Supplier defaultTasksList; @Inject public OrgNameAndTasksListNameToEndpoint(Supplier> orgMap, - @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultOrg, @TasksList ReferenceType defaultTasksList) { + @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier defaultOrg, @TasksList Supplier defaultTasksList) { this.orgMap = orgMap; this.defaultOrg = defaultOrg; this.defaultTasksList = defaultTasksList; @@ -59,9 +59,9 @@ public class OrgNameAndTasksListNameToEndpoint implements Function Object org = Iterables.get(orgTasksList, 0); Object tasksList = Iterables.get(orgTasksList, 1); if (org == null && tasksList == null) - return defaultTasksList.getHref(); + return defaultTasksList.get().getHref(); else if (org == null) - org = defaultOrg.getName(); + org = defaultOrg.get().getName(); try { Map tasksLists = checkNotNull(orgMap.get().get(org)).getTasksLists(); diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameAndVDCNameToEndpoint.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameAndVDCNameToEndpoint.java index 09645d872d..bb3f4316e6 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameAndVDCNameToEndpoint.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameAndVDCNameToEndpoint.java @@ -42,12 +42,12 @@ import com.google.common.collect.Iterables; @Singleton public class OrgNameAndVDCNameToEndpoint implements Function { private final Supplier> orgNameToVDCEndpoint; - private final ReferenceType defaultOrg; - private final ReferenceType defaultVDC; + private final Supplier defaultOrg; + private final Supplier defaultVDC; @Inject public OrgNameAndVDCNameToEndpoint(Supplier> orgNameToVDCEndpoint, - @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultOrg, @VDC ReferenceType defaultVDC) { + @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier defaultOrg, @VDC Supplier defaultVDC) { this.orgNameToVDCEndpoint = orgNameToVDCEndpoint; this.defaultOrg = defaultOrg; this.defaultVDC = defaultVDC; @@ -59,9 +59,9 @@ public class OrgNameAndVDCNameToEndpoint implements Function { Object org = Iterables.get(orgVdc, 0); Object vdc = Iterables.get(orgVdc, 1); if (org == null && vdc == null) - return defaultVDC.getHref(); + return defaultVDC.get().getHref(); else if (org == null) - org = defaultOrg.getName(); + org = defaultOrg.get().getName(); try { Map vdcs = checkNotNull(orgNameToVDCEndpoint.get().get(org)).getVDCs(); diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameCatalogNameItemNameToEndpoint.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameCatalogNameItemNameToEndpoint.java index b17c78607f..ed3da26fad 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameCatalogNameItemNameToEndpoint.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameCatalogNameItemNameToEndpoint.java @@ -42,13 +42,13 @@ import com.google.common.collect.Iterables; @Singleton public class OrgNameCatalogNameItemNameToEndpoint implements Function { private final Supplier>> orgCatalogMap; - private final ReferenceType defaultOrg; - private final ReferenceType defaultCatalog; + private final Supplier defaultOrg; + private final Supplier defaultCatalog; @Inject public OrgNameCatalogNameItemNameToEndpoint( Supplier>> orgCatalogMap, - @Org ReferenceType defaultOrg, @Catalog ReferenceType defaultCatalog) { + @Org Supplier defaultOrg, @Catalog Supplier defaultCatalog) { this.orgCatalogMap = orgCatalogMap; this.defaultOrg = defaultOrg; this.defaultCatalog = defaultCatalog; @@ -61,9 +61,9 @@ public class OrgNameCatalogNameItemNameToEndpoint implements Function catalogs = checkNotNull(orgCatalogMap.get().get(org)); return catalogs.get(catalog).get(catalogItem).getHref(); diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameCatalogNameVAppTemplateNameToEndpoint.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameCatalogNameVAppTemplateNameToEndpoint.java index 792bc045aa..a9ac582958 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameCatalogNameVAppTemplateNameToEndpoint.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameCatalogNameVAppTemplateNameToEndpoint.java @@ -43,13 +43,13 @@ import com.google.common.collect.Iterables; @Singleton public class OrgNameCatalogNameVAppTemplateNameToEndpoint implements Function { private final Supplier>>> orgCatalogItemMap; - private final ReferenceType defaultOrg; - private final ReferenceType defaultCatalog; + private final Supplier defaultOrg; + private final Supplier defaultCatalog; @Inject public OrgNameCatalogNameVAppTemplateNameToEndpoint( Supplier>>> orgCatalogItemMap, - @Org ReferenceType defaultOrg, @Catalog ReferenceType defaultCatalog) { + @Org Supplier defaultOrg, @Catalog Supplier defaultCatalog) { this.orgCatalogItemMap = orgCatalogItemMap; this.defaultOrg = defaultOrg; this.defaultCatalog = defaultCatalog; @@ -62,9 +62,9 @@ public class OrgNameCatalogNameVAppTemplateNameToEndpoint implements Function>> orgCatalogItemMap = this.orgCatalogItemMap.get(); if (!orgCatalogItemMap.containsKey(org)) diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameToEndpoint.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameToEndpoint.java index 11737a0261..2bae10e3f6 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameToEndpoint.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameToEndpoint.java @@ -38,11 +38,11 @@ import com.google.common.base.Supplier; @Singleton public class OrgNameToEndpoint implements Function { private final Supplier> orgNameToEndpointSupplier; - private final ReferenceType defaultOrg; + private final Supplier defaultOrg; @Inject public OrgNameToEndpoint(@Org Supplier> orgNameToEndpointSupplier, - @Org ReferenceType defaultOrg) { + @Org Supplier defaultOrg) { this.orgNameToEndpointSupplier = orgNameToEndpointSupplier; this.defaultOrg = defaultOrg; } @@ -50,7 +50,7 @@ public class OrgNameToEndpoint implements Function { public URI apply(Object from) { try { Map orgNameToEndpoint = orgNameToEndpointSupplier.get(); - return from == null ? defaultOrg.getHref() : orgNameToEndpoint.get(from).getHref(); + return from == null ? defaultOrg.get().getHref() : orgNameToEndpoint.get(from).getHref(); } catch (NullPointerException e) { throw new NoSuchElementException("org " + from + " not found in " + orgNameToEndpointSupplier.get().keySet()); } diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameVDCNameNetworkNameToEndpoint.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameVDCNameNetworkNameToEndpoint.java index 1454fdefa7..d6ffbee23c 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameVDCNameNetworkNameToEndpoint.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameVDCNameNetworkNameToEndpoint.java @@ -40,7 +40,7 @@ public class OrgNameVDCNameNetworkNameToEndpoint extends OrgNameVDCNameResourceN @Inject public OrgNameVDCNameNetworkNameToEndpoint( Supplier>> orgVDCMap, - @Org ReferenceType defaultOrg, @VDC ReferenceType defaultVDC) { + @Org Supplier defaultOrg, @VDC Supplier defaultVDC) { super(orgVDCMap, defaultOrg, defaultVDC); } diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameVDCNameResourceEntityNameToEndpoint.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameVDCNameResourceEntityNameToEndpoint.java index be098b399d..0aa275ae6d 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameVDCNameResourceEntityNameToEndpoint.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameVDCNameResourceEntityNameToEndpoint.java @@ -40,7 +40,7 @@ public class OrgNameVDCNameResourceEntityNameToEndpoint extends OrgNameVDCNameRe @Inject public OrgNameVDCNameResourceEntityNameToEndpoint( Supplier>> orgVDCMap, - @Org ReferenceType defaultOrg, @VDC ReferenceType defaultVDC) { + @Org Supplier defaultOrg, @VDC Supplier defaultVDC) { super(orgVDCMap, defaultOrg, defaultVDC); } diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameVDCNameResourceNameToEndpoint.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameVDCNameResourceNameToEndpoint.java index 1a0426c244..4255487d28 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameVDCNameResourceNameToEndpoint.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgNameVDCNameResourceNameToEndpoint.java @@ -41,13 +41,13 @@ import com.google.common.collect.Iterables; public abstract class OrgNameVDCNameResourceNameToEndpoint implements Function{ protected final Supplier>> orgVDCMap; - protected final ReferenceType defaultOrg; - protected final ReferenceType defaultVDC; + protected final Supplier defaultOrg; + protected final Supplier defaultVDC; @Inject public OrgNameVDCNameResourceNameToEndpoint( Supplier>> orgVDCMap, - @Org ReferenceType defaultOrg, @org.jclouds.trmk.vcloud_0_8.endpoints.VDC ReferenceType defaultVDC) { + @Org Supplier defaultOrg, @org.jclouds.trmk.vcloud_0_8.endpoints.VDC Supplier defaultVDC) { this.orgVDCMap = orgVDCMap; this.defaultOrg = defaultOrg; this.defaultVDC = defaultVDC; @@ -60,9 +60,9 @@ public abstract class OrgNameVDCNameResourceNameToEndpoint implements Function< Object vDC = Iterables.get(orgVDC, 1); Object resource = Iterables.get(orgVDC, 2); if (org == null) - org = defaultOrg.getName(); + org = defaultOrg.get().getName(); if (vDC == null) - vDC = defaultVDC.getName(); + vDC = defaultVDC.get().getName(); Map> orgToVDCs = orgVDCMap.get(); checkState(orgToVDCs != null, "could not get map of org name to vdcs!"); Map vDCs = orgToVDCs.get(org); diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgURIToEndpoint.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgURIToEndpoint.java index e160e47122..316d9aa82a 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgURIToEndpoint.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgURIToEndpoint.java @@ -36,10 +36,10 @@ import com.google.common.collect.Maps; public abstract class OrgURIToEndpoint implements Function { protected final Supplier> orgMap; - protected final ReferenceType defaultOrg; + protected final Supplier defaultOrg; public OrgURIToEndpoint(Supplier> orgMap, - @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultUri) { + @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier defaultUri) { this.orgMap = orgMap; this.defaultOrg = defaultUri; } @@ -54,7 +54,7 @@ public abstract class OrgURIToEndpoint implements Function { }); try { - Org org = uriToOrg.get(from == null ? defaultOrg.getHref() : from); + Org org = uriToOrg.get(from == null ? defaultOrg.get().getHref() : from); return getUriFromOrg(org); } catch (NullPointerException e) { throw new ResourceNotFoundException("org " + from + " not found in: " + uriToOrg, e); diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgURIToKeysListEndpoint.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgURIToKeysListEndpoint.java index 5de013abda..ccc5df350a 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgURIToKeysListEndpoint.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/OrgURIToKeysListEndpoint.java @@ -38,7 +38,7 @@ import com.google.common.base.Supplier; public class OrgURIToKeysListEndpoint extends OrgURIToEndpoint implements Function { @Inject public OrgURIToKeysListEndpoint(Supplier> orgMap, - @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultUri) { + @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier defaultUri) { super(orgMap, defaultUri); } diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/VDCURIToInternetServicesEndpoint.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/VDCURIToInternetServicesEndpoint.java index ca955f92d6..8082750904 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/VDCURIToInternetServicesEndpoint.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/VDCURIToInternetServicesEndpoint.java @@ -38,18 +38,18 @@ import com.google.common.base.Supplier; @Singleton public class VDCURIToInternetServicesEndpoint implements Function { private final Supplier> orgVDCMap; - private final ReferenceType defaultVDC; + private final Supplier defaultVDC; @Inject public VDCURIToInternetServicesEndpoint( - Supplier> orgVDCMap, @VDC ReferenceType defaultVDC) { + Supplier> orgVDCMap, @VDC Supplier defaultVDC) { this.orgVDCMap = orgVDCMap; this.defaultVDC = defaultVDC; } public URI apply(Object from) { try { - return orgVDCMap.get().get(from == null ? defaultVDC.getHref() : from).getInternetServices().getHref(); + return orgVDCMap.get().get(from == null ? defaultVDC.get().getHref() : from).getInternetServices().getHref(); } catch (NullPointerException e) { throw new ResourceNotFoundException("vdc " + from + " not found in " + orgVDCMap.get()); } diff --git a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/VDCURIToPublicIPsEndpoint.java b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/VDCURIToPublicIPsEndpoint.java index a9a50bc2cb..69e97c599d 100644 --- a/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/VDCURIToPublicIPsEndpoint.java +++ b/common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/functions/VDCURIToPublicIPsEndpoint.java @@ -38,18 +38,18 @@ import com.google.common.base.Supplier; @Singleton public class VDCURIToPublicIPsEndpoint implements Function { private final Supplier> orgVDCMap; - private final ReferenceType defaultVDC; + private final Supplier defaultVDC; @Inject public VDCURIToPublicIPsEndpoint(Supplier> orgVDCMap, - @VDC ReferenceType defaultVDC) { + @VDC Supplier defaultVDC) { this.orgVDCMap = orgVDCMap; this.defaultVDC = defaultVDC; } public URI apply(Object from) { try { - return orgVDCMap.get().get(from == null ? defaultVDC.getHref() : from).getPublicIps().getHref(); + return orgVDCMap.get().get(from == null ? defaultVDC.get().getHref() : from).getPublicIps().getHref(); } catch (NullPointerException e) { throw new ResourceNotFoundException("vdc " + from + " not found in " + orgVDCMap.get()); } 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 index 1061fc60c0..e217d1cbb7 100644 --- 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 @@ -40,16 +40,16 @@ import com.google.common.base.Supplier; public class DefaultVDC implements ImplicitLocationSupplier { @Singleton public static final class IsDefaultVDC implements Predicate { - private final ReferenceType defaultVDC; + private final Supplier defaultVDC; @Inject - IsDefaultVDC(@VDC ReferenceType defaultVDC) { + IsDefaultVDC(@VDC Supplier defaultVDC) { this.defaultVDC = checkNotNull(defaultVDC, "defaultVDC"); } @Override public boolean apply(Location input) { - return input.getScope() == LocationScope.ZONE && input.getId().equals(defaultVDC.getHref().toASCIIString()); + return input.getScope() == LocationScope.ZONE && input.getId().equals(defaultVDC.get().getHref().toASCIIString()); } @Override diff --git a/common/trmk/src/test/java/org/jclouds/trmk/vcloud_0_8/binders/BindInstantiateVAppTemplateParamsToXmlPayloadTest.java b/common/trmk/src/test/java/org/jclouds/trmk/vcloud_0_8/binders/BindInstantiateVAppTemplateParamsToXmlPayloadTest.java index aae71237d5..153d472a6c 100644 --- a/common/trmk/src/test/java/org/jclouds/trmk/vcloud_0_8/binders/BindInstantiateVAppTemplateParamsToXmlPayloadTest.java +++ b/common/trmk/src/test/java/org/jclouds/trmk/vcloud_0_8/binders/BindInstantiateVAppTemplateParamsToXmlPayloadTest.java @@ -41,6 +41,8 @@ import org.nnsoft.guice.rocoto.Rocoto; import org.nnsoft.guice.rocoto.configuration.ConfigurationModule; import org.testng.annotations.Test; +import com.google.common.base.Supplier; +import com.google.common.base.Suppliers; import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; @@ -68,8 +70,9 @@ public class BindInstantiateVAppTemplateParamsToXmlPayloadTest { @Network @Provides @Singleton - ReferenceType provideNetwork() { - return new ReferenceTypeImpl(null, null, URI.create("https://vcloud.safesecureweb.com/network/1990")); + Supplier provideNetwork() { + return Suppliers.ofInstance(new ReferenceTypeImpl(null, null, URI + .create("https://vcloud.safesecureweb.com/network/1990"))); } })); diff --git a/providers/trmk-ecloud/src/main/java/org/jclouds/trmk/ecloud/functions/OrgURIToDataCentersListEndpoint.java b/providers/trmk-ecloud/src/main/java/org/jclouds/trmk/ecloud/functions/OrgURIToDataCentersListEndpoint.java index 3a38561058..43955ce7f3 100644 --- a/providers/trmk-ecloud/src/main/java/org/jclouds/trmk/ecloud/functions/OrgURIToDataCentersListEndpoint.java +++ b/providers/trmk-ecloud/src/main/java/org/jclouds/trmk/ecloud/functions/OrgURIToDataCentersListEndpoint.java @@ -40,7 +40,7 @@ import com.google.common.base.Supplier; public class OrgURIToDataCentersListEndpoint extends OrgURIToEndpoint implements Function { @Inject public OrgURIToDataCentersListEndpoint(Supplier> orgMap, - @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultUri) { + @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier defaultUri) { super(orgMap, defaultUri); } diff --git a/providers/trmk-ecloud/src/main/java/org/jclouds/trmk/ecloud/functions/OrgURIToTagsListEndpoint.java b/providers/trmk-ecloud/src/main/java/org/jclouds/trmk/ecloud/functions/OrgURIToTagsListEndpoint.java index f3992f8141..a55979d56e 100644 --- a/providers/trmk-ecloud/src/main/java/org/jclouds/trmk/ecloud/functions/OrgURIToTagsListEndpoint.java +++ b/providers/trmk-ecloud/src/main/java/org/jclouds/trmk/ecloud/functions/OrgURIToTagsListEndpoint.java @@ -40,7 +40,7 @@ import com.google.common.base.Supplier; public class OrgURIToTagsListEndpoint extends OrgURIToEndpoint implements Function { @Inject public OrgURIToTagsListEndpoint(Supplier> orgMap, - @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultUri) { + @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier defaultUri) { super(orgMap, defaultUri); } 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 5acba65890..4047605529 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 @@ -56,6 +56,7 @@ import com.google.common.base.Suppliers; import com.google.common.collect.ImmutableMap; import com.google.inject.AbstractModule; import com.google.inject.Module; +import com.google.inject.TypeLiteral; /** * @author Adrian Cole @@ -138,9 +139,9 @@ public abstract class BaseTerremarkECloudAsyncClientTest extends RestClientTe } @Override - protected Org provideOrg(Supplier> orgSupplier, - @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultOrg) { - return ORG; + protected Supplier provideOrg(Supplier> orgSupplier, + @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier defaultOrg) { + return Suppliers.ofInstance(ORG); } @Override @@ -149,16 +150,18 @@ public abstract class BaseTerremarkECloudAsyncClientTest extends RestClientTe @Override protected void configure() { - bind(ReferenceType.class).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.Org.class).toInstance( - ORG_REF); - bind(ReferenceType.class).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.Catalog.class).toInstance( - CATALOG_REF); - bind(ReferenceType.class).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.TasksList.class) - .toInstance(TASKSLIST_REF); - bind(ReferenceType.class).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.VDC.class).toInstance( - VDC_REF); - bind(ReferenceType.class).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.Network.class).toInstance( - NETWORK_REF); + TypeLiteral> refTypeSupplier = new TypeLiteral>() { + }; + bind(refTypeSupplier).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.Org.class).toInstance( + Suppliers. ofInstance(ORG_REF)); + bind(refTypeSupplier).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.Catalog.class).toInstance( + Suppliers. ofInstance(CATALOG_REF)); + bind(refTypeSupplier).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.TasksList.class).toInstance( + Suppliers. ofInstance(TASKSLIST_REF)); + bind(refTypeSupplier).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.VDC.class).toInstance( + Suppliers. ofInstance(VDC_REF)); + bind(refTypeSupplier).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.Network.class).toInstance( + Suppliers. ofInstance(NETWORK_REF)); } }); 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 f543e3c30b..1e38085c4c 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 @@ -680,9 +680,9 @@ public class TerremarkVCloudExpressAsyncClientTest extends RestClientTest> orgSupplier, - @org.jclouds.trmk.vcloud_0_8.endpoints.Org ReferenceType defaultOrg) { - return ORG; + protected Supplier provideOrg(Supplier> orgSupplier, + @org.jclouds.trmk.vcloud_0_8.endpoints.Org Supplier defaultOrg) { + return Suppliers.ofInstance(ORG); } @Override @@ -691,16 +691,18 @@ public class TerremarkVCloudExpressAsyncClientTest extends RestClientTest> refTypeSupplier = new TypeLiteral>() { + }; + bind(refTypeSupplier).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.Org.class).toInstance( + Suppliers. ofInstance(ORG_REF)); + bind(refTypeSupplier).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.Catalog.class).toInstance( + Suppliers. ofInstance(CATALOG_REF)); + bind(refTypeSupplier).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.TasksList.class).toInstance( + Suppliers. ofInstance(TASKSLIST_REF)); + bind(refTypeSupplier).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.VDC.class).toInstance( + Suppliers. ofInstance(VDC_REF)); + bind(refTypeSupplier).annotatedWith(org.jclouds.trmk.vcloud_0_8.endpoints.Network.class).toInstance( + Suppliers. ofInstance(NETWORK_REF)); } });