Project

General

Profile

« Previous | Next » 

Revision ebedad1f

Added by Anahit Babadshanjan over 15 years ago

Name search functionality for taxonomic editor

View differences:

cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/name/TaxonNameDaoHibernateImpl.java
28 28
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
29 29
import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
30 30
import eu.etaxonomy.cdm.model.name.TypeDesignationStatus;
31
import eu.etaxonomy.cdm.model.taxon.Taxon;
32
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
31 33
import eu.etaxonomy.cdm.persistence.dao.hibernate.common.IdentifiableDaoBase;
32 34
import eu.etaxonomy.cdm.persistence.dao.name.ITaxonNameDao;
33 35

  
......
58 60
		query.setParameter("name",name);
59 61
		return ((Long)query.uniqueResult()).intValue();
60 62
	}
63
	
64
	public int countNames(String queryString) {
65
		
66
        Criteria criteria = getSession().createCriteria(TaxonNameBase.class);
67
        
68
		if (queryString != null) {
69
			criteria.add(Restrictions.ilike("nameCache", queryString));
70
		}
71
		criteria.setProjection(Projections.projectionList().add(Projections.rowCount()));
72
		
73
		return (Integer)criteria.uniqueResult();
74
	}
61 75

  
62 76
	public int countNames(String genusOrUninomial, String infraGenericEpithet,	String specificEpithet, String infraSpecificEpithet, Rank rank) {
63 77
       Criteria criteria = getSession().createCriteria(TaxonNameBase.class);
......
182 196
		return (List<TypeDesignationBase>)query.list();
183 197
	}
184 198

  
199
	
200
	public List<TaxonNameBase<?,?>> searchNames(String queryString, Integer pageSize, Integer pageNumber) {
201
		
202
		Criteria criteria = getSession().createCriteria(TaxonNameBase.class);
203

  
204
		if (queryString != null) {
205
			criteria.add(Restrictions.ilike("nameCache", queryString));
206
		}
207
		if(pageSize != null) {
208
	    	criteria.setMaxResults(pageSize);
209
		    if(pageNumber != null) {
210
		    	criteria.setFirstResult(pageNumber * pageSize);
211
		    } else {
212
		    	criteria.setFirstResult(0);
213
		    }
214
		}
215
		List<TaxonNameBase<?,?>> results = criteria.list();
216
		return results;
217
	}
218

  
219
	
185 220
	public List<TaxonNameBase> searchNames(String genusOrUninomial,String infraGenericEpithet, String specificEpithet,	String infraSpecificEpithet, Rank rank, Integer pageSize,Integer pageNumber) {
186 221
       Criteria criteria = getSession().createCriteria(TaxonNameBase.class);
187 222
		
......
222 257
		    	criteria.setFirstResult(0);
223 258
		    }
224 259
		}
225
		
226
		
260

  
227 261
		return (List<TaxonNameBase>)criteria.list();
228 262
	}
229 263

  

Also available in: Unified diff