diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/config/AtmosBlobStoreContextModule.java b/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/config/AtmosBlobStoreContextModule.java index c83dbf3c14..a68f26afd7 100644 --- a/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/config/AtmosBlobStoreContextModule.java +++ b/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/config/AtmosBlobStoreContextModule.java @@ -45,7 +45,7 @@ public class AtmosBlobStoreContextModule extends AbstractModule { @Provides @Singleton - protected LoadingCache isPublic(final AtmosClient client) { + protected final LoadingCache isPublic(final AtmosClient client) { return CacheBuilder.newBuilder().expireAfterWrite(30, TimeUnit.SECONDS).build(new CacheLoader() { @Override diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/config/AtmosHttpApiModule.java b/apis/atmos/src/main/java/org/jclouds/atmos/config/AtmosHttpApiModule.java index af21f9b328..2d00acdb1a 100644 --- a/apis/atmos/src/main/java/org/jclouds/atmos/config/AtmosHttpApiModule.java +++ b/apis/atmos/src/main/java/org/jclouds/atmos/config/AtmosHttpApiModule.java @@ -56,6 +56,10 @@ public class AtmosHttpApiModule extends HttpApiModule { @Provides @TimeStamp + protected final String guiceProvideTimeStamp(@TimeStamp Supplier cache) { + return provideTimeStamp(cache); + } + protected String provideTimeStamp(@TimeStamp Supplier cache) { return cache.get(); } @@ -65,9 +69,10 @@ public class AtmosHttpApiModule extends HttpApiModule { */ @Provides @TimeStamp - Supplier provideTimeStampCache(@Named(Constants.PROPERTY_SESSION_INTERVAL) long seconds, + final Supplier provideTimeStampCache(@Named(Constants.PROPERTY_SESSION_INTERVAL) long seconds, final DateService dateService) { return Suppliers.memoizeWithExpiration(new Supplier() { + @Override public String get() { return dateService.rfc822DateFormat(); } @@ -76,7 +81,7 @@ public class AtmosHttpApiModule extends HttpApiModule { @Provides @TimeStamp - protected Long provideShareableUrlTimeout() { + protected final Long provideShareableUrlTimeout() { return new Date().getTime() + TimeUnit.HOURS.toMillis(1); } diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/config/AtmosObjectModule.java b/apis/atmos/src/main/java/org/jclouds/atmos/config/AtmosObjectModule.java index e1ae7a25e1..7ec9036eab 100644 --- a/apis/atmos/src/main/java/org/jclouds/atmos/config/AtmosObjectModule.java +++ b/apis/atmos/src/main/java/org/jclouds/atmos/config/AtmosObjectModule.java @@ -39,7 +39,7 @@ public class AtmosObjectModule extends AbstractModule { } @Provides - AtmosObject provideAtmosObject(AtmosObject.Factory factory) { + final AtmosObject provideAtmosObject(AtmosObject.Factory factory) { return factory.create((MutableContentMetadata) null); } diff --git a/apis/byon/src/main/java/org/jclouds/byon/config/YamlNodeStoreModule.java b/apis/byon/src/main/java/org/jclouds/byon/config/YamlNodeStoreModule.java index f74b786c0b..1e523df045 100644 --- a/apis/byon/src/main/java/org/jclouds/byon/config/YamlNodeStoreModule.java +++ b/apis/byon/src/main/java/org/jclouds/byon/config/YamlNodeStoreModule.java @@ -81,14 +81,14 @@ public class YamlNodeStoreModule extends AbstractModule { @Provides @Singleton - protected LoadingCache provideNodeStore(Map backing, Function yamlSerializer, + protected final LoadingCache provideNodeStore(Map backing, Function yamlSerializer, Function yamlDeserializer) { return CacheBuilder.newBuilder().build(CacheLoader.from(Functions.forMap(new TransformingMap(backing, yamlDeserializer, yamlSerializer)))); } @Provides @Singleton - protected Map provideYamlStore(@Named("yaml") Map backing, + protected final Map provideYamlStore(@Named("yaml") Map backing, Function yamlSerializer, Function yamlDeserializer) { return new TransformingMap(backing, yamlDeserializer, yamlSerializer); } diff --git a/apis/chef/src/main/java/org/jclouds/chef/config/BaseChefHttpApiModule.java b/apis/chef/src/main/java/org/jclouds/chef/config/BaseChefHttpApiModule.java index c8b2faa1b8..c60be06eb1 100644 --- a/apis/chef/src/main/java/org/jclouds/chef/config/BaseChefHttpApiModule.java +++ b/apis/chef/src/main/java/org/jclouds/chef/config/BaseChefHttpApiModule.java @@ -75,6 +75,10 @@ public abstract class BaseChefHttpApiModule extends HttpApiModule { @Provides @TimeStamp + protected final String guiceProvideTimeStamp(@TimeStamp Supplier cache) { + return provideTimeStamp(cache); + } + protected String provideTimeStamp(@TimeStamp Supplier cache) { return cache.get(); } @@ -84,7 +88,7 @@ public abstract class BaseChefHttpApiModule extends HttpApiModule { */ @Provides @TimeStamp - Supplier provideTimeStampCache(@Named(PROPERTY_SESSION_INTERVAL) long seconds, final DateService dateService) { + final Supplier provideTimeStampCache(@Named(PROPERTY_SESSION_INTERVAL) long seconds, final DateService dateService) { return memoizeWithExpiration(new Supplier() { @Override public String get() { @@ -96,7 +100,7 @@ public abstract class BaseChefHttpApiModule extends HttpApiModule { // TODO: potentially change this @Provides @Singleton - public Supplier supplyKey(final LoadingCache keyCache, + public final Supplier supplyKey(final LoadingCache keyCache, @org.jclouds.location.Provider final Supplier creds) { return compose(new Function() { @Override @@ -108,7 +112,7 @@ public abstract class BaseChefHttpApiModule extends HttpApiModule { @Provides @Singleton - LoadingCache privateKeyCache(PrivateKeyForCredentials loader) { + final LoadingCache privateKeyCache(PrivateKeyForCredentials loader) { // throw out the private key related to old credentials return CacheBuilder.newBuilder().maximumSize(2).build(loader); } @@ -144,7 +148,7 @@ public abstract class BaseChefHttpApiModule extends HttpApiModule { @Provides @Singleton @Validator - public Optional provideValidatorName(Injector injector) { + public final Optional provideValidatorName(Injector injector) { // Named properties can not be injected as optional here, so let's use the // injector to bypass it Key key = Key.get(String.class, Names.named(CHEF_VALIDATOR_NAME)); @@ -158,7 +162,7 @@ public abstract class BaseChefHttpApiModule extends HttpApiModule { @Provides @Singleton @Validator - public Optional provideValidatorCredential(Crypto crypto, Injector injector) + public final Optional provideValidatorCredential(Crypto crypto, Injector injector) throws InvalidKeySpecException, IOException { // Named properties can not be injected as optional here, so let's use the // injector to bypass it @@ -175,13 +179,13 @@ public abstract class BaseChefHttpApiModule extends HttpApiModule { @Provides @Singleton - CacheLoader bootstrapConfigForGroup(BootstrapConfigForGroup bootstrapConfigForGroup) { + final CacheLoader bootstrapConfigForGroup(BootstrapConfigForGroup bootstrapConfigForGroup) { return CacheLoader.from(bootstrapConfigForGroup); } @Provides @Singleton - CacheLoader groupToClient(ClientForGroup clientForGroup) { + final CacheLoader groupToClient(ClientForGroup clientForGroup) { return CacheLoader.from(clientForGroup); } diff --git a/apis/chef/src/main/java/org/jclouds/chef/config/ChefBootstrapModule.java b/apis/chef/src/main/java/org/jclouds/chef/config/ChefBootstrapModule.java index 4c7bfcea62..93e219b04f 100644 --- a/apis/chef/src/main/java/org/jclouds/chef/config/ChefBootstrapModule.java +++ b/apis/chef/src/main/java/org/jclouds/chef/config/ChefBootstrapModule.java @@ -45,7 +45,7 @@ public class ChefBootstrapModule extends AbstractModule { @Provides @Named("installChefGems") @Singleton - Statement installChefGems(BootstrapProperties bootstrapProperties) { + final Statement installChefGems(BootstrapProperties bootstrapProperties) { InstallRubyGems installRubyGems = InstallRubyGems.builder() .version(bootstrapProperties.gemSystemVersion().orNull()) .updateSystem(bootstrapProperties.updateGemSystem(), bootstrapProperties.gemSystemVersion().orNull()) @@ -60,7 +60,7 @@ public class ChefBootstrapModule extends AbstractModule { @Provides @Named("installChefOmnibus") @Singleton - Statement installChefUsingOmnibus(BootstrapProperties bootstrapProperties) { + final Statement installChefUsingOmnibus(BootstrapProperties bootstrapProperties) { return bootstrapProperties.chefVersion().isPresent() ? new InstallChefUsingOmnibus(bootstrapProperties.chefVersion().get()) : new InstallChefUsingOmnibus(); @@ -69,7 +69,7 @@ public class ChefBootstrapModule extends AbstractModule { @Provides @InstallChef @Singleton - Statement installChef(BootstrapProperties bootstrapProperties, @Named("installChefGems") Statement installChefGems, + final Statement installChef(BootstrapProperties bootstrapProperties, @Named("installChefGems") Statement installChefGems, @Named("installChefOmnibus") Statement installChefOmnibus) { return bootstrapProperties.useOmnibus() ? installChefOmnibus : installChefGems; } diff --git a/apis/chef/src/main/java/org/jclouds/chef/config/ChefParserModule.java b/apis/chef/src/main/java/org/jclouds/chef/config/ChefParserModule.java index faa930456d..3ebe2ea8d6 100644 --- a/apis/chef/src/main/java/org/jclouds/chef/config/ChefParserModule.java +++ b/apis/chef/src/main/java/org/jclouds/chef/config/ChefParserModule.java @@ -283,7 +283,7 @@ public class ChefParserModule extends AbstractModule { @Provides @Singleton - public Map provideCustomAdapterBindings(DataBagItemAdapter adapter, PrivateKeyAdapter privateAdapter, + public final Map provideCustomAdapterBindings(DataBagItemAdapter adapter, PrivateKeyAdapter privateAdapter, PublicKeyAdapter publicAdapter, X509CertificateAdapter certAdapter) { return ImmutableMap. of(DatabagItem.class, adapter, PrivateKey.class, privateAdapter, PublicKey.class, publicAdapter, X509Certificate.class, certAdapter); diff --git a/apis/chef/src/main/java/org/jclouds/ohai/config/JMXOhaiModule.java b/apis/chef/src/main/java/org/jclouds/ohai/config/JMXOhaiModule.java index a8d01f7f01..8316f2d225 100644 --- a/apis/chef/src/main/java/org/jclouds/ohai/config/JMXOhaiModule.java +++ b/apis/chef/src/main/java/org/jclouds/ohai/config/JMXOhaiModule.java @@ -36,10 +36,15 @@ public class JMXOhaiModule extends OhaiModule { @Provides @Singleton + protected final RuntimeMXBean guiceProvideRuntimeMXBean() { + return provideRuntimeMXBean(); + } + protected RuntimeMXBean provideRuntimeMXBean() { return ManagementFactory.getRuntimeMXBean(); } + @Override public MapBinder> bindOhai() { MapBinder> mapBinder = super.bindOhai(); mapBinder.addBinding("uptime_seconds").to(UptimeSecondsSupplier.class); diff --git a/apis/chef/src/main/java/org/jclouds/ohai/config/OhaiModule.java b/apis/chef/src/main/java/org/jclouds/ohai/config/OhaiModule.java index 650fe9ef2c..e1f83bcead 100644 --- a/apis/chef/src/main/java/org/jclouds/ohai/config/OhaiModule.java +++ b/apis/chef/src/main/java/org/jclouds/ohai/config/OhaiModule.java @@ -59,13 +59,17 @@ public class OhaiModule extends AbstractModule { @Provides @Automatic + protected final Supplier> guiceProvideAutomatic(AutomaticSupplier in) { + return provideAutomatic(in); + } + protected Supplier> provideAutomatic(AutomaticSupplier in) { return in; } @Provides @Automatic - Multimap> provideAutomatic(MapSetToMultimap> converter, + final Multimap> provideAutomatic(MapSetToMultimap> converter, @Automatic Map>> input) { return converter.apply(input); @@ -73,6 +77,10 @@ public class OhaiModule extends AbstractModule { @Named("systemProperties") @Provides + protected final Properties provideSystemProperties() { + return systemProperties(); + } + protected Properties systemProperties() { return System.getProperties(); } @@ -104,6 +112,10 @@ public class OhaiModule extends AbstractModule { } @Provides + protected final Long provideMillis() { + return millis(); + } + protected Long millis() { return System.currentTimeMillis(); } diff --git a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/compute/config/CloudStackComputeServiceContextModule.java b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/compute/config/CloudStackComputeServiceContextModule.java index 572e7ec7db..7ef7805722 100644 --- a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/compute/config/CloudStackComputeServiceContextModule.java +++ b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/compute/config/CloudStackComputeServiceContextModule.java @@ -156,7 +156,6 @@ public class CloudStackComputeServiceContextModule extends install(new LocationsFromComputeServiceAdapterModule() { }); } - @Override protected TemplateOptions provideTemplateOptions(Injector injector, TemplateOptions options) { @@ -168,7 +167,7 @@ public class CloudStackComputeServiceContextModule extends @Provides @Singleton @Memoized - public Supplier> listOSCategories(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, + public final Supplier> listOSCategories(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, final CloudStackApi client) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, new Supplier>() { @@ -187,7 +186,7 @@ public class CloudStackComputeServiceContextModule extends @Provides @Singleton @Memoized - public Supplier> listOSTypes(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, + public final Supplier> listOSTypes(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, final CloudStackApi client) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, new Supplier>() { @@ -212,7 +211,7 @@ public class CloudStackComputeServiceContextModule extends @Provides @Singleton @Memoized - public Supplier> listNetworks(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, + public final Supplier> listNetworks(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, final NetworksForCurrentUser networksForCurrentUser) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, networksForCurrentUser, seconds, TimeUnit.SECONDS); @@ -221,7 +220,7 @@ public class CloudStackComputeServiceContextModule extends @Provides @Singleton @Memoized - public Supplier> listProjects(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, + public final Supplier> listProjects(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, final ProjectsForCurrentUser projectsForCurrentUser) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, projectsForCurrentUser, seconds, TimeUnit.SECONDS); @@ -230,7 +229,7 @@ public class CloudStackComputeServiceContextModule extends @Provides @Singleton @Memoized - public Supplier getCurrentUser(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, + public final Supplier getCurrentUser(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, final GetCurrentUser getCurrentUser) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, getCurrentUser, seconds, TimeUnit.SECONDS); @@ -238,27 +237,27 @@ public class CloudStackComputeServiceContextModule extends @Provides @Singleton - protected Predicate jobComplete(JobComplete jobComplete) { + protected final Predicate jobComplete(JobComplete jobComplete) { return retry(jobComplete, 1200, 1, 5, SECONDS); } @Provides @Singleton - protected LoadingCache keyPairMap( + protected final LoadingCache keyPairMap( CacheLoader in) { return CacheBuilder.newBuilder().build(in); } @Provides @Singleton - protected LoadingCache securityGroupMap( + protected final LoadingCache securityGroupMap( CacheLoader in) { return CacheBuilder.newBuilder().build(in); } @Provides @Singleton - protected LoadingCache> getIPForwardingRulesByVirtualMachine( + protected final LoadingCache> getIPForwardingRulesByVirtualMachine( CacheLoader> in) { return CacheBuilder.newBuilder().build(in); } @@ -266,14 +265,14 @@ public class CloudStackComputeServiceContextModule extends @Provides @Singleton - protected LoadingCache> getFirewallRulesByVirtualMachine( + protected final LoadingCache> getFirewallRulesByVirtualMachine( CacheLoader> getFirewallRules) { return CacheBuilder.newBuilder().build(getFirewallRules); } @Provides @Singleton - public Map optionsConverters() { + public final Map optionsConverters() { return ImmutableMap.of( NetworkType.ADVANCED, new AdvancedNetworkOptionsConverter(), NetworkType.BASIC, new BasicNetworkOptionsConverter()); diff --git a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/config/CloudStackHttpApiModule.java b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/config/CloudStackHttpApiModule.java index 95f186e3ef..5a8962e00c 100644 --- a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/config/CloudStackHttpApiModule.java +++ b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/config/CloudStackHttpApiModule.java @@ -117,7 +117,7 @@ public class CloudStackHttpApiModule extends HttpApiModule { */ @Provides @Singleton - protected AuthenticationFilter authenticationFilterForCredentialType(CredentialType credentialType, + protected final AuthenticationFilter authenticationFilterForCredentialType(CredentialType credentialType, AddSessionKeyAndJSessionIdToRequest addSessionKeyAndJSessionIdToRequest, QuerySigner querySigner) { switch (credentialType) { case PASSWORD_CREDENTIALS: @@ -132,7 +132,7 @@ public class CloudStackHttpApiModule extends HttpApiModule { // PROPERTY_SESSION_INTERVAL is default to 60 seconds @Provides @Singleton - protected LoadingCache provideLoginResponseCache( + protected final LoadingCache provideLoginResponseCache( LoginWithPasswordCredentials getLoginResponse, @Named(Constants.PROPERTY_SESSION_INTERVAL) int seconds) { return CacheBuilder.newBuilder().expireAfterWrite(seconds, TimeUnit.SECONDS).build(getLoginResponse); @@ -142,7 +142,7 @@ public class CloudStackHttpApiModule extends HttpApiModule { // http://code.google.com/p/guava-libraries/issues/detail?id=872 @Provides @Singleton - protected Supplier provideLoginResponseSupplier(final LoadingCache cache, + protected final Supplier provideLoginResponseSupplier(final LoadingCache cache, @Provider final Supplier creds) { return new Supplier() { @Override diff --git a/apis/ec2/src/main/java/org/jclouds/ec2/compute/config/EC2ComputeServiceContextModule.java b/apis/ec2/src/main/java/org/jclouds/ec2/compute/config/EC2ComputeServiceContextModule.java index 1aa7f5b351..97eca7360b 100644 --- a/apis/ec2/src/main/java/org/jclouds/ec2/compute/config/EC2ComputeServiceContextModule.java +++ b/apis/ec2/src/main/java/org/jclouds/ec2/compute/config/EC2ComputeServiceContextModule.java @@ -27,10 +27,12 @@ import java.util.concurrent.atomic.AtomicReference; import javax.inject.Named; import javax.inject.Singleton; +import org.jclouds.compute.ComputeServiceContext; import org.jclouds.compute.config.BaseComputeServiceContextModule; import org.jclouds.compute.domain.Image; import org.jclouds.compute.extensions.ImageExtension; import org.jclouds.compute.extensions.SecurityGroupExtension; +import org.jclouds.ec2.compute.EC2ComputeService; import org.jclouds.ec2.compute.domain.RegionAndName; import org.jclouds.ec2.compute.loaders.RegionAndIdToImage; import org.jclouds.ec2.compute.suppliers.RegionAndNameToImageSupplier; @@ -63,11 +65,11 @@ public class EC2ComputeServiceContextModule extends BaseComputeServiceContextMod install(new EC2BindComputeSuppliersByClass()); super.configure(); } - + protected void installDependencies() { install(new EC2ComputeServiceDependenciesModule()); } - + @Override protected boolean shouldEagerlyParseImages(Injector injector) { // If no owners to query, then will never lookup all images @@ -90,13 +92,18 @@ public class EC2ComputeServiceContextModule extends BaseComputeServiceContextMod @Provides @Singleton - protected Supplier> provideRegionAndNameToImageSupplierCache( + protected final Supplier> provideRegionAndNameToImageSupplierCache( final RegionAndNameToImageSupplier supplier) { return supplier; } @Provides @Singleton + protected final Supplier> guiceProvideRegionAndNameToImageSupplierCacheLoader( + final RegionAndIdToImage delegate) { + return provideRegionAndNameToImageSupplierCacheLoader(delegate); + } + protected Supplier> provideRegionAndNameToImageSupplierCacheLoader( final RegionAndIdToImage delegate) { return Suppliers.>ofInstance(new CacheLoader() { @@ -116,19 +123,19 @@ public class EC2ComputeServiceContextModule extends BaseComputeServiceContextMod }; return new SetAndThrowAuthorizationExceptionSupplier(rawSupplier, authException).get(); } - + }); } @Provides @Singleton @Named(PROPERTY_EC2_AMI_OWNERS) - String[] amiOwners(@Named(PROPERTY_EC2_AMI_OWNERS) String amiOwners) { + final String[] amiOwners(@Named(PROPERTY_EC2_AMI_OWNERS) String amiOwners) { if (amiOwners.trim().equals("")) return new String[] {}; return toArray(Splitter.on(',').split(amiOwners), String.class); } - + @Override protected Optional provideImageExtension(Injector i) { return Optional.of(i.getInstance(ImageExtension.class)); diff --git a/apis/ec2/src/main/java/org/jclouds/ec2/compute/config/EC2ComputeServiceDependenciesModule.java b/apis/ec2/src/main/java/org/jclouds/ec2/compute/config/EC2ComputeServiceDependenciesModule.java index b9ef0ca64e..0a1a243b66 100644 --- a/apis/ec2/src/main/java/org/jclouds/ec2/compute/config/EC2ComputeServiceDependenciesModule.java +++ b/apis/ec2/src/main/java/org/jclouds/ec2/compute/config/EC2ComputeServiceDependenciesModule.java @@ -93,7 +93,7 @@ public class EC2ComputeServiceDependenciesModule extends AbstractModule { @Singleton @Provides - protected Map toPortableNodeStatus() { + protected final Map toPortableNodeStatus() { return toPortableNodeStatus; } @@ -106,7 +106,7 @@ public class EC2ComputeServiceDependenciesModule extends AbstractModule { @Singleton @Provides - protected Map toPortableImageStatus() { + protected final Map toPortableImageStatus() { return toPortableImageStatus; } @@ -146,7 +146,7 @@ public class EC2ComputeServiceDependenciesModule extends AbstractModule { */ @Provides @Singleton - public Function bindNodeConverter(RunningInstanceToNodeMetadata baseConverter, + public final Function bindNodeConverter(RunningInstanceToNodeMetadata baseConverter, AddElasticIpsToNodemetadata addElasticIpsToNodemetadata, @Named(EC2Constants.PROPERTY_EC2_AUTO_ALLOCATE_ELASTIC_IPS) boolean autoAllocateElasticIps) { if (!autoAllocateElasticIps) @@ -156,20 +156,20 @@ public class EC2ComputeServiceDependenciesModule extends AbstractModule { @Provides @Singleton - protected LoadingCache> credentialsMap(CacheLoader> in) { + protected final LoadingCache> credentialsMap(CacheLoader> in) { return CacheBuilder.newBuilder().build(in); } @Provides @Singleton - protected ConcurrentMap keypairMap(Injector i) { + protected final ConcurrentMap keypairMap(Injector i) { return Maps.newConcurrentMap(); } @Provides @Singleton @Named("SECURITY") - protected LoadingCache securityGroupMap( + protected final LoadingCache securityGroupMap( @Named("SECURITY") CacheLoader in) { return CacheBuilder.newBuilder().build(in); } @@ -177,7 +177,7 @@ public class EC2ComputeServiceDependenciesModule extends AbstractModule { @Provides @Singleton @Named("ELASTICIP") - protected LoadingCache instanceToElasticIp( + protected final LoadingCache instanceToElasticIp( @Named("ELASTICIP") CacheLoader in) { return CacheBuilder.newBuilder().build(in); } @@ -185,7 +185,7 @@ public class EC2ComputeServiceDependenciesModule extends AbstractModule { @Provides @Singleton @Named("SECURITY") - protected Predicate securityGroupEventualConsistencyDelay(SecurityGroupPresent in, + protected final Predicate securityGroupEventualConsistencyDelay(SecurityGroupPresent in, @Named(PROPERTY_EC2_TIMEOUT_SECURITYGROUP_PRESENT) long msDelay) { return retry(in, msDelay, 100l, MILLISECONDS); } diff --git a/apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java index 4da11f20d6..7736aad7fb 100644 --- a/apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java +++ b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java @@ -101,7 +101,7 @@ public class ElasticStackComputeServiceContextModule extends @Provides @Singleton - protected LoadingCache cache(GetDrive getDrive) { + protected final LoadingCache cache(GetDrive getDrive) { return CacheBuilder.newBuilder().build(getDrive); } @@ -123,7 +123,7 @@ public class ElasticStackComputeServiceContextModule extends @Singleton @Provides @Memoized - protected Supplier> provideImages(@Named(PROPERTY_SESSION_INTERVAL) long seconds, + protected final Supplier> provideImages(@Named(PROPERTY_SESSION_INTERVAL) long seconds, @Memoized final Supplier> wellKnownImageSupplier) throws IOException { // The image map won't change. Memoize it during the session. // This map can't be created directly as a singleton, as Guice needs it to construct the ElasticStackComputeServiceAdapter @@ -144,7 +144,7 @@ public class ElasticStackComputeServiceContextModule extends @Singleton @Provides @Memoized - protected Supplier> provideWellKnownImageSupplier(AtomicReference authException, + protected final Supplier> provideWellKnownImageSupplier(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, WellKnownImageSupplier uncached) throws IOException { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, uncached, seconds, @@ -153,7 +153,7 @@ public class ElasticStackComputeServiceContextModule extends @Provides @Singleton - protected Predicate supplyDriveUnclaimed(DriveClaimed driveClaimed, Timeouts timeouts) { + protected final Predicate supplyDriveUnclaimed(DriveClaimed driveClaimed, Timeouts timeouts) { return retry(Predicates.not(driveClaimed), timeouts.nodeRunning, 1000, MILLISECONDS); } } diff --git a/apis/openstack-cinder/src/main/java/org/jclouds/openstack/cinder/v1/config/CinderHttpApiModule.java b/apis/openstack-cinder/src/main/java/org/jclouds/openstack/cinder/v1/config/CinderHttpApiModule.java index ef0b05e39e..f8c472f14e 100644 --- a/apis/openstack-cinder/src/main/java/org/jclouds/openstack/cinder/v1/config/CinderHttpApiModule.java +++ b/apis/openstack-cinder/src/main/java/org/jclouds/openstack/cinder/v1/config/CinderHttpApiModule.java @@ -49,7 +49,7 @@ public class CinderHttpApiModule extends HttpApiModule { @Provides @Singleton - public Multimap aliases() { + public final Multimap aliases() { return ImmutableMultimap.builder().build(); } diff --git a/apis/openstack-cinder/src/main/java/org/jclouds/openstack/cinder/v1/config/CinderParserModule.java b/apis/openstack-cinder/src/main/java/org/jclouds/openstack/cinder/v1/config/CinderParserModule.java index da80131191..3b2d1572e1 100644 --- a/apis/openstack-cinder/src/main/java/org/jclouds/openstack/cinder/v1/config/CinderParserModule.java +++ b/apis/openstack-cinder/src/main/java/org/jclouds/openstack/cinder/v1/config/CinderParserModule.java @@ -41,7 +41,7 @@ public class CinderParserModule extends AbstractModule { @Provides @Singleton - public Map provideCustomAdapterBindings() { + public final Map provideCustomAdapterBindings() { return ImmutableMap.of( Snapshot.class, new SnapshotAdapter() ); diff --git a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/config/KeystoneAuthenticationModule.java b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/config/KeystoneAuthenticationModule.java index 2c2fac338a..4d540fd37c 100644 --- a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/config/KeystoneAuthenticationModule.java +++ b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/config/KeystoneAuthenticationModule.java @@ -95,7 +95,7 @@ public class KeystoneAuthenticationModule extends AbstractModule { @Provides @Singleton - protected Supplier provideZoneIdToURISupplierForApiVersion( + protected final Supplier provideZoneIdToURISupplierForApiVersion( @Named(KeystoneProperties.SERVICE_TYPE) String serviceType, @ApiVersion String apiVersion, LocationIdToURIFromAccessForTypeAndVersion.Factory factory) { return getLastValueInMap(factory.createForApiTypeAndVersion(serviceType, apiVersion)); @@ -103,8 +103,9 @@ public class KeystoneAuthenticationModule extends AbstractModule { @Provides @Singleton - Function provideProvider(@Provider final String provider) { + final Function provideProvider(@Provider final String provider) { return new Function() { + @Override public String apply(Endpoint in) { return provider; } @@ -125,21 +126,33 @@ public class KeystoneAuthenticationModule extends AbstractModule { bind(LocationsSupplier.class).to(RegionToProvider.class).in(Scopes.SINGLETON); } - // supply the region to id map from keystone, based on the servicetype and api version in - // config @Provides @Singleton + protected final RegionIdToURISupplier guiceProvideRegionIdToURISupplierForApiVersion( + @Named(KeystoneProperties.SERVICE_TYPE) String serviceType, @ApiVersion String apiVersion, + RegionIdToURISupplier.Factory factory) { + return provideRegionIdToURISupplierForApiVersion(serviceType, apiVersion, factory); + } + + // supply the region to id map from keystone, based on the servicetype and api version in + // config protected RegionIdToURISupplier provideRegionIdToURISupplierForApiVersion( @Named(KeystoneProperties.SERVICE_TYPE) String serviceType, @ApiVersion String apiVersion, RegionIdToURISupplier.Factory factory) { return factory.createForApiTypeAndVersion(serviceType, apiVersion); } + @Provides + @Singleton + protected final RegionIdToAdminURISupplier guiceProvideRegionIdToAdminURISupplierForApiVersion( + @Named(KeystoneProperties.SERVICE_TYPE) String serviceType, @ApiVersion String apiVersion, + RegionIdToAdminURISupplier.Factory factory) { + return provideRegionIdToAdminURISupplierForApiVersion(serviceType, apiVersion, factory); + } + // supply the region to id to AdminURL map from keystone, based on the servicetype and api // version in // config - @Provides - @Singleton protected RegionIdToAdminURISupplier provideRegionIdToAdminURISupplierForApiVersion( @Named(KeystoneProperties.SERVICE_TYPE) String serviceType, @ApiVersion String apiVersion, RegionIdToAdminURISupplier.Factory factory) { @@ -167,7 +180,7 @@ public class KeystoneAuthenticationModule extends AbstractModule { // config @Provides @Singleton - protected ZoneIdToURISupplier provideZoneIdToURISupplierForApiVersion( + protected final ZoneIdToURISupplier provideZoneIdToURISupplierForApiVersion( @Named(KeystoneProperties.SERVICE_TYPE) String serviceType, @ApiVersion String apiVersion, ZoneIdToURISupplier.Factory factory) { return factory.createForApiTypeAndVersion(serviceType, apiVersion); @@ -186,9 +199,10 @@ public class KeystoneAuthenticationModule extends AbstractModule { @Provides @Singleton @Authentication - protected Supplier provideAuthenticationTokenCache(final Supplier supplier) + protected final Supplier provideAuthenticationTokenCache(final Supplier supplier) throws InterruptedException, ExecutionException, TimeoutException { return new Supplier() { + @Override public String get() { return supplier.get().getToken().getId(); } @@ -197,6 +211,10 @@ public class KeystoneAuthenticationModule extends AbstractModule { @Provides @Singleton + protected final Map> provideAuthenticationMethods(Injector i) { + return authenticationMethods(i); + } + protected Map> authenticationMethods(Injector i) { Builder> fns = ImmutableSet.> builder(); fns.add(i.getInstance(AuthenticatePasswordCredentials.class)); @@ -206,7 +224,7 @@ public class KeystoneAuthenticationModule extends AbstractModule { @Provides @Singleton - protected Function authenticationMethodForCredentialType( + protected final Function authenticationMethodForCredentialType( @Named(KeystoneProperties.CREDENTIAL_TYPE) String credentialType, Map> authenticationMethods) { checkArgument(authenticationMethods.containsKey(credentialType), "credential type %s not in supported list: %s", @@ -218,7 +236,7 @@ public class KeystoneAuthenticationModule extends AbstractModule { // PROPERTY_SESSION_INTERVAL is default to 60 seconds, but we have this here at 11 hours for now. @Provides @Singleton - public LoadingCache provideAccessCache(Function getAccess) { + public final LoadingCache provideAccessCache(Function getAccess) { return CacheBuilder.newBuilder().expireAfterWrite(11, TimeUnit.HOURS).build(CacheLoader.from(getAccess)); } @@ -226,7 +244,7 @@ public class KeystoneAuthenticationModule extends AbstractModule { // http://code.google.com/p/guava-libraries/issues/detail?id=872 @Provides @Singleton - protected Supplier provideAccessSupplier(final LoadingCache cache, + protected final Supplier provideAccessSupplier(final LoadingCache cache, @Provider final Supplier creds) { return new Supplier() { @Override diff --git a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/config/KeystoneHttpApiModule.java b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/config/KeystoneHttpApiModule.java index 03b4c17895..d34541c82f 100644 --- a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/config/KeystoneHttpApiModule.java +++ b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/config/KeystoneHttpApiModule.java @@ -79,7 +79,7 @@ public class KeystoneHttpApiModule extends HttpApiModule { @Provides @Singleton @Identity - protected Supplier provideStorageUrl(final RegionIdToAdminURISupplier.Factory factory, + protected final Supplier provideStorageUrl(final RegionIdToAdminURISupplier.Factory factory, @ApiVersion final String version, @Provider final Supplier providerURI) { Supplier identityServiceForVersion = getLastValueInMap(factory.createForApiTypeAndVersion( ServiceType.IDENTITY, version)); @@ -105,7 +105,7 @@ public class KeystoneHttpApiModule extends HttpApiModule { @Provides @Singleton - public LoadingCache> provideExtensionsByRegion(final javax.inject.Provider keystoneApi) { + public final LoadingCache> provideExtensionsByRegion(final javax.inject.Provider keystoneApi) { return CacheBuilder.newBuilder().expireAfterWrite(23, TimeUnit.HOURS) .build(CacheLoader.from(Suppliers.memoize(new Supplier>() { @Override diff --git a/apis/openstack-keystone/src/test/java/org/jclouds/openstack/keystone/v2_0/config/ProviderModuleExpectTest.java b/apis/openstack-keystone/src/test/java/org/jclouds/openstack/keystone/v2_0/config/ProviderModuleExpectTest.java index 2ccdcb2fb4..b40fcbf9a3 100644 --- a/apis/openstack-keystone/src/test/java/org/jclouds/openstack/keystone/v2_0/config/ProviderModuleExpectTest.java +++ b/apis/openstack-keystone/src/test/java/org/jclouds/openstack/keystone/v2_0/config/ProviderModuleExpectTest.java @@ -82,7 +82,7 @@ public class ProviderModuleExpectTest extends BaseRestApiExpectTest provideCDNUrl(RegionIdToURISupplier.Factory factory, @ApiVersion String apiVersion) { + protected final Supplier provideCDNUrl(RegionIdToURISupplier.Factory factory, @ApiVersion String apiVersion) { return getLastValueInMap(factory.createForApiTypeAndVersion("dns", apiVersion)); } } diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/config/NovaComputeServiceContextModule.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/config/NovaComputeServiceContextModule.java index 029c374f54..f03c456b0b 100644 --- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/config/NovaComputeServiceContextModule.java +++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/config/NovaComputeServiceContextModule.java @@ -174,14 +174,14 @@ public class NovaComputeServiceContextModule extends @Provides @Singleton @Named("FLOATINGIP") - protected LoadingCache> instanceToFloatingIps( + protected final LoadingCache> instanceToFloatingIps( @Named("FLOATINGIP") CacheLoader> in) { return CacheBuilder.newBuilder().build(in); } @Provides @Singleton - protected LoadingCache securityGroupMap( + protected final LoadingCache securityGroupMap( CacheLoader in) { return CacheBuilder.newBuilder().build(in); } @@ -195,7 +195,7 @@ public class NovaComputeServiceContextModule extends @Provides @Singleton @Named("SECURITYGROUP_PRESENT") - protected Predicate> securityGroupEventualConsistencyDelay( + protected final Predicate> securityGroupEventualConsistencyDelay( FindSecurityGroupWithNameAndReturnTrue in, @Named(TIMEOUT_SECURITYGROUP_PRESENT) long msDelay) { return retry(in, msDelay, 100l, MILLISECONDS); @@ -203,14 +203,14 @@ public class NovaComputeServiceContextModule extends @Provides @Singleton - protected LoadingCache keyPairMap( + protected final LoadingCache keyPairMap( CacheLoader in) { return CacheBuilder.newBuilder().build(in); } @Provides @Singleton - protected Supplier> createLocationIndexedById( + protected final Supplier> createLocationIndexedById( @Memoized Supplier> locations) { return Suppliers.compose(new Function, Map>() { @@ -261,7 +261,7 @@ public class NovaComputeServiceContextModule extends @Singleton @Provides - protected Map toPortableNodeStatus() { + protected final Map toPortableNodeStatus() { return toPortableNodeStatus; } @@ -277,7 +277,7 @@ public class NovaComputeServiceContextModule extends @Singleton @Provides - protected Map toPortableImageStatus() { + protected final Map toPortableImageStatus() { return toPortableImageStatus; } diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/config/NovaHttpApiModule.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/config/NovaHttpApiModule.java index 4a74cf7e6a..53525d6af4 100644 --- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/config/NovaHttpApiModule.java +++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/config/NovaHttpApiModule.java @@ -100,7 +100,7 @@ public class NovaHttpApiModule extends HttpApiModule { @Provides @Singleton - public LoadingCache> provideExtensionsByRegion(final Provider novaApi) { + public final LoadingCache> provideExtensionsByRegion(final Provider novaApi) { return CacheBuilder.newBuilder().expireAfterWrite(23, TimeUnit.HOURS) .build(new CacheLoader>() { @Override diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/config/NovaParserModule.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/config/NovaParserModule.java index 5b3eb0d890..bde077adff 100644 --- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/config/NovaParserModule.java +++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/config/NovaParserModule.java @@ -62,7 +62,7 @@ public class NovaParserModule extends AbstractModule { @Provides @Singleton - public Map provideCustomAdapterBindings() { + public final Map provideCustomAdapterBindings() { return ImmutableMap.of( HostResourceUsage.class, new HostResourceUsageAdapter(), ServerWithSecurityGroups.class, new ServerWithSecurityGroupsAdapter(), diff --git a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/config/SwiftBlobStoreContextModule.java b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/config/SwiftBlobStoreContextModule.java index c3b0a82ec4..547486353a 100644 --- a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/config/SwiftBlobStoreContextModule.java +++ b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/config/SwiftBlobStoreContextModule.java @@ -44,7 +44,7 @@ public class SwiftBlobStoreContextModule extends AbstractModule { } @Provides - Function blobStore(FactoryFunction in) { + final Function blobStore(FactoryFunction in) { return in; } diff --git a/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/config/TroveHttpApiModule.java b/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/config/TroveHttpApiModule.java index b1971b05bf..1bf6404046 100644 --- a/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/config/TroveHttpApiModule.java +++ b/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/config/TroveHttpApiModule.java @@ -55,7 +55,7 @@ public class TroveHttpApiModule extends HttpApiModule { @Provides @Singleton - public Multimap aliases() { + public final Multimap aliases() { return ImmutableMultimap.builder().build(); } @@ -67,7 +67,7 @@ public class TroveHttpApiModule extends HttpApiModule { } @Provides - Supplier> supplyTenant(Supplier access) { + final Supplier> supplyTenant(Supplier access) { return Suppliers.compose(GetTenant.INSTANCE, access); } diff --git a/apis/rackspace-cloudidentity/src/main/java/org/jclouds/rackspace/cloudidentity/v2_0/config/CloudIdentityAuthenticationApiModule.java b/apis/rackspace-cloudidentity/src/main/java/org/jclouds/rackspace/cloudidentity/v2_0/config/CloudIdentityAuthenticationApiModule.java index 5fc125a21c..d3f0ec1dd8 100644 --- a/apis/rackspace-cloudidentity/src/main/java/org/jclouds/rackspace/cloudidentity/v2_0/config/CloudIdentityAuthenticationApiModule.java +++ b/apis/rackspace-cloudidentity/src/main/java/org/jclouds/rackspace/cloudidentity/v2_0/config/CloudIdentityAuthenticationApiModule.java @@ -33,7 +33,7 @@ public class CloudIdentityAuthenticationApiModule extends AbstractModule { } @Provides - private AuthenticationApi provideAuthenticationApi(CloudIdentityAuthenticationApi in){ + private AuthenticationApi provideAuthenticationApi(CloudIdentityAuthenticationApi in){ return in; } } diff --git a/apis/route53/src/main/java/org/jclouds/route53/config/Route53HttpApiModule.java b/apis/route53/src/main/java/org/jclouds/route53/config/Route53HttpApiModule.java index 44ae706487..1ee323c8f0 100644 --- a/apis/route53/src/main/java/org/jclouds/route53/config/Route53HttpApiModule.java +++ b/apis/route53/src/main/java/org/jclouds/route53/config/Route53HttpApiModule.java @@ -42,16 +42,20 @@ import com.google.inject.Provides; public class Route53HttpApiModule extends AWSHttpApiModule { public Route53HttpApiModule() { } - + @Provides @TimeStamp + protected final String guiceProvideTimeStamp(DateService dateService) { + return provideTimeStamp(dateService); + } + protected String provideTimeStamp(DateService dateService) { return dateService.rfc1123DateFormat(new Date(System.currentTimeMillis())); } @Provides @Singleton - RequestSigner provideRequestSigner(RestAuthentication in) { + final RequestSigner provideRequestSigner(RestAuthentication in) { return in; } diff --git a/apis/s3/src/main/java/org/jclouds/s3/blobstore/config/S3BlobStoreContextModule.java b/apis/s3/src/main/java/org/jclouds/s3/blobstore/config/S3BlobStoreContextModule.java index f82030821e..9c76eeece8 100644 --- a/apis/s3/src/main/java/org/jclouds/s3/blobstore/config/S3BlobStoreContextModule.java +++ b/apis/s3/src/main/java/org/jclouds/s3/blobstore/config/S3BlobStoreContextModule.java @@ -58,7 +58,7 @@ public class S3BlobStoreContextModule extends AbstractModule { @Provides @Singleton - protected LoadingCache bucketAcls(BackoffOnNotFoundWhenGetBucketACL loader) { + protected final LoadingCache bucketAcls(BackoffOnNotFoundWhenGetBucketACL loader) { return CacheBuilder.newBuilder().expireAfterWrite(30, TimeUnit.SECONDS).build(loader); } } diff --git a/apis/s3/src/main/java/org/jclouds/s3/config/S3HttpApiModule.java b/apis/s3/src/main/java/org/jclouds/s3/config/S3HttpApiModule.java index 3841865d6d..69feb8e7c4 100644 --- a/apis/s3/src/main/java/org/jclouds/s3/config/S3HttpApiModule.java +++ b/apis/s3/src/main/java/org/jclouds/s3/config/S3HttpApiModule.java @@ -80,6 +80,11 @@ public class S3HttpApiModule extends AWSHttpApiModule { @Provides @Bucket @Singleton + protected final CacheLoader> provideBucketToRegion(@Region Supplier> regionSupplier, + final S3Client client) { + return bucketToRegion(regionSupplier, client); + } + protected CacheLoader> bucketToRegion(@Region Supplier> regionSupplier, final S3Client client) { Set regions = regionSupplier.get(); @@ -133,13 +138,17 @@ public class S3HttpApiModule extends AWSHttpApiModule { @Provides @Bucket @Singleton - protected LoadingCache> bucketToRegion(@Bucket CacheLoader> loader) { + protected final LoadingCache> bucketToRegion(@Bucket CacheLoader> loader) { return CacheBuilder.newBuilder().build(loader); } @Provides @Bucket @Singleton + protected final Supplier provideDefaultRegionForBucket(@Region Supplier defaultRegion) { + return defaultRegionForBucket(defaultRegion); + } + protected Supplier defaultRegionForBucket(@Region Supplier defaultRegion) { return defaultRegion; } @@ -147,7 +156,7 @@ public class S3HttpApiModule extends AWSHttpApiModule { @Provides @Singleton @Bucket - protected Supplier provideBucketURI(@Bucket Supplier defaultRegion, + protected final Supplier provideBucketURI(@Bucket Supplier defaultRegion, RegionToEndpointOrProviderIfNull regionToEndpoint) { return Suppliers.compose(regionToEndpoint, defaultRegion); } @@ -177,7 +186,7 @@ public class S3HttpApiModule extends AWSHttpApiModule { @Provides @Singleton - protected RequestSigner provideRequestSigner(RequestAuthorizeSignature in) { + protected final RequestSigner provideRequestSigner(RequestAuthorizeSignature in) { return in; } @@ -190,6 +199,10 @@ public class S3HttpApiModule extends AWSHttpApiModule { @Provides @TimeStamp + protected final String guiceProvideTimeStamp(@TimeStamp Supplier cache) { + return provideTimeStamp(cache); + } + protected String provideTimeStamp(@TimeStamp Supplier cache) { return cache.get(); } @@ -200,9 +213,10 @@ public class S3HttpApiModule extends AWSHttpApiModule { @Provides @TimeStamp @Singleton - protected Supplier provideTimeStampCache(@Named(Constants.PROPERTY_SESSION_INTERVAL) long seconds, + protected final Supplier provideTimeStampCache(@Named(Constants.PROPERTY_SESSION_INTERVAL) long seconds, final DateService dateService) { return Suppliers.memoizeWithExpiration(new Supplier() { + @Override public String get() { return dateService.rfc822DateFormat(); } diff --git a/apis/s3/src/main/java/org/jclouds/s3/config/S3ObjectModule.java b/apis/s3/src/main/java/org/jclouds/s3/config/S3ObjectModule.java index 268ec41a57..fbe27343a5 100644 --- a/apis/s3/src/main/java/org/jclouds/s3/config/S3ObjectModule.java +++ b/apis/s3/src/main/java/org/jclouds/s3/config/S3ObjectModule.java @@ -53,7 +53,7 @@ public class S3ObjectModule extends AbstractModule { } @Provides - S3Object provideS3Object(S3Object.Factory factory) { + final S3Object provideS3Object(S3Object.Factory factory) { return factory.create(null); } diff --git a/apis/sts/src/main/java/org/jclouds/aws/config/AWSHttpApiModule.java b/apis/sts/src/main/java/org/jclouds/aws/config/AWSHttpApiModule.java index 4992ab6b8d..d433672fb4 100644 --- a/apis/sts/src/main/java/org/jclouds/aws/config/AWSHttpApiModule.java +++ b/apis/sts/src/main/java/org/jclouds/aws/config/AWSHttpApiModule.java @@ -49,14 +49,14 @@ public abstract class AWSHttpApiModule extends HttpApiModule { @Provides @ClientError @Singleton - protected Set provideRetryableCodes() { + protected final Set provideRetryableCodes() { return ImmutableSet.of("RequestTimeout", "OperationAborted", "SignatureDoesNotMatch"); } @Provides @ServerError @Singleton - protected Set provideRetryableServerCodes() { + protected final Set provideRetryableServerCodes() { return ImmutableSet.of("RequestLimitExceeded", "InternalError"); } diff --git a/apis/sts/src/main/java/org/jclouds/aws/config/FormSigningHttpApiModule.java b/apis/sts/src/main/java/org/jclouds/aws/config/FormSigningHttpApiModule.java index 5989a29b7e..0792f4f22a 100644 --- a/apis/sts/src/main/java/org/jclouds/aws/config/FormSigningHttpApiModule.java +++ b/apis/sts/src/main/java/org/jclouds/aws/config/FormSigningHttpApiModule.java @@ -45,13 +45,17 @@ public abstract class FormSigningHttpApiModule extends AWSHttpApiModule { @Provides @TimeStamp + protected final String guiceProvideTimeStamp(DateService dateService) { + return provideTimeStamp(dateService); + } + protected String provideTimeStamp(DateService dateService) { return dateService.iso8601DateFormat(new Date(System.currentTimeMillis())); } @Provides @Singleton - RequestSigner provideRequestSigner(FormSigner in) { + final RequestSigner provideRequestSigner(FormSigner in) { if (in instanceof RequestSigner) { return (RequestSigner) in; } diff --git a/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/config/TemporaryUrlExtensionModule.java b/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/config/TemporaryUrlExtensionModule.java index b514f326e7..18abd56667 100644 --- a/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/config/TemporaryUrlExtensionModule.java +++ b/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/config/TemporaryUrlExtensionModule.java @@ -64,6 +64,7 @@ public abstract class TemporaryUrlExtensionModule e public static class SwiftKeystoneTemporaryUrlExtensionModule extends TemporaryUrlExtensionModule { + @Override protected void bindTemporaryUrlKeyApi() { bindHttpApi(binder(), KeystoneTemporaryUrlKeyApi.class); bind(TemporaryUrlKeyApi.class).to(KeystoneTemporaryUrlKeyApi.class); @@ -79,6 +80,10 @@ public abstract class TemporaryUrlExtensionModule e @Provides @TimeStamp + protected final Long guiceUnixEpochTimestampProvider() { + return unixEpochTimestampProvider(); + } + protected Long unixEpochTimestampProvider() { return System.currentTimeMillis() / 1000; /* convert to seconds */ } diff --git a/apis/swift/src/main/java/org/jclouds/openstack/swift/config/SwiftHttpApiModule.java b/apis/swift/src/main/java/org/jclouds/openstack/swift/config/SwiftHttpApiModule.java index 3a673be865..c45da4f524 100644 --- a/apis/swift/src/main/java/org/jclouds/openstack/swift/config/SwiftHttpApiModule.java +++ b/apis/swift/src/main/java/org/jclouds/openstack/swift/config/SwiftHttpApiModule.java @@ -66,7 +66,7 @@ public class SwiftHttpApiModule extends HttpApiModu @Provides @Singleton @Storage - protected Supplier provideStorageUrl(URIFromAuthenticationResponseForService.Factory factory) { + protected final Supplier provideStorageUrl(URIFromAuthenticationResponseForService.Factory factory) { return factory.create(AuthHeaders.STORAGE_URL); } } @@ -75,7 +75,7 @@ public class SwiftHttpApiModule extends HttpApiModu @Provides @Singleton @Storage - protected Supplier provideStorageUrl(RegionIdToURISupplier.Factory factory, + protected final Supplier provideStorageUrl(RegionIdToURISupplier.Factory factory, @ApiVersion String apiVersion, @Named(LocationConstants.PROPERTY_REGION) String region) { diff --git a/apis/swift/src/main/java/org/jclouds/openstack/swift/config/SwiftObjectModule.java b/apis/swift/src/main/java/org/jclouds/openstack/swift/config/SwiftObjectModule.java index 439b8027af..738d47e47a 100644 --- a/apis/swift/src/main/java/org/jclouds/openstack/swift/config/SwiftObjectModule.java +++ b/apis/swift/src/main/java/org/jclouds/openstack/swift/config/SwiftObjectModule.java @@ -54,7 +54,7 @@ public class SwiftObjectModule extends AbstractModule { } @Provides - SwiftObject provideSwiftObject(SwiftObject.Factory factory) { + final SwiftObject provideSwiftObject(SwiftObject.Factory factory) { return factory.create(null); } diff --git a/blobstore/src/main/java/org/jclouds/blobstore/config/BlobStoreObjectModule.java b/blobstore/src/main/java/org/jclouds/blobstore/config/BlobStoreObjectModule.java index 8af726886a..d6571140b9 100644 --- a/blobstore/src/main/java/org/jclouds/blobstore/config/BlobStoreObjectModule.java +++ b/blobstore/src/main/java/org/jclouds/blobstore/config/BlobStoreObjectModule.java @@ -52,7 +52,7 @@ public class BlobStoreObjectModule extends AbstractModule { } @Provides - Blob provideBlob(Blob.Factory factory) { + final Blob provideBlob(Blob.Factory factory) { return factory.create(null); } diff --git a/common/openstack/src/main/java/org/jclouds/openstack/config/OpenStackAuthenticationModule.java b/common/openstack/src/main/java/org/jclouds/openstack/config/OpenStackAuthenticationModule.java index 9a98f7f166..49870b8673 100644 --- a/common/openstack/src/main/java/org/jclouds/openstack/config/OpenStackAuthenticationModule.java +++ b/common/openstack/src/main/java/org/jclouds/openstack/config/OpenStackAuthenticationModule.java @@ -59,15 +59,21 @@ public class OpenStackAuthenticationModule extends AbstractModule { bind(HttpRetryHandler.class).annotatedWith(ClientError.class).to(RetryOnRenew.class); } - /** - * borrowing concurrency code to ensure that caching takes place properly - */ @Provides @Singleton @Authentication + protected final Supplier guiceProvideAuthenticationTokenCache(final Supplier supplier) + throws InterruptedException, ExecutionException, TimeoutException { + return provideAuthenticationTokenCache(supplier); + } + + /** + * borrowing concurrency code to ensure that caching takes place properly + */ protected Supplier provideAuthenticationTokenCache(final Supplier supplier) throws InterruptedException, ExecutionException, TimeoutException { return new Supplier() { + @Override public String get() { return supplier.get().getAuthToken(); } @@ -97,14 +103,14 @@ public class OpenStackAuthenticationModule extends AbstractModule { @Provides @Singleton - public LoadingCache provideAuthenticationResponseCache( + public final LoadingCache provideAuthenticationResponseCache( GetAuthenticationResponse getAuthenticationResponse) { return CacheBuilder.newBuilder().expireAfterWrite(23, TimeUnit.HOURS).build(getAuthenticationResponse); } @Provides @Singleton - protected Supplier provideAuthenticationResponseSupplier( + protected final Supplier provideAuthenticationResponseSupplier( final LoadingCache cache, @Provider final Supplier creds) { return new Supplier() { @Override @@ -117,8 +123,13 @@ public class OpenStackAuthenticationModule extends AbstractModule { @Provides @Singleton @TimeStamp + protected final Supplier guiceProvideCacheBusterDate() { + return provideCacheBusterDate(); + } + protected Supplier provideCacheBusterDate() { return memoizeWithExpiration(new Supplier() { + @Override public Date get() { return new Date(); } diff --git a/common/openstack/src/main/java/org/jclouds/openstack/keystone/v1_1/config/AuthenticationServiceModule.java b/common/openstack/src/main/java/org/jclouds/openstack/keystone/v1_1/config/AuthenticationServiceModule.java index f8d32e1cbb..4d4888859d 100644 --- a/common/openstack/src/main/java/org/jclouds/openstack/keystone/v1_1/config/AuthenticationServiceModule.java +++ b/common/openstack/src/main/java/org/jclouds/openstack/keystone/v1_1/config/AuthenticationServiceModule.java @@ -67,7 +67,7 @@ public class AuthenticationServiceModule extends AbstractModule { @Provides @Singleton @Authentication - protected Supplier provideAuthenticationTokenCache(final Supplier supplier) + protected final Supplier provideAuthenticationTokenCache(final Supplier supplier) throws InterruptedException, ExecutionException, TimeoutException { return new Supplier() { public String get() { @@ -99,14 +99,14 @@ public class AuthenticationServiceModule extends AbstractModule { @Provides @Singleton - protected LoadingCache provideAuthCache(GetAuth getAuth, + protected final LoadingCache provideAuthCache(GetAuth getAuth, @Named(PROPERTY_SESSION_INTERVAL) long sessionInterval) { return CacheBuilder.newBuilder().expireAfterWrite(sessionInterval, TimeUnit.SECONDS).build(getAuth); } @Provides @Singleton - protected Supplier provideAuthSupplier(final LoadingCache cache, + protected final Supplier provideAuthSupplier(final LoadingCache cache, @Provider final Supplier creds) { return new Supplier() { @Override diff --git a/compute/src/main/java/org/jclouds/compute/config/BaseComputeServiceContextModule.java b/compute/src/main/java/org/jclouds/compute/config/BaseComputeServiceContextModule.java index 5336f4450a..c1bdf38739 100644 --- a/compute/src/main/java/org/jclouds/compute/config/BaseComputeServiceContextModule.java +++ b/compute/src/main/java/org/jclouds/compute/config/BaseComputeServiceContextModule.java @@ -168,7 +168,7 @@ public abstract class BaseComputeServiceContextModule extends AbstractModule { @Provides @Singleton - public Map> provideOsVersionMap(ComputeServiceConstants.ReferenceData data, Json json) { + public final Map> provideOsVersionMap(ComputeServiceConstants.ReferenceData data, Json json) { return json.fromJson(data.osVersionMapJson, new TypeLiteral>>() { }.getType()); } @@ -178,7 +178,7 @@ public abstract class BaseComputeServiceContextModule extends AbstractModule { */ @Provides @Named("DEFAULT") - protected TemplateBuilder provideTemplateOptionallyFromProperties(Injector injector, TemplateBuilder template, + protected final TemplateBuilder provideTemplateOptionallyFromProperties(Injector injector, TemplateBuilder template, @Provider String provider, ValueOfConfigurationKeyOrNull config) { String templateString = config.apply(provider + ".template"); if (templateString == null) @@ -198,6 +198,10 @@ public abstract class BaseComputeServiceContextModule extends AbstractModule { @Provides @Singleton + protected final Map provideOsFamilyToCredentials(Injector injector) { + return osFamilyToCredentials(injector); + } + protected Map osFamilyToCredentials(Injector injector) { return ImmutableMap.of(OsFamily.WINDOWS, LoginCredentials.builder().user("Administrator").build()); } @@ -207,13 +211,17 @@ public abstract class BaseComputeServiceContextModule extends AbstractModule { */ @Provides @Named("DEFAULT") + protected final TemplateOptions guiceProvideTemplateOptions(Injector injector, TemplateOptions options) { + return provideTemplateOptions(injector, options); + } + protected TemplateOptions provideTemplateOptions(Injector injector, TemplateOptions options) { return options; } @Provides @Singleton - protected Supplier> provideImageMap(@Memoized Supplier> images) { + protected final Supplier> provideImageMap(@Memoized Supplier> images) { return Suppliers.compose(new Function, Map>() { @Override @@ -234,7 +242,7 @@ public abstract class BaseComputeServiceContextModule extends AbstractModule { @Provides @Singleton @Named("imageCache") - protected Supplier> supplyImageCache(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, + protected final Supplier> supplyImageCache(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, final Supplier> imageSupplier, Injector injector) { if (shouldEagerlyParseImages(injector)) { return supplyImageCache(authException, seconds, imageSupplier); @@ -263,7 +271,7 @@ public abstract class BaseComputeServiceContextModule extends AbstractModule { @Provides @Singleton - protected Supplier> provideSizeMap(@Memoized Supplier> sizes) { + protected final Supplier> provideSizeMap(@Memoized Supplier> sizes) { return Suppliers.compose(new Function, Map>() { @Override @@ -284,7 +292,7 @@ public abstract class BaseComputeServiceContextModule extends AbstractModule { @Provides @Singleton @Memoized - protected Supplier> supplySizeCache(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, + protected final Supplier> supplySizeCache(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, final Supplier> hardwareSupplier) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, hardwareSupplier, seconds, TimeUnit.SECONDS); @@ -292,7 +300,7 @@ public abstract class BaseComputeServiceContextModule extends AbstractModule { @Provides @Singleton - protected Function indexer() { + protected final Function indexer() { return new Function() { @Override public String apply(ComputeMetadata from) { @@ -304,7 +312,7 @@ public abstract class BaseComputeServiceContextModule extends AbstractModule { @Provides @Singleton public final Optional guiceProvideImageExtension(Injector i) { - return provideImageExtension(i); + return provideImageExtension(i); } protected Optional provideImageExtension(Injector i) { @@ -313,8 +321,8 @@ public abstract class BaseComputeServiceContextModule extends AbstractModule { @Provides @Singleton - protected Optional guiceProvideSecurityGroupExtension(Injector i) - return provideSecurityGroupExtension(i); + protected final Optional guiceProvideSecurityGroupExtension(Injector i) { + return provideSecurityGroupExtension(i); } protected Optional provideSecurityGroupExtension(Injector i) { diff --git a/compute/src/main/java/org/jclouds/compute/config/ComputeServiceAdapterContextModule.java b/compute/src/main/java/org/jclouds/compute/config/ComputeServiceAdapterContextModule.java index 343ed0da09..a6f0f4de4e 100644 --- a/compute/src/main/java/org/jclouds/compute/config/ComputeServiceAdapterContextModule.java +++ b/compute/src/main/java/org/jclouds/compute/config/ComputeServiceAdapterContextModule.java @@ -76,7 +76,7 @@ public class ComputeServiceAdapterContextModule extends BaseComputeS @Provides @Singleton - protected LocationsSupplier supplyLocationsFromComputeServiceAdapter( + protected final LocationsSupplier supplyLocationsFromComputeServiceAdapter( final ComputeServiceAdapter adapter, final Function transformer) { return new LocationsSupplier() { @Override @@ -93,7 +93,7 @@ public class ComputeServiceAdapterContextModule extends BaseComputeS @Provides @Singleton - protected Supplier> provideHardware(final ComputeServiceAdapter adapter, + protected final Supplier> provideHardware(final ComputeServiceAdapter adapter, final Function transformer) { return new Supplier>() { @Override @@ -113,7 +113,7 @@ public class ComputeServiceAdapterContextModule extends BaseComputeS @Provides @Singleton - protected Supplier> provideImages(final ComputeServiceAdapter adapter, + protected final Supplier> provideImages(final ComputeServiceAdapter adapter, final Function transformer, final AddDefaultCredentialsToImage addDefaultCredentialsToImage) { return new Supplier>() { @Override @@ -152,50 +152,50 @@ public class ComputeServiceAdapterContextModule extends BaseComputeS @Provides @Singleton - protected CreateNodeWithGroupEncodedIntoName defineAddNodeWithTagStrategy( + protected final CreateNodeWithGroupEncodedIntoName defineAddNodeWithTagStrategy( AdaptingComputeServiceStrategies in) { return in; } @Provides @Singleton - protected DestroyNodeStrategy defineDestroyNodeStrategy(AdaptingComputeServiceStrategies in) { + protected final DestroyNodeStrategy defineDestroyNodeStrategy(AdaptingComputeServiceStrategies in) { return in; } @Provides @Singleton - protected GetNodeMetadataStrategy defineGetNodeMetadataStrategy(AdaptingComputeServiceStrategies in) { + protected final GetNodeMetadataStrategy defineGetNodeMetadataStrategy(AdaptingComputeServiceStrategies in) { return in; } @Provides @Singleton - protected GetImageStrategy defineGetImageStrategy(AdaptingComputeServiceStrategies in) { + protected final GetImageStrategy defineGetImageStrategy(AdaptingComputeServiceStrategies in) { return in; } @Provides @Singleton - protected ListNodesStrategy defineListNodesStrategy(AdaptingComputeServiceStrategies in) { + protected final ListNodesStrategy defineListNodesStrategy(AdaptingComputeServiceStrategies in) { return in; } @Provides @Singleton - protected RebootNodeStrategy defineRebootNodeStrategy(AdaptingComputeServiceStrategies in) { + protected final RebootNodeStrategy defineRebootNodeStrategy(AdaptingComputeServiceStrategies in) { return in; } @Provides @Singleton - protected ResumeNodeStrategy defineStartNodeStrategy(AdaptingComputeServiceStrategies in) { + protected final ResumeNodeStrategy defineStartNodeStrategy(AdaptingComputeServiceStrategies in) { return in; } @Provides @Singleton - protected SuspendNodeStrategy defineStopNodeStrategy(AdaptingComputeServiceStrategies in) { + protected final SuspendNodeStrategy defineStopNodeStrategy(AdaptingComputeServiceStrategies in) { return in; } } diff --git a/compute/src/main/java/org/jclouds/compute/config/ComputeServiceTimeoutsModule.java b/compute/src/main/java/org/jclouds/compute/config/ComputeServiceTimeoutsModule.java index f452ce84c7..9634d1e90a 100644 --- a/compute/src/main/java/org/jclouds/compute/config/ComputeServiceTimeoutsModule.java +++ b/compute/src/main/java/org/jclouds/compute/config/ComputeServiceTimeoutsModule.java @@ -54,6 +54,11 @@ public class ComputeServiceTimeoutsModule extends AbstractModule { @Provides @Singleton @Named(TIMEOUT_NODE_RUNNING) + protected final Predicate> provideNodeRunning(AtomicNodeRunning statusRunning, Timeouts timeouts, + PollPeriod period) { + return nodeRunning(statusRunning, timeouts, period); + } + protected Predicate> nodeRunning(AtomicNodeRunning statusRunning, Timeouts timeouts, PollPeriod period) { return timeouts.nodeRunning == 0 ? statusRunning : RetryablePredicateGuardingNull.create(statusRunning, @@ -63,6 +68,11 @@ public class ComputeServiceTimeoutsModule extends AbstractModule { @Provides @Singleton @Named(TIMEOUT_NODE_TERMINATED) + protected final Predicate> provideServerTerminated(AtomicNodeTerminated statusTerminated, + Timeouts timeouts, PollPeriod period) { + return serverTerminated(statusTerminated, timeouts, period); + } + protected Predicate> serverTerminated(AtomicNodeTerminated statusTerminated, Timeouts timeouts, PollPeriod period) { return timeouts.nodeTerminated == 0 ? statusTerminated : retry(statusTerminated, timeouts.nodeTerminated, @@ -72,6 +82,11 @@ public class ComputeServiceTimeoutsModule extends AbstractModule { @Provides @Singleton @Named(TIMEOUT_NODE_SUSPENDED) + protected final Predicate> provideserverSuspended(AtomicNodeSuspended statusSuspended, + Timeouts timeouts, PollPeriod period) { + return serverSuspended(statusSuspended, timeouts, period); + } + protected Predicate> serverSuspended(AtomicNodeSuspended statusSuspended, Timeouts timeouts, PollPeriod period) { return timeouts.nodeSuspended == 0 ? statusSuspended : RetryablePredicateGuardingNull.create(statusSuspended, @@ -81,6 +96,10 @@ public class ComputeServiceTimeoutsModule extends AbstractModule { @Provides @Singleton @Named(TIMEOUT_SCRIPT_COMPLETE) + protected final Predicate provideRunScriptRunning(ScriptStatusReturnsZero statusRunning, Timeouts timeouts) { + return runScriptRunning(statusRunning, timeouts); + } + protected Predicate runScriptRunning(ScriptStatusReturnsZero statusRunning, Timeouts timeouts) { return timeouts.scriptComplete == 0 ? not(statusRunning) : retry(not(statusRunning), timeouts.scriptComplete); } @@ -88,7 +107,7 @@ public class ComputeServiceTimeoutsModule extends AbstractModule { @Provides @Singleton @Named(TIMEOUT_IMAGE_AVAILABLE) - protected Predicate> imageAvailable(AtomicImageAvailable statusAvailable, Timeouts timeouts, + protected final Predicate> imageAvailable(AtomicImageAvailable statusAvailable, Timeouts timeouts, PollPeriod period) { return timeouts.imageAvailable == 0 ? statusAvailable : retry(statusAvailable, timeouts.imageAvailable, period.pollInitialPeriod, period.pollMaxPeriod); @@ -97,7 +116,7 @@ public class ComputeServiceTimeoutsModule extends AbstractModule { @Provides @Singleton @Named(TIMEOUT_IMAGE_DELETED) - protected Predicate> serverDeleted(AtomicImageDeleted statusDeleted, Timeouts timeouts, + protected final Predicate> serverDeleted(AtomicImageDeleted statusDeleted, Timeouts timeouts, PollPeriod period) { return timeouts.imageDeleted == 0 ? statusDeleted : retry(statusDeleted, timeouts.imageDeleted, period.pollInitialPeriod, period.pollMaxPeriod); diff --git a/compute/src/main/java/org/jclouds/compute/stub/config/StubComputeServiceDependenciesModule.java b/compute/src/main/java/org/jclouds/compute/stub/config/StubComputeServiceDependenciesModule.java index 2077f719fe..aea242fbf6 100644 --- a/compute/src/main/java/org/jclouds/compute/stub/config/StubComputeServiceDependenciesModule.java +++ b/compute/src/main/java/org/jclouds/compute/stub/config/StubComputeServiceDependenciesModule.java @@ -72,7 +72,7 @@ public class StubComputeServiceDependenciesModule extends AbstractModule { @Provides @Singleton - protected ConcurrentMap provideNodesForIdentity(@Provider Supplier creds) + protected final ConcurrentMap provideNodesForIdentity(@Provider Supplier creds) throws ExecutionException { return backing.get(creds.get().identity); } @@ -89,7 +89,7 @@ public class StubComputeServiceDependenciesModule extends AbstractModule { @Provides @Singleton - protected ConcurrentMap provideGroups(@Provider Supplier creds) + protected final ConcurrentMap provideGroups(@Provider Supplier creds) throws ExecutionException { return groupBacking.get(creds.get().identity); } @@ -106,7 +106,7 @@ public class StubComputeServiceDependenciesModule extends AbstractModule { @Provides @Singleton - protected Multimap provideGroupsForNode(@Provider Supplier creds) + protected final Multimap provideGroupsForNode(@Provider Supplier creds) throws ExecutionException { return groupsForNodeBacking.get(creds.get().identity); } @@ -123,7 +123,7 @@ public class StubComputeServiceDependenciesModule extends AbstractModule { @Provides @Named("NODE_ID") - protected Integer provideNodeIdForIdentity(@Provider Supplier creds) throws ExecutionException { + protected final Integer provideNodeIdForIdentity(@Provider Supplier creds) throws ExecutionException { return nodeIds.get(creds.get().identity).incrementAndGet(); } @@ -139,34 +139,34 @@ public class StubComputeServiceDependenciesModule extends AbstractModule { @Provides @Named("GROUP_ID") - protected Integer provideGroupIdForIdentity(@Provider Supplier creds) throws ExecutionException { + protected final Integer provideGroupIdForIdentity(@Provider Supplier creds) throws ExecutionException { return groupIds.get(creds.get().identity).incrementAndGet(); } @Singleton @Provides @Named("PUBLIC_IP_PREFIX") - String publicIpPrefix() { + final String publicIpPrefix() { return "144.175.1."; } @Singleton @Provides @Named("PRIVATE_IP_PREFIX") - String privateIpPrefix() { + final String privateIpPrefix() { return "10.1.1."; } @Singleton @Provides @Named("PASSWORD_PREFIX") - String passwordPrefix() { + final String passwordPrefix() { return "password"; } @Singleton @Provides - SocketOpen socketOpen(StubSocketOpen in) { + final SocketOpen socketOpen(StubSocketOpen in) { return in; } diff --git a/core/src/main/java/org/jclouds/concurrent/config/ExecutorServiceModule.java b/core/src/main/java/org/jclouds/concurrent/config/ExecutorServiceModule.java index 9e0e81da62..a78411c67a 100644 --- a/core/src/main/java/org/jclouds/concurrent/config/ExecutorServiceModule.java +++ b/core/src/main/java/org/jclouds/concurrent/config/ExecutorServiceModule.java @@ -112,14 +112,14 @@ public class ExecutorServiceModule extends AbstractModule { @Provides @Singleton - TimeLimiter timeLimiter(@Named(PROPERTY_USER_THREADS) ListeningExecutorService userExecutor) { + final TimeLimiter timeLimiter(@Named(PROPERTY_USER_THREADS) ListeningExecutorService userExecutor) { return new SimpleTimeLimiter(userExecutor); } @Provides @Singleton @Named(PROPERTY_USER_THREADS) - ListeningExecutorService provideListeningUserExecutorService(@Named(PROPERTY_USER_THREADS) int count, Closer closer) { // NO_UCD + final ListeningExecutorService provideListeningUserExecutorService(@Named(PROPERTY_USER_THREADS) int count, Closer closer) { // NO_UCD if (userExecutorFromConstructor != null) return userExecutorFromConstructor; return shutdownOnClose(WithSubmissionTrace.wrap(newThreadPoolNamed("user thread %d", count)), closer); @@ -128,7 +128,7 @@ public class ExecutorServiceModule extends AbstractModule { @Provides @Singleton @Named(PROPERTY_USER_THREADS) - ExecutorService provideUserExecutorService(@Named(PROPERTY_USER_THREADS) ListeningExecutorService in) { // NO_UCD + final ExecutorService provideUserExecutorService(@Named(PROPERTY_USER_THREADS) ListeningExecutorService in) { // NO_UCD return in; } diff --git a/core/src/main/java/org/jclouds/concurrent/config/ScheduledExecutorServiceModule.java b/core/src/main/java/org/jclouds/concurrent/config/ScheduledExecutorServiceModule.java index ae92154d40..3f5f4af77f 100644 --- a/core/src/main/java/org/jclouds/concurrent/config/ScheduledExecutorServiceModule.java +++ b/core/src/main/java/org/jclouds/concurrent/config/ScheduledExecutorServiceModule.java @@ -48,7 +48,7 @@ public class ScheduledExecutorServiceModule extends AbstractModule { @Provides @Singleton @Named(PROPERTY_SCHEDULER_THREADS) - ListeningScheduledExecutorService provideListeningScheduledExecutorService( + final ListeningScheduledExecutorService provideListeningScheduledExecutorService( @Named(PROPERTY_SCHEDULER_THREADS) int count, Closer closer) { return shutdownOnClose(WithSubmissionTrace.wrap(newScheduledThreadPoolNamed("scheduler thread %d", count)), closer); @@ -57,7 +57,7 @@ public class ScheduledExecutorServiceModule extends AbstractModule { @Provides @Singleton @Named(PROPERTY_SCHEDULER_THREADS) - ScheduledExecutorService provideScheduledExecutor( + final ScheduledExecutorService provideScheduledExecutor( @Named(PROPERTY_SCHEDULER_THREADS) ListeningScheduledExecutorService in) { return in; } diff --git a/core/src/main/java/org/jclouds/events/config/EventBusModule.java b/core/src/main/java/org/jclouds/events/config/EventBusModule.java index cf412c7a46..84ab8d96d4 100644 --- a/core/src/main/java/org/jclouds/events/config/EventBusModule.java +++ b/core/src/main/java/org/jclouds/events/config/EventBusModule.java @@ -50,7 +50,7 @@ public class EventBusModule extends AbstractModule { */ @Provides @Singleton - AsyncEventBus provideAsyncEventBus(@Named(PROPERTY_USER_THREADS) ListeningExecutorService userExecutor, + final AsyncEventBus provideAsyncEventBus(@Named(PROPERTY_USER_THREADS) ListeningExecutorService userExecutor, DeadEventLoggingHandler deadEventsHandler) {// NO_UCD AsyncEventBus asyncBus = new AsyncEventBus("jclouds-async-event-bus", userExecutor); asyncBus.register(deadEventsHandler); @@ -62,7 +62,7 @@ public class EventBusModule extends AbstractModule { */ @Provides @Singleton - EventBus provideSyncEventBus(DeadEventLoggingHandler deadEventsHandler) { // NO_UCD + final EventBus provideSyncEventBus(DeadEventLoggingHandler deadEventsHandler) { // NO_UCD EventBus syncBus = new EventBus("jclouds-sync-event-bus"); syncBus.register(deadEventsHandler); return syncBus; diff --git a/core/src/main/java/org/jclouds/http/functions/config/SaxParserModule.java b/core/src/main/java/org/jclouds/http/functions/config/SaxParserModule.java index 5e8d84560c..c2705d9fc5 100644 --- a/core/src/main/java/org/jclouds/http/functions/config/SaxParserModule.java +++ b/core/src/main/java/org/jclouds/http/functions/config/SaxParserModule.java @@ -68,7 +68,7 @@ public class SaxParserModule extends AbstractModule { @Provides @Singleton - SAXParserFactory provideSAXParserFactory() { + final SAXParserFactory provideSAXParserFactory() { SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(false); factory.setValidating(false); diff --git a/core/src/main/java/org/jclouds/json/config/GsonModule.java b/core/src/main/java/org/jclouds/json/config/GsonModule.java index 934541b16c..7b8bd0cddb 100644 --- a/core/src/main/java/org/jclouds/json/config/GsonModule.java +++ b/core/src/main/java/org/jclouds/json/config/GsonModule.java @@ -87,7 +87,7 @@ public class GsonModule extends AbstractModule { @SuppressWarnings("rawtypes") @Provides @Singleton - Gson provideGson(TypeAdapter jsonAdapter, DateAdapter adapter, ByteListAdapter byteListAdapter, + final Gson provideGson(TypeAdapter jsonAdapter, DateAdapter adapter, ByteListAdapter byteListAdapter, ByteArrayAdapter byteArrayAdapter, PropertiesAdapter propertiesAdapter, JsonAdapterBindings bindings, CredentialsAdapterFactory credentialsAdapterFactory, OptionalTypeAdapterFactory optional, SetTypeAdapterFactory set, ImmutableSetTypeAdapterFactory immutableSet, MapTypeAdapterFactory map, @@ -165,7 +165,7 @@ public class GsonModule extends AbstractModule { @Provides @Singleton - protected TypeAdapter provideJsonBallAdapter(NullHackJsonBallAdapter in) { + protected final TypeAdapter provideJsonBallAdapter(NullHackJsonBallAdapter in) { return in; } diff --git a/core/src/main/java/org/jclouds/location/config/LocationModule.java b/core/src/main/java/org/jclouds/location/config/LocationModule.java index a117c9bbe0..d8c5de3007 100644 --- a/core/src/main/java/org/jclouds/location/config/LocationModule.java +++ b/core/src/main/java/org/jclouds/location/config/LocationModule.java @@ -75,7 +75,7 @@ public class LocationModule extends AbstractModule { @Provides @Singleton @Iso3166 - protected Supplier>>> isoCodesSupplier( + protected final Supplier>>> isoCodesSupplier( AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, LocationIdToIso3166CodesSupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, uncached, seconds, @@ -85,7 +85,7 @@ public class LocationModule extends AbstractModule { @Provides @Singleton @Provider - protected Supplier provideProvider(AtomicReference authException, + protected final Supplier provideProvider(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, ProviderURISupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, uncached, seconds, TimeUnit.SECONDS); @@ -93,7 +93,7 @@ public class LocationModule extends AbstractModule { @Provides @Singleton - protected Supplier implicitLocationSupplier(AtomicReference authException, + protected final Supplier implicitLocationSupplier(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, ImplicitLocationSupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, uncached, seconds, TimeUnit.SECONDS); @@ -103,7 +103,7 @@ public class LocationModule extends AbstractModule { @Singleton // TODO: we should eventually get rid of memoized as an annotation, as it is confusing @Memoized - protected Supplier> memoizedLocationsSupplier( + protected final Supplier> memoizedLocationsSupplier( AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, LocationsSupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, uncached, seconds, @@ -113,7 +113,7 @@ public class LocationModule extends AbstractModule { @Provides @Singleton @Region - protected Supplier> regionIdsSupplier(AtomicReference authException, + protected final Supplier> regionIdsSupplier(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, RegionIdFilter filter, RegionIdsSupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, Suppliers.compose(new FilterStrings(filter), uncached), seconds, TimeUnit.SECONDS); @@ -122,7 +122,7 @@ public class LocationModule extends AbstractModule { @Provides @Singleton @Zone - protected Supplier> zoneIdsSupplier( + protected final Supplier> zoneIdsSupplier( AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, ZoneIdFilter filter, ZoneIdsSupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, @@ -152,7 +152,7 @@ public class LocationModule extends AbstractModule { @Provides @Singleton @Region - protected Supplier>> regionIdToURISupplier( + protected final Supplier>> regionIdToURISupplier( AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, RegionIdToURISupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, uncached, seconds, @@ -162,7 +162,7 @@ public class LocationModule extends AbstractModule { @Provides @Singleton @Region - protected Supplier implicitRegionIdSupplier(AtomicReference authException, + protected final Supplier implicitRegionIdSupplier(AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, ImplicitRegionIdSupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, uncached, seconds, TimeUnit.SECONDS); @@ -172,7 +172,7 @@ public class LocationModule extends AbstractModule { @Provides @Singleton @Zone - protected Supplier>>> regionIdToZoneIdsSupplier( + protected final Supplier>>> regionIdToZoneIdsSupplier( AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, RegionIdToZoneIdsSupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, uncached, seconds, @@ -182,7 +182,7 @@ public class LocationModule extends AbstractModule { @Provides @Singleton @Zone - protected Supplier>> zoneIdToURISupplier( + protected final Supplier>> zoneIdToURISupplier( AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, ZoneIdToURISupplier uncached) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, uncached, seconds, diff --git a/core/src/main/java/org/jclouds/logging/config/LoggingModule.java b/core/src/main/java/org/jclouds/logging/config/LoggingModule.java index 1d791a24fb..5d50f7338d 100644 --- a/core/src/main/java/org/jclouds/logging/config/LoggingModule.java +++ b/core/src/main/java/org/jclouds/logging/config/LoggingModule.java @@ -38,7 +38,7 @@ public abstract class LoggingModule extends AbstractModule { @Provides @Singleton public final Logger.LoggerFactory provideLoggerFactory() { - return createLoggerFactory(); + return createLoggerFactory(); } public abstract Logger.LoggerFactory createLoggerFactory(); diff --git a/core/src/main/java/org/jclouds/rest/config/CredentialStoreModule.java b/core/src/main/java/org/jclouds/rest/config/CredentialStoreModule.java index 180d89d3ba..cd5481a3c5 100644 --- a/core/src/main/java/org/jclouds/rest/config/CredentialStoreModule.java +++ b/core/src/main/java/org/jclouds/rest/config/CredentialStoreModule.java @@ -104,7 +104,7 @@ public class CredentialStoreModule extends AbstractModule { @Provides @Singleton - protected Map provideCredentialStore(Map backing, + protected final Map provideCredentialStore(Map backing, Function credentialsSerializer, Function credentialsDeserializer) { return new TransformingMap(backing, credentialsDeserializer, diff --git a/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/config/ApacheHCHttpCommandExecutorServiceModule.java b/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/config/ApacheHCHttpCommandExecutorServiceModule.java index c5685080e1..00f23f42fb 100644 --- a/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/config/ApacheHCHttpCommandExecutorServiceModule.java +++ b/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/config/ApacheHCHttpCommandExecutorServiceModule.java @@ -74,7 +74,7 @@ public class ApacheHCHttpCommandExecutorServiceModule extends AbstractModule { @Singleton @Provides - HttpParams newBasicHttpParams(HttpUtils utils) { + final HttpParams newBasicHttpParams(HttpUtils utils) { BasicHttpParams params = new BasicHttpParams(); params.setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024).setBooleanParameter( @@ -102,14 +102,14 @@ public class ApacheHCHttpCommandExecutorServiceModule extends AbstractModule { @Singleton @Provides - X509HostnameVerifier newHostnameVerifier(HttpUtils utils) { + final X509HostnameVerifier newHostnameVerifier(HttpUtils utils) { return utils.relaxHostname() ? SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER : SSLSocketFactory.STRICT_HOSTNAME_VERIFIER; } @Singleton @Provides - SSLContext newSSLContext(HttpUtils utils, @Named("untrusted") Supplier untrustedSSLContextProvider) + final SSLContext newSSLContext(HttpUtils utils, @Named("untrusted") Supplier untrustedSSLContextProvider) throws NoSuchAlgorithmException, KeyManagementException { if (utils.trustAllCerts()) return untrustedSSLContextProvider.get(); @@ -121,7 +121,7 @@ public class ApacheHCHttpCommandExecutorServiceModule extends AbstractModule { @Singleton @Provides - ClientConnectionManager newClientConnectionManager(HttpParams params, X509HostnameVerifier verifier, + final ClientConnectionManager newClientConnectionManager(HttpParams params, X509HostnameVerifier verifier, SSLContext context, Closer closer) throws NoSuchAlgorithmException, KeyManagementException { SchemeRegistry schemeRegistry = new SchemeRegistry(); @@ -143,7 +143,7 @@ public class ApacheHCHttpCommandExecutorServiceModule extends AbstractModule { @Provides @Singleton - HttpClient newDefaultHttpClient(ProxyConfig config, BasicHttpParams params, ClientConnectionManager cm) { + final HttpClient newDefaultHttpClient(ProxyConfig config, BasicHttpParams params, ClientConnectionManager cm) { DefaultHttpClient client = new DefaultHttpClient(cm, params); if (config.useSystem()) { ProxySelectorRoutePlanner routePlanner = new ProxySelectorRoutePlanner(client.getConnectionManager() diff --git a/drivers/gae/src/main/java/org/jclouds/gae/config/CurrentRequestExecutorServiceModule.java b/drivers/gae/src/main/java/org/jclouds/gae/config/CurrentRequestExecutorServiceModule.java index 70c8f1934a..1554390f76 100644 --- a/drivers/gae/src/main/java/org/jclouds/gae/config/CurrentRequestExecutorServiceModule.java +++ b/drivers/gae/src/main/java/org/jclouds/gae/config/CurrentRequestExecutorServiceModule.java @@ -99,7 +99,7 @@ public class CurrentRequestExecutorServiceModule extends AbstractModule { @Provides @Singleton @Named(Constants.PROPERTY_USER_THREADS) - protected ListeningExecutorService userExecutor() { + protected final ListeningExecutorService userExecutor() { return memoizedCurrentRequestExecutorService.get(); } } diff --git a/drivers/gae/src/main/java/org/jclouds/gae/config/GoogleAppEngineConfigurationModule.java b/drivers/gae/src/main/java/org/jclouds/gae/config/GoogleAppEngineConfigurationModule.java index e991951a2a..30faccef7b 100644 --- a/drivers/gae/src/main/java/org/jclouds/gae/config/GoogleAppEngineConfigurationModule.java +++ b/drivers/gae/src/main/java/org/jclouds/gae/config/GoogleAppEngineConfigurationModule.java @@ -80,7 +80,7 @@ public class GoogleAppEngineConfigurationModule extends AbstractModule { } @Provides - protected URLFetchService provideURLFetchService() { + protected final URLFetchService provideURLFetchService() { return URLFetchServiceFactory.getURLFetchService(); } } diff --git a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/config/AWSEC2ComputeServiceContextModule.java b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/config/AWSEC2ComputeServiceContextModule.java index cde8e59248..4d3d6c92be 100644 --- a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/config/AWSEC2ComputeServiceContextModule.java +++ b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/config/AWSEC2ComputeServiceContextModule.java @@ -124,6 +124,11 @@ public class AWSEC2ComputeServiceContextModule extends BaseComputeServiceContext // duplicates EC2ComputeServiceContextModule; but that's easiest thing to do with guice; could extract to common util @Provides @Singleton + protected final Supplier> guiceProvideRegionAndNameToImageSupplierCacheLoader( + final RegionAndIdToImage delegate) { + return provideRegionAndNameToImageSupplierCacheLoader(delegate); + } + protected Supplier> provideRegionAndNameToImageSupplierCacheLoader( final RegionAndIdToImage delegate) { return Suppliers.>ofInstance(new CacheLoader() { @@ -149,7 +154,7 @@ public class AWSEC2ComputeServiceContextModule extends BaseComputeServiceContext @Provides @Singleton - protected Supplier> provideRegionAndNameToImageSupplierCache( + protected final Supplier> provideRegionAndNameToImageSupplierCache( final RegionAndNameToImageSupplier supplier) { return supplier; } diff --git a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/config/AWSEC2ComputeServiceDependenciesModule.java b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/config/AWSEC2ComputeServiceDependenciesModule.java index 5a32459ef4..4e2dacf6d5 100644 --- a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/config/AWSEC2ComputeServiceDependenciesModule.java +++ b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/config/AWSEC2ComputeServiceDependenciesModule.java @@ -119,7 +119,7 @@ public class AWSEC2ComputeServiceDependenciesModule extends EC2ComputeServiceDep @Provides @Singleton @ImageQuery - protected Map imageQuery(ValueOfConfigurationKeyOrNull config) { + protected final Map imageQuery(ValueOfConfigurationKeyOrNull config) { String amiQuery = Strings.emptyToNull(config.apply(PROPERTY_EC2_AMI_QUERY)); String owners = config.apply(PROPERTY_EC2_AMI_OWNERS); if ("".equals(owners)) { @@ -147,28 +147,28 @@ public class AWSEC2ComputeServiceDependenciesModule extends EC2ComputeServiceDep @Provides @Singleton @Named("AVAILABLE") - protected Predicate placementGroupAvailable(PlacementGroupAvailable available) { + protected final Predicate placementGroupAvailable(PlacementGroupAvailable available) { return retry(available, 60, 1, SECONDS); } @Provides @Singleton @Named("DELETED") - protected Predicate placementGroupDeleted(PlacementGroupDeleted deleted) { + protected final Predicate placementGroupDeleted(PlacementGroupDeleted deleted) { return retry(deleted, 60, 1, SECONDS); } @Provides @Singleton @Named("PLACEMENT") - protected LoadingCache placementGroupMap(CreatePlacementGroupIfNeeded in) { + protected final LoadingCache placementGroupMap(CreatePlacementGroupIfNeeded in) { return CacheBuilder.newBuilder().build(in); } @Provides @ClusterCompute @Singleton - protected Set provideClusterComputeIds() { + protected final Set provideClusterComputeIds() { return Sets.newLinkedHashSet(); } diff --git a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/config/AWSEC2HttpApiModule.java b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/config/AWSEC2HttpApiModule.java index d025fc7627..c162c2fa9c 100644 --- a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/config/AWSEC2HttpApiModule.java +++ b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/config/AWSEC2HttpApiModule.java @@ -57,25 +57,25 @@ public class AWSEC2HttpApiModule extends BaseEC2HttpApiModule { @Singleton @Provides - EC2Api provide(AWSEC2Api in) { + final EC2Api provide(AWSEC2Api in) { return in; } @Singleton @Provides - InstanceApi getInstanceApi(AWSEC2Api in) { + final InstanceApi getInstanceApi(AWSEC2Api in) { return in.getInstanceApi().get(); } @Singleton @Provides - SecurityGroupApi getSecurityGroupApi(AWSEC2Api in) { + final SecurityGroupApi getSecurityGroupApi(AWSEC2Api in) { return in.getSecurityGroupApi().get(); } @Singleton @Provides - AMIApi getAMIApi(AWSEC2Api in) { + final AMIApi getAMIApi(AWSEC2Api in) { return in.getAMIApi().get(); } diff --git a/providers/aws-s3/src/main/java/org/jclouds/aws/s3/config/AWSS3HttpApiModule.java b/providers/aws-s3/src/main/java/org/jclouds/aws/s3/config/AWSS3HttpApiModule.java index dea54384fa..d9338e6be2 100644 --- a/providers/aws-s3/src/main/java/org/jclouds/aws/s3/config/AWSS3HttpApiModule.java +++ b/providers/aws-s3/src/main/java/org/jclouds/aws/s3/config/AWSS3HttpApiModule.java @@ -63,7 +63,7 @@ public class AWSS3HttpApiModule extends S3HttpApiModule { @Singleton @Provides - S3Client provide(AWSS3Client in) { + final S3Client provide(AWSS3Client in) { return in; } } diff --git a/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/config/AzureBlobStoreContextModule.java b/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/config/AzureBlobStoreContextModule.java index 9721617d5b..aa5b233cb0 100644 --- a/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/config/AzureBlobStoreContextModule.java +++ b/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/config/AzureBlobStoreContextModule.java @@ -46,7 +46,7 @@ public class AzureBlobStoreContextModule extends AbstractModule { @Provides @Singleton - protected LoadingCache containerAcls(final AzureBlobClient client) { + protected final LoadingCache containerAcls(final AzureBlobClient client) { return CacheBuilder.newBuilder().expireAfterWrite(30, TimeUnit.SECONDS).build( new CacheLoader() { @Override diff --git a/providers/azureblob/src/main/java/org/jclouds/azureblob/config/AzureBlobHttpApiModule.java b/providers/azureblob/src/main/java/org/jclouds/azureblob/config/AzureBlobHttpApiModule.java index 52a4195c88..18365e1bc7 100644 --- a/providers/azureblob/src/main/java/org/jclouds/azureblob/config/AzureBlobHttpApiModule.java +++ b/providers/azureblob/src/main/java/org/jclouds/azureblob/config/AzureBlobHttpApiModule.java @@ -17,8 +17,6 @@ package org.jclouds.azureblob.config; import static org.jclouds.Constants.PROPERTY_SESSION_INTERVAL; -import static org.jclouds.json.config.GsonModule.DateAdapter; -import static org.jclouds.json.config.GsonModule.Iso8601DateAdapter; import java.util.concurrent.TimeUnit; @@ -34,6 +32,8 @@ import org.jclouds.http.HttpRetryHandler; import org.jclouds.http.annotation.ClientError; import org.jclouds.http.annotation.Redirection; import org.jclouds.http.annotation.ServerError; +import org.jclouds.json.config.GsonModule.DateAdapter; +import org.jclouds.json.config.GsonModule.Iso8601DateAdapter; import org.jclouds.rest.ConfiguresHttpApi; import org.jclouds.rest.config.HttpApiModule; @@ -56,6 +56,10 @@ public class AzureBlobHttpApiModule extends HttpApiModule { @Provides @TimeStamp + protected final String guiceProvideTimeStamp(@TimeStamp Supplier cache) { + return provideTimeStamp(cache); + } + protected String provideTimeStamp(@TimeStamp Supplier cache) { return cache.get(); } @@ -68,6 +72,7 @@ public class AzureBlobHttpApiModule extends HttpApiModule { protected Supplier provideTimeStampCache(@Named(PROPERTY_SESSION_INTERVAL) long seconds, final DateService dateService) { return Suppliers.memoizeWithExpiration(new Supplier() { + @Override public String get() { return dateService.rfc822DateFormat(); } diff --git a/providers/azureblob/src/main/java/org/jclouds/azureblob/config/AzureBlobModule.java b/providers/azureblob/src/main/java/org/jclouds/azureblob/config/AzureBlobModule.java index 8f54632cf4..ffd483283f 100644 --- a/providers/azureblob/src/main/java/org/jclouds/azureblob/config/AzureBlobModule.java +++ b/providers/azureblob/src/main/java/org/jclouds/azureblob/config/AzureBlobModule.java @@ -54,7 +54,7 @@ public class AzureBlobModule extends AbstractModule { } @Provides - AzureBlob provideAzureBlob(AzureBlob.Factory factory) { + final AzureBlob provideAzureBlob(AzureBlob.Factory factory) { return factory.create(null); } diff --git a/providers/dynect/src/main/java/org/jclouds/dynect/v3/config/DynECTParserModule.java b/providers/dynect/src/main/java/org/jclouds/dynect/v3/config/DynECTParserModule.java index c676180c62..d047f6b052 100644 --- a/providers/dynect/src/main/java/org/jclouds/dynect/v3/config/DynECTParserModule.java +++ b/providers/dynect/src/main/java/org/jclouds/dynect/v3/config/DynECTParserModule.java @@ -51,7 +51,7 @@ public class DynECTParserModule extends AbstractModule { @Provides @Singleton - public Map provideCustomAdapterBindings() { + public final Map provideCustomAdapterBindings() { return new ImmutableMap.Builder() .put(SessionCredentials.class, new SessionCredentialsTypeAdapter()) .put(GeoRegionGroup.class, new GeoRegionGroupTypeAdapter()) diff --git a/providers/glesys/src/main/java/org/jclouds/glesys/config/GleSYSParserModule.java b/providers/glesys/src/main/java/org/jclouds/glesys/config/GleSYSParserModule.java index 8433d9fea3..07e395d268 100644 --- a/providers/glesys/src/main/java/org/jclouds/glesys/config/GleSYSParserModule.java +++ b/providers/glesys/src/main/java/org/jclouds/glesys/config/GleSYSParserModule.java @@ -35,7 +35,7 @@ public class GleSYSParserModule extends AbstractModule { @Provides @Singleton - public Map provideCustomAdapterBindings() { + public final Map provideCustomAdapterBindings() { return ImmutableMap.of(Server.State.class, new GleSYSTypeAdapters.ServerStateAdapter(), GleSYSBoolean.class, new GleSYSTypeAdapters.GleSYSBooleanAdapter()); } diff --git a/providers/gogrid/src/main/java/org/jclouds/gogrid/compute/config/GoGridComputeServiceContextModule.java b/providers/gogrid/src/main/java/org/jclouds/gogrid/compute/config/GoGridComputeServiceContextModule.java index fc9f4d8671..9ef70e339c 100644 --- a/providers/gogrid/src/main/java/org/jclouds/gogrid/compute/config/GoGridComputeServiceContextModule.java +++ b/providers/gogrid/src/main/java/org/jclouds/gogrid/compute/config/GoGridComputeServiceContextModule.java @@ -92,7 +92,7 @@ public class GoGridComputeServiceContextModule extends @Singleton @Provides - Map toPortableNodeStatus() { + final Map toPortableNodeStatus() { return toPortableNodeStatus; } @@ -106,7 +106,7 @@ public class GoGridComputeServiceContextModule extends @Singleton @Provides - Map toPortableImageStatus() { + final Map toPortableImageStatus() { return toPortableImageStatus; } @@ -121,7 +121,7 @@ public class GoGridComputeServiceContextModule extends */ @Singleton @Provides - Function provideSizeToRam() { + final Function provideSizeToRam() { return new Function() { @Override public String apply(Hardware hardware) { diff --git a/providers/gogrid/src/main/java/org/jclouds/gogrid/config/GoGridHttpApiModule.java b/providers/gogrid/src/main/java/org/jclouds/gogrid/config/GoGridHttpApiModule.java index 3a691b491a..6ec1301453 100644 --- a/providers/gogrid/src/main/java/org/jclouds/gogrid/config/GoGridHttpApiModule.java +++ b/providers/gogrid/src/main/java/org/jclouds/gogrid/config/GoGridHttpApiModule.java @@ -47,6 +47,10 @@ public class GoGridHttpApiModule extends HttpApiModule { @Provides @TimeStamp + protected final Long guiceProvideTimeStamp(@TimeStamp Supplier cache) { + return provideTimeStamp(cache); + } + protected Long provideTimeStamp(@TimeStamp Supplier cache) { return cache.get(); } @@ -56,8 +60,9 @@ public class GoGridHttpApiModule extends HttpApiModule { */ @Provides @TimeStamp - Supplier provideTimeStampCache(@Named(PROPERTY_SESSION_INTERVAL) long seconds) { + final Supplier provideTimeStampCache(@Named(PROPERTY_SESSION_INTERVAL) long seconds) { return Suppliers.memoizeWithExpiration(new Supplier() { + @Override public Long get() { return System.currentTimeMillis() / 1000; } diff --git a/providers/gogrid/src/main/java/org/jclouds/gogrid/config/GoGridParserModule.java b/providers/gogrid/src/main/java/org/jclouds/gogrid/config/GoGridParserModule.java index cf7ec4ad82..3fb8d86d56 100644 --- a/providers/gogrid/src/main/java/org/jclouds/gogrid/config/GoGridParserModule.java +++ b/providers/gogrid/src/main/java/org/jclouds/gogrid/config/GoGridParserModule.java @@ -47,7 +47,7 @@ public class GoGridParserModule extends AbstractModule { @Provides @Singleton - public Map provideCustomAdapterBindings() { + public final Map provideCustomAdapterBindings() { Map bindings = Maps.newHashMap(); bindings.put(ObjectType.class, new CustomDeserializers.ObjectTypeAdapter()); bindings.put(LoadBalancerOs.class, new CustomDeserializers.LoadBalancerOsAdapter()); diff --git a/providers/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineParserModule.java b/providers/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineParserModule.java index a0c7fdddea..43b0a8726b 100644 --- a/providers/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineParserModule.java +++ b/providers/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineParserModule.java @@ -16,8 +16,6 @@ */ package org.jclouds.googlecomputeengine.config; -import static org.jclouds.googlecomputeengine.domain.Firewall.Rule; - import java.lang.reflect.Type; import java.util.Map; import java.util.Set; @@ -26,6 +24,7 @@ import javax.inject.Singleton; import org.jclouds.googlecloud.config.ListPageAdapterFactory; import org.jclouds.googlecomputeengine.domain.Firewall; +import org.jclouds.googlecomputeengine.domain.Firewall.Rule; import org.jclouds.googlecomputeengine.options.FirewallOptions; import org.jclouds.googlecomputeengine.options.RouteOptions; import org.jclouds.json.config.GsonModule; diff --git a/providers/hpcloud-objectstorage/src/main/java/org/jclouds/hpcloud/objectstorage/blobstore/config/HPCloudObjectStorageBlobStoreContextModule.java b/providers/hpcloud-objectstorage/src/main/java/org/jclouds/hpcloud/objectstorage/blobstore/config/HPCloudObjectStorageBlobStoreContextModule.java index a636b4d306..df1960c051 100644 --- a/providers/hpcloud-objectstorage/src/main/java/org/jclouds/hpcloud/objectstorage/blobstore/config/HPCloudObjectStorageBlobStoreContextModule.java +++ b/providers/hpcloud-objectstorage/src/main/java/org/jclouds/hpcloud/objectstorage/blobstore/config/HPCloudObjectStorageBlobStoreContextModule.java @@ -85,7 +85,7 @@ public class HPCloudObjectStorageBlobStoreContextModule extends SwiftBlobStoreCo @Provides @Singleton - protected LoadingCache cdnContainer(GetCDNMetadata loader) { + protected final LoadingCache cdnContainer(GetCDNMetadata loader) { return CacheBuilder.newBuilder().expireAfterWrite(30, TimeUnit.SECONDS).build(loader); } diff --git a/providers/hpcloud-objectstorage/src/main/java/org/jclouds/hpcloud/objectstorage/config/HPCloudObjectStorageHttpApiModule.java b/providers/hpcloud-objectstorage/src/main/java/org/jclouds/hpcloud/objectstorage/config/HPCloudObjectStorageHttpApiModule.java index 01f88f1384..d522f06d1f 100644 --- a/providers/hpcloud-objectstorage/src/main/java/org/jclouds/hpcloud/objectstorage/config/HPCloudObjectStorageHttpApiModule.java +++ b/providers/hpcloud-objectstorage/src/main/java/org/jclouds/hpcloud/objectstorage/config/HPCloudObjectStorageHttpApiModule.java @@ -68,7 +68,7 @@ public class HPCloudObjectStorageHttpApiModule extends SwiftHttpApiModule provideCDNUrl(RegionIdToURISupplier.Factory factory, + protected final Supplier provideCDNUrl(RegionIdToURISupplier.Factory factory, @ApiVersion String apiVersion, @Named(LocationConstants.PROPERTY_REGION) String region) { @@ -81,7 +81,7 @@ public class HPCloudObjectStorageHttpApiModule extends SwiftHttpApiModule provideStorageUrl(RegionIdToURISupplier.Factory factory, + protected final Supplier provideStorageUrl(RegionIdToURISupplier.Factory factory, @ApiVersion String apiVersion, @Named(LocationConstants.PROPERTY_REGION) String region) { diff --git a/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/config/SoftLayerComputeServiceContextModule.java b/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/config/SoftLayerComputeServiceContextModule.java index 89589fbf76..c69376e858 100644 --- a/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/config/SoftLayerComputeServiceContextModule.java +++ b/providers/softlayer/src/main/java/org/jclouds/softlayer/compute/config/SoftLayerComputeServiceContextModule.java @@ -79,7 +79,7 @@ public class SoftLayerComputeServiceContextModule extends @Provides @Singleton @Memoized - public Supplier getCreateObjectOptions( + public final Supplier getCreateObjectOptions( AtomicReference authException, @Named(PROPERTY_SESSION_INTERVAL) long seconds, final SoftLayerApi api) { return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException,