package com.opentravelsoft.providers.hibernate;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import org.hibernate.criterion.CriteriaSpecification;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;
import com.opentravelsoft.entity.SysConfig;
import com.opentravelsoft.providers.SysConfigDao;
import com.opentravelsoft.util.StringUtil;
@Repository("SysConfigDao")
public class SysConfigDaoHibernate extends
GenericDaoHibernate<SysConfig, Integer> implements SysConfigDao {
public SysConfigDaoHibernate() {
super(SysConfig.class);
}
@SuppressWarnings("unchecked")
public String getSysConfig(String name) {
DetachedCriteria criteria = DetachedCriteria.forClass(SysConfig.class);
criteria.add(Restrictions.eq("name", name));
criteria.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);
List<SysConfig> config = getHibernateTemplate().findByCriteria(criteria);
if (config.size() > 0)
return config.get(0).getValue();
else
return "";
}
@SuppressWarnings("unchecked")
public Set<String> getCategory() {
StringBuilder sb = new StringBuilder();
sb.append("select distinct category from SysConfig ");
sb.append("order by category ");
List<String> list = getHibernateTemplate().find(sb.toString());
Set<String> set = new TreeSet<String>();
for (String str : list) {
set.add(str);
}
return set;
}
@SuppressWarnings("unchecked")
public List<SysConfig> getConfigByCategory(String category) {
DetachedCriteria criteria = DetachedCriteria.forClass(SysConfig.class);
if (StringUtil.hasLength(category))
criteria.add(Restrictions.eq("category", category));
criteria.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);
List<SysConfig> list = getHibernateTemplate().findByCriteria(criteria);
return list;
}
}