use of org.dataportabilityproject.security.AsymmetricKeyGenerator in project data-transfer-project by google.
the class WorkerMain method initialize.
public void initialize() {
SettingsExtension settingsExtension = getSettingsExtension();
settingsExtension.initialize(null);
WorkerExtensionContext extensionContext = new WorkerExtensionContext(settingsExtension);
// TODO this should be moved into a service extension
extensionContext.registerService(HttpTransport.class, new NetHttpTransport());
ServiceLoader.load(ServiceExtension.class).iterator().forEachRemaining(serviceExtension -> serviceExtension.initialize(extensionContext));
// TODO: verify that this is the cloud extension that is specified in the configuration
CloudExtension cloudExtension = getCloudExtension();
cloudExtension.initialize(extensionContext);
logger.info("Using CloudExtension: {} ", cloudExtension.getClass().getName());
JobStore jobStore = cloudExtension.getJobStore();
extensionContext.registerService(JobStore.class, jobStore);
AppCredentialStore appCredentialStore = cloudExtension.getAppCredentialStore();
extensionContext.registerService(AppCredentialStore.class, appCredentialStore);
List<TransferExtension> transferExtensions = getTransferExtensions();
// TODO: make configurable
SymmetricKeyGenerator symmetricKeyGenerator = new AesSymmetricKeyGenerator();
AsymmetricKeyGenerator asymmetricKeyGenerator = new RsaSymmetricKeyGenerator();
Injector injector = Guice.createInjector(new WorkerModule(extensionContext, cloudExtension, transferExtensions, symmetricKeyGenerator, asymmetricKeyGenerator));
worker = injector.getInstance(Worker.class);
}
Aggregations