package org.stagemonitor.alerting.incident; import java.util.List; import org.stagemonitor.alerting.check.CheckResult; import org.stagemonitor.core.MeasurementSession; public class CheckResults { private MeasurementSession measurementSession; private CheckResult.Status status; private List<CheckResult> results; private int consecutiveFailures; public CheckResults() { } public CheckResults(MeasurementSession measurementSession, List<CheckResult> results) { this(measurementSession, results, 0); } public CheckResults(CheckResults previousResult, List<CheckResult> results) { this(previousResult.getMeasurementSession(), results, previousResult.consecutiveFailures); } private CheckResults(MeasurementSession measurementSession, List<CheckResult> results, int consecutiveFailures) { this.measurementSession = measurementSession; this.results = results; this.status = CheckResult.getMostSevereStatus(results); this.consecutiveFailures = consecutiveFailures; if (status != CheckResult.Status.OK) { this.consecutiveFailures++; } } public CheckResult.Status getStatus() { return status; } public void setStatus(CheckResult.Status status) { this.status = status; } public List<CheckResult> getResults() { return results; } public void setResults(List<CheckResult> results) { this.results = results; } public int getConsecutiveFailures() { return consecutiveFailures; } public void setConsecutiveFailures(int consecutiveFailures) { this.consecutiveFailures = consecutiveFailures; } public MeasurementSession getMeasurementSession() { return measurementSession; } public void setMeasurementSession(MeasurementSession measurementSession) { this.measurementSession = measurementSession; } }