Project

General

Profile

Download (55.9 KB) Statistics
| Branch: | Tag: | Revision:
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.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.LockMode;
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.ITaxonService;
28
import eu.etaxonomy.cdm.api.service.TaxaAndNamesSearchMode;
29
import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator;
30
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
31
import eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator;
32
import eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator;
33
import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
34
import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException;
35
import eu.etaxonomy.cdm.api.service.exception.HomotypicalGroupChangeException;
36
import eu.etaxonomy.cdm.api.service.pager.Pager;
37
import eu.etaxonomy.cdm.api.service.search.LuceneMultiSearchException;
38
import eu.etaxonomy.cdm.api.service.search.SearchResult;
39
import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
40
import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
41
import eu.etaxonomy.cdm.model.common.Annotation;
42
import eu.etaxonomy.cdm.model.common.ISourceable;
43
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
44
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
45
import eu.etaxonomy.cdm.model.common.LSID;
46
import eu.etaxonomy.cdm.model.common.Language;
47
import eu.etaxonomy.cdm.model.common.Marker;
48
import eu.etaxonomy.cdm.model.common.MarkerType;
49
import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;
50
import eu.etaxonomy.cdm.model.common.RelationshipBase;
51
import eu.etaxonomy.cdm.model.common.RelationshipBase.Direction;
52
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
53
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
54
import eu.etaxonomy.cdm.model.description.Feature;
55
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
56
import eu.etaxonomy.cdm.model.location.NamedArea;
57
import eu.etaxonomy.cdm.model.media.Media;
58
import eu.etaxonomy.cdm.model.media.MediaRepresentation;
59
import eu.etaxonomy.cdm.model.media.Rights;
60
import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
61
import eu.etaxonomy.cdm.model.name.Rank;
62
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
63
import eu.etaxonomy.cdm.model.reference.Reference;
64
import eu.etaxonomy.cdm.model.taxon.Classification;
65
import eu.etaxonomy.cdm.model.taxon.Synonym;
66
import eu.etaxonomy.cdm.model.taxon.SynonymRelationship;
67
import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
68
import eu.etaxonomy.cdm.model.taxon.Taxon;
69
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
70
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
71
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
72
import eu.etaxonomy.cdm.model.view.AuditEvent;
73
import eu.etaxonomy.cdm.model.view.AuditEventRecord;
74
import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
75
import eu.etaxonomy.cdm.persistence.fetch.CdmFetch;
76
import eu.etaxonomy.cdm.persistence.query.Grouping;
77
import eu.etaxonomy.cdm.persistence.query.MatchMode;
78
import eu.etaxonomy.cdm.persistence.query.OrderHint;
79
import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
80
import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
81
import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
82

    
83
/**
84
 * @author pplitzner
85
 * @date 27.09.2013
86
 *
87
 */
88
public class TransientTaxonService implements ITaxonService {
89

    
90
    private final ITaxonService defaultTaxonService;
91

    
92
    /**
93
     * @param defaultTaxonService
94
     */
95
    public TransientTaxonService(ITaxonService defaultTaxonService) {
96
        this.defaultTaxonService = defaultTaxonService;
97
    }
98

    
99
    /**
100
     * @param t
101
     * @param pageSize
102
     * @param pageNumber
103
     * @param sort
104
     * @param propertyPaths
105
     * @return
106
     * @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)
107
     */
108
    @Override
109
    public Pager<AuditEventRecord<TaxonBase>> pageAuditEvents(TaxonBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
110
        return defaultTaxonService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
111
    }
112

    
113
    /**
114
     * @param annotatedObj
115
     * @param status
116
     * @param pageSize
117
     * @param pageNumber
118
     * @param orderHints
119
     * @param propertyPaths
120
     * @return
121
     * @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)
122
     */
123
    @Override
124
    public Pager<Annotation> getAnnotations(TaxonBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
125
        return defaultTaxonService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
126
    }
127

    
128
    /**
129
     *
130
     * @see eu.etaxonomy.cdm.api.service.IService#clear()
131
     */
132
    @Override
133
    public void clear() {
134
        defaultTaxonService.clear();
135
    }
136

    
137
    /**
138
     * @param t
139
     * @param lockMode
140
     * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
141
     */
142
    @Override
143
    public void lock(TaxonBase t, LockMode lockMode) {
144
        defaultTaxonService.lock(t, lockMode);
145
    }
146

    
147
    /**
148
     * @param t
149
     * @param lockMode
150
     * @param propertyPaths
151
     * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
152
     */
153
    @Override
154
    public void refresh(TaxonBase t, LockMode lockMode, List<String> propertyPaths) {
155
        defaultTaxonService.refresh(t, lockMode, propertyPaths);
156
    }
157

    
158
    /**
159
     *
160
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
161
     */
162
    @Override
163
    public void updateTitleCache() {
164
        defaultTaxonService.updateTitleCache();
165
    }
166

    
167
    /**
168
     * @param t
169
     * @return
170
     * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
171
     */
172
    @Override
173
    public AuditEventRecord<TaxonBase> getNextAuditEvent(TaxonBase t) {
174
        return defaultTaxonService.getNextAuditEvent(t);
175
    }
176

    
177
    /**
178
     * @param annotatableEntity
179
     * @param technical
180
     * @param pageSize
181
     * @param pageNumber
182
     * @param orderHints
183
     * @param propertyPaths
184
     * @return
185
     * @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)
186
     */
187
    @Override
188
    public Pager<Marker> getMarkers(TaxonBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
189
        return defaultTaxonService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
190
    }
191

    
192
    /**
193
     * @param clazz
194
     * @param stepSize
195
     * @param cacheStrategy
196
     * @param monitor
197
     * @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)
198
     */
199
    @Override
200
    public void updateTitleCache(Class<? extends TaxonBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<TaxonBase> cacheStrategy, IProgressMonitor monitor) {
201
        defaultTaxonService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
202
    }
203

    
204
    /**
205
     * @param t
206
     * @return
207
     * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
208
     */
209
    @Override
210
    public AuditEventRecord<TaxonBase> getPreviousAuditEvent(TaxonBase t) {
211
        return defaultTaxonService.getPreviousAuditEvent(t);
212
    }
213

    
214
    /**
215
     * @param clazz
216
     * @return
217
     * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
218
     */
219
    @Override
220
    public int count(Class<? extends TaxonBase> clazz) {
221
        return defaultTaxonService.count(clazz);
222
    }
223

    
224
    /**
225
     * @param clazz
226
     * @param from
227
     * @param to
228
     * @param criteria
229
     * @param pageSize
230
     * @param pageValue
231
     * @param sort
232
     * @param propertyPaths
233
     * @return
234
     * @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)
235
     */
236
    @Override
237
    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) {
238
        return defaultTaxonService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
239
    }
240

    
241
    /**
242
     * @param lsid
243
     * @return
244
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
245
     */
246
    @Override
247
    public TaxonBase find(LSID lsid) {
248
        return defaultTaxonService.find(lsid);
249
    }
250

    
251
    /**
252
     * @param persistentObject
253
     * @return
254
     * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
255
     */
256
    @Override
257
    public UUID delete(TaxonBase persistentObject) {
258
        return defaultTaxonService.delete(persistentObject);
259
    }
260

    
261
    /**
262
     * @param clazz
263
     * @param technical
264
     * @param pageSize
265
     * @param pageNumber
266
     * @param propertyPaths
267
     * @return
268
     * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
269
     */
270
    @Override
271
    public List<Object[]> groupMarkers(Class<? extends TaxonBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
272
        return defaultTaxonService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
273
    }
274

    
275
    /**
276
     * @param uuid
277
     * @return
278
     * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
279
     */
280
    @Override
281
    public boolean exists(UUID uuid) {
282
        return defaultTaxonService.exists(uuid);
283
    }
284

    
285
    /**
286
     * @param limit
287
     * @param start
288
     * @return
289
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllSynonyms(int, int)
290
     */
291
    @Override
292
    public List<Synonym> getAllSynonyms(int limit, int start) {
293
        return defaultTaxonService.getAllSynonyms(limit, start);
294
    }
295

    
296
    /**
297
     * @param x
298
     * @param y
299
     * @return
300
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
301
     */
302
    @Override
303
    public TaxonBase replace(TaxonBase x, TaxonBase y) {
304
        return defaultTaxonService.replace(x, y);
305
    }
306

    
307
    /**
308
     * @param limit
309
     * @param start
310
     * @return
311
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllTaxa(int, int)
312
     */
313
    @Override
314
    public List<Taxon> getAllTaxa(int limit, int start) {
315
        return defaultTaxonService.getAllTaxa(limit, start);
316
    }
317

    
318
    /**
319
     * @param uuidSet
320
     * @return
321
     * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
322
     */
323
    @Override
324
    public List<TaxonBase> find(Set<UUID> uuidSet) {
325
        return defaultTaxonService.find(uuidSet);
326
    }
327

    
328
    /**
329
     * @param t
330
     * @param pageSize
331
     * @param pageNumber
332
     * @param propertyPaths
333
     * @return
334
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
335
     */
336
    @Override
337
    public Pager<IdentifiableSource> getSources(TaxonBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
338
        return defaultTaxonService.getSources(t, pageSize, pageNumber, propertyPaths);
339
    }
340

    
341
    /**
342
     * @param sec
343
     * @param cdmFetch
344
     * @param onlyWithChildren
345
     * @return
346
     * @deprecated
347
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getRootTaxa(eu.etaxonomy.cdm.model.reference.Reference, eu.etaxonomy.cdm.persistence.fetch.CdmFetch, boolean)
348
     */
349
    @Deprecated
350
    @Override
351
    public List<Taxon> getRootTaxa(Reference sec, CdmFetch cdmFetch, boolean onlyWithChildren) {
352
        return defaultTaxonService.getRootTaxa(sec, cdmFetch, onlyWithChildren);
353
    }
354

    
355
    /**
356
     * @param uuid
357
     * @return
358
     * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
359
     */
360
    @Override
361
    public TaxonBase find(UUID uuid) {
362
        return defaultTaxonService.find(uuid);
363
    }
364

    
365
    /**
366
     * @param rank
367
     * @param sec
368
     * @param onlyWithChildren
369
     * @param withMisapplications
370
     * @param propertyPaths
371
     * @return
372
     * @deprecated
373
     * @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)
374
     */
375
    @Deprecated
376
    @Override
