Project

General

Profile

« Previous | Next » 

Revision 5db2ebcd

Added by Andreas Kohlbecker about 4 years ago

ref #8907 adapting method to SortableTaxonNodeQueryResult and fixing NPE

View differences:

cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/common/IdentifiableDaoBase.java
88 88
    }
89 89

  
90 90
    @Override
91
    public List<String> findTitleCache(Class<? extends T> clazz, String queryString, 
91
    public List<String> findTitleCache(Class<? extends T> clazz, String queryString,
92 92
    		Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode){
93 93

  
94 94
        Query query = prepareFindTitleCache(clazz, queryString, pageSize,
......
394 394
    public List<T> search(Class<? extends T> clazz, String queryString,	Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,List<String> propertyPaths) {
395 395
        checkNotInPriorView("IdentifiableDaoBase.search(Class<? extends T> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,List<String> propertyPaths)");
396 396
        QueryParser queryParser = new QueryParser(defaultField, new StandardAnalyzer());
397
        
397

  
398 398
        try {
399 399
            org.apache.lucene.search.Query query = queryParser.parse(queryString);
400 400

  
......
707 707
    protected <E extends IAnnotatableEntity> List<UuidAndTitleCache<E>> getUuidAndAbbrevTitleCache(Query query){
708 708
        List<UuidAndTitleCache<E>> list = new ArrayList<>();
709 709

  
710
        @SuppressWarnings("unchecked")
711 710
		List<Object[]> result = query.list();
712 711

  
713 712
        for(Object[] object : result){
......
719 718
    protected <E extends IAnnotatableEntity> List<UuidAndTitleCache<E>> getUuidAndTitleCache(Query query){
720 719
        List<UuidAndTitleCache<E>> list = new ArrayList<>();
721 720

  
722
        @SuppressWarnings("unchecked")
723
		List<Object[]> result = query.list();
724 721

  
725
        for(Object[] object : result){
726
            list.add(new UuidAndTitleCache<>((UUID) object[0],(Integer) object[1], (String) object[2]));
722
		List<SortableTaxonNodeQueryResult> result = query.list();
723

  
724
        for(SortableTaxonNodeQueryResult stnqr : result){
725
            list.add(new UuidAndTitleCache<>(stnqr.getTaxonNodeUuid(),stnqr.getTaxonNodeId(), stnqr.getTaxonTitleCache()));
727 726
        }
728 727
        return list;
729 728
    }
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/reference/ReferenceDaoHibernateImpl.java
401 401
        if (limit != null){
402 402
           query.setMaxResults(limit);
403 403
        }
404
        pattern = pattern.replace("*", "%");
405
        pattern = pattern.replace("?", "_");
406
        query.setParameter("pattern", pattern);
404
        if(pattern != null){
405
            pattern = pattern.replace("*", "%");
406
            pattern = pattern.replace("?", "_");
407
            query.setParameter("pattern", pattern);
408
        }
407 409
        return getUuidAndAbbrevTitleCache(query);
408 410

  
409 411
    }

Also available in: Unified diff