@Override\r
public TaxonNodeDto getTaxonNodeDto(UUID nodeUuid) {\r
String queryString = "SELECT new " + SortableTaxonNodeQueryResult.class.getName() + "("\r
- + "tn.uuid, tn.id, t.titleCache, rank "\r
+ + "tn.uuid, tn.id, t.titleCache, name.titleCache, rank "\r
+ ") "\r
+ " FROM TaxonNode tn "\r
+ " INNER JOIN tn.taxon AS t "\r
\r
List<TaxonNodeDto> list = new ArrayList<>();\r
for(SortableTaxonNodeQueryResult queryDTO : result){\r
- list.add(new TaxonNodeDto(queryDTO.getTaxonNodeUuid(), queryDTO.getTaxonNodeId(), queryDTO.getTaxonTitleCache()));\r
+ list.add(new TaxonNodeDto(queryDTO.getTaxonNodeUuid(), queryDTO.getTaxonNodeId(), queryDTO.getNameTitleCache(), queryDTO.getTaxonTitleCache()));\r
}\r
return list.get(0);\r
}\r
@Override\r
public List<TaxonNodeDto> getTaxonNodeDtos(List<UUID> nodeUuids) {\r
String queryString = "SELECT new " + SortableTaxonNodeQueryResult.class.getName() + "("\r
- + "tn.uuid, tn.id, t.titleCache, rank "\r
+ + "tn.uuid, tn.id, t.titleCache, name.titleCache, rank "\r
+ ") "\r
+ " FROM TaxonNode tn "\r
+ " INNER JOIN tn.taxon AS t "\r
\r
List<TaxonNodeDto> list = new ArrayList<>();\r
for(SortableTaxonNodeQueryResult queryDTO : result){\r
- TaxonNodeDto nodeDto = new TaxonNodeDto(queryDTO.getTaxonNodeUuid(), queryDTO.getTaxonNodeId(), queryDTO.getTaxonTitleCache(), queryDTO.getNameRank().getOrderIndex());\r
+ TaxonNodeDto nodeDto = new TaxonNodeDto(queryDTO.getTaxonNodeUuid(), queryDTO.getTaxonNodeId(), queryDTO.getNameTitleCache(), queryDTO.getTaxonTitleCache(), queryDTO.getNameRank().getOrderIndex());\r
\r
list.add(nodeDto);\r
}\r
import java.util.stream.Collectors;
import org.apache.log4j.Logger;
-import org.hibernate.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Service;
import eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonNodeDao;
import eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonNodeFilterDao;
import eu.etaxonomy.cdm.persistence.dto.HomotypicGroupDto;
-import eu.etaxonomy.cdm.persistence.dto.SortableTaxonNodeQueryResult;
-import eu.etaxonomy.cdm.persistence.dto.SortableTaxonNodeQueryResultComparator;
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
import eu.etaxonomy.cdm.persistence.permission.ICdmPermissionEvaluator;
import eu.etaxonomy.cdm.persistence.query.OrderHint;
@Override
public TaxonNodeDto getTaxonNodeDto(UUID nodeUuid) {
- String queryString = "SELECT new " + SortableTaxonNodeQueryResult.class.getName() + "("
- + "tn.uuid, tn.id, t.titleCache, name.titleCache, rank "
- + ") "
- + " FROM TaxonNode tn "
- + " INNER JOIN tn.taxon AS t "
- + " INNER JOIN t.name AS name "
- + " LEFT OUTER JOIN name.rank AS rank "
- + " WHERE t.uuid LIKE :uuid ";
-
-
- Query query = getSession().createQuery(queryString);
-
- query.setParameter("uuid", nodeUuid.toString());
-
-
- @SuppressWarnings("unchecked")
- List<SortableTaxonNodeQueryResult> result = query.list();
- Collections.sort(result, new SortableTaxonNodeQueryResultComparator());
-
- List<TaxonNodeDto> list = new ArrayList<>();
- for(SortableTaxonNodeQueryResult queryDTO : result){
- list.add(new TaxonNodeDto(queryDTO.getTaxonNodeUuid(), queryDTO.getTaxonNodeId(), queryDTO.getNameTitleCache(), queryDTO.getTaxonTitleCache()));
- }
- return list.get(0);
+ return dao.getTaxonNodeDto(nodeUuid);
}
@Override
public List<TaxonNodeDto> getTaxonNodeDtos(List<UUID> nodeUuids) {
- String queryString = "SELECT new " + SortableTaxonNodeQueryResult.class.getName() + "("
- + "tn.uuid, tn.id, t.titleCache, name.titleCache, rank "
- + ") "
- + " FROM TaxonNode tn "
- + " INNER JOIN tn.taxon AS t "
- + " INNER JOIN t.name AS name "
- + " LEFT OUTER JOIN name.rank AS rank "
- + " WHERE t.uuid IN (:uuid) ";
-
-
- Query query = getSession().createQuery(queryString);
-// List<String> uuidStrings = nodeUuids.stream().map(e -> e.toString()).collect(Collectors.toList());
-
- query.setParameterList("uuid", nodeUuids);
-
-
- @SuppressWarnings("unchecked")
- List<SortableTaxonNodeQueryResult> result = query.list();
- Collections.sort(result, new SortableTaxonNodeQueryResultComparator());
-
- List<TaxonNodeDto> list = new ArrayList<>();
- for(SortableTaxonNodeQueryResult queryDTO : result){
- TaxonNodeDto nodeDto = new TaxonNodeDto(queryDTO.getTaxonNodeUuid(), queryDTO.getTaxonNodeId(), queryDTO.getNameTitleCache(), queryDTO.getTaxonTitleCache(), queryDTO.getNameRank().getOrderIndex());
-
- list.add(nodeDto);
- }
- return list;
+ return dao.getTaxonNodeDtos(nodeUuids);
}
}
\ No newline at end of file