377
    public List<Taxon> getRootTaxa(Rank rank, Reference sec, boolean onlyWithChildren, boolean withMisapplications, List<String> propertyPaths) {
378
        return defaultTaxonService.getRootTaxa(rank, sec, onlyWithChildren, withMisapplications, propertyPaths);
379
    }
380

    
381
    /**
382
     * @param id
383
     * @return
384
     * @see eu.etaxonomy.cdm.api.service.IService#find(int)
385
     */
386
    @Override
387
    public TaxonBase find(int id) {
388
        return defaultTaxonService.find(id);
389
    }
390

    
391
    /**
392
     * @param t
393
     * @param pageSize
394
     * @param pageNumber
395
     * @param propertyPaths
396
     * @return
397
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
398
     */
399
    @Override
400
    public Pager<Rights> getRights(TaxonBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
401
        return defaultTaxonService.getRights(t, pageSize, pageNumber, propertyPaths);
402
    }
403

    
404
    /**
405
     * @param clazz
406
     * @param technical
407
     * @return
408
     * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
409
     */
410
    @Override
411
    public int countMarkers(Class<? extends TaxonBase> clazz, Boolean technical) {
412
        return defaultTaxonService.countMarkers(clazz, technical);
413
    }
414

    
415
    /**
416
     * @param idSet
417
     * @return
418
     * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
419
     */
420
    @Override
421
    public List<TaxonBase> findById(Set<Integer> idSet) {
422
        return defaultTaxonService.findById(idSet);
423
    }
424

    
425
    /**
426
     * @param clazz
427
     * @param idInSource
428
     * @param idNamespace
429
     * @return
430
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
431
     */
432
    @Override
433
    public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
434
        return defaultTaxonService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
435
    }
436

    
437
    /**
438
     * @return
439
     * @see eu.etaxonomy.cdm.api.service.IService#getSession()
440
     */
441
    @Override
442
    public Session getSession() {
443
        return defaultTaxonService.getSession();
444
    }
445

    
446
    /**
447
     * @return
448
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
449
     */
450
    @Override
451
    public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCache() {
452
        return defaultTaxonService.getUuidAndTitleCache();
453
    }
454

    
455
    /**
456
     * @param clazz
457
     * @param limit
458
     * @param start
459
     * @param groups
460
     * @param propertyPaths
461
     * @return
462
     * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
463
     */
464
    @Override
465
    public List<Object[]> group(Class<? extends TaxonBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
466
        return defaultTaxonService.group(clazz, limit, start, groups, propertyPaths);
467
    }
468

    
469
    /**
470
     * @param limit
471
     * @param start
472
     * @return
473
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllRelationships(int, int)
474
     */
475
    @Override
476
    public List<RelationshipBase> getAllRelationships(int limit, int start) {
477
        return defaultTaxonService.getAllRelationships(limit, start);
478
    }
479

    
480
    /**
481
     * @param clazz
482
     * @param queryString
483
     * @param matchmode
484
     * @param criteria
485
     * @param pageSize
486
     * @param pageNumber
487
     * @param orderHints
488
     * @param propertyPaths
489
     * @return
490
     * @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)
491
     */
492
    @Override
493
    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) {
494
        return defaultTaxonService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
495
    }
496

    
497
    /**
498
     * @return
499
     * @deprecated
500
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getTaxonRelationshipTypeVocabulary()
501
     */
502
    @Deprecated
503
    @Override
504
    public OrderedTermVocabulary<TaxonRelationshipType> getTaxonRelationshipTypeVocabulary() {
505
        return defaultTaxonService.getTaxonRelationshipTypeVocabulary();
506
    }
507

    
508
    /**
509
     * @param name
510
     * @param sec
511
     * @return
512
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#searchTaxaByName(java.lang.String, eu.etaxonomy.cdm.model.reference.Reference)
513
     */
514
    @Override
515
    public List<TaxonBase> searchTaxaByName(String name, Reference sec) {
516
        return defaultTaxonService.searchTaxaByName(name, sec);
517
    }
518

    
519
    /**
520
     * @param synonym
521
     * @param acceptedTaxon
522
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#swapSynonymAndAcceptedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
523
     */
524
    @Override
525
    public void swapSynonymAndAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon) {
526
        defaultTaxonService.swapSynonymAndAcceptedTaxon(synonym, acceptedTaxon);
527
    }
528

    
529
    /**
530
     * @param type
531
     * @param limit
532
     * @param start
533
     * @param orderHints
534
     * @param propertyPaths
535
     * @return
536
     * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
537
     */
538
    @Override
539
    public List<TaxonBase> list(Class<? extends TaxonBase> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
540
        return defaultTaxonService.list(type, limit, start, orderHints, propertyPaths);
541
    }
542

    
543
    /**
544
     * @param configurator
545
     * @return
546
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
547
     */
548
    @Override
549
    public Pager<TaxonBase> findByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
550
        return defaultTaxonService.findByTitle(configurator);
551
    }
552

    
553
    /**
554
     * @param synonym
555
     * @param acceptedTaxon
556
     * @param deleteSynonym
557
     * @param copyCitationInfo
558
     * @param citation
559
     * @param microCitation
560
     * @return
561
     * @throws HomotypicalGroupChangeException
562
     * @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)
563
     */
564
    @Override
