import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import eu.etaxonomy.cdm.api.application.ICdmRepository;
import eu.etaxonomy.cdm.api.dto.portal.TaxonPageDto;
import eu.etaxonomy.cdm.api.dto.portal.config.TaxonPageDtoConfiguration;
import eu.etaxonomy.cdm.model.taxon.Taxon;
@Autowired
private ITaxonDao taxonDao;
+ @Autowired()
+ @Qualifier("cdmRepository")
+ private ICdmRepository repository;
+
@Override
public TaxonPageDto taxonPageDto(TaxonPageDtoConfiguration config) {
- PortalDtoLoader loader = new PortalDtoLoader();
- Taxon taxon = (Taxon)taxonDao.load(config.taxonUuid);
+ PortalDtoLoader loader = new PortalDtoLoader(repository);
+ Taxon taxon = (Taxon)taxonDao.load(config.getTaxonUuid());
TaxonPageDto dto = null;
try {
dto = loader.load(taxon, config);
}
if (dto != null) {
return dto;
+ }else if (true) {
+ return dto;
}
dto = new TaxonPageDto();
+ " FROM Taxon t JOIN t.name as n "
+ " WHERE t.uuid = :uuid ";
//TODO singleResult
- List<Object[]> hqlResult = dao.getHqlResult(taxonHql, new Object[] {config.taxonUuid}, Object[].class);
- dto.id = (int)hqlResult.get(0)[0];
- dto.uuid = (UUID)hqlResult.get(0)[1];
- dto.setTaxonLabel((String)hqlResult.get(0)[2]);
+ List<Object[]> hqlResult = dao.getHqlResult(taxonHql, new Object[] {config.getTaxonUuid()}, Object[].class);
+ dto.setId((int)hqlResult.get(0)[0]);
+ dto.setUuid((UUID)hqlResult.get(0)[1]);
+ dto.setLabel((String)hqlResult.get(0)[2]);
dto.setNameLabel((String)hqlResult.get(0)[3]);
- dto.setTypedTaxonLabel(null);
- dto.setTypedNameLabel(null);
+// dto.setTypedTaxonLabel(null);
+// dto.setTypedNameLabel(null);
+ dto.setTaggedLabel(null);
//taxonNodes
+ " n.titleCache as nameLabel, n.homotypicalGroup.uuid "
+ " FROM Synonym s JOIN s.acceptedTaxon t JOIN s.name as n "
+ " WHERE t.uuid = :uuid ";
- List<Object[]> sysnonymsResult = dao.getHqlResult(synonymsHql, new Object[] {config.taxonUuid}, Object[].class);
+ List<Object[]> sysnonymsResult = dao.getHqlResult(synonymsHql, new Object[] {config.getTaxonUuid()}, Object[].class);
//facts