package com.linkedin.thirdeye.datalayer.dto; import com.linkedin.thirdeye.datalayer.pojo.GroupedAnomalyResultsBean; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import org.apache.commons.collections.CollectionUtils; /** * The grouped anomaly results for alerter. Each group of anomalies should be sent through the same email. */ public class GroupedAnomalyResultsDTO extends GroupedAnomalyResultsBean { private List<MergedAnomalyResultDTO> anomalyResults = new ArrayList<>(); public List<MergedAnomalyResultDTO> getAnomalyResults() { return anomalyResults; } public void setAnomalyResults(List<MergedAnomalyResultDTO> anomalyResults) { this.anomalyResults = anomalyResults; } @Override public long getEndTime() { if (CollectionUtils.isEmpty(anomalyResults)) { return 0; } Collections.sort(anomalyResults, new Comparator<MergedAnomalyResultDTO>() { @Override public int compare(MergedAnomalyResultDTO o1, MergedAnomalyResultDTO o2) { return (int) (o1.getEndTime() - o2.getEndTime()); } }); return anomalyResults.get(anomalyResults.size() - 1).getEndTime(); } }