@Override public StatDetails loadDetails(String detailsId, Date from, Date to, String instance, String type){ List<String> statsIds = find(from, to, instance, type); return loadDetails(detailsId, statsIds); }
@Override public Stats loadAggregated(boolean topLevelOnly, Date from, Date to, String instance, String type){ Stats result = new Stats(); List<String> statsIds = find(from, to, instance, type); if( !statsIds.isEmpty() ){ statsIds.stream() .map( statsId -> load(statsId) ) .forEach( stats -> result.merge(stats, !topLevelOnly ) ); } 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; }