565
    public Taxon changeSynonymToAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon, boolean deleteSynonym, boolean copyCitationInfo, Reference citation, String microCitation) throws HomotypicalGroupChangeException {
566
        return defaultTaxonService.changeSynonymToAcceptedTaxon(synonym, acceptedTaxon, deleteSynonym, copyCitationInfo, citation, microCitation);
567
    }
568

    
569
    /**
570
     * @param clazz
571
     * @param queryString
572
     * @param matchmode
573
     * @param criteria
574
     * @return
575
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
576
     */
577
    @Override
578
    public Integer countByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
579
        return defaultTaxonService.countByTitle(clazz, queryString, matchmode, criteria);
580
    }
581

    
582
    /**
583
     * @param uuid
584
     * @return
585
     * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
586
     */
587
    @Override
588
    public TaxonBase load(UUID uuid) {
589
        return defaultTaxonService.load(uuid);
590
    }
591

    
592
    /**
593
     * @param uuid
594
     * @param propertyPaths
595
     * @return
596
     * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
597
     */
598
    @Override
599
    public TaxonBase load(UUID uuid, List<String> propertyPaths) {
600
        return defaultTaxonService.load(uuid, propertyPaths);
601
    }
602

    
603
    /**
604
     * @param configurator
605
     * @return
606
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
607
     */
608
    @Override
609
    public Integer countByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
610
        return defaultTaxonService.countByTitle(configurator);
611
    }
612

    
613
    /**
614
     * @param transientObject
615
     * @return
616
     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
617
     */
618
    @Override
619
    public TaxonBase merge(TaxonBase transientObject) {
620
        return defaultTaxonService.merge(transientObject);
621
    }
622

    
623
    /**
624
     * @param clazz
625
     * @param queryString
626
     * @param matchmode
627
     * @param criteria
628
     * @param pageSize
629
     * @param pageNumber
630
     * @param orderHints
631
     * @param propertyPaths
632
     * @return
633
     * @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)
634
     */
635
    @Override
636
    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) {
637
        return defaultTaxonService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
638
    }
639

    
640
    /**
641
     * @param type
642
     * @param pageSize
643
     * @param pageNumber
644
     * @param orderHints
645
     * @param propertyPaths
646
     * @return
647
     * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
648
     */
649
    @Override
650
    public Pager<TaxonBase> page(Class<? extends TaxonBase> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
651
        return defaultTaxonService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
652
    }
653

    
654
    /**
655
     * @param persistentObject
656
     * @return
657
     * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
658
     */
659
    @Override
660
    public UUID refresh(TaxonBase persistentObject) {
661
        return defaultTaxonService.refresh(persistentObject);
662
    }
663

    
664
    /**
665
     * @param synonym
666
     * @param toTaxon
667
     * @param taxonRelationshipType
668
     * @param reference
669
     * @param microReference
670
     * @return
671
     * @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)
672
     */
673
    @Override
674
    public Taxon changeSynonymToRelatedTaxon(Synonym synonym, Taxon toTaxon, TaxonRelationshipType taxonRelationshipType, Reference reference, String microReference) {
675
        return defaultTaxonService.changeSynonymToRelatedTaxon(synonym, toTaxon, taxonRelationshipType, reference, microReference);
676
    }
677

    
678
    /**
679
     * @param clazz
680
     * @param queryString
681
     * @param matchmode
682
     * @param criteria
683
     * @param pageSize
684
     * @param pageNumber
685
     * @param orderHints
686
     * @param propertyPaths
687
     * @return
688
     * @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)
689
     */
690
    @Override
691
    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) {
692
        return defaultTaxonService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
693
    }
694

    
695
    /**
696
     * @param tableName
697
     * @param limit
698
     * @param start
699
     * @return
700
     * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
701
     */
702
    @Override
703
    public List<TaxonBase> rows(String tableName, int limit, int start) {
704
        return defaultTaxonService.rows(tableName, limit, start);
705
    }
706

    
707
    /**
708
     * @param newInstances
709
     * @return
710
     * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
711
     */
712
    @Override
713
    public Map<UUID, TaxonBase> save(Collection<TaxonBase> newInstances) {
714
        return null;
715
    }
716

    
717
    /**
718
     * @param syn
719
     * @param taxon
720
     * @return
721
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
722
     */
723
    @Override
724
    public long deleteSynonymRelationships(Synonym syn, Taxon taxon) {
725
        return defaultTaxonService.deleteSynonymRelationships(syn, taxon);
726
    }
727

    
728
    /**
729
     * @param newInstance
730
     * @return
731
     * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
732
     */
733
    @Override
734
    public UUID save(TaxonBase newInstance) {
735
        return null;
736
    }
737

    
738
    /**
739
     * @param transientObject
740
     * @return
741
     * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
742
     */
743
    @Override
744
    public UUID saveOrUpdate(TaxonBase transientObject) {
745
        return null;
746
    }
747

    
748
    /**
749
     * @param synonym
750
     * @param newHomotypicalGroup
751
     * @param targetTaxon
752
     * @param removeFromOtherTaxa
753
     * @param setBasionymRelationIfApplicable
754
     * @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)
755
     */
756
    @Override
757
    public void changeHomotypicalGroupOfSynonym(Synonym synonym, HomotypicalGroup newHomotypicalGroup, Taxon targetTaxon, boolean removeFromOtherTaxa, boolean setBasionymRelationIfApplicable) {
758
        defaultTaxonService.changeHomotypicalGroupOfSynonym(synonym, newHomotypicalGroup, targetTaxon, removeFromOtherTaxa, setBasionymRelationIfApplicable);
759
    }
