package com.cfinkel.reports.scheduler;
import static com.cfinkel.reports.web.AppData.getReportsLock;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.apache.log4j.Logger;
import com.cfinkel.reports.web.AppData;
import java.io.IOException;
import java.io.ByteArrayOutputStream;
/**
* $Author:charles $
* $Revision:10429 $
* $Date:2006-07-26 18:00:43 -0400 (Wed, 26 Jul 2006) $
* <p/>
* created:
* User: charles
* Date: Jul 5, 2006
* Time: 12:27:55 PM
* Quart job: report refresher
*/
public class ReportRefresher implements Job {
private static final Logger log = Logger.getLogger(ReportRefresher.class);
public void execute(JobExecutionContext context) throws JobExecutionException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
getReportsLock().writeLock().lock();
try {
AppData.reloadLoadedReports(outputStream);
} catch (IOException e) {
log.error(e);
} finally {
getReportsLock().writeLock().unlock();
log.info("Report refresher output: \n" + outputStream.toString());
}
}
}