ConfigurationDAOImpl.java

  1. package org.itracker.persistence.dao;

  2. import org.hibernate.Criteria;
  3. import org.hibernate.HibernateException;
  4. import org.hibernate.criterion.Expression;
  5. import org.itracker.model.Configuration;

  6. import java.util.List;

  7. /**
  8.  *
  9.  */
  10. public class ConfigurationDAOImpl extends BaseHibernateDAOImpl<Configuration>
  11.         implements ConfigurationDAO {

  12.     public Configuration findByPrimaryKey(Integer configId) {
  13.         try {
  14.             return (Configuration) getSession().get(Configuration.class, configId);
  15.         } catch (HibernateException e) {
  16.             throw convertHibernateAccessException(e);
  17.         }
  18.     }

  19.     @Deprecated
  20.     @SuppressWarnings("unchecked")
  21.     public List<Configuration> findByType(int type) {
  22.         return _findByTypeAndValue(Configuration.Type.valueOf(type), null);
  23.     }

  24.     @Deprecated
  25.     @SuppressWarnings("unchecked")
  26.     public List<Configuration> findByTypeAndValue(int type, String value) {
  27.         return findByTypeAndValue(Configuration.Type.valueOf(type), value);
  28.     }


  29.     public Configuration findByTypeValueKey(Configuration.Type type, String value) {
  30.         List<Configuration> res = _findByTypeAndValue(type, value);
  31.         if (res.isEmpty()) {
  32.             return null;
  33.         }
  34.         return res.get(0);
  35.     }

  36.     public List<Configuration> findByType(Configuration.Type type) {
  37.         return _findByTypeAndValue(type, null);
  38.     }

  39.     public List<Configuration> findByTypeAndValue(Configuration.Type type, final String value) {
  40.         String _val = value;
  41.         if (null == _val) {
  42.             _val = "null";
  43.         }
  44.         return _findByTypeAndValue(type, _val);
  45.     }
  46.     private List<Configuration> _findByTypeAndValue(Configuration.Type type, String value) {
  47.         Criteria criteria = getSession().createCriteria(Configuration.class);
  48.         criteria.add(Expression.eq("type", type));
  49.         if (null != value) {
  50.             criteria.add(Expression.eq("value", value));
  51.             criteria.setMaxResults(1);
  52.         }

  53.         try {
  54.             return criteria.list();
  55.         } catch (HibernateException e) {
  56.             throw convertHibernateAccessException(e);
  57.         }
  58.     }


  59. }