protected Supplier<Set<? extends Image>> supplyImageCache(AtomicReference<AuthorizationException> authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, final Supplier<Set<? extends Image>> imageSupplier) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, imageSupplier, seconds, TimeUnit.SECONDS); }
@Provides @Singleton protected Supplier<Map<URI, VDC>> provideURIToVDC( @Named(PROPERTY_SESSION_INTERVAL) long seconds, AtomicReference<AuthorizationException> authException, URItoVDC supplier) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, supplier, seconds, TimeUnit.SECONDS); }
@Provides @Singleton protected Supplier<Map<String, Map<String, Map<String, CatalogItem>>>> provideOrgCatalogItemSupplierCache( @Named(PROPERTY_SESSION_INTERVAL) long seconds, AtomicReference<AuthorizationException> authException, OrgCatalogItemSupplier supplier) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, supplier, seconds, TimeUnit.SECONDS); }
@Provides @Singleton protected Supplier<Map<URI, ? extends org.jclouds.trmk.vcloud_0_8.domain.VDC>> provideURIToVDC( @Named(PROPERTY_SESSION_INTERVAL) long seconds, AtomicReference<AuthorizationException> authException, URItoVDC supplier) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, supplier, seconds, TimeUnit.SECONDS); }
@Provides @Singleton protected Supplier<Map<String, Map<String, ? extends org.jclouds.trmk.vcloud_0_8.domain.Catalog>>> provideOrgCatalogItemMapSupplierCache( @Named(PROPERTY_SESSION_INTERVAL) long seconds, AtomicReference<AuthorizationException> authException, OrgCatalogSupplier supplier) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, supplier, seconds, TimeUnit.SECONDS); }
@Provides @Singleton protected Supplier<Map<String, Org>> provideOrgMapCache(@Named(PROPERTY_SESSION_INTERVAL) long seconds, AtomicReference<AuthorizationException> authException, OrgMapSupplier supplier) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, supplier, seconds, TimeUnit.SECONDS); }
@Provides @Singleton protected Supplier<Map<String, Map<String, Catalog>>> provideOrgCatalogItemMapSupplierCache( @Named(PROPERTY_SESSION_INTERVAL) long seconds, AtomicReference<AuthorizationException> authException, OrgCatalogSupplier supplier) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, supplier, seconds, TimeUnit.SECONDS); }
@Provides @Singleton protected Supplier<Map<String, Map<String, VDC>>> provideOrgVDCSupplierCache( @Named(PROPERTY_SESSION_INTERVAL) long seconds, AtomicReference<AuthorizationException> authException, OrgVDCSupplier supplier) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, supplier, seconds, TimeUnit.SECONDS); }
@Provides @Singleton protected Supplier<Map<String, Map<String, ? extends org.jclouds.trmk.vcloud_0_8.domain.VDC>>> provideOrgVDCSupplierCache( @Named(PROPERTY_SESSION_INTERVAL) long seconds, AtomicReference<AuthorizationException> authException, OrgVDCSupplier supplier) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, supplier, seconds, TimeUnit.SECONDS); }
@Provides @Singleton @Memoized public Supplier<User> getCurrentUser(AtomicReference<AuthorizationException> authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, final GetCurrentUser getCurrentUser) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, getCurrentUser, seconds, TimeUnit.SECONDS); }
@Provides @Singleton @Keys protected Supplier<Map<String, ReferenceType>> provideOrgToKeysListCache( @Named(PROPERTY_SESSION_INTERVAL) long seconds, AtomicReference<AuthorizationException> authException, OrgNameToKeysListSupplier supplier) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, supplier, seconds, TimeUnit.SECONDS); }
@Provides @Singleton @Memoized protected final Supplier<Set<? extends Hardware>> supplySizeCache(AtomicReference<AuthorizationException> authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, final Supplier<Set<? extends Hardware>> hardwareSupplier) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, hardwareSupplier, seconds, TimeUnit.SECONDS); }
@Provides @Singleton @Memoized public Supplier<Map<String, Network>> listNetworks(AtomicReference<AuthorizationException> authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, final NetworksForCurrentUser networksForCurrentUser) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, networksForCurrentUser, seconds, TimeUnit.SECONDS); }
@Provides @Singleton // TODO: we should eventually get rid of memoized as an annotation, as it is confusing @Memoized protected Supplier<Set<? extends Location>> memoizedLocationsSupplier( AtomicReference<AuthorizationException> authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, LocationsSupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, uncached, seconds, TimeUnit.SECONDS); }
@Provides @Singleton @Zone protected final Supplier<Map<String, Supplier<URI>>> zoneIdToURISupplier( AtomicReference<AuthorizationException> authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, ZoneIdToURISupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, uncached, seconds, TimeUnit.SECONDS); } }
@Provides @Singleton @Memoized protected Supplier<Set<? extends Hardware>> supplySizeCache(AtomicReference<AuthorizationException> authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, final Supplier<Set<? extends Hardware>> hardwareSupplier) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, hardwareSupplier, seconds, TimeUnit.SECONDS); }
@Provides @Singleton @Region protected Supplier<String> implicitRegionIdSupplier(AtomicReference<AuthorizationException> authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, ImplicitRegionIdSupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, uncached, seconds, TimeUnit.SECONDS); }
@Provides @Singleton @Region protected Supplier<Set<String>> regionIdsSupplier(AtomicReference<AuthorizationException> authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, RegionIdFilter filter, RegionIdsSupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, Suppliers.compose(new FilterStrings(filter), uncached), seconds, TimeUnit.SECONDS); }
@Provides @Singleton @Zone protected Supplier<Set<String>> zoneIdsSupplier( AtomicReference<AuthorizationException> authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, ZoneIdFilter filter, ZoneIdsSupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, Suppliers.compose(new FilterStrings(filter), uncached), seconds, TimeUnit.SECONDS); }
@Provides @Singleton @Region protected final Supplier<Set<String>> regionIdsSupplier(AtomicReference<AuthorizationException> authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, RegionIdFilter filter, RegionIdsSupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, Suppliers.compose(new FilterStrings(filter), uncached), seconds, TimeUnit.SECONDS); }