ref #9907: fix missing treeIndex in taxonNodeDto - continue
authorKatja Luther <k.luther@bgbm.org>
Tue, 4 Jan 2022 13:15:37 +0000 (14:15 +0100)
committerKatja Luther <k.luther@bgbm.org>
Tue, 4 Jan 2022 13:15:37 +0000 (14:15 +0100)
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonNodeDaoHibernateImpl.java

index d86ffadd58521d4b0ef51493aedc21a8b674d254..b4205f1f5e7dd040e218903241cd70ae8bfab135 100755 (executable)
@@ -233,7 +233,7 @@ public class TaxonNodeDaoHibernateImpl extends AnnotatableDaoImpl<TaxonNode>
     private Query createQueryForUuidAndTitleCache(Integer limit, UUID classificationUuid, String pattern, boolean includeDoubtful){\r
         String doubtfulPattern = "";\r
         String queryString = "SELECT new " + SortableTaxonNodeQueryResult.class.getName() + "("\r
-                + " node.uuid, node.id, t.titleCache, rank, parent.uuid"\r
+                + " node.uuid, node.id, node.treeIndex, t.uuid, t.titleCache, rank, parent.uuid"\r
                 + ") "\r
                 + " FROM TaxonNode AS node "\r
                 + "   JOIN node.taxon as t " // FIXME why not inner join here?\r
@@ -1176,9 +1176,9 @@ public class TaxonNodeDaoHibernateImpl extends AnnotatableDaoImpl<TaxonNode>
     public TaxonNodeDto getTaxonNodeDto(UUID nodeUuid) {\r
 \r
         String queryString = getTaxonNodeDtoQuery();\r
-        queryString += " WHERE t.uuid LIKE :uuid ";\r
+        queryString += " WHERE tn.uuid = :uuid ";\r
         Query query =  getSession().createQuery(queryString);\r
-        query.setParameter("uuid", nodeUuid.toString());\r
+        query.setParameter("uuid", nodeUuid);\r
 \r
         @SuppressWarnings("unchecked")\r
         List<SortableTaxonNodeQueryResult> result = query.list();\r
@@ -1192,7 +1192,7 @@ public class TaxonNodeDaoHibernateImpl extends AnnotatableDaoImpl<TaxonNode>
      */\r
     private String getTaxonNodeDtoQuery() {\r
         String queryString = "SELECT new " + SortableTaxonNodeQueryResult.class.getName() + "("\r
-                + "tn.uuid, tn.id, t.titleCache, name.titleCache, rank, p.uuid "\r
+                + "tn.uuid, tn.id, tn.treeIndex, t.uuid, t.titleCache, name.titleCache, rank, p.uuid "\r
                 + ") "\r
                 + " FROM TaxonNode tn "\r
                 + "   INNER JOIN tn.taxon AS t "\r
@@ -1230,7 +1230,7 @@ public class TaxonNodeDaoHibernateImpl extends AnnotatableDaoImpl<TaxonNode>
         List<TaxonNodeDto> nodeDtos = new ArrayList<>();\r
         Collections.sort(result, new SortableTaxonNodeQueryResultComparator());\r
         for(SortableTaxonNodeQueryResult queryDTO : result){\r
-            TaxonNodeDto nodeDto = new TaxonNodeDto(queryDTO.getTaxonNodeUuid(), queryDTO.getTaxonNodeId(), queryDTO.getNameTitleCache(), queryDTO.getTaxonTitleCache(), queryDTO.getNameRank().getOrderIndex(), queryDTO.getParentNodeUuid());\r
+            TaxonNodeDto nodeDto = new TaxonNodeDto(queryDTO.getTaxonNodeUuid(), queryDTO.getTaxonNodeId(), queryDTO.getTreeIndex(), queryDTO.getNameTitleCache(), queryDTO.getTaxonTitleCache(), queryDTO.getNameRank().getOrderIndex(), queryDTO.getParentNodeUuid());\r
             nodeDtos.add(nodeDto);\r
         }\r
         return nodeDtos;\r