Project

General

Profile

Download (59.2 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.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
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#swapSynonymAndAcceptedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
510
     */
511
    @Override
512
    public void swapSynonymAndAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon) {
513
        defaultService.swapSynonymAndAcceptedTaxon(synonym, acceptedTaxon);
514
    }
515

    
516
    /**
517
     * @param type
518
     * @param limit
519
     * @param start
520
     * @param orderHints
521
     * @param propertyPaths
522
     * @return
523
     * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
524
     */
525
    @Override
526
    public <S extends TaxonBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
527
        return defaultService.list(type, limit, start, orderHints, propertyPaths);
528
    }
529

    
530
    /**
531
     * @param configurator
532
     * @return
533
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
534
     */
535
    @Override
536
    public Pager<TaxonBase> findByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
537
        return defaultService.findByTitle(configurator);
538
    }
539

    
540
    /**
541
     * @param synonym
542
     * @param acceptedTaxon
543
     * @param deleteSynonym
544
     * @param copyCitationInfo
545
     * @param citation
546
     * @param microCitation
547
     * @return
548
     * @throws HomotypicalGroupChangeException
549
     * @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)
550
     */
551
    @Override
552
    public Taxon changeSynonymToAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon, boolean deleteSynonym, boolean copyCitationInfo, Reference citation, String microCitation) throws HomotypicalGroupChangeException {
553
        return defaultService.changeSynonymToAcceptedTaxon(synonym, acceptedTaxon, deleteSynonym, copyCitationInfo, citation, microCitation);
554
    }
555

    
556
    /**
557
     * @param clazz
558
     * @param queryString
559
     * @param matchmode
560
     * @param criteria
561
     * @return
562
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
563
     */
564
    @Override
565
    public Integer countByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
566
        return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
567
    }
568

    
569
    /**
570
     * @param uuid
571
     * @return
572
     * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
573
     */
574
    @Override
575
    public TaxonBase load(UUID uuid) {
576
        return defaultService.load(uuid);
577
    }
578

    
579
    /**
580
     * @param uuid
581
     * @param propertyPaths
582
     * @return
583
     * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
584
     */
585
    @Override
586
    public TaxonBase load(UUID uuid, List<String> propertyPaths) {
587
        return defaultService.load(uuid, propertyPaths);
588
    }
589

    
590
    /**
591
     * @param configurator
592
     * @return
593
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
594
     */
595
    @Override
596
    public Integer countByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
597
        return defaultService.countByTitle(configurator);
598
    }
599

    
600
    /**
601
     * @param transientObject
602
     * @return
603
     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
604
     */
605
    @Override
606
    public TaxonBase merge(TaxonBase transientObject) {
607
        return defaultService.merge(transientObject);
608
    }
609

    
610
    /**
611
     * @param clazz
612
     * @param queryString
613
     * @param matchmode
614
     * @param criteria
615
     * @param pageSize
616
     * @param pageNumber
617
     * @param orderHints
618
     * @param propertyPaths
619
     * @return
620
     * @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)
621
     */
622
    @Override
623
    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) {
624
        return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
625
    }
626

    
627
    /**
628
     * @param type
629
     * @param pageSize
630
     * @param pageNumber
631
     * @param orderHints
632
     * @param propertyPaths
633
     * @return
634
     * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
635
     */
636
    @Override
637
    public  <S extends TaxonBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
638
        return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
639
    }
640

    
641
    /**
642
     * @param persistentObject
643
     * @return
644
     * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
645
     */
646
    @Override
647
    public UUID refresh(TaxonBase persistentObject) {
648
        return defaultService.refresh(persistentObject);
649
    }
650

    
651
    /**
652
     * @param synonym
653
     * @param toTaxon
654
     * @param taxonRelationshipType
655
     * @param reference
656
     * @param microReference
657
     * @return
658
     * @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)
659
     */
660
    @Override
661
    public Taxon changeSynonymToRelatedTaxon(Synonym synonym, Taxon toTaxon, TaxonRelationshipType taxonRelationshipType, Reference reference, String microReference) {
662
        return defaultService.changeSynonymToRelatedTaxon(synonym, toTaxon, taxonRelationshipType, reference, microReference);
663
    }
664

    
665
    /**
666
     * @param clazz
667
     * @param queryString
668
     * @param matchmode
669
     * @param criteria
670
     * @param pageSize
671
     * @param pageNumber
672
     * @param orderHints
673
     * @param propertyPaths
674
     * @return
675
     * @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)
676
     */
677
    @Override
678
    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) {
679
        return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
680
    }
681

    
682
    /**
683
     * @param tableName
684
     * @param limit
685
     * @param start
686
     * @return
687
     * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
688
     */
689
    @Override
690
    public List<TaxonBase> rows(String tableName, int limit, int start) {
691
        return defaultService.rows(tableName, limit, start);
692
    }
693

    
694
    /**
695
     * @param newInstances
696
     * @return
697
     * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
698
     */
699
    @Override
700
    public Map<UUID, TaxonBase> save(Collection<TaxonBase> newInstances) {
701
        return null;
702
    }
703

    
704
    /**
705
     * @param syn
706
     * @param taxon
707
     * @return
708
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
709
     */
710
    @Override
711
    public long deleteSynonymRelationships(Synonym syn, Taxon taxon) {
712
        return defaultService.deleteSynonymRelationships(syn, taxon);
713
    }
714

    
715
    /**
716
     * @param newInstance
717
     * @return
718
     * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
719
     */
720
    @Override
721
    public UUID save(TaxonBase newInstance) {
722
        return null;
723
    }
724

    
725
    /**
726
     * @param transientObject
727
     * @return
728
     * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
729
     */
730
    @Override
731
    public UUID saveOrUpdate(TaxonBase transientObject) {
732
        return null;
733
    }
734

    
735
    /**
736
     * @param synonym
737
     * @param newHomotypicalGroup
738
     * @param targetTaxon
739
     * @param removeFromOtherTaxa
740
     * @param setBasionymRelationIfApplicable
741
     * @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)
742
     */
743
    @Override
744
    public void changeHomotypicalGroupOfSynonym(Synonym synonym, HomotypicalGroup newHomotypicalGroup, Taxon targetTaxon, boolean removeFromOtherTaxa, boolean setBasionymRelationIfApplicable) {
745
        defaultService.changeHomotypicalGroupOfSynonym(synonym, newHomotypicalGroup, targetTaxon, removeFromOtherTaxa, setBasionymRelationIfApplicable);
746
    }
747

    
748
    /**
749
     * @param transientObjects
750
     * @return
751
     * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
752
     */
753
    @Override
754
    public Map<UUID, TaxonBase> saveOrUpdate(Collection<TaxonBase> transientObjects) {
755
        return null;
756
    }
757

    
758
    /**
759
     * @param transientObject
760
     * @return
761
     * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
762
     */
763
    @Override
764
    public UUID update(TaxonBase transientObject) {
765
        return defaultService.update(transientObject);
766
    }
767

    
768
    /**
769
     * @param example
770
     * @param includeProperties
771
     * @param limit
772
     * @param start
773
     * @param orderHints
774
     * @param propertyPaths
775
     * @return
776
     * @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)
777
     */
778
    @Override
779
    public List<TaxonBase> list(TaxonBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
780
        return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
781
    }
782

    
783
    /**
784
     * @param oldSynonymRelation
785
     * @param newTaxon
786
     * @param moveHomotypicGroup
787
     * @param newSynonymRelationshipType
788
     * @param newReference
789
     * @param newReferenceDetail
790
     * @param keepReference
791
     * @return
792
     * @throws HomotypicalGroupChangeException
793
     * @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)
794
     */
795
    @Override
796
    public SynonymRelationship moveSynonymToAnotherTaxon(SynonymRelationship oldSynonymRelation, Taxon newTaxon, boolean moveHomotypicGroup, SynonymRelationshipType newSynonymRelationshipType, Reference newReference, String newReferenceDetail, boolean keepReference) throws HomotypicalGroupChangeException {
797
        return defaultService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxon, moveHomotypicGroup, newSynonymRelationshipType, newReference, newReferenceDetail, keepReference);
798
    }
799

    
800
    /**
801
     * @param clazz
802
     * @param matchStrategy
803
     * @param mergeStrategy
804
     * @return
805
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
806
     */
807
    @Override
808
    public int deduplicate(Class<? extends TaxonBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
809
        return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
810
    }
