Untitled

 avatar
unknown
plain_text
2 years ago
988 B
3
Indexable
private Collection<ScheduleTaskJob> jobsFrom(SchedulingTaskMemento memento, Intention intention) {
		if (memento.isParent() && memento.getPeriodMode() == TaskMode.AUTO_BOTTOM_UP && memento.isActive()) {
			Set<ScheduleTaskJob> jobs = new HashSet<>(jobsForBottomUpParent(memento, intention));
			jobs.add(ScheduleTaskJob.createAsInputJob(memento));
			return jobs;
		}
		return Collections.singleton(ScheduleTaskJob.createAsInputJob(intention, memento));
	}

private Set<ScheduleTaskJob> jobsForBottomUpParent(SchedulingTaskMemento memento, Intention intention) {
		Set<TaskId> descendants = descendantsQueries.relevantDescendantsFor(memento.getTaskId());
		Set<SchedulingTaskMemento> descendantMementos = schedulingTaskMementoQueries.getMementoSet(descendants);
		if (intention.intentionType() == Intention.Type.MOVE) {
			return jobsFrom(descendantMementos, (MoveIntention) intention);
		}
		return descendantMementos.stream().map(ScheduleTaskJob::create).collect(Collectors.toSet());
	}
Editor is loading...