Project

General

Profile

Download (1.62 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 * 
3
 */
4
package eu.etaxonomy.cdm.persistence.dao.taxon;
5

    
6
import java.util.List;
7
import org.apache.log4j.Logger;
8
import org.hibernate.Criteria;
9
import org.hibernate.criterion.Restrictions;
10
import org.springframework.stereotype.Repository;
11
import eu.etaxonomy.cdm.model.reference.ReferenceBase;
12
import eu.etaxonomy.cdm.model.taxon.Taxon;
13
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
14
import eu.etaxonomy.cdm.persistence.dao.common.IdentifiableDaoBase;
15

    
16
/**
17
 * @author a.mueller
18
 *
19
 */
20
@Repository
21
public class TaxonDaoHibernateImpl extends IdentifiableDaoBase<TaxonBase> implements ITaxonDao {
22
	static Logger logger = Logger.getLogger(TaxonDaoHibernateImpl.class);
23

    
24
	public TaxonDaoHibernateImpl() {
25
		super(TaxonBase.class);
26
	}
27

    
28
	public List<Taxon> getRootTaxa(ReferenceBase sec) {
29
		Criteria crit = getSession().createCriteria(Taxon.class);
30
		crit.add(Restrictions.isNull("taxonomicParentCache"));
31
		if (sec != null){
32
			crit.add(Restrictions.eq("sec", sec) );
33
		}
34
		List<Taxon> results = crit.list();
35
		return results;
36
	}
37

    
38
	public List<TaxonBase> getTaxaByName(String name, ReferenceBase sec) {
39
		Criteria crit = getSession().createCriteria(Taxon.class);
40
		if (sec != null){
41
			crit.add(Restrictions.eq("sec", sec ) );
42
		}
43
		crit.createCriteria("name").add(Restrictions.eq("titleCache", name));
44
		List<TaxonBase> results = crit.list();
45
		return results;
46
	}
47

    
48
	public List<TaxonBase> getAllTaxa(Integer pagesize, Integer page) {
49
		Criteria crit = getSession().createCriteria(TaxonBase.class);
50
		List<TaxonBase> results = crit.list();
51
		// TODO add page & pagesize criteria
52
		return results;
53
	}
54
	
55
}
(2-2/2)