811

    
812
    /**
813
     * @param clazz
814
     * @param queryString
815
     * @param pageSize
816
     * @param pageNumber
817
     * @param orderHints
818
     * @param matchMode
819
     * @return
820
     * @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)
821
     */
822
    @Override
823
    public Pager<TaxonBase> findTitleCache(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
824
        return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
825
    }
826

    
827
    /**
828
     * @param taxon
829
     * @param type
830
     * @param pageSize
831
     * @param pageNumber
832
     * @param orderHints
833
     * @param propertyPaths
834
     * @return
835
     * @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)
836
     */
837
    @Override
838
    public List<TaxonRelationship> listToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
839
        return defaultService.listToTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
840
    }
841

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

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

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

    
887
    /**
888
     * @param taxon
889
     * @param includeRelationships
890
     * @param maxDepth
891
     * @param limit
892
     * @param start
893
     * @param propertyPaths
894
     * @return
895
     * @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)
896
     */
897
    @Override
898
    public Set<Taxon> listRelatedTaxa(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Integer maxDepth, Integer limit, Integer start, List<String> propertyPaths) {
899
        return defaultService.listRelatedTaxa(taxon, includeRelationships, maxDepth, limit, start, propertyPaths);
900
    }
901

    
902
    /**
903
     * @param taxonBase
904
     * @param limit
905
     * @param start
906
     * @param propertyPaths
907
     * @return
908
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#listClassifications(eu.etaxonomy.cdm.model.taxon.TaxonBase, java.lang.Integer, java.lang.Integer, java.util.List)
909
     */
910
    @Override
911
    public List<Classification> listClassifications(TaxonBase taxonBase, Integer limit, Integer start, List<String> propertyPaths) {
912
        return defaultService.listClassifications(taxonBase, limit, start, propertyPaths);
913
    }
914

    
915
    /**
916
     * @param synonym
917
     * @param type
918
     * @param pageSize
919
     * @param pageNumber
920
     * @param orderHints
921
     * @param propertyPaths
922
     * @return
923
     * @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)
924
     */
925
    @Override
926
    public Pager<SynonymRelationship> getSynonyms(Synonym synonym, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
927
        return defaultService.getSynonyms(synonym, type, pageSize, pageNumber, orderHints, propertyPaths);
928
    }
929

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

    
945
    /**
946
     * @param taxon
947
     * @param propertyPaths
948
     * @return
949
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHomotypicSynonymsByHomotypicGroup(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
950
     */
951
    @Override
952
    public List<Synonym> getHomotypicSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
953
        return defaultService.getHomotypicSynonymsByHomotypicGroup(taxon, propertyPaths);
954
    }
955

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

    
967
    /**
968
     * @param clazz
969
     * @param queryString
970
     * @param pageSize
971
     * @param pageNumber
972
     * @param orderHints
973
     * @param propertyPaths
974
     * @return
975
     * @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)
976
     */
977
    @Override
978
    public Pager<TaxonBase> search(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
979
        return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
980
    }
981

    
982
    /**
983
     * @param clazz
984
     * @param uninomial
985
     * @param infragenericEpithet
986
     * @param specificEpithet
987
     * @param infraspecificEpithet
988
     * @param rank
989
     * @param pageSize
990
     * @param pageNumber
991
     * @return
992
     * @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)
993
     */
994
    @Override
995
    public Pager<TaxonBase> findTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
996
        return defaultService.findTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
997
    }
998

    
999
    /**
1000
     * @param clazz
1001
     * @param uninomial
1002
     * @param infragenericEpithet
1003
     * @param specificEpithet
1004
     * @param infraspecificEpithet
1005
     * @param rank
1006
     * @param pageSize
1007
     * @param pageNumber
1008
     * @return
1009
     * @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)
1010
     */
1011
    @Override
1012
    public List<TaxonBase> listTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
1013
        return defaultService.listTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
1014
    }
1015

    
1016
    /**
1017
     * @param configurator
1018
     * @return
1019
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNames(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
1020
     */
1021
    @Override
1022
    public Pager<IdentifiableEntity> findTaxaAndNames(IFindTaxaAndNamesConfigurator configurator) {
1023
        return defaultService.findTaxaAndNames(configurator);
1024
    }
