public List<JobSearchResult> innerSearchCheckpointJobsV2(final String cubeName, final String jobName,
final String projectName, final List<JobStatusEnum> statusList, final JobTimeFilterEnum timeFilter) {
if (null == projectName) {
aclEvaluate.checkIsGlobalAdmin();
} else {
aclEvaluate.checkProjectOperationPermission(projectName);
}
Calendar calendar = Calendar.getInstance(TimeZone.getDefault(), Locale.ROOT);
calendar.setTime(new Date());
long timeStartInMillis = getTimeStartInMillis(calendar, timeFilter);
long timeEndInMillis = Long.MAX_VALUE;
Set<ExecutableState> states = convertStatusEnumToStates(statusList);
final Map<String, ExecutableOutputPO> allOutputDigests = getExecutableManager()
.getAllOutputDigests(timeStartInMillis, timeEndInMillis);
return Lists.newArrayList(FluentIterable
.from(innerSearchCheckpointJobsV2(cubeName, jobName, states, timeStartInMillis, timeEndInMillis,
allOutputDigests, false, projectName))
.transform(new Function<CheckpointExecutable, JobSearchResult>() {
@Override
public JobSearchResult apply(CheckpointExecutable checkpointExecutable) {
return JobInfoConverter.parseToJobSearchResult(checkpointExecutable, allOutputDigests);
}
}).filter(new Predicate<JobSearchResult>() {
@Override
public boolean apply(@Nullable JobSearchResult input) {
return input != null;
}
}));
}