760

    
761
    /**
762
     * @param transientObjects
763
     * @return
764
     * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
765
     */
766
    @Override
767
    public Map<UUID, TaxonBase> saveOrUpdate(Collection<TaxonBase> transientObjects) {
768
        return null;
769
    }
770

    
771
    /**
772
     * @param transientObject
773
     * @return
774
     * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
775
     */
776
    @Override
777
    public UUID update(TaxonBase transientObject) {
778
        return defaultTaxonService.update(transientObject);
779
    }
780

    
781
    /**
782
     * @param example
783
     * @param includeProperties
784
     * @param limit
785
     * @param start
786
     * @param orderHints
787
     * @param propertyPaths
788
     * @return
789
     * @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)
790
     */
791
    @Override
792
    public List<TaxonBase> list(TaxonBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
793
        return defaultTaxonService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
794
    }
795

    
796
    /**
797
     * @param oldSynonymRelation
798
     * @param newTaxon
799
     * @param moveHomotypicGroup
800
     * @param newSynonymRelationshipType
801
     * @param newReference
802
     * @param newReferenceDetail
803
     * @param keepReference
804
     * @return
805
     * @throws HomotypicalGroupChangeException
806
     * @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)
807
     */
808
    @Override
809
    public SynonymRelationship moveSynonymToAnotherTaxon(SynonymRelationship oldSynonymRelation, Taxon newTaxon, boolean moveHomotypicGroup, SynonymRelationshipType newSynonymRelationshipType, Reference newReference, String newReferenceDetail, boolean keepReference) throws HomotypicalGroupChangeException {
810
        return defaultTaxonService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxon, moveHomotypicGroup, newSynonymRelationshipType, newReference, newReferenceDetail, keepReference);
811
    }
812

    
813
    /**
814
     * @param clazz
815
     * @param matchStrategy
816
     * @param mergeStrategy
817
     * @return
818
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
819
     */
820
    @Override
821
    public int deduplicate(Class<? extends TaxonBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
822
        return defaultTaxonService.deduplicate(clazz, matchStrategy, mergeStrategy);
823
    }
824

    
825
    /**
826
     * @param clazz
827
     * @param queryString
828
     * @param pageSize
829
     * @param pageNumber
830
     * @param orderHints
831
     * @param matchMode
832
     * @return
833
     * @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)
834
     */
835
    @Override
836
    public Pager<TaxonBase> findTitleCache(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
837
        return defaultTaxonService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
838
    }
839

    
840
    /**
841
     * @param taxon
842
     * @param type
843
     * @param pageSize
844
     * @param pageNumber
845
     * @param orderHints
846
     * @param propertyPaths
847
     * @return
848
     * @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)
849
     */
850
    @Override
851
    public List<TaxonRelationship> listToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
852
        return defaultTaxonService.listToTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
853
    }
854

    
855
    /**
856
     * @param taxon
857
     * @param type
858
     * @param pageSize
859
     * @param pageNumber
860
     * @param orderHints
861
     * @param propertyPaths
862
     * @return
863
     * @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)
864
     */
865
    @Override
866
    public Pager<TaxonRelationship> pageToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
867
        return defaultTaxonService.pageToTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
868
    }
869

    
870
    /**
871
     * @param taxon
872
     * @param type
873
     * @param pageSize
874
     * @param pageNumber
875
     * @param orderHints
876
     * @param propertyPaths
877
     * @return
878
     * @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)
879
     */
880
    @Override
881
    public List<TaxonRelationship> listFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
882
        return defaultTaxonService.listFromTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
883
    }
884

    
885
    /**
886
     * @param taxon
887
     * @param type
888
     * @param pageSize
889
     * @param pageNumber
890
     * @param orderHints
891
     * @param propertyPaths
892
     * @return
893
     * @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)
894
     */
895
    @Override
896
    public Pager<TaxonRelationship> pageFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
897
        return defaultTaxonService.pageFromTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
898
    }
899

    
900
    /**
901
     * @param taxon
902
     * @param includeRelationships
903
     * @param maxDepth
904
     * @param limit
905
     * @param start
906
     * @param propertyPaths
907
     * @return
908
     * @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)
909
     */
910
    @Override
911
    public Set<Taxon> listRelatedTaxa(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Integer maxDepth, Integer limit, Integer start, List<String> propertyPaths) {
912
        return defaultTaxonService.listRelatedTaxa(taxon, includeRelationships, maxDepth, limit, start, propertyPaths);
913
    }
914

    
915
    /**
916
     * @param taxonBase
917
     * @param limit
918
     * @param start
919
     * @param propertyPaths
920
     * @return
921
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#listClassifications(eu.etaxonomy.cdm.model.taxon.TaxonBase, java.lang.Integer, java.lang.Integer, java.util.List)
922
     */
923
    @Override
924
    public List<Classification> listClassifications(TaxonBase taxonBase, Integer limit, Integer start, List<String> propertyPaths) {
925
        return defaultTaxonService.listClassifications(taxonBase, limit, start, propertyPaths);
926
    }
927

    
928
    /**
929
     * @param synonym
930
     * @param type
931
     * @param pageSize
932
     * @param pageNumber
933
     * @param orderHints
934
     * @param propertyPaths
935
     * @return
936
     * @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)
937
     */
