@Inject public PagesImpl(@CassandraRepository ExperimentRepository cassandraRepository, PagesRepository pagesRepository, Experiments experiments, EventLog eventLog) { super(); this.cassandraRepository = cassandraRepository; this.experiments = experiments; this.pagesRepository = pagesRepository; this.eventLog = eventLog; }
/** * Constructor of the ExperimentDetails. * * @param cassandraRepository repository for the experiment information * @param buckets access to the bucket information * @param analytics the analytics module that holds the methods to get bucket details and counts * for running experiments */ @Inject public ExperimentDetailsImpl(@CassandraRepository ExperimentRepository cassandraRepository, Buckets buckets, Analytics analytics) { this.cassandraRepository = cassandraRepository; this.buckets = buckets; this.analytics = analytics; }
@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; }
/** * Constructor * * @param experiments experiments * @param assignmentRepository assignment repository * @param dataTransactorFactory data transaction factory * @param analyticsRepository analytics repository * @param analysisTools analytics tools * @param cassandraRepository cassandra repository */ @Inject public AnalyticsImpl(final Experiments experiments, final AssignmentsRepository assignmentRepository, final TransactionFactory dataTransactorFactory, final AnalyticsRepository analyticsRepository, final AnalysisTools analysisTools, final @CassandraRepository ExperimentRepository cassandraRepository) { this.experiments = experiments; this.transactionFactory = dataTransactorFactory; this.analyticsRepository = analyticsRepository; this.analysisTools = analysisTools; this.cassandraRepository = cassandraRepository; this.assignmentRepository = assignmentRepository; final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); // FIXME: inject Properties properties = create(PROPERTY_NAME, AnalyticsImpl.class); }
@Inject public AssignmentsMetadataCacheImpl(@CassandraRepository ExperimentRepository experimentRepository, PrioritiesRepository prioritiesRepository, MutexRepository mutexRepository, PagesRepository pagesRepository, @Named(ASSIGNMENTS_METADATA_CACHE_REFRESH_CACHE_SERVICE) ScheduledExecutorService refreshCacheService, @Named(ASSIGNMENTS_METADATA_CACHE_REFRESH_INTERVAL) Integer refreshIntervalInMinutes, @Named(ASSIGNMENTS_METADATA_CACHE_REFRESH_TASK) Runnable metadataCacheRefreshTask, HealthCheckRegistry healthCheckRegistry, @Named(ASSIGNMENTS_METADATA_CACHE_HEALTH_CHECK) HealthCheck metadataCacheHealthCheck, CacheManager cacheManager) { this.experimentRepository = experimentRepository; this.prioritiesRepository = prioritiesRepository; this.mutexRepository = mutexRepository; this.pagesRepository = pagesRepository; this.metadataCacheRefreshTask = (AssignmentsMetadataCacheRefreshTask) metadataCacheRefreshTask; this.cacheManager = cacheManager; //Schedule metadata cache refresh task refreshCacheService.scheduleAtFixedRate(metadataCacheRefreshTask, refreshIntervalInMinutes, refreshIntervalInMinutes, TimeUnit.MINUTES); //Register health check healthCheckRegistry.register(ASSIGNMENT_METADATA_CACHE_SERVICE_NAME, metadataCacheHealthCheck); //Create new caches for (CACHE_NAME name : CACHE_NAME.values()) { cacheManager.addCache(name.toString()); } LOGGER.info("Assignments metadata cache has been created successfully..."); }