#5007 : Rename move taxon node handler
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / dataimport / transientServices / TransientTaxonService.java
1 // $Id$
2 /**
3 * Copyright (C) 2013 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10 package eu.etaxonomy.taxeditor.editor.view.dataimport.transientServices;
11
12 import java.io.IOException;
13 import java.util.Collection;
14 import java.util.EnumSet;
15 import java.util.List;
16 import java.util.Map;
17 import java.util.Set;
18 import java.util.UUID;
19
20 import org.apache.lucene.index.CorruptIndexException;
21 import org.apache.lucene.queryParser.ParseException;
22 import org.hibernate.LockOptions;
23 import org.hibernate.Session;
24 import org.hibernate.criterion.Criterion;
25 import org.hibernate.envers.query.criteria.AuditCriterion;
26
27 import eu.etaxonomy.cdm.api.service.DeleteResult;
28 import eu.etaxonomy.cdm.api.service.ITaxonService;
29 import eu.etaxonomy.cdm.api.service.TaxaAndNamesSearchMode;
30 import eu.etaxonomy.cdm.api.service.UpdateResult;
31 import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
32 import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator;
33 import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
34 import eu.etaxonomy.cdm.api.service.config.IncludedTaxonConfiguration;
35 import eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator;
36 import eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator;
37 import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
38 import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
39 import eu.etaxonomy.cdm.api.service.dto.IncludedTaxaDTO;
40 import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException;
41 import eu.etaxonomy.cdm.api.service.exception.HomotypicalGroupChangeException;
42 import eu.etaxonomy.cdm.api.service.pager.Pager;
43 import eu.etaxonomy.cdm.api.service.search.LuceneMultiSearchException;
44 import eu.etaxonomy.cdm.api.service.search.SearchResult;
45 import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
46 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
47 import eu.etaxonomy.cdm.model.common.Annotation;
48 import eu.etaxonomy.cdm.model.common.DefinedTerm;
49 import eu.etaxonomy.cdm.model.common.ISourceable;
50 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
51 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
52 import eu.etaxonomy.cdm.model.common.LSID;
53 import eu.etaxonomy.cdm.model.common.Language;
54 import eu.etaxonomy.cdm.model.common.Marker;
55 import eu.etaxonomy.cdm.model.common.MarkerType;
56 import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;
57 import eu.etaxonomy.cdm.model.common.RelationshipBase;
58 import eu.etaxonomy.cdm.model.common.RelationshipBase.Direction;
59 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
60 import eu.etaxonomy.cdm.model.description.Feature;
61 import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
62 import eu.etaxonomy.cdm.model.location.NamedArea;
63 import eu.etaxonomy.cdm.model.media.Media;
64 import eu.etaxonomy.cdm.model.media.MediaRepresentation;
65 import eu.etaxonomy.cdm.model.media.Rights;
66 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
67 import eu.etaxonomy.cdm.model.name.Rank;
68 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
69 import eu.etaxonomy.cdm.model.reference.Reference;
70 import eu.etaxonomy.cdm.model.taxon.Classification;
71 import eu.etaxonomy.cdm.model.taxon.Synonym;
72 import eu.etaxonomy.cdm.model.taxon.SynonymRelationship;
73 import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
74 import eu.etaxonomy.cdm.model.taxon.Taxon;
75 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
76 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
77 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
78 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
79 import eu.etaxonomy.cdm.model.view.AuditEvent;
80 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
81 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
82 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
83 import eu.etaxonomy.cdm.persistence.fetch.CdmFetch;
84 import eu.etaxonomy.cdm.persistence.query.Grouping;
85 import eu.etaxonomy.cdm.persistence.query.MatchMode;
86 import eu.etaxonomy.cdm.persistence.query.OrderHint;
87 import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
88 import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
89 import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
90
91 /**
92 * @author pplitzner
93 * @date 27.09.2013
94 *
95 */
96 public class TransientTaxonService implements ITaxonService {
97
98 private final ITaxonService defaultService;
99
100 /**
101 * @param defaultTaxonService
102 */
103 public TransientTaxonService(ITaxonService defaultTaxonService) {
104 this.defaultService = defaultTaxonService;
105 }
106
107 /**
108 * @param t
109 * @param pageSize
110 * @param pageNumber
111 * @param sort
112 * @param propertyPaths
113 * @return
114 * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(eu.etaxonomy.cdm.model.common.VersionableEntity, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
115 */
116 @Override
117 public Pager<AuditEventRecord<TaxonBase>> pageAuditEvents(TaxonBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
118 return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
119 }
120
121 /**
122 * @param annotatedObj
123 * @param status
124 * @param pageSize
125 * @param pageNumber
126 * @param orderHints
127 * @param propertyPaths
128 * @return
129 * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getAnnotations(eu.etaxonomy.cdm.model.common.AnnotatableEntity, eu.etaxonomy.cdm.model.common.MarkerType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
130 */
131 @Override
132 public Pager<Annotation> getAnnotations(TaxonBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
133 return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
134 }
135
136 /**
137 *
138 * @see eu.etaxonomy.cdm.api.service.IService#clear()
139 */
140 @Override
141 public void clear() {
142 defaultService.clear();
143 }
144
145 /**
146 * @param t
147 * @param lockMode
148 * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
149 */
150 @Override
151 public void lock(TaxonBase t, LockOptions lockOptions) {
152 defaultService.lock(t, lockOptions);
153 }
154
155 /**
156 * @param t
157 * @param lockMode
158 * @param propertyPaths
159 * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
160 */
161 @Override
162 public void refresh(TaxonBase t, LockOptions lockOptions, List<String> propertyPaths) {
163 defaultService.refresh(t, lockOptions, propertyPaths);
164 }
165
166 /**
167 *
168 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
169 */
170 @Override
171 public void updateTitleCache() {
172 defaultService.updateTitleCache();
173 }
174
175 /**
176 * @param t
177 * @return
178 * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
179 */
180 @Override
181 public AuditEventRecord<TaxonBase> getNextAuditEvent(TaxonBase t) {
182 return defaultService.getNextAuditEvent(t);
183 }
184
185 /**
186 * @param annotatableEntity
187 * @param technical
188 * @param pageSize
189 * @param pageNumber
190 * @param orderHints
191 * @param propertyPaths
192 * @return
193 * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getMarkers(eu.etaxonomy.cdm.model.common.AnnotatableEntity, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
194 */
195 @Override
196 public Pager<Marker> getMarkers(TaxonBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
197 return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
198 }
199
200 /**
201 * @param clazz
202 * @param stepSize
203 * @param cacheStrategy
204 * @param monitor
205 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Class, java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy, eu.etaxonomy.cdm.common.monitor.IProgressMonitor)
206 */
207 @Override
208 public void updateTitleCache(Class<? extends TaxonBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<TaxonBase> cacheStrategy, IProgressMonitor monitor) {
209 defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
210 }
211
212 /**
213 * @param t
214 * @return
215 * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
216 */
217 @Override
218 public AuditEventRecord<TaxonBase> getPreviousAuditEvent(TaxonBase t) {
219 return defaultService.getPreviousAuditEvent(t);
220 }
221
222 /**
223 * @param clazz
224 * @return
225 * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
226 */
227 @Override
228 public int count(Class<? extends TaxonBase> clazz) {
229 return defaultService.count(clazz);
230 }
231
232 /**
233 * @param clazz
234 * @param from
235 * @param to
236 * @param criteria
237 * @param pageSize
238 * @param pageValue
239 * @param sort
240 * @param propertyPaths
241 * @return
242 * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(java.lang.Class, eu.etaxonomy.cdm.model.view.AuditEvent, eu.etaxonomy.cdm.model.view.AuditEvent, java.util.List, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
243 */
244 @Override
245 public Pager<AuditEventRecord<TaxonBase>> pageAuditEvents(Class<? extends TaxonBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
246 return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
247 }
248
249 /**
250 * @param lsid
251 * @return
252 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
253 */
254 @Override
255 public TaxonBase find(LSID lsid) {
256 return defaultService.find(lsid);
257 }
258
259 /**
260 * @param persistentObject
261 * @return
262 * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
263 */
264 @Override
265 public DeleteResult delete(TaxonBase persistentObject) {
266 return defaultService.delete(persistentObject);
267 }
268
269 /**
270 * @param clazz
271 * @param technical
272 * @param pageSize
273 * @param pageNumber
274 * @param propertyPaths
275 * @return
276 * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
277 */
278 @Override
279 public List<Object[]> groupMarkers(Class<? extends TaxonBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
280 return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
281 }
282
283 /**
284 * @param uuid
285 * @return
286 * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
287 */
288 @Override
289 public boolean exists(UUID uuid) {
290 return defaultService.exists(uuid);
291 }
292
293
294 /**
295 * @param x
296 * @param y
297 * @return
298 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
299 */
300 @Override
301 public TaxonBase replace(TaxonBase x, TaxonBase y) {
302 return defaultService.replace(x, y);
303 }
304
305 /**
306 * @param uuidSet
307 * @return
308 * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
309 */
310 @Override
311 public List<TaxonBase> find(Set<UUID> uuidSet) {
312 return defaultService.find(uuidSet);
313 }
314
315 /**
316 * @param t
317 * @param pageSize
318 * @param pageNumber
319 * @param propertyPaths
320 * @return
321 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
322 */
323 @Override
324 public Pager<IdentifiableSource> getSources(TaxonBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
325 return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
326 }
327
328 /**
329 * @param sec
330 * @param cdmFetch
331 * @param onlyWithChildren
332 * @return
333 * @deprecated
334 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getRootTaxa(eu.etaxonomy.cdm.model.reference.Reference, eu.etaxonomy.cdm.persistence.fetch.CdmFetch, boolean)
335 */
336 @Deprecated
337 @Override
338 public List<Taxon> getRootTaxa(Reference sec, CdmFetch cdmFetch, boolean onlyWithChildren) {
339 return defaultService.getRootTaxa(sec, cdmFetch, onlyWithChildren);
340 }
341
342 /**
343 * @param uuid
344 * @return
345 * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
346 */
347 @Override
348 public TaxonBase find(UUID uuid) {
349 return defaultService.find(uuid);
350 }
351
352 /**
353 * @param rank
354 * @param sec
355 * @param onlyWithChildren
356 * @param withMisapplications
357 * @param propertyPaths
358 * @return
359 * @deprecated
360 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getRootTaxa(eu.etaxonomy.cdm.model.name.Rank, eu.etaxonomy.cdm.model.reference.Reference, boolean, boolean, java.util.List)
361 */
362 @Deprecated
363 @Override
364 public List<Taxon> getRootTaxa(Rank rank, Reference sec, boolean onlyWithChildren, boolean withMisapplications, List<String> propertyPaths) {
365 return defaultService.getRootTaxa(rank, sec, onlyWithChildren, withMisapplications, propertyPaths);
366 }
367
368 /**
369 * @param id
370 * @return
371 * @see eu.etaxonomy.cdm.api.service.IService#find(int)
372 */
373 @Override
374 public TaxonBase find(int id) {
375 return defaultService.find(id);
376 }
377
378 /**
379 * @param t
380 * @param pageSize
381 * @param pageNumber
382 * @param propertyPaths
383 * @return
384 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
385 */
386 @Override
387 public Pager<Rights> getRights(TaxonBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
388 return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
389 }
390
391 /**
392 * @param clazz
393 * @param technical
394 * @return
395 * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
396 */
397 @Override
398 public int countMarkers(Class<? extends TaxonBase> clazz, Boolean technical) {
399 return defaultService.countMarkers(clazz, technical);
400 }
401
402 /**
403 * @param idSet
404 * @return
405 * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
406 */
407 @Override
408 public List<TaxonBase> findById(Set<Integer> idSet) {
409 return defaultService.findById(idSet);
410 }
411
412 /**
413 * @param clazz
414 * @param idInSource
415 * @param idNamespace
416 * @return
417 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
418 */
419 @Override
420 public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
421 return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
422 }
423
424 /**
425 * @return
426 * @see eu.etaxonomy.cdm.api.service.IService#getSession()
427 */
428 @Override
429 public Session getSession() {
430 return defaultService.getSession();
431 }
432
433 /**
434 * @return
435 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
436 */
437 @Override
438 public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCache() {
439 return defaultService.getUuidAndTitleCache();
440 }
441
442 /**
443 * @param clazz
444 * @param limit
445 * @param start
446 * @param groups
447 * @param propertyPaths
448 * @return
449 * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
450 */
451 @Override
452 public List<Object[]> group(Class<? extends TaxonBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
453 return defaultService.group(clazz, limit, start, groups, propertyPaths);
454 }
455
456 /**
457 * @param limit
458 * @param start
459 * @return
460 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllRelationships(int, int)
461 */
462 @Override
463 public List<RelationshipBase> getAllRelationships(int limit, int start) {
464 return defaultService.getAllRelationships(limit, start);
465 }
466
467 /**
468 * @param clazz
469 * @param queryString
470 * @param matchmode
471 * @param criteria
472 * @param pageSize
473 * @param pageNumber
474 * @param orderHints
475 * @param propertyPaths
476 * @return
477 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
478 */
479 @Override
480 public Pager<TaxonBase> findByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
481 return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
482 }
483
484 /**
485 * @return
486 * @deprecated
487 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getTaxonRelationshipTypeVocabulary()
488 */
489 @Deprecated
490 @Override
491 public OrderedTermVocabulary<TaxonRelationshipType> getTaxonRelationshipTypeVocabulary() {
492 return defaultService.getTaxonRelationshipTypeVocabulary();
493 }
494
495 /**
496 * @param name
497 * @param sec
498 * @return
499 * @see eu.etaxonomy.cdm.api.service.ITaxonService#searchTaxaByName(java.lang.String, eu.etaxonomy.cdm.model.reference.Reference)
500 */
501 @Override
502 public List<TaxonBase> searchTaxaByName(String name, Reference sec) {
503 return defaultService.searchTaxaByName(name, sec);
504 }
505
506 /**
507 * @param synonym
508 * @param acceptedTaxon
509 * @return
510 * @see eu.etaxonomy.cdm.api.service.ITaxonService#swapSynonymAndAcceptedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
511 */
512 @Override
513 public UpdateResult swapSynonymAndAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon) {
514 return defaultService.swapSynonymAndAcceptedTaxon(synonym, acceptedTaxon);
515 }
516
517 /**
518 * @param type
519 * @param limit
520 * @param start
521 * @param orderHints
522 * @param propertyPaths
523 * @return
524 * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
525 */
526 @Override
527 public <S extends TaxonBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
528 return defaultService.list(type, limit, start, orderHints, propertyPaths);
529 }
530
531 /**
532 * @param configurator
533 * @return
534 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
535 */
536 @Override
537 public Pager<TaxonBase> findByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
538 return defaultService.findByTitle(configurator);
539 }
540
541 /**
542 * @param synonym
543 * @param acceptedTaxon
544 * @param deleteSynonym
545 * @param copyCitationInfo
546 * @param citation
547 * @param microCitation
548 * @return
549 * @throws HomotypicalGroupChangeException
550 * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeSynonymToAcceptedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, boolean, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String)
551 */
552 @Override
553 public Taxon changeSynonymToAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon, boolean deleteSynonym, boolean copyCitationInfo, Reference citation, String microCitation) throws HomotypicalGroupChangeException {
554 return defaultService.changeSynonymToAcceptedTaxon(synonym, acceptedTaxon, deleteSynonym, copyCitationInfo, citation, microCitation);
555 }
556
557 /**
558 * @param clazz
559 * @param queryString
560 * @param matchmode
561 * @param criteria
562 * @return
563 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
564 */
565 @Override
566 public Integer countByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
567 return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
568 }
569
570 /**
571 * @param uuid
572 * @return
573 * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
574 */
575 @Override
576 public TaxonBase load(UUID uuid) {
577 return defaultService.load(uuid);
578 }
579
580 /**
581 * @param uuid
582 * @param propertyPaths
583 * @return
584 * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
585 */
586 @Override
587 public TaxonBase load(UUID uuid, List<String> propertyPaths) {
588 return defaultService.load(uuid, propertyPaths);
589 }
590
591 /**
592 * @param configurator
593 * @return
594 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
595 */
596 @Override
597 public Integer countByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
598 return defaultService.countByTitle(configurator);
599 }
600
601 /**
602 * @param transientObject
603 * @return
604 * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
605 */
606 @Override
607 public TaxonBase merge(TaxonBase transientObject) {
608 return defaultService.merge(transientObject);
609 }
610
611 /**
612 * @param clazz
613 * @param queryString
614 * @param matchmode
615 * @param criteria
616 * @param pageSize
617 * @param pageNumber
618 * @param orderHints
619 * @param propertyPaths
620 * @return
621 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
622 */
623 @Override
624 public List<TaxonBase> listByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
625 return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
626 }
627
628 /**
629 * @param type
630 * @param pageSize
631 * @param pageNumber
632 * @param orderHints
633 * @param propertyPaths
634 * @return
635 * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
636 */
637 @Override
638 public <S extends TaxonBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
639 return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
640 }
641
642 /**
643 * @param persistentObject
644 * @return
645 * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
646 */
647 @Override
648 public UUID refresh(TaxonBase persistentObject) {
649 return defaultService.refresh(persistentObject);
650 }
651
652 /**
653 * @param synonym
654 * @param toTaxon
655 * @param taxonRelationshipType
656 * @param reference
657 * @param microReference
658 * @return
659 * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeSynonymToRelatedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String)
660 */
661 @Override
662 public Taxon changeSynonymToRelatedTaxon(Synonym synonym, Taxon toTaxon, TaxonRelationshipType taxonRelationshipType, Reference reference, String microReference) {
663 return defaultService.changeSynonymToRelatedTaxon(synonym, toTaxon, taxonRelationshipType, reference, microReference);
664 }
665
666 /**
667 * @param clazz
668 * @param queryString
669 * @param matchmode
670 * @param criteria
671 * @param pageSize
672 * @param pageNumber
673 * @param orderHints
674 * @param propertyPaths
675 * @return
676 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByReferenceTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
677 */
678 @Override
679 public List<TaxonBase> listByReferenceTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
680 return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
681 }
682
683 /**
684 * @param tableName
685 * @param limit
686 * @param start
687 * @return
688 * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
689 */
690 @Override
691 public List<TaxonBase> rows(String tableName, int limit, int start) {
692 return defaultService.rows(tableName, limit, start);
693 }
694
695 /**
696 * @param newInstances
697 * @return
698 * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
699 */
700 @Override
701 public Map<UUID, TaxonBase> save(Collection<TaxonBase> newInstances) {
702 return null;
703 }
704
705 /**
706 * @param syn
707 * @param taxon
708 * @return
709 * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
710 */
711 @Override
712 public long deleteSynonymRelationships(Synonym syn, Taxon taxon) {
713 return defaultService.deleteSynonymRelationships(syn, taxon);
714 }
715
716 /**
717 * @param newInstance
718 * @return
719 * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
720 */
721 @Override
722 public UUID save(TaxonBase newInstance) {
723 return null;
724 }
725
726 /**
727 * @param transientObject
728 * @return
729 * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
730 */
731 @Override
732 public UUID saveOrUpdate(TaxonBase transientObject) {
733 return null;
734 }
735
736 /**
737 * @param synonym
738 * @param newHomotypicalGroup
739 * @param targetTaxon
740 * @param removeFromOtherTaxa
741 * @param setBasionymRelationIfApplicable
742 * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeHomotypicalGroupOfSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.name.HomotypicalGroup, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, boolean)
743 */
744 @Override
745 public void changeHomotypicalGroupOfSynonym(Synonym synonym, HomotypicalGroup newHomotypicalGroup, Taxon targetTaxon, boolean removeFromOtherTaxa, boolean setBasionymRelationIfApplicable) {
746 defaultService.changeHomotypicalGroupOfSynonym(synonym, newHomotypicalGroup, targetTaxon, removeFromOtherTaxa, setBasionymRelationIfApplicable);
747 }
748
749 /**
750 * @param transientObjects
751 * @return
752 * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
753 */
754 @Override
755 public Map<UUID, TaxonBase> saveOrUpdate(Collection<TaxonBase> transientObjects) {
756 return null;
757 }
758
759 /**
760 * @param transientObject
761 * @return
762 * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
763 */
764 @Override
765 public UUID update(TaxonBase transientObject) {
766 return defaultService.update(transientObject);
767 }
768
769 /**
770 * @param example
771 * @param includeProperties
772 * @param limit
773 * @param start
774 * @param orderHints
775 * @param propertyPaths
776 * @return
777 * @see eu.etaxonomy.cdm.api.service.IService#list(eu.etaxonomy.cdm.model.common.ICdmBase, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
778 */
779 @Override
780 public List<TaxonBase> list(TaxonBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
781 return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
782 }
783
784 /**
785 * @param oldSynonymRelation
786 * @param newTaxon
787 * @param moveHomotypicGroup
788 * @param newSynonymRelationshipType
789 * @param newReference
790 * @param newReferenceDetail
791 * @param keepReference
792 * @return
793 * @throws HomotypicalGroupChangeException
794 * @see eu.etaxonomy.cdm.api.service.ITaxonService#moveSynonymToAnotherTaxon(eu.etaxonomy.cdm.model.taxon.SynonymRelationship, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String, boolean)
795 */
796 @Override
797 public SynonymRelationship moveSynonymToAnotherTaxon(SynonymRelationship oldSynonymRelation, Taxon newTaxon, boolean moveHomotypicGroup, SynonymRelationshipType newSynonymRelationshipType, Reference newReference, String newReferenceDetail, boolean keepReference) throws HomotypicalGroupChangeException {
798 return defaultService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxon, moveHomotypicGroup, newSynonymRelationshipType, newReference, newReferenceDetail, keepReference);
799 }
800
801 /**
802 * @param clazz
803 * @param matchStrategy
804 * @param mergeStrategy
805 * @return
806 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
807 */
808 @Override
809 public int deduplicate(Class<? extends TaxonBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
810 return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
811 }
812
813 /**
814 * @param clazz
815 * @param queryString
816 * @param pageSize
817 * @param pageNumber
818 * @param orderHints
819 * @param matchMode
820 * @return
821 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findTitleCache(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, eu.etaxonomy.cdm.persistence.query.MatchMode)
822 */
823 @Override
824 public Pager<TaxonBase> findTitleCache(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
825 return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
826 }
827
828 /**
829 * @param taxon
830 * @param type
831 * @param pageSize
832 * @param pageNumber
833 * @param orderHints
834 * @param propertyPaths
835 * @return
836 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listToTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
837 */
838 @Override
839 public List<TaxonRelationship> listToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
840 return defaultService.listToTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
841 }
842
843 /**
844 * @param taxon
845 * @param type
846 * @param pageSize
847 * @param pageNumber
848 * @param orderHints
849 * @param propertyPaths
850 * @return
851 * @see eu.etaxonomy.cdm.api.service.ITaxonService#pageToTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
852 */
853 @Override
854 public Pager<TaxonRelationship> pageToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
855 return defaultService.pageToTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
856 }
857
858 /**
859 * @param taxon
860 * @param type
861 * @param pageSize
862 * @param pageNumber
863 * @param orderHints
864 * @param propertyPaths
865 * @return
866 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listFromTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
867 */
868 @Override
869 public List<TaxonRelationship> listFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
870 return defaultService.listFromTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
871 }
872
873 /**
874 * @param taxon
875 * @param type
876 * @param pageSize
877 * @param pageNumber
878 * @param orderHints
879 * @param propertyPaths
880 * @return
881 * @see eu.etaxonomy.cdm.api.service.ITaxonService#pageFromTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
882 */
883 @Override
884 public Pager<TaxonRelationship> pageFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
885 return defaultService.pageFromTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
886 }
887
888 /**
889 * @param taxon
890 * @param includeRelationships
891 * @param maxDepth
892 * @param limit
893 * @param start
894 * @param propertyPaths
895 * @return
896 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listRelatedTaxa(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List)
897 */
898 @Override
899 public Set<Taxon> listRelatedTaxa(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Integer maxDepth, Integer limit, Integer start, List<String> propertyPaths) {
900 return defaultService.listRelatedTaxa(taxon, includeRelationships, maxDepth, limit, start, propertyPaths);
901 }
902
903 /**
904 * @param taxonBase
905 * @param limit
906 * @param start
907 * @param propertyPaths
908 * @return
909 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listClassifications(eu.etaxonomy.cdm.model.taxon.TaxonBase, java.lang.Integer, java.lang.Integer, java.util.List)
910 */
911 @Override
912 public List<Classification> listClassifications(TaxonBase taxonBase, Integer limit, Integer start, List<String> propertyPaths) {
913 return defaultService.listClassifications(taxonBase, limit, start, propertyPaths);
914 }
915
916 /**
917 * @param synonym
918 * @param type
919 * @param pageSize
920 * @param pageNumber
921 * @param orderHints
922 * @param propertyPaths
923 * @return
924 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getSynonyms(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
925 */
926 @Override
927 public Pager<SynonymRelationship> getSynonyms(Synonym synonym, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
928 return defaultService.getSynonyms(synonym, type, pageSize, pageNumber, orderHints, propertyPaths);
929 }
930
931 /**
932 * @param taxon
933 * @param type
934 * @param pageSize
935 * @param pageNumber
936 * @param orderHints
937 * @param propertyPaths
938 * @return
939 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
940 */
941 @Override
942 public Pager<SynonymRelationship> getSynonyms(Taxon taxon, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
943 return defaultService.getSynonyms(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
944 }
945
946 /**
947 * @param taxon
948 * @param propertyPaths
949 * @return
950 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHomotypicSynonymsByHomotypicGroup(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
951 */
952 @Override
953 public List<Synonym> getHomotypicSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
954 return defaultService.getHomotypicSynonymsByHomotypicGroup(taxon, propertyPaths);
955 }
956
957 /**
958 * @param taxon
959 * @param propertyPaths
960 * @return
961 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHeterotypicSynonymyGroups(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
962 */
963 @Override
964 public List<List<Synonym>> getHeterotypicSynonymyGroups(Taxon taxon, List<String> propertyPaths) {
965 return defaultService.getHeterotypicSynonymyGroups(taxon, propertyPaths);
966 }
967
968 /**
969 * @param clazz
970 * @param queryString
971 * @param pageSize
972 * @param pageNumber
973 * @param orderHints
974 * @param propertyPaths
975 * @return
976 * @see eu.etaxonomy.cdm.api.service.ITaxonService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
977 */
978 @Override
979 public Pager<TaxonBase> search(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
980 return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
981 }
982
983 /**
984 * @param clazz
985 * @param uninomial
986 * @param infragenericEpithet
987 * @param specificEpithet
988 * @param infraspecificEpithet
989 * @param rank
990 * @param pageSize
991 * @param pageNumber
992 * @return
993 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByName(java.lang.Class, java.lang.String, java.lang.String, java.lang.String, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer)
994 */
995 @Override
996 public Pager<TaxonBase> findTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
997 return defaultService.findTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
998 }
999
1000 /**
1001 * @param clazz
1002 * @param uninomial
1003 * @param infragenericEpithet
1004 * @param specificEpithet
1005 * @param infraspecificEpithet
1006 * @param rank
1007 * @param pageSize
1008 * @param pageNumber
1009 * @return
1010 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listTaxaByName(java.lang.Class, java.lang.String, java.lang.String, java.lang.String, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer)
1011 */
1012 @Override
1013 public List<TaxonBase> listTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
1014 return defaultService.listTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
1015 }
1016
1017 /**
1018 * @param configurator
1019 * @return
1020 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNames(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
1021 */
1022 @Override
1023 public Pager<IdentifiableEntity> findTaxaAndNames(IFindTaxaAndNamesConfigurator configurator) {
1024 return defaultService.findTaxaAndNames(configurator);
1025 }
1026
1027 /**
1028 * @param queryString
1029 * @param classification
1030 * @param languages
1031 * @param highlightFragments
1032 * @param pageSize
1033 * @param pageNumber
1034 * @param orderHints
1035 * @param propertyPaths
1036 * @return
1037 * @throws CorruptIndexException
1038 * @throws IOException
1039 * @throws ParseException
1040 * @throws LuceneMultiSearchException
1041 * @deprecated
1042 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByEverythingFullText(java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1043 */
1044 @Deprecated
1045 @Override
1046 public Pager<SearchResult<TaxonBase>> findByEverythingFullText(String queryString, Classification classification, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException, LuceneMultiSearchException {
1047 return defaultService.findByEverythingFullText(queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1048 }
1049
1050 /**
1051 * @param clazz
1052 * @param queryString
1053 * @param classification
1054 * @param languages
1055 * @param highlightFragments
1056 * @param pageSize
1057 * @param pageNumber
1058 * @param orderHints
1059 * @param propertyPaths
1060 * @return
1061 * @throws CorruptIndexException
1062 * @throws IOException
1063 * @throws ParseException
1064 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByFullText(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1065 */
1066 @Override
1067 public Pager<SearchResult<TaxonBase>> findByFullText(Class<? extends TaxonBase> clazz, String queryString, Classification classification, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException {
1068 return defaultService.findByFullText(clazz, queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1069 }
1070
1071
1072 /* (non-Javadoc)
1073 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByDistribution(java.util.List, java.util.List, eu.etaxonomy.cdm.model.taxon.Classification, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1074 */
1075 @Override
1076 public Pager<SearchResult<TaxonBase>> findByDistribution(List<NamedArea> areaFilter,
1077 List<PresenceAbsenceTerm> statusFilter, Classification classification, Integer pageSize,
1078 Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws IOException,
1079 ParseException {
1080 return defaultService.findByDistribution(areaFilter, statusFilter, classification, pageSize, pageNumber, orderHints, propertyPaths);
1081 }
1082
1083
1084 /* (non-Javadoc)
1085 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesByFullText(java.util.EnumSet, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.Set, java.util.Set, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1086 */
1087 @Override
1088 public Pager<SearchResult<TaxonBase>> findTaxaAndNamesByFullText(EnumSet<TaxaAndNamesSearchMode> searchModes,
1089 String queryString, Classification classification, Set<NamedArea> namedAreas,
1090 Set<PresenceAbsenceTerm> distributionStatus, List<Language> languages, boolean highlightFragments,
1091 Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths)
1092 throws CorruptIndexException, IOException, ParseException, LuceneMultiSearchException {
1093 return defaultService.findTaxaAndNamesByFullText(searchModes, queryString, classification, namedAreas, distributionStatus, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1094 }
1095
1096 /**
1097 * @param clazz
1098 * @param queryString
1099 * @param classification
1100 * @param features
1101 * @param languages
1102 * @param highlightFragments
1103 * @param pageSize
1104 * @param pageNumber
1105 * @param orderHints
1106 * @param propertyPaths
1107 * @return
1108 * @throws CorruptIndexException
1109 * @throws IOException
1110 * @throws ParseException
1111 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByDescriptionElementFullText(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1112 */
1113 @Override
1114 public Pager<SearchResult<TaxonBase>> findByDescriptionElementFullText(Class<? extends DescriptionElementBase> clazz, String queryString, Classification classification, List<Feature> features, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException {
1115 return defaultService.findByDescriptionElementFullText(clazz, queryString, classification, features, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1116 }
1117
1118 /**
1119 * @param taxon
1120 * @param size
1121 * @param height
1122 * @param widthOrDuration
1123 * @param mimeTypes
1124 * @return
1125 * @deprecated
1126 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllMedia(eu.etaxonomy.cdm.model.taxon.Taxon, int, int, int, java.lang.String[])
1127 */
1128 @Deprecated
1129 @Override
1130 public List<MediaRepresentation> getAllMedia(Taxon taxon, int size, int height, int widthOrDuration, String[] mimeTypes) {
1131 return defaultService.getAllMedia(taxon, size, height, widthOrDuration, mimeTypes);
1132 }
1133
1134 /**
1135 * @param taxon
1136 * @param includeRelationships
1137 * @param limitToGalleries
1138 * @param propertyPath
1139 * @return
1140 * @deprecated
1141 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listTaxonDescriptionMedia(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, boolean, java.util.List)
1142 */
1143 @Deprecated
1144 @Override
1145 public List<Media> listTaxonDescriptionMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, boolean limitToGalleries, List<String> propertyPath) {
1146 return defaultService.listTaxonDescriptionMedia(taxon, includeRelationships, limitToGalleries, propertyPath);
1147 }
1148
1149 /**
1150 * @param taxon
1151 * @param includeRelationships
1152 * @param limitToGalleries
1153 * @param includeTaxonDescriptions
1154 * @param includeOccurrences
1155 * @param includeTaxonNameDescriptions
1156 * @param propertyPath
1157 * @return
1158 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listMedia(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.util.List)
1159 */
1160 @Override
1161 public List<Media> listMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Boolean limitToGalleries, Boolean includeTaxonDescriptions, Boolean includeOccurrences, Boolean includeTaxonNameDescriptions, List<String> propertyPath) {
1162 return defaultService.listMedia(taxon, includeRelationships, limitToGalleries, includeTaxonDescriptions, includeOccurrences, includeTaxonNameDescriptions, propertyPath);
1163 }
1164
1165 /**
1166 * @param listOfIDs
1167 * @return
1168 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByID(java.util.Set)
1169 */
1170 @Override
1171 public List<TaxonBase> findTaxaByID(Set<Integer> listOfIDs) {
1172 return defaultService.findTaxaByID(listOfIDs);
1173 }
1174
1175 /**
1176 * @param uuid
1177 * @param propertyPaths
1178 * @return
1179 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxonByUuid(java.util.UUID, java.util.List)
1180 */
1181 @Override
1182 public TaxonBase findTaxonByUuid(UUID uuid, List<String> propertyPaths) {
1183 return defaultService.findTaxonByUuid(uuid, propertyPaths);
1184 }
1185
1186 /**
1187 * @return
1188 * @see eu.etaxonomy.cdm.api.service.ITaxonService#countAllRelationships()
1189 */
1190 @Override
1191 public int countAllRelationships() {
1192 return defaultService.countAllRelationships();
1193 }
1194
1195 /**
1196 * @param propertyPath
1197 * @return
1198 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNames(java.util.List)
1199 */
1200 @Override
1201 public List<TaxonNameBase> findIdenticalTaxonNames(List<String> propertyPath) {
1202 return defaultService.findIdenticalTaxonNames(propertyPath);
1203 }
1204
1205 /**
1206 * @param propertyPath
1207 * @return
1208 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNameIds(java.util.List)
1209 */
1210 @Override
1211 public List<TaxonNameBase> findIdenticalTaxonNameIds(List<String> propertyPath) {
1212 return defaultService.findIdenticalTaxonNameIds(propertyPath);
1213 }
1214
1215 /**
1216 * @param name
1217 * @return
1218 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getPhylumName(eu.etaxonomy.cdm.model.name.TaxonNameBase)
1219 */
1220 @Override
1221 public String getPhylumName(TaxonNameBase name) {
1222 return defaultService.getPhylumName(name);
1223 }
1224
1225 /**
1226 * @param syn
1227 * @return
1228 * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym)
1229 */
1230 @Override
1231 public long deleteSynonymRelationships(Synonym syn) {
1232 return defaultService.deleteSynonymRelationships(syn);
1233 }
1234
1235 /**
1236 * @param taxonBase
1237 * @param type
1238 * @param pageSize
1239 * @param pageNumber
1240 * @param orderHints
1241 * @param propertyPaths
1242 * @param direction
1243 * @return
1244 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listSynonymRelationships(eu.etaxonomy.cdm.model.taxon.TaxonBase, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List, eu.etaxonomy.cdm.model.common.RelationshipBase.Direction)
1245 */
1246 @Override
1247 public List<SynonymRelationship> listSynonymRelationships(TaxonBase taxonBase, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths, Direction direction) {
1248 return defaultService.listSynonymRelationships(taxonBase, type, pageSize, pageNumber, orderHints, propertyPaths, direction);
1249 }
1250
1251 /**
1252 * @param taxonName
1253 * @return
1254 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(java.lang.String)
1255 */
1256 @Override
1257 public Taxon findBestMatchingTaxon(String taxonName) {
1258 return defaultService.findBestMatchingTaxon(taxonName);
1259 }
1260
1261 /**
1262 * @param config
1263 * @return
1264 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
1265 */
1266 @Override
1267 public Taxon findBestMatchingTaxon(MatchingTaxonConfigurator config) {
1268 return defaultService.findBestMatchingTaxon(config);
1269 }
1270
1271 /**
1272 * @param taxonName
1273 * @return
1274 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingSynonym(java.lang.String)
1275 */
1276 @Override
1277 public Synonym findBestMatchingSynonym(String taxonName) {
1278 return defaultService.findBestMatchingSynonym(taxonName);
1279 }
1280
1281 /**
1282 * @return
1283 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheTaxon()
1284 */
1285 @Override
1286 public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheTaxon() {
1287 return defaultService.getUuidAndTitleCacheTaxon();
1288 }
1289
1290 /**
1291 * @return
1292 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheSynonym()
1293 */
1294 @Override
1295 public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheSynonym() {
1296 return defaultService.getUuidAndTitleCacheSynonym();
1297 }
1298
1299 /**
1300 * @param configurator
1301 * @return
1302 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesForEditor(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
1303 */
1304 @Override
1305 public List<UuidAndTitleCache<IdentifiableEntity>> findTaxaAndNamesForEditor(IFindTaxaAndNamesConfigurator configurator) {
1306 return defaultService.findTaxaAndNamesForEditor(configurator);
1307 }
1308
1309 /**
1310 * @param taxon
1311 * @param tree
1312 * @param type
1313 * @param doWithMisappliedNames
1314 * @return
1315 * @see eu.etaxonomy.cdm.api.service.ITaxonService#createInferredSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, boolean)
1316 */
1317 @Override
1318 public List<Synonym> createInferredSynonyms(Taxon taxon, Classification tree, SynonymRelationshipType type, boolean doWithMisappliedNames) {
1319 return defaultService.createInferredSynonyms(taxon, tree, type, doWithMisappliedNames);
1320 }
1321
1322 /**
1323 * @param taxon
1324 * @param tree
1325 * @param doWithMisappliedNames
1326 * @return
1327 * @see eu.etaxonomy.cdm.api.service.ITaxonService#createAllInferredSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, boolean)
1328 */
1329 @Override
1330 public List<Synonym> createAllInferredSynonyms(Taxon taxon, Classification tree, boolean doWithMisappliedNames) {
1331 return defaultService.createAllInferredSynonyms(taxon, tree, doWithMisappliedNames);
1332 }
1333
1334 @Override
1335 public DeleteResult deleteSynonym(Synonym arg0, SynonymDeletionConfigurator arg1) {
1336 return defaultService.deleteSynonym(arg0, arg1);
1337 }
1338
1339 @Override
1340 public DeleteResult deleteSynonym(Synonym arg0, Taxon arg1, SynonymDeletionConfigurator arg2) {
1341 return defaultService.deleteSynonym(arg0, arg1, arg2);
1342 }
1343
1344 @Override
1345 public List<List<Synonym>> getSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
1346 return defaultService.getSynonymsByHomotypicGroup(taxon, propertyPaths);
1347 }
1348
1349 @Override
1350 public Synonym changeRelatedTaxonToSynonym(Taxon fromTaxon, Taxon toTaxon,
1351 TaxonRelationshipType oldRelationshipType,
1352 SynonymRelationshipType synonymRelationshipType)
1353 throws DataChangeNoRollbackException {
1354
1355 return defaultService.changeRelatedTaxonToSynonym(fromTaxon, toTaxon, oldRelationshipType, synonymRelationshipType);
1356 }
1357
1358 /* (non-Javadoc)
1359 * @see eu.etaxonomy.cdm.api.service.ITaxonService#pageAcceptedTaxaFor(java.util.UUID, java.util.UUID, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1360 */
1361 @Override
1362 public Pager<Taxon> pageAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize,
1363 Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
1364 return defaultService.pageAcceptedTaxaFor(synonymUuid, classificationUuid, pageSize, pageNumber, orderHints, propertyPaths);
1365 }
1366
1367 /* (non-Javadoc)
1368 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listAcceptedTaxaFor(java.util.UUID, java.util.UUID, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1369 */
1370 @Override
1371 public List<Taxon> listAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize,
1372 Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
1373 return defaultService.listAcceptedTaxaFor(synonymUuid, classificationUuid, pageSize, pageNumber, orderHints, propertyPaths);
1374 }
1375
1376 @Override
1377 public DeleteResult isDeletable(TaxonBase object,
1378 DeleteConfiguratorBase config) {
1379 // TODO Auto-generated method stub
1380 return null;
1381 }
1382
1383 @Override
1384 public IncludedTaxaDTO listIncludedTaxa(UUID taxonUuid,
1385 IncludedTaxonConfiguration configuration) {
1386 // TODO Auto-generated method stub
1387 return null;
1388 }
1389
1390 @Override
1391 public TaxonBase findWithoutFlush(UUID uuid) {
1392 return defaultService.findWithoutFlush(uuid);
1393 }
1394
1395 /* (non-Javadoc)
1396 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByName(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
1397 */
1398 @Override
1399 public List<TaxonBase> findTaxaByName(MatchingTaxonConfigurator config) {
1400 return defaultService.findTaxaByName(config);
1401 }
1402
1403 @Override
1404 public <S extends TaxonBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
1405 return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
1406 }
1407
1408 /* (non-Javadoc)
1409 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByIdentifier(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.model.common.DefinedTerm, eu.etaxonomy.cdm.model.taxon.TaxonNode, eu.etaxonomy.cdm.persistence.query.MatchMode, boolean, java.lang.Integer, java.lang.Integer, java.util.List)
1410 */
1411 @Override
1412 public <S extends TaxonBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier,
1413 DefinedTerm identifierType, TaxonNode subtreeFilter, MatchMode matchmode, boolean includeEntity,
1414 Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
1415 return defaultService.findByIdentifier(clazz, identifier, identifierType, subtreeFilter, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
1416 }
1417
1418
1419
1420 /* (non-Javadoc)
1421 * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(java.util.UUID, java.util.UUID, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator)
1422 */
1423 @Override
1424 public DeleteResult deleteSynonym(UUID synonymUuid, UUID taxonUuid, SynonymDeletionConfigurator config) {
1425 return defaultService.deleteSynonym(synonymUuid, taxonUuid, config);
1426 }
1427
1428
1429 /**
1430 * {@inheritDoc}
1431
1432 */
1433 @Override
1434 public UpdateResult swapSynonymAndAcceptedTaxon(UUID synonymUUid, UUID acceptedTaxonUuid) {
1435 return defaultService.swapSynonymAndAcceptedTaxon(synonymUUid, acceptedTaxonUuid);
1436 }
1437
1438 /* (non-Javadoc)
1439 * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteTaxon(java.util.UUID, eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator, java.util.UUID)
1440 */
1441 @Override
1442 public DeleteResult deleteTaxon(UUID taxonUuid, TaxonDeletionConfigurator config, UUID classificationUuid) {
1443 return defaultService.deleteTaxon(taxonUuid, config, classificationUuid);
1444 }
1445
1446
1447 @Override
1448 public UpdateResult moveFactualDateToAnotherTaxon(UUID arg0, UUID arg1) {
1449 return defaultService.moveFactualDateToAnotherTaxon(arg0, arg1);
1450 }
1451
1452
1453 /**
1454 * {@inheritDoc}
1455 */
1456 @Override
1457 public SynonymRelationship moveSynonymToAnotherTaxon(
1458 SynonymRelationship oldSynonymRelation, UUID newTaxonUUID,
1459 boolean moveHomotypicGroup,
1460 SynonymRelationshipType newSynonymRelationshipType,
1461 Reference reference, String referenceDetail, boolean keepReference)
1462 throws HomotypicalGroupChangeException {
1463
1464 return defaultService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxonUUID, moveHomotypicGroup, newSynonymRelationshipType, reference, referenceDetail, keepReference);
1465 }
1466
1467
1468 /* (non-Javadoc)
1469 * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
1470 */
1471 @Override
1472 public DeleteResult delete(UUID uuid) {
1473 return defaultService.delete(uuid);
1474
1475 }
1476
1477 }