package uk.ac.ox.zoo.seeg.abraid.mp.common.service.core; import org.springframework.transaction.annotation.Transactional; import uk.ac.ox.zoo.seeg.abraid.mp.common.dao.AlertDao; import uk.ac.ox.zoo.seeg.abraid.mp.common.dao.FeedDao; import uk.ac.ox.zoo.seeg.abraid.mp.common.dao.ProvenanceDao; import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.Alert; import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.Feed; import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.Provenance; import java.util.List; /** * Service class for disease alerts. * * Copyright (c) 2014 University of Oxford */ @Transactional(rollbackFor = Exception.class) public class AlertServiceImpl implements AlertService { private AlertDao alertDao; private FeedDao feedDao; private ProvenanceDao provenanceDao; public AlertServiceImpl(AlertDao alertDao, FeedDao feedDao, ProvenanceDao provenanceDao) { this.alertDao = alertDao; this.feedDao = feedDao; this.provenanceDao = provenanceDao; } /** * Gets an alert by HealthMap alert ID. * @param healthMapAlertId The HealthMap alert ID. * @return The alert with this HealthMap alert ID, or null if not found. */ @Override public Alert getAlertByHealthMapAlertId(Integer healthMapAlertId) { return alertDao.getByHealthMapAlertId(healthMapAlertId); } /** * Gets a list of feeds with the specified provenance name. * @param provenanceName The provenance name. * @return A list of feeds with the specified provenance name. */ @Override public List<Feed> getFeedsByProvenanceName(String provenanceName) { return feedDao.getByProvenanceName(provenanceName); } /** * Saves a feed. * @param feed The feed to save. */ @Override public void saveFeed(Feed feed) { feedDao.save(feed); } /** * Gets a provenance by name. * @param name The name. * @return The provenance with the specified name, or null if non-existent. */ @Override public Provenance getProvenanceByName(String name) { return provenanceDao.getByName(name); } /** * Saves a provenance. * @param provenance The provenance to save. */ @Override public void saveProvenance(Provenance provenance) { provenanceDao.save(provenance); } }