JobContext.java

  1. package edu.ucsb.cs156.courses.services.jobs;

  2. import edu.ucsb.cs156.courses.entities.Job;
  3. import edu.ucsb.cs156.courses.repositories.JobsRepository;
  4. import lombok.AllArgsConstructor;
  5. import lombok.extern.slf4j.Slf4j;

  6. @AllArgsConstructor
  7. @Slf4j
  8. public class JobContext {
  9.   private JobsRepository jobsRepository;
  10.   private Job job;

  11.   public void log(String message) {
  12.     log.info("Job %s: %s".formatted(job.getId(), message));
  13.     String previousLog = job.getLog() == null ? "" : (job.getLog() + "\n");
  14.     job.setLog(previousLog + message);
  15.     if (jobsRepository != null) jobsRepository.save(job);
  16.   }
  17. }