/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE and NOTICE files at the root of the source * tree and available online at * * http://www.dspace.org/license/ */ package org.dspace.checker.dao.impl; import java.sql.SQLException; import java.util.Date; import org.dspace.checker.ChecksumHistory; import org.dspace.checker.ChecksumResultCode; import org.dspace.checker.dao.ChecksumHistoryDAO; import org.dspace.content.Bitstream; import org.dspace.core.Context; import org.dspace.core.AbstractHibernateDAO; import org.hibernate.Query; /** * <p> * This is the data access for the checksum history information. All * update,insert and delete database operations should go through this class for * checksum history operations. * </p> * * @author Jim Downing * @author Grace Carpenter * @author Nathan Sarr * @author kevinvandevelde at atmire.com * * */ public class ChecksumHistoryDAOImpl extends AbstractHibernateDAO<ChecksumHistory> implements ChecksumHistoryDAO { protected ChecksumHistoryDAOImpl() { super(); } @Override public int deleteByDateAndCode(Context context, Date retentionDate, ChecksumResultCode resultCode) throws SQLException { String hql = "delete from ChecksumHistory where processEndDate < :processEndDate AND checksumResult.resultCode=:resultCode"; Query query = createQuery(context, hql); query.setTimestamp("processEndDate", retentionDate); query.setParameter("resultCode", resultCode); return query.executeUpdate(); } @Override public void deleteByBitstream(Context context, Bitstream bitstream) throws SQLException { String hql = "delete from ChecksumHistory where bitstream=:bitstream"; Query query = createQuery(context, hql); query.setParameter("bitstream", bitstream); query.executeUpdate(); } }