package org.molgenis.file.ingest; import org.molgenis.data.DataService; import org.molgenis.file.ingest.meta.FileIngest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import static java.util.Objects.requireNonNull; import static org.molgenis.file.ingest.meta.FileIngestMetaData.FILE_INGEST; /** * Discovers {@link FileIngest} jobs and schedules them using {@link FileIngesterJobScheduler} */ @Component public class FileIngesterJobRegistrar { private final FileIngesterJobScheduler fileIngesterJobScheduler; private final DataService dataService; @Autowired public FileIngesterJobRegistrar(FileIngesterJobScheduler fileIngesterJobScheduler, DataService dataService) { this.fileIngesterJobScheduler = requireNonNull(fileIngesterJobScheduler); this.dataService = requireNonNull(dataService); } public void scheduleJobs() { dataService.findAll(FILE_INGEST, FileIngest.class).forEach(fileIngesterJobScheduler::schedule); } }