Revision 2dc79f92
Added by Andreas Müller almost 3 years ago
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/name/TaxonNameDaoHibernateImpl.java | ||
---|---|---|
32 | 32 |
import org.springframework.stereotype.Repository; |
33 | 33 |
|
34 | 34 |
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; |
35 |
import eu.etaxonomy.cdm.model.common.RelationshipBase; |
|
36 | 35 |
import eu.etaxonomy.cdm.model.name.HomotypicalGroup; |
37 | 36 |
import eu.etaxonomy.cdm.model.name.HybridRelationship; |
38 | 37 |
import eu.etaxonomy.cdm.model.name.HybridRelationshipType; |
... | ... | |
753 | 752 |
return (Long) criteria.uniqueResult(); |
754 | 753 |
} |
755 | 754 |
|
756 |
|
|
757 |
/** |
|
758 |
* TODO not yet in interface |
|
759 |
* @param clazz |
|
760 |
* @return |
|
761 |
*/ |
|
762 |
public int countAllRelationships(Class<? extends RelationshipBase> clazz) { |
|
763 |
if (clazz != null && ! NameRelationship.class.isAssignableFrom(clazz) && ! HybridRelationship.class.isAssignableFrom(clazz) ){ |
|
764 |
throw new RuntimeException("Class must be assignable by a taxon or snonym relation"); |
|
765 |
} |
|
766 |
int size = 0; |
|
767 |
|
|
768 |
if (clazz == null || NameRelationship.class.isAssignableFrom(clazz)){ |
|
769 |
String hql = " SELECT count(rel) FROM NameRelationship rel"; |
|
770 |
size += (Long)getSession().createQuery(hql).list().get(0); |
|
771 |
} |
|
772 |
if (clazz == null || HybridRelationship.class.isAssignableFrom(clazz)){ |
|
773 |
String hql = " SELECT count(rel) FROM HybridRelationship rel"; |
|
774 |
size += (Long)getSession().createQuery(hql).list().get(0); |
|
775 |
} |
|
776 |
return size; |
|
777 |
} |
|
778 |
|
|
779 |
|
|
780 | 755 |
@Override |
781 | 756 |
public Integer countByName(String queryString, MatchMode matchmode, List<Criterion> criteria) { |
782 | 757 |
//TODO improve performance |
Also available in: Unified diff
fix #2653 remove the last countAllRelationships method from persistence as it is not used and somehow against api conventions