938
    @Override
939
    public Pager<SynonymRelationship> getSynonyms(Synonym synonym, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
940
        return defaultTaxonService.getSynonyms(synonym, type, pageSize, pageNumber, orderHints, propertyPaths);
941
    }
942

    
943
    /**
944
     * @param taxon
945
     * @param type
946
     * @param pageSize
947
     * @param pageNumber
948
     * @param orderHints
949
     * @param propertyPaths
950
     * @return
951
     * @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)
952
     */
953
    @Override
954
    public Pager<SynonymRelationship> getSynonyms(Taxon taxon, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
955
        return defaultTaxonService.getSynonyms(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
956
    }
957

    
958
    /**
959
     * @param taxon
960
     * @param propertyPaths
961
     * @return
962
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHomotypicSynonymsByHomotypicGroup(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
963
     */
964
    @Override
965
    public List<Synonym> getHomotypicSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
966
        return defaultTaxonService.getHomotypicSynonymsByHomotypicGroup(taxon, propertyPaths);
967
    }
968

    
969
    /**
970
     * @param taxon
971
     * @param propertyPaths
972
     * @return
973
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHeterotypicSynonymyGroups(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
974
     */
975
    @Override
976
    public List<List<Synonym>> getHeterotypicSynonymyGroups(Taxon taxon, List<String> propertyPaths) {
977
        return defaultTaxonService.getHeterotypicSynonymyGroups(taxon, propertyPaths);
978
    }
979

    
980
    /**
981
     * @param clazz
982
     * @param queryString
983
     * @param pageSize
984
     * @param pageNumber
985
     * @param orderHints
986
     * @param propertyPaths
987
     * @return
988
     * @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)
989
     */
990
    @Override
991
    public Pager<TaxonBase> search(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
992
        return defaultTaxonService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
993
    }
994

    
995
    /**
996
     * @param clazz
997
     * @param uninomial
998
     * @param infragenericEpithet
999
     * @param specificEpithet
1000
     * @param infraspecificEpithet
1001
     * @param rank
1002
     * @param pageSize
1003
     * @param pageNumber
1004
     * @return
1005
     * @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)
1006
     */
1007
    @Override
1008
    public Pager<TaxonBase> findTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
1009
        return defaultTaxonService.findTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
1010
    }
1011

    
1012
    /**
1013
     * @param clazz
1014
     * @param uninomial
1015
     * @param infragenericEpithet
1016
     * @param specificEpithet
1017
     * @param infraspecificEpithet
1018
     * @param rank
1019
     * @param pageSize
1020
     * @param pageNumber
1021
     * @return
1022
     * @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)
1023
     */
1024
    @Override
1025
    public List<TaxonBase> listTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
1026
        return defaultTaxonService.listTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
1027
    }
1028

    
1029
    /**
1030
     * @param configurator
1031
     * @return
1032
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNames(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
1033
     */
1034
    @Override
1035
    public Pager<IdentifiableEntity> findTaxaAndNames(IFindTaxaAndNamesConfigurator configurator) {
1036
        return defaultTaxonService.findTaxaAndNames(configurator);
1037
    }
1038

    
1039
    /**
1040
     * @param queryString
1041
     * @param classification
1042
     * @param languages
1043
     * @param highlightFragments
1044
     * @param pageSize
1045
     * @param pageNumber
1046
     * @param orderHints
1047
     * @param propertyPaths
1048
     * @return
1049
     * @throws CorruptIndexException
1050
     * @throws IOException
1051
     * @throws ParseException
1052
     * @throws LuceneMultiSearchException
1053
     * @deprecated
1054
     * @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)
1055
     */
1056
    @Deprecated
1057
    @Override
