package qa.qcri.aidr.trainer.pybossa.dao.impl; import java.util.Date; import java.util.List; import org.apache.commons.lang3.StringUtils; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Repository; import qa.qcri.aidr.trainer.pybossa.dao.ReportTemplateDao; import qa.qcri.aidr.trainer.pybossa.entity.ReportTemplate; /** * Created with IntelliJ IDEA. * User: jlucas * Date: 11/22/13 * Time: 12:55 PM * To change this template use File | Settings | File Templates. */ @Repository public class ReportTemplateDaoImpl extends AbstractDaoImpl<ReportTemplate, String> implements ReportTemplateDao { protected ReportTemplateDaoImpl(){ super(ReportTemplate.class); } @Override public void saveReportItem(ReportTemplate reportTemplate) { List<ReportTemplate> templateList = findByCriteria(Restrictions.conjunction() .add(Restrictions.eq("taskQueueID",reportTemplate.getTaskQueueID())) .add(Restrictions.eq("answer", reportTemplate.getAnswer()))); if(templateList.size() == 0) { if(StringUtils.isEmpty(reportTemplate.getCreated())){ Date date = new Date(); reportTemplate.setCreated(date.toString()); } save(reportTemplate); } } @Override public void updateReportItem(ReportTemplate reportTemplate) { //To change body of implemented methods use File | Settings | File Templates. ReportTemplate reportItem = findByCriterionID(Restrictions.eq("reportTemplateID", reportTemplate.getReportTemplateID())); if(reportItem != null){ if(StringUtils.isEmpty(reportTemplate.getCreated())){ Date date = new Date(); reportTemplate.setCreated(date.toString()); } reportItem.setStatus(reportTemplate.getStatus()); saveOrUpdate(reportItem); } } @Override public List<ReportTemplate> getReportTemplateByClientApp(Long clientAppID, Integer status) { return findByCriteria(Restrictions.conjunction() .add(Restrictions.eq("clientAppID",clientAppID)) .add(Restrictions.eq("status", status))); } @Override public List<ReportTemplate> getReportTemplateSearchBy(String field, String value) { return findByCriteria(Restrictions.eq(field, value)); } @Override public List<ReportTemplate> getReportTemplateWithUniqueKey(String field, Integer value, String uniqueKey ) { return findUniqueByCriteria(Restrictions.eq(field, value), uniqueKey); } }