package com.epam.cisen.processor.dailyreport.statistic;
import com.epam.cisen.core.api.dto.CiReport;
public class BuildStatistic {
private static final int SECOND = 1000;
private static final int MINUTE = 60 * SECOND;
private static final int HOUR = 60 * MINUTE;
private static final int DAY = 24 * HOUR;
private int numberOfTimes;
private int totalDuration;
public void addReport(CiReport report) {
numberOfTimes += 1;
totalDuration += report.getDuration();
}
public int getNumberOfTimes() {
return numberOfTimes;
}
public String getTimeStatistic() {
StringBuilder text = new StringBuilder();
if (totalDuration > DAY) {
text.append(totalDuration / DAY).append(" days and ");
totalDuration %= DAY;
}
if (totalDuration > HOUR) {
text.append(totalDuration / HOUR).append(" hours and ");
totalDuration %= HOUR;
}
if (totalDuration > MINUTE) {
text.append(totalDuration / MINUTE).append(" minutes and ");
totalDuration %= MINUTE;
}
if (totalDuration > SECOND) {
text.append(totalDuration / SECOND).append(" seconds;");
totalDuration %= SECOND;
}
return text.toString();
}
}