package qa.qcri.aidr.trainer.api.dao.impl; import java.util.List; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Repository; import qa.qcri.aidr.trainer.api.dao.TaskQueueDao; import qa.qcri.aidr.trainer.api.entity.TaskQueue; import qa.qcri.aidr.trainer.api.store.StatusCodeType; /** * Created with IntelliJ IDEA. * User: jilucas * Date: 9/25/13 * Time: 8:10 AM * To change this template use File | Settings | File Templates. */ @Repository public class TaskQueueDaoImpl extends AbstractDaoImpl<TaskQueue, String> implements TaskQueueDao { protected TaskQueueDaoImpl(){ super(TaskQueue.class); } @Override public List<TaskQueue> findTaskQueue(Long taskID, Long clientAppID, Long documentID) { return findByCriteria(Restrictions.conjunction() .add(Restrictions.eq("taskID",taskID)) .add(Restrictions.eq("clientAppID", clientAppID)) .add(Restrictions.eq("documentID", documentID))); //To change body of implemented methods use File | Settings | File Templates. } @Override public List<TaskQueue> findTaskQueueByDocument(Long clientAppID, Long documentID) { return findByCriteria(Restrictions.conjunction() .add(Restrictions.eq("clientAppID", clientAppID)) .add(Restrictions.eq("documentID", documentID))); } @Override public List<TaskQueue> findTaskQueueByStatus(String column, Integer status) { return findByCriteria(Restrictions.eq(column, status)); //To change body of implemented methods use File | Settings | File Templates. } @Override public List<TaskQueue> findTaskQueueSetByStatus(Long clientAppID, Integer status) { return findByCriteria(Restrictions.conjunction() .add(Restrictions.eq("clientAppID", clientAppID)) .add(Restrictions.eq("status", status))); } @Override public List<TaskQueue> findTaskQueueSetByclientApp(Long clientAppID) { return findByCriteria(Restrictions.eq("clientAppID", clientAppID)); } @Override public List<TaskQueue> findTotalTaskQueueSet(Long clientAppID) { return findByCriteria(Restrictions.conjunction() .add(Restrictions.eq("clientAppID", clientAppID)) .add(Restrictions.ne("status", StatusCodeType.TASK_ABANDONED))); } @Override public List<TaskQueue> findLatestTaskQueue(Long clientAppID) { Criterion criterion = Restrictions.eq("clientAppID",clientAppID); return getMaxOrderByCriteria(criterion, "updated"); } }