1058
    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 {
1059
        return defaultTaxonService.findByEverythingFullText(queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1060
    }
1061

    
1062
    /**
1063
     * @param clazz
1064
     * @param queryString
1065
     * @param classification
1066
     * @param languages
1067
     * @param highlightFragments
1068
     * @param pageSize
1069
     * @param pageNumber
1070
     * @param orderHints
1071
     * @param propertyPaths
1072
     * @return
1073
     * @throws CorruptIndexException
1074
     * @throws IOException
1075
     * @throws ParseException
1076
     * @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)
1077
     */
1078
    @Override
1079
    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 {
1080
        return defaultTaxonService.findByFullText(clazz, queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1081
    }
1082

    
1083
    /**
1084
     * @param areaFilter
1085
     * @param statusFilter
1086
     * @param classification
1087
     * @param pageSize
1088
     * @param pageNumber
1089
     * @param orderHints
1090
     * @param propertyPaths
1091
     * @return
1092
     * @throws IOException
1093
     * @throws ParseException
1094
     * @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)
1095
     */
1096
    @Override
1097
    public Pager<SearchResult<TaxonBase>> findByDistribution(List<NamedArea> areaFilter, List<PresenceAbsenceTermBase<?>> statusFilter, Classification classification, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws IOException, ParseException {
1098
        return defaultTaxonService.findByDistribution(areaFilter, statusFilter, classification, pageSize, pageNumber, orderHints, propertyPaths);
1099
    }
1100

    
1101
    /**
1102
     * @param searchModes
1103
     * @param queryString
1104
     * @param classification
1105
     * @param namedAreas
1106
     * @param distributionStatus
1107
     * @param languages
1108
     * @param highlightFragments
1109
     * @param pageSize
1110
     * @param pageNumber
1111
     * @param orderHints
1112
     * @param propertyPaths
1113
     * @return
1114
     * @throws CorruptIndexException
1115
     * @throws IOException
1116
     * @throws ParseException
1117
     * @throws LuceneMultiSearchException
1118
     * @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)
1119
     */
1120
    @Override
1121
    public Pager<SearchResult<TaxonBase>> findTaxaAndNamesByFullText(EnumSet<TaxaAndNamesSearchMode> searchModes, String queryString, Classification classification, Set<NamedArea> namedAreas, Set<PresenceAbsenceTermBase<?>> distributionStatus, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException, LuceneMultiSearchException {
1122
        return defaultTaxonService.findTaxaAndNamesByFullText(searchModes, queryString, classification, namedAreas, distributionStatus, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1123
    }
1124

    
1125
    /**
1126
     * @param clazz
1127
     * @param queryString
1128
     * @param classification
1129
     * @param features
1130
     * @param languages
1131
     * @param highlightFragments
1132
     * @param pageSize
1133
     * @param pageNumber
1134
     * @param orderHints
1135
     * @param propertyPaths
1136
     * @return
1137
     * @throws CorruptIndexException
1138
     * @throws IOException
1139
     * @throws ParseException
1140
     * @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)
1141
     */
1142
    @Override
1143
    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 {
1144
        return defaultTaxonService.findByDescriptionElementFullText(clazz, queryString, classification, features, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1145
    }
1146

    
1147
    /**
1148
     * @param taxon
1149
     * @param size
1150
     * @param height
1151
     * @param widthOrDuration
1152
     * @param mimeTypes
1153
     * @return
1154
     * @deprecated
1155
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllMedia(eu.etaxonomy.cdm.model.taxon.Taxon, int, int, int, java.lang.String[])
1156
     */
1157
    @Deprecated
1158
    @Override
1159
    public List<MediaRepresentation> getAllMedia(Taxon taxon, int size, int height, int widthOrDuration, String[] mimeTypes) {
1160
        return defaultTaxonService.getAllMedia(taxon, size, height, widthOrDuration, mimeTypes);
1161
    }
1162

    
1163
    /**
1164
     * @param taxon
1165
     * @param includeRelationships
1166
     * @param limitToGalleries
1167
     * @param propertyPath
1168
     * @return
1169
     * @deprecated
1170
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#listTaxonDescriptionMedia(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, boolean, java.util.List)
1171
     */
1172
    @Deprecated
1173
    @Override
1174
    public List<Media> listTaxonDescriptionMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, boolean limitToGalleries, List<String> propertyPath) {
1175
        return defaultTaxonService.listTaxonDescriptionMedia(taxon, includeRelationships, limitToGalleries, propertyPath);
1176
    }
1177

    
1178
    /**
1179
     * @param taxon
1180
     * @param includeRelationships
1181
     * @param limitToGalleries
1182
     * @param includeTaxonDescriptions
1183
     * @param includeOccurrences
1184
     * @param includeTaxonNameDescriptions
1185
     * @param propertyPath
1186
     * @return
1187
     * @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)
1188
     */
1189
    @Override
1190
    public List<Media> listMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Boolean limitToGalleries, Boolean includeTaxonDescriptions, Boolean includeOccurrences, Boolean includeTaxonNameDescriptions, List<String> propertyPath) {
1191
        return defaultTaxonService.listMedia(taxon, includeRelationships, limitToGalleries, includeTaxonDescriptions, includeOccurrences, includeTaxonNameDescriptions, propertyPath);
1192
    }
1193

    
1194
    /**
1195
     * @param listOfIDs
1196
     * @return
1197
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByID(java.util.Set)
1198
     */
1199
    @Override
1200
    public List<TaxonBase> findTaxaByID(Set<Integer> listOfIDs) {
1201
        return defaultTaxonService.findTaxaByID(listOfIDs);
1202
    }
1203

    
1204
    /**
1205
     * @param uuid
1206
     * @param propertyPaths
1207
     * @return
1208
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxonByUuid(java.util.UUID, java.util.List)
1209
     */
1210
    @Override
1211
    public TaxonBase findTaxonByUuid(UUID uuid, List<String> propertyPaths) {
1212
        return defaultTaxonService.findTaxonByUuid(uuid, propertyPaths);
1213
    }
1214

    
1215
    /**
1216
     * @return
1217
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#countAllRelationships()
1218
     */
1219
    @Override
1220
    public int countAllRelationships() {
1221
        return defaultTaxonService.countAllRelationships();
1222
    }
1223

    
1224
    /**
1225
     * @param propertyPath
1226
     * @return
1227
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNames(java.util.List)
1228
     */
1229
    @Override
1230
    public List<TaxonNameBase> findIdenticalTaxonNames(List<String> propertyPath) {
1231
        return defaultTaxonService.findIdenticalTaxonNames(propertyPath);
1232
    }
1233

    
1234
    /**
1235
     * @param propertyPath
1236
     * @return
1237
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNameIds(java.util.List)
1238
     */
1239
    @Override
1240
    public List<TaxonNameBase> findIdenticalTaxonNameIds(List<String> propertyPath) {
1241
        return defaultTaxonService.findIdenticalTaxonNameIds(propertyPath);
1242
    }
1243

    
1244
    /**
1245
     * @param name
1246
     * @return
1247
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getPhylumName(eu.etaxonomy.cdm.model.name.TaxonNameBase)
1248
     */
1249
    @Override
1250
    public String getPhylumName(TaxonNameBase name) {
1251
        return defaultTaxonService.getPhylumName(name);
1252
    }
1253

    
1254
    /**
1255
     * @param syn
1256
     * @return
1257
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym)
1258
     */
1259
    @Override
1260
    public long deleteSynonymRelationships(Synonym syn) {
1261
        return defaultTaxonService.deleteSynonymRelationships(syn);
1262
    }
1263

    
1264
    /**
1265
     * @param taxonBase
1266
     * @param type
1267
     * @param pageSize
1268
     * @param pageNumber
1269
     * @param orderHints
1270
     * @param propertyPaths
1271
     * @param direction
1272
     * @return
1273
     * @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)
1274
     */
1275
    @Override
1276
    public List<SynonymRelationship> listSynonymRelationships(TaxonBase taxonBase, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths, Direction direction) {
1277
        return defaultTaxonService.listSynonymRelationships(taxonBase, type, pageSize, pageNumber, orderHints, propertyPaths, direction);
1278
    }
1279

    
1280
    /**
1281
     * @param taxonName
1282
     * @return
1283
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(java.lang.String)
1284
     */
1285
    @Override
1286
    public Taxon findBestMatchingTaxon(String taxonName) {
1287
        return defaultTaxonService.findBestMatchingTaxon(taxonName);
1288
    }
1289

    
1290
    /**
1291
     * @param config
1292
     * @return
1293
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
1294
     */
1295
    @Override
1296
    public Taxon findBestMatchingTaxon(MatchingTaxonConfigurator config) {
1297
        return defaultTaxonService.findBestMatchingTaxon(config);
1298
    }
1299

    
1300
    /**
1301
     * @param taxonName
1302
     * @return
1303
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingSynonym(java.lang.String)
1304
     */
1305
    @Override
1306
    public Synonym findBestMatchingSynonym(String taxonName) {
1307
        return defaultTaxonService.findBestMatchingSynonym(taxonName);
1308
    }
1309

    
1310
    /**
1311
     * @return
1312
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheTaxon()
1313
     */
1314
    @Override
1315
    public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheTaxon() {
1316
        return defaultTaxonService.getUuidAndTitleCacheTaxon();
1317
    }
1318

    
1319
    /**
1320
     * @return
1321
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheSynonym()
1322
     */
1323
    @Override
1324
    public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheSynonym() {
1325
        return defaultTaxonService.getUuidAndTitleCacheSynonym();
1326
    }
1327

    
1328
    /**
1329
     * @param configurator
1330
     * @return
1331
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesForEditor(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
1332
     */
1333
    @Override
1334
    public List<UuidAndTitleCache<TaxonBase>> findTaxaAndNamesForEditor(IFindTaxaAndNamesConfigurator configurator) {
1335
        return defaultTaxonService.findTaxaAndNamesForEditor(configurator);
1336
    }
1337

    
1338
    /**
1339
     * @param taxon
1340
     * @param tree
1341
     * @param type
1342
     * @param doWithMisappliedNames
1343
     * @return
1344
     * @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)
1345
     */
1346
    @Override
1347
    public List<Synonym> createInferredSynonyms(Taxon taxon, Classification tree, SynonymRelationshipType type, boolean doWithMisappliedNames) {
1348
        return defaultTaxonService.createInferredSynonyms(taxon, tree, type, doWithMisappliedNames);
1349
    }
1350

    
1351
    /**
1352
     * @param taxon
1353
     * @param tree
1354
     * @param doWithMisappliedNames
1355
     * @return
1356
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#createAllInferredSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, boolean)
1357
     */
1358
    @Override
1359
    public List<Synonym> createAllInferredSynonyms(Taxon taxon, Classification tree, boolean doWithMisappliedNames) {
1360
        return defaultTaxonService.createAllInferredSynonyms(taxon, tree, doWithMisappliedNames);
1361
    }
1362

    
1363
    /* (non-Javadoc)
1364
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator)
1365
     */
1366
    @Override
1367
    public void deleteSynonym(Synonym arg0, SynonymDeletionConfigurator arg1) {
1368
        defaultTaxonService.deleteSynonym(arg0, arg1);
1369
    }
1370

    
1371
    /* (non-Javadoc)
1372
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator)
1373
     */
1374
    @Override
1375
    public void deleteSynonym(Synonym arg0, Taxon arg1, SynonymDeletionConfigurator arg2) {
1376
        defaultTaxonService.deleteSynonym(arg0, arg1, arg2);
1377
    }
1378

    
1379
    /* (non-Javadoc)
1380
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator, eu.etaxonomy.cdm.model.taxon.Classification)
1381
     */
1382
    @Override
1383
    public void deleteTaxon(Taxon arg0, TaxonDeletionConfigurator arg1, Classification arg2)
1384
            throws DataChangeNoRollbackException {
1385
        defaultTaxonService.deleteTaxon(arg0, arg1, arg2);
1386
    }
1387

    
1388

    
1389

    
1390
}
(9-9/10)