@Inject @Provides @Singleton @DatabaseRepository protected ExperimentRepository provideExperimentRepository(TransactionFactory transactionFactory, ExperimentValidator validator, Flyway flyway) { return new DatabaseExperimentRepository(transactionFactory, validator, flyway); } }
@Inject public BucketsImpl(@DatabaseRepository final ExperimentRepository databaseRepository, @CassandraRepository final ExperimentRepository cassandraRepository, final Experiments experiments, final Buckets buckets, final ExperimentValidator validator, final EventLog eventLog) { super(); this.validator = validator; this.databaseRepository = databaseRepository; this.cassandraRepository = cassandraRepository; this.experiments = experiments; this.buckets = buckets; this.eventLog = eventLog; }
@Inject public ExperimentsImpl(@DatabaseRepository ExperimentRepository databaseRepository, @CassandraRepository ExperimentRepository cassandraRepository, Experiments experiments, Buckets buckets, Pages pages, Priorities priorities, ExperimentValidator validator, RuleCache ruleCache, EventLog eventLog) { super(); this.validator = validator; this.databaseRepository = databaseRepository; this.cassandraRepository = cassandraRepository; this.experiments = experiments; this.buckets = buckets; this.pages = pages; this.priorities = priorities; this.ruleCache = ruleCache; this.eventLog = eventLog; }
@Inject public EventsExportImpl(final TransactionFactory transactionFactory, final @DatabaseRepository ExperimentRepository databaseRepository) { this.databaseRepository = databaseRepository; db = new DBI(transactionFactory.getDataSource()); }