package edu.sjtu.infosec.ismp.manager.WSM.dao.impl; import java.util.List; import org.hibernate.Criteria; import org.hibernate.criterion.Expression; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import edu.sjtu.infosec.ismp.manager.WSM.dao.WebMonitorRecordsDao; import edu.sjtu.infosec.ismp.manager.WSM.model.WebMonitorRecords; import edu.sjtu.infosec.ismp.security.Domain; public class WebMonitorRecordsDaoImpl extends HibernateDaoSupport implements WebMonitorRecordsDao { @SuppressWarnings("unchecked") public List<WebMonitorRecords> findAll(int startResult, int maxResult) { Criteria criteria = getSession().createCriteria(WebMonitorRecords.class, "webMonitor") .addOrder(Order.asc("id")) .setFirstResult(startResult) .setMaxResults(maxResult); return criteria.list(); } @SuppressWarnings("unchecked") public WebMonitorRecords findById(Integer id) { WebMonitorRecords webMonitorRecords = null; List webMonitorList = getHibernateTemplate().find("from WebMonitorRecords where id = "+id); if(webMonitorList!=null && webMonitorList.size()>0) { webMonitorRecords = (WebMonitorRecords) webMonitorList.get(0); } return webMonitorRecords; } public void remove(WebMonitorRecords webMonitorRecords) { getHibernateTemplate().delete(webMonitorRecords); } public void remove(List<WebMonitorRecords> webMonitorList) { getHibernateTemplate().deleteAll(webMonitorList); } public void saveOrUpdate(WebMonitorRecords webMonitorRecords) { getHibernateTemplate().saveOrUpdate(webMonitorRecords); } @SuppressWarnings("unchecked") public int getCount() { int num=0; List list=getHibernateTemplate().find("from WebMonitorRecords"); if(list!=null&&list.size()>0){ num=list.size(); } return num; } @SuppressWarnings({ "unchecked" }) public List<WebMonitorRecords> findAllByDomain(List<Domain> userDomainList, int startResult, int maxResult) { Criteria criteria = getSession().createCriteria(WebMonitorRecords.class, "webMonitor") .addOrder(Order.asc("id")) .setFirstResult(startResult) .setMaxResults(maxResult); if(userDomainList!=null){ criteria.add(Restrictions.in("webMonitor.domain", userDomainList)); } return criteria.list(); } public int getCountByDomain(List<Domain> userDomainList) { Criteria criteria = getSession().createCriteria(WebMonitorRecords.class, "webMonitor") .addOrder(Order.asc("id")); if(userDomainList!=null){ criteria.add(Restrictions.in("webMonitor.domain", userDomainList)); } return criteria.list().size(); } @SuppressWarnings("unchecked") public WebMonitorRecords findByNodeId(String nodeId) { WebMonitorRecords records=null; List list=getHibernateTemplate().find("from WebMonitorRecords where nodeId='"+nodeId+"'"); if(list!=null&&list.size()>0){ records=(WebMonitorRecords) list.get(0); } return records; } }