Consolidate Dagger modules for utils classes

There was no reason to have several different modules all providing a single
thing. This approach, which creates a single UtilsModule for everything in the
util package, is cleaner. This also removes provisioning of Random and
StringGenerator objects in RegistryConfig.ConfigModule, which don't belong
there because they aren't configuration options.

This also removes insecure random entirely; it was only used in a
single place to generate 24 bytes a couple times per day. We can live with the
lower speed if it means we don't have to worry about multiple types of Random,
or possibly using an insecure random accidentally in a place that security
actually does matter.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=229751915
This commit is contained in:
mcilwain 2019-01-17 08:30:07 -08:00 committed by jianglai
parent 9aa7b69921
commit d2ee63cf69
22 changed files with 141 additions and 168 deletions

View file

@ -42,16 +42,13 @@ import google.registry.request.Modules.URLFetchServiceModule;
import google.registry.request.Modules.UrlFetchTransportModule;
import google.registry.request.Modules.UserServiceModule;
import google.registry.request.auth.AuthModule;
import google.registry.util.AppEngineServiceUtilsImpl.AppEngineServiceUtilsModule;
import google.registry.util.SystemClock.SystemClockModule;
import google.registry.util.SystemSleeper.SystemSleeperModule;
import google.registry.util.UtilsModule;
import javax.inject.Singleton;
/** Dagger component with instance lifetime for "backend" App Engine module. */
@Singleton
@Component(
modules = {
AppEngineServiceUtilsModule.class,
AuthModule.class,
BackendRequestComponentModule.class,
BigqueryModule.class,
@ -73,12 +70,11 @@ import javax.inject.Singleton;
NetHttpTransportModule.class,
SheetsServiceModule.class,
StackdriverModule.class,
SystemClockModule.class,
SystemSleeperModule.class,
URLFetchServiceModule.class,
UrlFetchTransportModule.class,
UserServiceModule.class,
VoidDnsWriterModule.class,
UtilsModule.class
})
interface BackendComponent {
BackendRequestHandler requestHandler();