package org.openstack.atlas.jobs; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.openstack.atlas.service.domain.entities.JobName; import org.openstack.atlas.service.domain.events.entities.Alert; import org.openstack.atlas.service.domain.services.helpers.AlertHelper; import org.openstack.atlas.service.domain.services.helpers.AlertType; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.stereotype.Component; @Component public class AlertDeletionJob extends AbstractJob { private final Log LOG = LogFactory.getLog(AlertDeletionJob.class); @Override public Log getLogger() { return LOG; } @Override public JobName getJobName() { return JobName.ALERT_DELETION_JOB; } @Override public void setup(JobExecutionContext jobExecutionContext) throws JobExecutionException { } @Override public void run() throws Exception { try { LOG.info(String.format("Attempting to remove alerts from the database...")); alertRepository.removeAlertEntries(); LOG.info(String.format("Successfully removed alerts from the database.")); } catch (Exception e) { Alert alert = AlertHelper.createAlert(null, null, e, AlertType.API_FAILURE.name(), e.getMessage()); alertRepository.save(alert); throw e; } } @Override public void cleanup() { } }