package de.pbauerochse.worklogviewer.fx.tabs;
import de.pbauerochse.worklogviewer.youtrack.domain.TaskWithWorklogs;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* @author Patrick Bauerochse
* @since 02.07.15
*/
public class ProjectWorklogTab extends WorklogTab {
private Optional<List<TaskWithWorklogs>> resultItemsToDisplay = Optional.empty();
public ProjectWorklogTab(String projectName) {
super(projectName);
}
@Override
protected List<TaskWithWorklogs> getFilteredList(List<TaskWithWorklogs> tasks) {
return tasks.stream()
.filter(taskWithWorklogs -> taskWithWorklogs.getProject().equals(getText()))
.sorted((o1, o2) -> COLLATOR.compare(o1.getIssue(), o2.getIssue()))
.collect(Collectors.toList());
}
// @Override
// protected List<TaskWithWorklogs> getDisplayResult(WorklogReport result) {
// if (!resultItemsToDisplay.isPresent() || resultToDisplayChangedSinceLastRender) {
//
// TaskWithWorklogs projectSummary = new TaskWithWorklogs(true);
//
// List<TaskWithWorklogs> projectWorklogs = result.getWorklogSummaryMap()
// .values().stream()
// .filter(taskWithWorklogs -> StringUtils.startsWith(taskWithWorklogs.getIssue(), getText()))
// .sorted((o1, o2) -> COLLATOR.compare(o1.getIssue(), o2.getIssue()))
// .peek(userTaskWorklogs -> userTaskWorklogs
// .getWorklogItemList()
// .stream()
// .forEach(worklogItem -> projectSummary.addWorklogItem(worklogItem)))
// .collect(Collectors.toList());
//
// projectWorklogs.add(projectSummary);
//
// resultItemsToDisplay = Optional.of(projectWorklogs);
// }
//
// return resultItemsToDisplay.get();
// }
}