1025

    
1026
    /**
1027
     * @param queryString
1028
     * @param classification
1029
     * @param languages
1030
     * @param highlightFragments
1031
     * @param pageSize
1032
     * @param pageNumber
1033
     * @param orderHints
1034
     * @param propertyPaths
1035
     * @return
1036
     * @throws CorruptIndexException
1037
     * @throws IOException
1038
     * @throws ParseException
1039
     * @throws LuceneMultiSearchException
1040
     * @deprecated
1041
     * @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)
1042
     */
1043
    @Deprecated
1044
    @Override
1045
    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 {
1046
        return defaultService.findByEverythingFullText(queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1047
    }
1048

    
1049
    /**
1050
     * @param clazz
1051
     * @param queryString
1052
     * @param classification
1053
     * @param languages
1054
     * @param highlightFragments
1055
     * @param pageSize
1056
     * @param pageNumber
1057
     * @param orderHints
1058
     * @param propertyPaths
1059
     * @return
1060
     * @throws CorruptIndexException
1061
     * @throws IOException
1062
     * @throws ParseException
1063
     * @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)
1064
     */
1065
    @Override
1066
    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 {
1067
        return defaultService.findByFullText(clazz, queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1068
    }
1069

    
1070

    
1071
    /* (non-Javadoc)
1072
     * @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)
1073
     */
1074
    @Override
1075
    public Pager<SearchResult<TaxonBase>> findByDistribution(List<NamedArea> areaFilter,
1076
            List<PresenceAbsenceTerm> statusFilter, Classification classification, Integer pageSize,
1077
            Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws IOException,
1078
            ParseException {
1079
        return defaultService.findByDistribution(areaFilter, statusFilter, classification, pageSize, pageNumber, orderHints, propertyPaths);
1080
    }
1081

    
1082

    
1083
    /* (non-Javadoc)
1084
     * @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)
1085
     */
1086
    @Override
1087
    public Pager<SearchResult<TaxonBase>> findTaxaAndNamesByFullText(EnumSet<TaxaAndNamesSearchMode> searchModes,
1088
            String queryString, Classification classification, Set<NamedArea> namedAreas,
1089
            Set<PresenceAbsenceTerm> distributionStatus, List<Language> languages, boolean highlightFragments,
1090
            Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths)
1091
            throws CorruptIndexException, IOException, ParseException, LuceneMultiSearchException {
1092
        return defaultService.findTaxaAndNamesByFullText(searchModes, queryString, classification, namedAreas, distributionStatus, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1093
    }
1094

    
1095
    /**
1096
     * @param clazz
1097
     * @param queryString
1098
     * @param classification
1099
     * @param features
1100
     * @param languages
1101
     * @param highlightFragments
1102
     * @param pageSize
1103
     * @param pageNumber
1104
     * @param orderHints
1105
     * @param propertyPaths
1106
     * @return
1107
     * @throws CorruptIndexException
1108
     * @throws IOException
1109
     * @throws ParseException
1110
     * @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)
1111
     */
1112
    @Override
1113
    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 {
1114
        return defaultService.findByDescriptionElementFullText(clazz, queryString, classification, features, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1115
    }
1116

    
1117
    /**
1118
     * @param taxon
1119
     * @param size
1120
     * @param height
1121
     * @param widthOrDuration
1122
     * @param mimeTypes
1123
     * @return
1124
     * @deprecated
1125
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllMedia(eu.etaxonomy.cdm.model.taxon.Taxon, int, int, int, java.lang.String[])
1126
     */
1127
    @Deprecated
1128
    @Override
1129
    public List<MediaRepresentation> getAllMedia(Taxon taxon, int size, int height, int widthOrDuration, String[] mimeTypes) {
1130
        return defaultService.getAllMedia(taxon, size, height, widthOrDuration, mimeTypes);
1131
    }
1132

    
1133
    /**
1134
     * @param taxon
1135
     * @param includeRelationships
1136
     * @param limitToGalleries
1137
     * @param propertyPath
1138
     * @return
1139
     * @deprecated
1140
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#listTaxonDescriptionMedia(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, boolean, java.util.List)
1141
     */
1142
    @Deprecated
1143
    @Override
1144
    public List<Media> listTaxonDescriptionMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, boolean limitToGalleries, List<String> propertyPath) {
1145
        return defaultService.listTaxonDescriptionMedia(taxon, includeRelationships, limitToGalleries, propertyPath);
1146
    }
1147

    
1148
    /**
1149
     * @param taxon
1150
     * @param includeRelationships
1151
     * @param limitToGalleries
1152
     * @param includeTaxonDescriptions
1153
     * @param includeOccurrences
1154
     * @param includeTaxonNameDescriptions
1155
     * @param propertyPath
1156
     * @return
1157
     * @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)
1158
     */
1159
    @Override
1160
    public List<Media> listMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Boolean limitToGalleries, Boolean includeTaxonDescriptions, Boolean includeOccurrences, Boolean includeTaxonNameDescriptions, List<String> propertyPath) {
1161
        return defaultService.listMedia(taxon, includeRelationships, limitToGalleries, includeTaxonDescriptions, includeOccurrences, includeTaxonNameDescriptions, propertyPath);
1162
    }
1163

    
1164
    /**
1165
     * @param listOfIDs
1166
     * @return
1167
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByID(java.util.Set)
1168
     */
1169
    @Override
1170
    public List<TaxonBase> findTaxaByID(Set<Integer> listOfIDs) {
1171
        return defaultService.findTaxaByID(listOfIDs);
1172
    }
1173

    
1174
    /**
1175
     * @param uuid
1176
     * @param propertyPaths
1177
     * @return
1178
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxonByUuid(java.util.UUID, java.util.List)
1179
     */
1180
    @Override
1181
    public TaxonBase findTaxonByUuid(UUID uuid, List<String> propertyPaths) {
1182
        return defaultService.findTaxonByUuid(uuid, propertyPaths);
1183
    }
1184

    
1185
    /**
1186
     * @return
1187
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#countAllRelationships()
1188
     */
1189
    @Override
1190
    public int countAllRelationships() {
1191
        return defaultService.countAllRelationships();
1192
    }
1193

    
1194
    /**
1195
     * @param propertyPath
1196
     * @return
1197
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNames(java.util.List)
1198
     */
1199
    @Override
1200
    public List<TaxonNameBase> findIdenticalTaxonNames(List<String> propertyPath) {
1201
        return defaultService.findIdenticalTaxonNames(propertyPath);
1202
    }
1203

    
1204
    /**
1205
     * @param propertyPath
1206
     * @return
1207
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNameIds(java.util.List)
1208
     */
1209
    @Override
1210
    public List<TaxonNameBase> findIdenticalTaxonNameIds(List<String> propertyPath) {
1211
        return defaultService.findIdenticalTaxonNameIds(propertyPath);
1212
    }
1213

    
1214
    /**
1215
     * @param name
1216
     * @return
1217
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getPhylumName(eu.etaxonomy.cdm.model.name.TaxonNameBase)
1218
     */
1219
    @Override
1220
    public String getPhylumName(TaxonNameBase name) {
1221
        return defaultService.getPhylumName(name);
1222
    }
1223

    
1224
    /**
1225
     * @param syn
1226
     * @return
1227
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym)
1228
     */
1229
    @Override
1230
    public long deleteSynonymRelationships(Synonym syn) {
1231
        return defaultService.deleteSynonymRelationships(syn);
1232
    }
1233

    
1234
    /**
1235
     * @param taxonBase
1236
     * @param type
1237
     * @param pageSize
1238
     * @param pageNumber
1239
     * @param orderHints
1240
     * @param propertyPaths
1241
     * @param direction
1242
     * @return
1243
     * @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)
1244
     */
1245
    @Override
1246
    public List<SynonymRelationship> listSynonymRelationships(TaxonBase taxonBase, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths, Direction direction) {
1247
        return defaultService.listSynonymRelationships(taxonBase, type, pageSize, pageNumber, orderHints, propertyPaths, direction);
1248
    }
1249

    
1250
    /**
1251
     * @param taxonName
1252
     * @return
1253
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(java.lang.String)
1254
     */
1255
    @Override
1256
    public Taxon findBestMatchingTaxon(String taxonName) {
1257
        return defaultService.findBestMatchingTaxon(taxonName);
1258
    }
1259

    
1260
    /**
1261
     * @param config
1262
     * @return
1263
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
1264
     */
1265
    @Override
1266
    public Taxon findBestMatchingTaxon(MatchingTaxonConfigurator config) {
1267
        return defaultService.findBestMatchingTaxon(config);
1268
    }
1269

    
1270
    /**
1271
     * @param taxonName
1272
     * @return
1273
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingSynonym(java.lang.String)
1274
     */
1275
    @Override
1276
    public Synonym findBestMatchingSynonym(String taxonName) {
1277
        return defaultService.findBestMatchingSynonym(taxonName);
1278
    }
1279

    
1280
    /**
1281
     * @return
1282
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheTaxon()
1283
     */
1284
    @Override
1285
    public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheTaxon() {
1286
        return defaultService.getUuidAndTitleCacheTaxon();
1287
    }
1288

    
1289
    /**
1290
     * @return
1291
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheSynonym()
1292
     */
1293
    @Override
1294
    public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheSynonym() {
1295
        return defaultService.getUuidAndTitleCacheSynonym();
1296
    }
1297

    
1298
    /**
1299
     * @param configurator
1300
     * @return
1301
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesForEditor(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
1302
     */
1303
    @Override
1304
    public List<UuidAndTitleCache<IdentifiableEntity>> findTaxaAndNamesForEditor(IFindTaxaAndNamesConfigurator configurator) {
1305
        return defaultService.findTaxaAndNamesForEditor(configurator);
1306
    }
1307

    
1308
    /**
1309
     * @param taxon
1310
     * @param tree
1311
     * @param type
1312
     * @param doWithMisappliedNames
1313
     * @return
1314
     * @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)
1315
     */
1316
    @Override
1317
    public List<Synonym> createInferredSynonyms(Taxon taxon, Classification tree, SynonymRelationshipType type, boolean doWithMisappliedNames) {
1318
        return defaultService.createInferredSynonyms(taxon, tree, type, doWithMisappliedNames);
1319
    }
1320

    
1321
    /**
1322
     * @param taxon
1323
     * @param tree
1324
     * @param doWithMisappliedNames
1325
     * @return
1326
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#createAllInferredSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, boolean)
1327
     */
1328
    @Override
1329
    public List<Synonym> createAllInferredSynonyms(Taxon taxon, Classification tree, boolean doWithMisappliedNames) {
1330
        return defaultService.createAllInferredSynonyms(taxon, tree, doWithMisappliedNames);
1331
    }
1332

    
1333
    @Override
1334
    public DeleteResult deleteSynonym(Synonym arg0, SynonymDeletionConfigurator arg1) {
1335
        return defaultService.deleteSynonym(arg0, arg1);
1336
    }
1337

    
1338
    @Override
1339
    public DeleteResult deleteSynonym(Synonym arg0, Taxon arg1, SynonymDeletionConfigurator arg2) {
1340
        return defaultService.deleteSynonym(arg0, arg1, arg2);
1341
    }
1342

    
1343
    @Override
1344
    public DeleteResult deleteTaxon(UUID arg0, TaxonDeletionConfigurator arg1, Classification arg2) {
1345
        return defaultService.deleteTaxon(arg0, arg1, arg2);
1346
    }
1347

    
1348
    @Override
1349
    public List<List<Synonym>> getSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
1350
        return defaultService.getSynonymsByHomotypicGroup(taxon, propertyPaths);
1351
    }
1352

    
1353
	@Override
1354
	public Synonym changeRelatedTaxonToSynonym(Taxon fromTaxon, Taxon toTaxon,
1355
			TaxonRelationshipType oldRelationshipType,
1356
			SynonymRelationshipType synonymRelationshipType)
1357
			throws DataChangeNoRollbackException {
1358

    
1359
		return defaultService.changeRelatedTaxonToSynonym(fromTaxon, toTaxon, oldRelationshipType, synonymRelationshipType);
1360
	}
1361

    
1362
    /* (non-Javadoc)
1363
     * @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)
1364
     */
1365
    @Override
1366
    public Pager<Taxon> pageAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize,
1367
            Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
1368
        return defaultService.pageAcceptedTaxaFor(synonymUuid, classificationUuid, pageSize, pageNumber, orderHints, propertyPaths);
1369
    }
1370

    
1371
    /* (non-Javadoc)
1372
     * @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)
1373
     */
1374
    @Override
1375
    public List<Taxon> listAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize,
1376
            Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
1377
        return defaultService.listAcceptedTaxaFor(synonymUuid, classificationUuid, pageSize, pageNumber, orderHints, propertyPaths);
1378
    }
