chrisgleissner/spring-batch-rest

View on GitHub
api/src/main/java/com/github/chrisgleissner/springbatchrest/api/core/jobexecution/provider/JobExecutionProvider.java

Summary

Maintainability
A
0 mins
Test Coverage
package com.github.chrisgleissner.springbatchrest.api.core.jobexecution.provider;

import org.springframework.batch.core.JobExecution;

import java.util.Collection;
import java.util.Comparator;
import java.util.Optional;

public interface JobExecutionProvider {

    Collection<JobExecution> getJobExecutions(Optional<String> jobNameRegexp,
                                        Optional<String> exitCode,
                                        int limitPerJob);

    default Comparator<JobExecution> byDescendingTime() {
        return (j1, j2) -> {
            int result;
            if (j1.getEndTime() != null && j2.getEndTime() != null)
                result = j1.getEndTime().compareTo(j2.getEndTime());
            else
                result = j1.getStartTime().compareTo(j2.getStartTime());
            return result * -1;
        };
    }
}