package org.infosec.ismp.manager.winsensor.windowslog.dao.impl; import java.util.List; import org.apache.commons.lang.StringUtils; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.infosec.ismp.manager.winsensor.windowslog.dao.PcLogSourceDao; import org.infosec.ismp.manager.winsensor.windowslog.entity.PcLogSourceBO; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * @author Rocky * @version create time: Dec 28, 2010 11:04:27 AM * */ public class PcLogSourceDaoImpl extends HibernateDaoSupport implements PcLogSourceDao { @Override public void addSource(PcLogSourceBO source) { getHibernateTemplate().save(source); } @Override public void updateSource(PcLogSourceBO source) { getHibernateTemplate().update(source); } @SuppressWarnings("unchecked") @Override public PcLogSourceBO findSourceBySensorId(String sensorId) { if (StringUtils.isBlank(sensorId)) { return null; } Criteria criteria = getSession().createCriteria(PcLogSourceBO.class); criteria.add(Restrictions.eq("sensorId", sensorId)); criteria.add(Restrictions.eq("enable", true)); criteria.addOrder(Order.desc("createTime")); List<PcLogSourceBO> sources = criteria.list(); if (sources.size() > 0) { return sources.get(0); } return null; } @SuppressWarnings("unchecked") @Override public List<PcLogSourceBO> getAllUnSynchronizedSource() { Criteria criteria = getSession().createCriteria(PcLogSourceBO.class); criteria.add(Restrictions.eq("isSynchronized", false)); criteria.addOrder(Order.desc("createTime")); return criteria.list(); } }