1379

    
1380
	@Override
1381
	public DeleteResult isDeletable(TaxonBase object,
1382
			DeleteConfiguratorBase config) {
1383
		// TODO Auto-generated method stub
1384
		return null;
1385
	}
1386

    
1387
	@Override
1388
	public IncludedTaxaDTO listIncludedTaxa(UUID taxonUuid,
1389
			IncludedTaxonConfiguration configuration) {
1390
		// TODO Auto-generated method stub
1391
		return null;
1392
	}
1393

    
1394
	@Override
1395
	public TaxonBase findWithoutFlush(UUID uuid) {
1396
		return defaultService.findWithoutFlush(uuid);
1397
	}
1398

    
1399
    /* (non-Javadoc)
1400
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByName(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
1401
     */
1402
    @Override
1403
    public List<TaxonBase> findTaxaByName(MatchingTaxonConfigurator config) {
1404
        return defaultService.findTaxaByName(config);
1405
    }
1406

    
1407
	@Override
1408
	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){
1409
		return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
1410
	}
1411

    
1412
	/* (non-Javadoc)
1413
	 * @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)
1414
	 */
1415
	@Override
1416
	public <S extends TaxonBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier,
1417
	        DefinedTerm identifierType, TaxonNode subtreeFilter, MatchMode matchmode, boolean includeEntity,
