package gov.nysenate.openleg.service.bill.data;
import gov.nysenate.openleg.dao.bill.data.VetoDao;
import gov.nysenate.openleg.model.bill.BaseBillId;
import gov.nysenate.openleg.model.bill.VetoId;
import gov.nysenate.openleg.model.bill.VetoMessage;
import gov.nysenate.openleg.model.sobi.SobiFragment;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public class SimpleVetoDataService implements VetoDataService
{
private static final Logger logger = LoggerFactory.getLogger(SimpleVetoDataService.class);
@Autowired
private VetoDao vetoDao;
/** {@inheritDoc} */
@Override
public VetoMessage getVetoMessage(VetoId vetoId) throws VetoNotFoundException {
if (vetoId==null) {
throw new IllegalArgumentException("vetoId cannot be null!");
}
try {
return vetoDao.getVetoMessage(vetoId);
}
catch (EmptyResultDataAccessException ex){
throw new VetoNotFoundException(ex, vetoId);
}
}
/** {@inheritDoc} */
@Override
public Map<VetoId,VetoMessage> getBillVetoes(BaseBillId baseBillId) throws VetoNotFoundException {
if (baseBillId == null) {
throw new IllegalArgumentException("baseBillId cannot be null!");
}
try {
return vetoDao.getBillVetoes(baseBillId);
}
catch (EmptyResultDataAccessException ex){
throw new VetoNotFoundException(ex, baseBillId);
}
}
/** {@inheritDoc} */
@Override
public void updateVetoMessage(VetoMessage vetoMessage, SobiFragment sobiFragment) {
vetoDao.updateVetoMessage(vetoMessage, sobiFragment);
}
/** {@inheritDoc} */
@Override
public void deleteVetoMessage(VetoId vetoId) {
vetoDao.deleteVetoMessage(vetoId);
}
/** {@inheritDoc} */
@Override
public void deleteBillVetoes(BaseBillId baseBillId) {
vetoDao.deleteBillVetoes(baseBillId);
}
}