@Override Iterable<Job> collectItems() { return masterModel.getJobs().values(); }
.collect(Collectors.toMap(Function.identity(), model::getJob)); } else { allJobs = model.getJobs();
@Override public void runOneIteration() { for (final Entry<JobId, Job> entry : masterModel.getJobs().entrySet()) { final JobId jobId = entry.getKey(); final Job job = entry.getValue();
/** * Returns a {@link Map} of job id to job definition for all jobs known. If the query * parameter {@code q} is specified it will only return jobs whose job id contains the string. * * @param q The query string. * @return A map of Job IDs to Jobs. */ @GET @Produces(APPLICATION_JSON) @Timed @ExceptionMetered public Map<JobId, Job> list(@QueryParam("q") @DefaultValue("") final String q) { final Map<JobId, Job> allJobs = model.getJobs(); // Return all jobs if the query string is empty if (q.isEmpty()) { metrics.jobsInJobList(allJobs.size()); return allJobs; } // Filter jobs final Map<JobId, Job> filteredJobs = Maps.newHashMap(); for (Entry<JobId, Job> entry : allJobs.entrySet()) { if (entry.getKey().toString().contains(q)) { filteredJobs.put(entry.getKey(), entry.getValue()); } } metrics.jobsInJobList(filteredJobs.size()); return filteredJobs; }
@Override protected void runOneIteration() { for (Entry<JobId, Job> entry : masterModel.getJobs().entrySet()) { final JobId jobId = entry.getKey(); final Job job = entry.getValue();