UpdateCowHealthJobInd.java

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

  2. import java.util.Optional;

  3. import edu.ucsb.cs156.happiercows.entities.Commons;
  4. import edu.ucsb.cs156.happiercows.entities.CommonsPlus;
  5. import edu.ucsb.cs156.happiercows.repositories.CommonsRepository;
  6. import edu.ucsb.cs156.happiercows.repositories.UserCommonsRepository;
  7. import edu.ucsb.cs156.happiercows.repositories.UserRepository;
  8. import edu.ucsb.cs156.happiercows.services.CommonsPlusBuilderService;
  9. import edu.ucsb.cs156.happiercows.services.jobs.JobContext;
  10. import edu.ucsb.cs156.happiercows.services.jobs.JobContextConsumer;
  11. import lombok.AllArgsConstructor;
  12. import lombok.Getter;

  13. @AllArgsConstructor
  14. public class UpdateCowHealthJobInd implements JobContextConsumer {

  15.     @Getter
  16.     private CommonsRepository commonsRepository;
  17.     @Getter
  18.     private UserCommonsRepository userCommonsRepository;
  19.     @Getter
  20.     private UserRepository userRepository;
  21.     @Getter
  22.     private CommonsPlusBuilderService commonsPlusBuilderService;
  23.     @Getter
  24.     private Long commonsID;

  25.     @Override
  26.     public void accept(JobContext ctx) throws Exception {
  27.         ctx.log("Updating cow health...");

  28.        Optional<Commons> commonUpdatedOpt = commonsRepository.findById(commonsID);


  29.         if(commonUpdatedOpt.isPresent()){
  30.             Commons commonsUpdated = commonUpdatedOpt.get();
  31.             CommonsPlus commonsPlus = commonsPlusBuilderService.toCommonsPlus(commonsUpdated);
  32.             UpdateCowHealthJob.runUpdateJobInCommons(commonsUpdated, commonsPlus, commonsPlusBuilderService, commonsRepository, userCommonsRepository, ctx);
  33.             ctx.log("Cow health has been updated!");
  34.         } else {
  35.             ctx.log(String.format("No commons found for id %d", commonsID));
  36.         }
  37.     }
  38.    
  39. }