this.operation = operation;
}
protected void summarizeHourly(BAMCalendar loHour, BAMCalendar hiHour) {
try {
SummaryPersistenceManager spm = SummaryPersistenceManager.getInstance();
HourDimension hd = spm.getHourDimension(loHour);
if (hd == null) {
spm.addHourDimension(loHour);
hd = spm.getHourDimension(loHour);
}
SummaryStatistic stat = spm.getOperationStatHourlySummary(this.getOperation().getOperationID(), loHour, hiHour);
if (stat != null) {
stat.setTypeId(this.getOperation().getOperationID());
stat.setTimeDimensionId(hd.getId());
SummaryPersistenceManager.getInstance().addOperationStatHourlySummary(stat);
}
TimeRange retention = BAMPersistenceManager.getPersistenceManager(BAMUtil.getRegistry()).getDataRetentionPeriod();
// do not delete anything if the retention period specified is 0.
if (retention.getValue() != 0) {
BAMCalendar delLoHour = BAMCalendar.getInstance(loHour);
BAMCalendar delHiHour = BAMCalendar.getInstance(hiHour);
delHiHour.add(retention.getType(), -1 * retention.getValue());
delLoHour.add(retention.getType(), -1 * retention.getValue());
spm.deleteOperationData(getOperation().getOperationID(), delLoHour, delHiHour);
}
} catch (BAMException e) {
if (log.isErrorEnabled()) {
log.error("Error while running hourly summary generator for operation: " + getOperation().getName()
+ " of service: " + getService().getName()