1418
	        Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
1419
	    return defaultService.findByIdentifier(clazz, identifier, identifierType, subtreeFilter, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
1420
	}
1421

    
1422

    
1423

    
1424

    
1425

    
1426

    
1427

    
1428
	@Override
1429
	public SynonymRelationship moveSynonymToAnotherTaxon(
1430
			SynonymRelationship oldSynonymRelation, UUID newTaxonUUID,
1431
			boolean moveHomotypicGroup,
1432
			SynonymRelationshipType newSynonymRelationshipType,
1433
			Reference reference, String referenceDetail, boolean keepReference)
1434
			throws HomotypicalGroupChangeException {
1435

    
1436
		return defaultService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxonUUID, moveHomotypicGroup, newSynonymRelationshipType, reference, referenceDetail, keepReference);
1437
	}
1438

    
1439
<<<<<<< HEAD
1440
    /**
1441
     * {@inheritDoc}
1442
     */
1443
    @Override
1444
    public DeleteResult delete(UUID arg0) {
1445
        return defaultService.delete(arg0);
1446
    }
1447

    
1448
    /**
1449
     * {@inheritDoc}
1450
     */
1451
    @Override
1452
    public DeleteResult deleteSynonym(UUID arg0, UUID arg1, SynonymDeletionConfigurator arg2) {
1453
        return defaultService.deleteSynonym(arg0, arg1, arg2);
1454
    }
1455
=======
1456
	@Override
1457
	public DeleteResult delete(UUID arg0) {
1458
		return defaultService.delete(arg0);
1459
	}
1460

    
1461

    
1462

    
1463
	@Override
1464
	public UpdateResult moveFactualDateToAnotherTaxon(UUID arg0, UUID arg1) {
1465
		return defaultService.moveFactualDateToAnotherTaxon(arg0, arg1);
1466
	}
1467

    
1468
>>>>>>> b275ef1... all delete methods need an Uuid as argument
1469

    
1470
    /**
1471
     * {@inheritDoc}
1472
     */
1473
    @Override
1474
    public DeleteResult deleteTaxon(UUID arg0, TaxonDeletionConfigurator arg1, UUID arg2) {
1475
        return defaultService.deleteTaxon(arg0, arg1, arg2);
1476
    }
1477

    
1478
    /**
1479
     * {@inheritDoc}
1480
     */
1481
    @Override
1482
    public UpdateResult swapSynonymAndAcceptedTaxon(UUID arg0, UUID arg1) {
1483
        return defaultService.swapSynonymAndAcceptedTaxon(arg0, arg1);
1484
    }
1485

    
1486
}
(9-9/10)