Project

General

Profile

« Previous | Next » 

Revision 272079a3

Added by Katja Luther almost 6 years ago

ref #3533: new method to get only references with dedicated author

View differences:

cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/reference/ReferenceDaoHibernateImpl.java
349 349
        return getUuidAndAbbrevTitleCache(query);
350 350

  
351 351
    }
352

  
353
    /* (non-Javadoc)
354
     * @see eu.etaxonomy.cdm.persistence.dao.reference.IReferenceDao#getUuidAndAbbrevTitleCache(java.lang.Integer, java.lang.String)
355
     */
356
    @Override
357
    public List<UuidAndTitleCache<Reference>> getUuidAndAbbrevTitleCacheForAuthor(Integer limit, String pattern, ReferenceType refType) {
358
        Session session = getSession();
359
        Reference ref = ReferenceFactory.newArticle();
360

  
361
        Query query = null;
362
        if (pattern != null){
363
            query = session.createQuery("SELECT uuid, id, abbrevTitleCache, titleCache from " + type.getSimpleName()
364
            +" as r where r.authorship.nomenclaturalTitle like :pattern  ");
365

  
366
            query.setParameter("pattern", pattern);
367
        } else {
368
            query = session.createQuery("select uuid, id, abbrevTitleCache, titleCache from " + type.getSimpleName() );
369
        }
370
        if (limit != null){
371
           query.setMaxResults(limit);
372
        }
373
        pattern = pattern.replace("*", "%");
374
        pattern = pattern.replace("?", "_");
375
        query.setParameter("pattern", pattern);
376
        return getUuidAndAbbrevTitleCache(query);
377

  
378
    }
352 379
}
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/reference/IReferenceDao.java
97 97
    List<Object[]> findByIdentifierAbbrev(String identifier, DefinedTermBase identifierType, MatchMode matchmode,
98 98
            Integer limit);
99 99

  
100
    /**
101
     * @param limit
102
     * @param pattern
103
     * @param refType
104
     * @return
105
     */
106
    List<UuidAndTitleCache<Reference>> getUuidAndAbbrevTitleCacheForAuthor(Integer limit, String pattern,
107
            ReferenceType refType);
108

  
100 109

  
101 110
}

Also available in: Unified diff