package com.hubspot.singularity.s3downloader.config; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.inject.Inject; import com.google.inject.Provider; import com.hubspot.singularity.runner.base.configuration.SingularityRunnerBaseConfiguration; import com.hubspot.singularity.runner.base.sentry.SingularityRunnerExceptionNotifier; import com.hubspot.singularity.s3.base.ArtifactManager; import com.hubspot.singularity.s3.base.config.SingularityS3Configuration; public class ArtifactManagerProvider implements Provider<ArtifactManager> { private final Logger log; private final SingularityRunnerBaseConfiguration runnerBaseConfiguration; private final SingularityS3Configuration s3Configuration; private final SingularityRunnerExceptionNotifier exceptionNotifier; @Inject public ArtifactManagerProvider(SingularityRunnerBaseConfiguration runnerBaseConfiguration, SingularityS3Configuration s3Configuration, SingularityRunnerExceptionNotifier exceptionNotifier) { this.log = LoggerFactory.getLogger(ArtifactManager.class); this.runnerBaseConfiguration = runnerBaseConfiguration; this.s3Configuration = s3Configuration; this.exceptionNotifier = exceptionNotifier; } @Override public ArtifactManager get() { return new ArtifactManager(runnerBaseConfiguration, s3Configuration, log, exceptionNotifier); } }