CommonStatsJobFactory.java

  1. package edu.ucsb.cs156.happiercows.jobs;

  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.stereotype.Service;

  4. import edu.ucsb.cs156.happiercows.repositories.CommonsRepository;
  5. import edu.ucsb.cs156.happiercows.repositories.CommonStatsRepository;
  6. import edu.ucsb.cs156.happiercows.repositories.UserCommonsRepository;
  7. import edu.ucsb.cs156.happiercows.services.AverageCowHealthService;
  8. import edu.ucsb.cs156.happiercows.services.jobs.JobContextConsumer;

  9. @Service
  10. public class CommonStatsJobFactory {

  11.     private final AverageCowHealthService averageCowHealthService;
  12.     private final CommonStatsRepository commonStatsRepository;
  13.     private final UserCommonsRepository userCommonsRepository;
  14.     private final CommonsRepository commonsRepository;

  15.     @Autowired
  16.     public CommonStatsJobFactory(
  17.             AverageCowHealthService averageCowHealthService,
  18.             CommonStatsRepository commonStatsRepository,
  19.             UserCommonsRepository userCommonsRepository,
  20.             CommonsRepository commonsRepository) {
  21.         this.averageCowHealthService = averageCowHealthService;
  22.         this.commonStatsRepository = commonStatsRepository;
  23.         this.userCommonsRepository = userCommonsRepository;
  24.         this.commonsRepository = commonsRepository;
  25.     }

  26.     public JobContextConsumer create() {
  27.         return new CommonStatsJob(averageCowHealthService, commonStatsRepository, userCommonsRepository, commonsRepository);
  28.     }
  29. }