/** * Most of the code in the Qalingo project is copyrighted Hoteia and licensed * under the Apache License Version 2.0 (release version 0.8.0) * http://www.apache.org/licenses/LICENSE-2.0 * * Copyright (c) Hoteia, 2012-2014 * http://www.hoteia.com - http://twitter.com/hoteia - contact@hoteia.com * */ package org.hoteia.qalingo.core.dao; import java.util.Date; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; import org.hoteia.qalingo.core.dao.AbstractGenericDao; import org.hoteia.qalingo.core.dao.RuleReferentialDao; import org.hoteia.qalingo.core.domain.AbstractRuleReferential; @Transactional @Repository("ruleReferentialDao") public class RuleReferentialDao extends AbstractGenericDao { private final Logger logger = LoggerFactory.getLogger(getClass()); public AbstractRuleReferential getRuleReferentialByRuleType(String ruleType) { Session session = (Session) em.getDelegate(); String sql = "FROM AbstractRuleReferential WHERE upper(ruleType) = upper(:ruleType)"; Query query = session.createQuery(sql); query.setString("ruleType", ruleType); AbstractRuleReferential ruleReferential = (AbstractRuleReferential) query.uniqueResult(); return ruleReferential; } public AbstractRuleReferential getRuleReferentialByCode(String code) { Session session = (Session) em.getDelegate(); String sql = "FROM AbstractRuleReferential WHERE upper(code) = upper(:code)"; Query query = session.createQuery(sql); query.setString("code", code); AbstractRuleReferential ruleReferential = (AbstractRuleReferential) query.uniqueResult(); return ruleReferential; } public List<AbstractRuleReferential> findRuleReferentials() { Session session = (Session) em.getDelegate(); String sql = "FROM AbstractRuleReferential"; Query query = session.createQuery(sql); List<AbstractRuleReferential> ruleReferentials = (List<AbstractRuleReferential>) query.list(); return ruleReferentials; } public void saveRuleReferential(AbstractRuleReferential ruleReferential) { if(ruleReferential.getDateCreate() == null){ ruleReferential.setDateCreate(new Date()); } ruleReferential.setDateUpdate(new Date()); em.persist(ruleReferential); } public void deleteRuleReferential(AbstractRuleReferential ruleReferential) { em.remove(ruleReferential); } }