Project

General

Profile

« Previous | Next » 

Revision 440ea14c

Added by Andreas Müller over 2 years ago

cleanup

View differences:

cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/term/DefinedTermDaoImpl.java
69 69
import eu.etaxonomy.cdm.persistence.dao.hibernate.common.IdentifiableDaoBase;
70 70
import eu.etaxonomy.cdm.persistence.dao.term.IDefinedTermDao;
71 71
import eu.etaxonomy.cdm.persistence.dto.FeatureDto;
72
import eu.etaxonomy.cdm.persistence.dto.TermCollectionDto;
72 73
import eu.etaxonomy.cdm.persistence.dto.TermDto;
73 74
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
74 75
import eu.etaxonomy.cdm.persistence.query.MatchMode;
......
779 780

  
780 781
    @Override
781 782
    public Collection<TermDto> findByTitleAsDtoWithVocDto(String title, TermType termType) {
782
        String queryString = TermDto.getTermDtoSelect()
783
        String termQueryString = TermDto.getTermDtoSelect()
783 784
                + " where a.titleCache like :title "
784 785
                + (termType!=null?" and a.termType = :termType ":"");
785 786

  
786 787
        title = title.replace("*", "%");
787
        Query query =  getSession().createQuery(queryString);
788
        query.setParameter("title", "%"+title+"%");
788
        Query termQuery =  getSession().createQuery(termQueryString);
789
        termQuery.setParameter("title", "%"+title+"%");
789 790
        if(termType!=null){
790
            query.setParameter("termType", termType);
791
            termQuery.setParameter("termType", termType);
791 792
        }
792 793

  
793 794
        @SuppressWarnings("unchecked")
794
        List<Object[]> result = query.list();
795
        List<Object[]> termArrayResult = termQuery.list();
796
        List<TermDto> list = TermDto.termDtoListFrom(termArrayResult);
795 797

  
796
        List<TermDto> list = TermDto.termDtoListFrom(result);
797
        queryString = TermVocabularyDto.getTermCollectionDtoSelect() + " where a.uuid = :uuid";
798
        String vocQueryString = TermCollectionDto.getTermCollectionDtoSelect() + " where a.uuid = :uuid";
799
        Query vocQuery = getSession().createQuery(vocQueryString);
798 800

  
799
        query = getSession().createQuery(queryString);
800 801
        for (TermDto dto: list){
801
            query.setParameter("uuid", dto.getVocabularyUuid());
802
            result = query.list();
803
            List<TermVocabularyDto> vocs = TermVocabularyDto.termVocabularyDtoListFrom(result);
802
            vocQuery.setParameter("uuid", dto.getVocabularyUuid());
803
            @SuppressWarnings("unchecked")
804
            List<Object[]> vocArrayResult = vocQuery.list();
805
            List<TermVocabularyDto> vocs = TermVocabularyDto.termVocabularyDtoListFrom(vocArrayResult);
804 806
            if (!vocs.isEmpty()){
805 807
                dto.setVocabularyDto(vocs.get(0));
806 808
            }

Also available in: Unified diff