package fr.keemto.core; import fr.keemto.core.fetching.FetchingTask; import fr.keemto.core.fetching.FetchingTaskFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; public class TaskRegistry { private static final Logger log = LoggerFactory.getLogger(TaskRegistry.class); private final UserRepository userRepository; private final List<Task> tasks; private final FetchingTaskFactory fetchingTaskFactory; public TaskRegistry(FetchingTaskFactory fetchingTaskFactory, UserRepository userRepository, List<Task> tasks) { this.fetchingTaskFactory = fetchingTaskFactory; this.userRepository = userRepository; this.tasks = tasks; } public List<Task> findTasks() { List<Task> foundTasks = new ArrayList<Task>(tasks); for (User user : userRepository.getAllUsers()) { List<FetchingTask> fetchingTasks = fetchingTaskFactory.createTasks(user); foundTasks.addAll(fetchingTasks); } return foundTasks; } }