package gov.nysenate.openleg.service.spotcheck.agenda; import gov.nysenate.openleg.model.agenda.Agenda; import gov.nysenate.openleg.model.agenda.AgendaNotFoundEx; import gov.nysenate.openleg.model.spotcheck.agenda.AgendaAlertInfoCommittee; import gov.nysenate.openleg.model.spotcheck.ReferenceDataNotFoundEx; import gov.nysenate.openleg.service.agenda.data.CachedAgendaDataService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.util.List; @Service public class AgendaReportService extends BaseAgendaCheckReportService { @Autowired CachedAgendaDataService agendaDataService; /** {@inheritDoc} */ @Override protected List<AgendaAlertInfoCommittee> getReferences(LocalDateTime start, LocalDateTime end) throws ReferenceDataNotFoundEx { List<AgendaAlertInfoCommittee> references = agendaAlertDao.getUncheckedAgendaAlertReferences(); if (references.isEmpty()) { throw new ReferenceDataNotFoundEx( String.format("no unchecked agenda references were found within the given range %s to %s", start, end)); } return references; } /** {@inheritDoc} */ @Override protected Agenda getAgenda(AgendaAlertInfoCommittee agendaAlertInfoCommittee) throws AgendaNotFoundEx { return agendaDataService.getAgenda(agendaAlertInfoCommittee.getWeekOf()); } /** {@inheritDoc} */ @Override protected void setReferenceChecked(AgendaAlertInfoCommittee reference) { agendaAlertDao.setAgendaAlertChecked(reference.getAgendaAlertInfoCommId(), true); } }