Revision d4992817
Added by Andreas Kohlbecker about 13 years ago
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IdentificationKeyServiceImpl.java | ||
---|---|---|
9 | 9 |
import org.springframework.transaction.annotation.Transactional; |
10 | 10 |
|
11 | 11 |
import eu.etaxonomy.cdm.api.service.pager.Pager; |
12 |
import eu.etaxonomy.cdm.api.service.pager.impl.AbstractPagerImpl; |
|
12 | 13 |
import eu.etaxonomy.cdm.api.service.pager.impl.DefaultPagerImpl; |
13 | 14 |
import eu.etaxonomy.cdm.model.description.IIdentificationKey; |
15 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
|
14 | 16 |
import eu.etaxonomy.cdm.persistence.dao.description.IIdentificationKeyDao; |
15 | 17 |
|
16 | 18 |
@Service |
... | ... | |
34 | 36 |
} |
35 | 37 |
return new DefaultPagerImpl<IIdentificationKey>(pageNumber, numberOfResults, pageSize, results); |
36 | 38 |
} |
39 |
|
|
40 |
|
|
41 |
public <T extends IIdentificationKey> Pager<T> findKeysConvering(TaxonBase taxon, |
|
42 |
Class<T> type, Integer pageSize, |
|
43 |
Integer pageNumber, List<String> propertyPaths) { |
|
44 |
|
|
45 |
Integer numberOfResults = dao.countByTaxonomicScope(taxon, type).intValue(); |
|
46 |
List<T> results = new ArrayList<T>(); |
|
47 |
if(AbstractPagerImpl.hasResultsInRange(numberOfResults, pageNumber, pageSize)){ |
|
48 |
results = dao.findByTaxonomicScope(taxon, type, pageSize, pageNumber, propertyPaths); |
|
49 |
} |
|
50 |
return new DefaultPagerImpl<T>(pageNumber, numberOfResults, pageSize, results); |
|
51 |
} |
|
37 | 52 |
|
38 | 53 |
} |
Also available in: Unified diff
splitting PolytomousKeyNodeService from PolytomousKeyService & more methods for IdentificationKeyService