Revision 4b96de2c
Added by Katja Luther over 2 years ago
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/agent/AgentDaoImpl.java | ||
---|---|---|
31 | 31 |
import eu.etaxonomy.cdm.model.agent.InstitutionalMembership; |
32 | 32 |
import eu.etaxonomy.cdm.model.agent.Person; |
33 | 33 |
import eu.etaxonomy.cdm.model.agent.Team; |
34 |
import eu.etaxonomy.cdm.model.common.IAnnotatableEntity; |
|
34 | 35 |
import eu.etaxonomy.cdm.model.view.AuditEvent; |
35 | 36 |
import eu.etaxonomy.cdm.persistence.dao.agent.IAgentDao; |
36 | 37 |
import eu.etaxonomy.cdm.persistence.dao.hibernate.common.IdentifiableDaoBase; |
38 |
import eu.etaxonomy.cdm.persistence.dto.TeamOrPersonUuidAndTitleCache; |
|
37 | 39 |
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache; |
38 | 40 |
import eu.etaxonomy.cdm.persistence.query.MatchMode; |
39 | 41 |
import eu.etaxonomy.cdm.persistence.query.OrderHint; |
... | ... | |
189 | 191 |
whereClause += " OR titleCache LIKE :pattern"; |
190 | 192 |
whereClause += " OR collectorTitleCache like :pattern"; |
191 | 193 |
|
192 |
query = session.createQuery("SELECT DISTINCT uuid, id, nomenclaturalTitleCache, titleCache " + clazzString + whereClause); |
|
194 |
query = session.createQuery("SELECT DISTINCT uuid, id, nomenclaturalTitleCache, titleCache, collectorTitleCache " + clazzString + whereClause);
|
|
193 | 195 |
pattern = pattern + "%"; |
194 | 196 |
pattern = pattern.replace("*", "%"); |
195 | 197 |
pattern = pattern.replace("?", "_"); |
196 | 198 |
query.setParameter("pattern", pattern); |
197 | 199 |
} else { |
198 |
query = session.createQuery("SELECT DISTINCT uuid, id, nomenclaturalTitleCache, titleCache " + clazzString); |
|
200 |
query = session.createQuery("SELECT DISTINCT uuid, id, nomenclaturalTitleCache, titleCache, collectorTitleCache " + clazzString);
|
|
199 | 201 |
} |
200 | 202 |
if (limit != null){ |
201 | 203 |
query.setMaxResults(limit); |
... | ... | |
220 | 222 |
whereClause += " OR collectorTitleCache LIKE :pattern"; |
221 | 223 |
} |
222 | 224 |
|
223 |
query = session.createQuery("SELECT DISTINCT uuid, id, nomenclaturalTitleCache, titleCache " + clazzString + whereClause); |
|
225 |
query = session.createQuery("SELECT DISTINCT uuid, id, nomenclaturalTitleCache, titleCache, collectorTitleCache " + clazzString + whereClause);
|
|
224 | 226 |
pattern = pattern + "%"; |
225 | 227 |
pattern = pattern.replace("*", "%"); |
226 | 228 |
pattern = pattern.replace("?", "_"); |
227 | 229 |
query.setParameter("pattern", pattern); |
228 | 230 |
} else { |
229 |
query = session.createQuery("SELECT DISTINCT uuid, id, nomenclaturalTitleCache, titleCache " + clazzString); |
|
231 |
query = session.createQuery("SELECT DISTINCT uuid, id, nomenclaturalTitleCache, titleCache, collectorTitleCache " + clazzString);
|
|
230 | 232 |
} |
231 | 233 |
if (limit != null){ |
232 | 234 |
query.setMaxResults(limit); |
... | ... | |
244 | 246 |
|
245 | 247 |
return findByParam(clazz, params, queryString, matchmode, criterion, pageSize, pageNumber, orderHints, propertyPaths); |
246 | 248 |
} |
249 |
|
|
250 |
@Override |
|
251 |
protected <E extends IAnnotatableEntity> List<UuidAndTitleCache<E>> getUuidAndAbbrevTitleCache(Query query){ |
|
252 |
List<UuidAndTitleCache<E>> list = new ArrayList<>(); |
|
253 |
|
|
254 |
List<Object[]> result = query.list(); |
|
255 |
|
|
256 |
for(Object[] object : result){ |
|
257 |
list.add(new TeamOrPersonUuidAndTitleCache<E>((UUID) object[0],(Integer) object[1], (String) object[3], (String) object[2], (String) object[3])); |
|
258 |
} |
|
259 |
return list; |
|
260 |
} |
|
261 |
|
|
262 |
@Override |
|
263 |
protected <E extends IAnnotatableEntity> List<UuidAndTitleCache<E>> getUuidAndTitleCache(Query query){ |
|
264 |
List<UuidAndTitleCache<E>> list = new ArrayList<>(); |
|
265 |
|
|
266 |
|
|
267 |
List<Object> result = query.list(); |
|
268 |
|
|
269 |
for(Object obj : result){ |
|
270 |
Object[] object = (Object[])obj; |
|
271 |
list.add(new TeamOrPersonUuidAndTitleCache((UUID) object[0],(Integer) object[1], (String) object[2], (String) object[3], (String) object[4])); |
|
272 |
|
|
273 |
} |
|
274 |
return list; |
|
275 |
} |
|
247 | 276 |
} |
Also available in: Unified diff
ref #9680: adapt searches to search also for collector title cache