public List<CubingJob> listJobsByRealizationName(final String realizationName, final String projectName, final Set<ExecutableState> statusList) { return innerSearchCubingJobs(realizationName, null, statusList, 0L, Long.MAX_VALUE, getExecutableManager().getAllOutputs(), true, projectName); }
public List<JobInstance> innerSearchCheckpointJobs(final String cubeName, final String jobName, final String projectName, final List<JobStatusEnum> statusList, final JobTimeFilterEnum timeFilter) { // TODO: use cache of jobs for this method // prepare time range 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, Output> allOutputs = getExecutableManager().getAllOutputs(timeStartInMillis, timeEndInMillis); return Lists .newArrayList(FluentIterable .from(innerSearchCheckpointJobs(cubeName, jobName, states, timeStartInMillis, timeEndInMillis, allOutputs, false, projectName)) .transform(new Function<CheckpointExecutable, JobInstance>() { @Override public JobInstance apply(CheckpointExecutable checkpointExecutable) { return JobInfoConverter.parseToJobInstanceQuietly(checkpointExecutable, allOutputs); } })); }
long timeEndInMillis = Long.MAX_VALUE; Set<ExecutableState> states = convertStatusEnumToStates(statusList); final Map<String, Output> allOutputs = getExecutableManager().getAllOutputs(timeStartInMillis, timeEndInMillis);
private List<JobInstance> listJobInstances(String project, String cube, long startTime, long endTime) { final List<JobInstance> result = Lists.newArrayList(); final List<AbstractExecutable> executables = executableManager.getAllExecutables(startTime, endTime); final Map<String, Output> allOutputs = executableManager.getAllOutputs(); for (AbstractExecutable executable : executables) { if (executable instanceof CubingJob) { String cubeName = CubingExecutableUtil.getCubeName(executable.getParams()); boolean shouldExtract = false; if (cube == null || cube.equalsIgnoreCase(cubeName)) { if (project == null) { shouldExtract = true; } else { ProjectInstance projectInstance = projectManager.getProject(project); if (projectInstance != null && projectInstance.containsRealization(RealizationType.CUBE, cubeName)) { shouldExtract = true; } } } if (shouldExtract) { result.add(parseToJobInstance((CubingJob) executable, allOutputs)); } } } return result; }
private List<JobInstance> listJobInstances(String project, String cube, long startTime, long endTime) { final List<JobInstance> result = Lists.newArrayList(); final List<AbstractExecutable> executables = executableManager.getAllExecutables(startTime, endTime); final Map<String, Output> allOutputs = executableManager.getAllOutputs(); for (AbstractExecutable executable : executables) { if (executable instanceof CubingJob) { String cubeName = CubingExecutableUtil.getCubeName(executable.getParams()); boolean shouldExtract = false; if (cube == null || cube.equalsIgnoreCase(cubeName)) { if (project == null) { shouldExtract = true; } else { ProjectInstance projectInstance = projectManager.getProject(project); if (projectInstance != null && projectInstance.containsRealization(RealizationType.CUBE, cubeName)) { shouldExtract = true; } } } if (shouldExtract) { result.add(parseToJobInstance((CubingJob) executable, allOutputs)); } } } return result; }