package edu.sjtu.infosec.ismp.manager.RAM.dao.impl; import java.util.List; import org.hibernate.Criteria; import org.hibernate.criterion.Order; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import edu.sjtu.infosec.ismp.manager.RAM.dao.DicRiskMatrRuleDao; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseKnowDicRiskMatrRule; import edu.sjtu.infosec.ismp.manager.comm.model.page.Page; /** * 数据层 风险矩阵数据字典Dao实现类. **/ public class DicRiskMatrRuleDaoImpl extends HibernateDaoSupport implements DicRiskMatrRuleDao { /** * 查询矩阵规则 * * @param id * 矩阵规则id * @return 矩阵规则对象 */ public AsseKnowDicRiskMatrRule find(Integer id) { AsseKnowDicRiskMatrRule dicRiskMatrRule = (AsseKnowDicRiskMatrRule) getHibernateTemplate().load(AsseKnowDicRiskMatrRule.class, id); return dicRiskMatrRule; } /** * 查询矩阵规则 * @param asseImpo * 资产重要性 * @param vulnSeri * 脆弱点严重性 * @param threPoss * 威胁发生可能性 * @return 矩阵规则对象 */ public AsseKnowDicRiskMatrRule find(String asseImpo, String vulnSeri, String threPoss) { AsseKnowDicRiskMatrRule dicRiskMatrRule = null; List list = getSession().createQuery("from AsseKnowDicRiskMatrRule where asseImpo=:asseImpo " + "and vulnSeri=:vulnSeri "+ "and threPoss=:threPoss ") .setParameter("asseImpo", asseImpo) .setParameter("vulnSeri", vulnSeri) .setParameter("threPoss", threPoss) .list(); if(list!=null && list.size()>0) { dicRiskMatrRule = (AsseKnowDicRiskMatrRule) list.get(0); } return dicRiskMatrRule; } /** * 查询矩阵规则记录数 * @return 矩阵规则记录数 */ public int getCount() { Criteria criteria = getSession().createCriteria(AsseKnowDicRiskMatrRule.class) .addOrder(Order.asc("id")); return 0;//count(criteria); } /** * 返回所有矩阵规则 * @return 矩阵规则列表 */ public List<AsseKnowDicRiskMatrRule> listAllDicRiskMatrRule() { Criteria criteria = getSession().createCriteria(AsseKnowDicRiskMatrRule.class) .addOrder(Order.asc("id")); return criteria.list(); } /** * 查询矩阵规则分页记录 * * @param page * 分页对象 * @return 分页记录列表 */ public List<AsseKnowDicRiskMatrRule> listDicRiskMatrRulePage(Page page) { Criteria criteria = getSession().createCriteria(AsseKnowDicRiskMatrRule.class) .addOrder(Order.asc("id")); if(page!=null) { criteria.setFirstResult(page.getBeginIndex()); criteria.setMaxResults(page.getEveryPage()); } return criteria.list(); } /** * 删除矩阵规则 * * @param dicRiskMatrRule * 矩阵规则 */ public void remove(AsseKnowDicRiskMatrRule dicRiskMatrRule) { getHibernateTemplate().delete(dicRiskMatrRule); } /** * 保存/更新矩阵规则 * * @param dicRiskMatrRule * 矩阵规则 */ public void saveOrUpdate(AsseKnowDicRiskMatrRule dicRiskMatrRule) { getHibernateTemplate().saveOrUpdate(dicRiskMatrRule); } }