Revision c1a8faa1
Added by Andreas Müller over 3 years ago
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/reference/OriginalSourceDaoImpl.java | ||
---|---|---|
18 | 18 |
import org.hibernate.Query; |
19 | 19 |
import org.hibernate.Session; |
20 | 20 |
import org.hibernate.criterion.Order; |
21 |
import org.hibernate.criterion.Projections; |
|
21 | 22 |
import org.hibernate.criterion.Restrictions; |
22 | 23 |
import org.springframework.stereotype.Repository; |
23 | 24 |
|
24 | 25 |
import eu.etaxonomy.cdm.common.CdmUtils; |
26 |
import eu.etaxonomy.cdm.model.description.DescriptionElementSource; |
|
27 |
import eu.etaxonomy.cdm.model.name.HybridRelationship; |
|
25 | 28 |
import eu.etaxonomy.cdm.model.reference.ISourceable; |
26 | 29 |
import eu.etaxonomy.cdm.model.reference.OriginalSourceBase; |
27 | 30 |
import eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmEntityDaoBase; |
28 | 31 |
import eu.etaxonomy.cdm.persistence.dao.reference.IOriginalSourceDao; |
32 |
import eu.etaxonomy.cdm.persistence.query.OrderHint; |
|
29 | 33 |
|
30 | 34 |
/** |
31 | 35 |
* @author a.mueller |
... | ... | |
108 | 112 |
|
109 | 113 |
return results; |
110 | 114 |
} |
115 |
|
|
116 |
@Override |
|
117 |
public <T extends DescriptionElementSource> Long countWithNameUsedInSource(Class<T> clazz){ |
|
118 |
Criteria criteria = getSession().createCriteria(HybridRelationship.class); |
|
119 |
|
|
120 |
clazz = clazz != null? clazz : (Class<T>) DescriptionElementSource.class; |
|
121 |
Criteria crit = getSession().createCriteria(clazz); |
|
122 |
//count |
|
123 |
criteria.setProjection(Projections.rowCount()); |
|
124 |
long result = (Long)criteria.uniqueResult(); |
|
125 |
|
|
126 |
return result; |
|
127 |
} |
|
128 |
|
|
129 |
|
|
130 |
@Override |
|
131 |
public <T extends DescriptionElementSource> List<T> listWithNameUsedInSource(Class<T> clazz, |
|
132 |
Integer pageSize, Integer pageNumber,List<OrderHint> orderHints, List<String> propertyPaths){ |
|
133 |
clazz = clazz != null? clazz : (Class<T>) DescriptionElementSource.class; |
|
134 |
Criteria crit = getSession().createCriteria(clazz); |
|
135 |
crit.add(Restrictions.isNotNull("nameUsedInSource")); |
|
136 |
|
|
137 |
crit.addOrder(Order.desc("created")); |
|
138 |
@SuppressWarnings({ "unchecked" }) |
|
139 |
List<T> results = crit.list(); |
|
140 |
|
|
141 |
return results; |
|
142 |
} |
|
111 | 143 |
} |
Also available in: Unified diff
ref #6591 adapt PESI import to new original spellings handling