Revision a180fd4f
Added by Andreas Müller almost 8 years ago
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonNodeDaoHibernateImpl.java | ||
---|---|---|
286 | 286 |
} |
287 | 287 |
|
288 | 288 |
@Override |
289 |
public Map<String, Integer> rankOrderIndexForTreeIndex(List<String> treeIndexClosure,
|
|
289 |
public Map<String, Integer> rankOrderIndexForTreeIndex(List<String> treeIndexes,
|
|
290 | 290 |
Integer minRankOrderIndex, |
291 | 291 |
Integer maxRankOrderIndex) { |
292 |
|
|
293 |
Map<String, Integer> result = new HashMap<>(); |
|
294 |
if (treeIndexes == null || treeIndexes.isEmpty()){ |
|
295 |
return result; |
|
296 |
} |
|
297 |
|
|
292 | 298 |
String hql = " SELECT tn.treeIndex, r.orderIndex " |
293 | 299 |
+ " FROM TaxonNode tn JOIN tn.taxon t JOIN t.name n JOIN n.rank r " |
294 | 300 |
+ " WHERE tn.treeIndex IN (:treeIndexes) "; |
... | ... | |
300 | 306 |
} |
301 | 307 |
|
302 | 308 |
Query query = getSession().createQuery(hql); |
303 |
query.setParameterList("treeIndexes", treeIndexClosure);
|
|
309 |
query.setParameterList("treeIndexes", treeIndexes);
|
|
304 | 310 |
if (minRankOrderIndex != null){ |
305 | 311 |
query.setParameter("minOrderIndex", minRankOrderIndex); |
306 | 312 |
} |
... | ... | |
308 | 314 |
query.setParameter("maxOrderIndex", maxRankOrderIndex); |
309 | 315 |
} |
310 | 316 |
|
311 |
Map<String, Integer> result = new HashMap<>(); |
|
312 | 317 |
@SuppressWarnings("unchecked") |
313 | 318 |
List<Object[]> list = query.list(); |
314 | 319 |
for (Object[] o : list){ |
... | ... | |
319 | 324 |
|
320 | 325 |
@Override |
321 | 326 |
public Map<String, UuidAndTitleCache<?>> taxonUuidsForTreeIndexes(Set<String> treeIndexes) { |
327 |
Map<String, UuidAndTitleCache<?>> result = new HashMap<>(); |
|
328 |
if (treeIndexes == null || treeIndexes.isEmpty()){ |
|
329 |
return result; |
|
330 |
} |
|
331 |
|
|
322 | 332 |
String hql = " SELECT tn.treeIndex, t.uuid, tnb.titleCache " |
323 | 333 |
+ " FROM TaxonNode tn JOIN tn.taxon t Join t.name tnb " |
324 | 334 |
+ " WHERE tn.treeIndex IN (:treeIndexes) "; |
325 | 335 |
Query query = getSession().createQuery(hql); |
326 | 336 |
query.setParameterList("treeIndexes", treeIndexes); |
327 | 337 |
|
328 |
Map<String, UuidAndTitleCache<?>> result = new HashMap<>(); |
|
329 | 338 |
@SuppressWarnings("unchecked") |
330 | 339 |
List<Object[]> list = query.list(); |
331 | 340 |
for (Object[] o : list){ |
Also available in: Unified diff
#5957 Fix empty treeindexes