ArrayList<ReportDeliveryLog> deliveryLogs = new ArrayList<ReportDeliveryLog>();
for (int i=0; i < deliveryMethods.length; i++)
{
ReportDeliveryLog deliveryLog = new ReportDeliveryLog(deliveryMethods[i], new Date());
try
{
String deliveryMethodBeanId = deliveryMethods[i] + "DeliveryMethod";
DeliveryMethod deliveryMethod = (DeliveryMethod) appContext.getBean(deliveryMethodBeanId, DeliveryMethod.class);
deliveryMethod.deliverReport(reportSchedule, reportOutput);
deliveryLog.setEndTime(new Date());
deliveryLog.setStatus(ReportLog.STATUS_SUCCESS);
}
catch(DeliveryException de)
{
log.error("Delivery Error: " + reportSchedule.getRequestId(), de);
deliveryLog.setMessage(de.toString());
deliveryLog.setStatus(ReportLog.STATUS_DELIVERY_FAILURE);
reportLog.setMessage(de.toString());
reportLog.setStatus(ReportLog.STATUS_DELIVERY_FAILURE);
}