protected Histogram createHistogram(List<GroupEntity> groups, List<StatEntity> topLevelStats) { Histogram result = new Histogram(); groups.forEach( group -> { Stat details = topLevelStats.stream() .filter( s -> group.getId().equals(s.getGroupId()) ) .filter( s -> s != null ) .map( s-> s.getStat()) .findFirst() .orElseGet(() -> Stat.emptyStat()); result.add(details, group.getStartDate(),group.getEndDate()); }); return result; }
@Override public Histogram loadHistogram(String detailsId, Date from, Date to, String instance, String type, String lastGroupId){ List<String> statsIds = find(from, to, instance, type); Histogram result = new Histogram(detailsId); processStats(statsIds, stats -> { Stat stat = getDetailsOrEmpty(detailsId, stats); result.add(stat, stats.getStartDate(),stats.getEndDate()); }); return result; }