Project

General

Profile

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

    
87
/**
88
 * @author pplitzner
89
 * @date 27.09.2013
90
 *
91
 */
92
public class TransientTaxonService implements ITaxonService {
93

    
94
    private final ITaxonService defaultTaxonService;
95

    
96
    /**
97
     * @param defaultTaxonService
98
     */
99
    public TransientTaxonService(ITaxonService defaultTaxonService) {
100
        this.defaultTaxonService = defaultTaxonService;
101
    }
102

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

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

    
132
    /**
133
     *
134
     * @see eu.etaxonomy.cdm.api.service.IService#clear()
135
     */
136
    @Override
137
    public void clear() {
138
        defaultTaxonService.clear();
139
    }
140

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

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

    
162
    /**
163
     *
164
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
165
     */
166
    @Override
167
    public void updateTitleCache() {
168
        defaultTaxonService.updateTitleCache();
169
    }
170

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

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

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

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

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

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

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

    
255
    /**
256
     * @param persistentObject
257
     * @return
258
     * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
259
     */
260
    @Override
261
    public DeleteResult delete(TaxonBase persistentObject) {
262
        return defaultTaxonService.delete(persistentObject);
263
    }
264

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

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

    
289

    
290
    /**
291
     * @param x
292
     * @param y
293
     * @return
294
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
295
     */
296
    @Override
297
    public TaxonBase replace(TaxonBase x, TaxonBase y) {
298
        return defaultTaxonService.replace(x, y);
299
    }
300

    
301
    /**
302
     * @param uuidSet
303
     * @return
304
     * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
305
     */
306
    @Override
307
    public List<TaxonBase> find(Set<UUID> uuidSet) {
308
        return defaultTaxonService.find(uuidSet);
309
    }
310

    
311
    /**
312
     * @param t
313
     * @param pageSize
314
     * @param pageNumber
315
     * @param propertyPaths
316
     * @return
317
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
318
     */
319
    @Override
320
    public Pager<IdentifiableSource> getSources(TaxonBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
321
        return defaultTaxonService.getSources(t, pageSize, pageNumber, propertyPaths);
322
    }
323

    
324
    /**
325
     * @param sec
326
     * @param cdmFetch
327
     * @param onlyWithChildren
328
     * @return
329
     * @deprecated
330
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getRootTaxa(eu.etaxonomy.cdm.model.reference.Reference, eu.etaxonomy.cdm.persistence.fetch.CdmFetch, boolean)
331
     */
332
    @Deprecated
333
    @Override
334
    public List<Taxon> getRootTaxa(Reference sec, CdmFetch cdmFetch, boolean onlyWithChildren) {
335
        return defaultTaxonService.getRootTaxa(sec, cdmFetch, onlyWithChildren);
336
    }
337

    
338
    /**
339
     * @param uuid
340
     * @return
341
     * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
342
     */
343
    @Override
344
    public TaxonBase find(UUID uuid) {
345
        return defaultTaxonService.find(uuid);
346
    }
347

    
348
    /**
349
     * @param rank
350
     * @param sec
351
     * @param onlyWithChildren
352
     * @param withMisapplications
353
     * @param propertyPaths
354
     * @return
355
     * @deprecated
356
     * @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)
357
     */
358
    @Deprecated
359
    @Override
360
    public List<Taxon> getRootTaxa(Rank rank, Reference sec, boolean onlyWithChildren, boolean withMisapplications, List<String> propertyPaths) {
361
        return defaultTaxonService.getRootTaxa(rank, sec, onlyWithChildren, withMisapplications, propertyPaths);
362
    }
363

    
364
    /**
365
     * @param id
366
     * @return
367
     * @see eu.etaxonomy.cdm.api.service.IService#find(int)
368
     */
369
    @Override
370
    public TaxonBase find(int id) {
371
        return defaultTaxonService.find(id);
372
    }
373

    
374
    /**
375
     * @param t
376
     * @param pageSize
377
     * @param pageNumber
378
     * @param propertyPaths
379
     * @return
380
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
381
     */
382
    @Override
383
    public Pager<Rights> getRights(TaxonBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
384
        return defaultTaxonService.getRights(t, pageSize, pageNumber, propertyPaths);
385
    }
386

    
387
    /**
388
     * @param clazz
389
     * @param technical
390
     * @return
391
     * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
392
     */
393
    @Override
394
    public int countMarkers(Class<? extends TaxonBase> clazz, Boolean technical) {
395
        return defaultTaxonService.countMarkers(clazz, technical);
396
    }
397

    
398
    /**
399
     * @param idSet
400
     * @return
401
     * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
402
     */
403
    @Override
404
    public List<TaxonBase> findById(Set<Integer> idSet) {
405
        return defaultTaxonService.findById(idSet);
406
    }
407

    
408
    /**
409
     * @param clazz
410
     * @param idInSource
411
     * @param idNamespace
412
     * @return
413
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
414
     */
415
    @Override
416
    public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
417
        return defaultTaxonService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
418
    }
419

    
420
    /**
421
     * @return
422
     * @see eu.etaxonomy.cdm.api.service.IService#getSession()
423
     */
424
    @Override
425
    public Session getSession() {
426
        return defaultTaxonService.getSession();
427
    }
428

    
429
    /**
430
     * @return
431
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
432
     */
433
    @Override
434
    public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCache() {
435
        return defaultTaxonService.getUuidAndTitleCache();
436
    }
437

    
438
    /**
439
     * @param clazz
440
     * @param limit
441
     * @param start
442
     * @param groups
443
     * @param propertyPaths
444
     * @return
445
     * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
446
     */
447
    @Override
448
    public List<Object[]> group(Class<? extends TaxonBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
449
        return defaultTaxonService.group(clazz, limit, start, groups, propertyPaths);
450
    }
451

    
452
    /**
453
     * @param limit
454
     * @param start
455
     * @return
456
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllRelationships(int, int)
457
     */
458
    @Override
459
    public List<RelationshipBase> getAllRelationships(int limit, int start) {
460
        return defaultTaxonService.getAllRelationships(limit, start);
461
    }
462

    
463
    /**
464
     * @param clazz
465
     * @param queryString
466
     * @param matchmode
467
     * @param criteria
468
     * @param pageSize
469
     * @param pageNumber
470
     * @param orderHints
471
     * @param propertyPaths
472
     * @return
473
     * @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)
474
     */
475
    @Override
476
    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) {
477
        return defaultTaxonService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
478
    }
479

    
480
    /**
481
     * @return
482
     * @deprecated
483
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getTaxonRelationshipTypeVocabulary()
484
     */
485
    @Deprecated
486
    @Override
487
    public OrderedTermVocabulary<TaxonRelationshipType> getTaxonRelationshipTypeVocabulary() {
488
        return defaultTaxonService.getTaxonRelationshipTypeVocabulary();
489
    }
490

    
491
    /**
492
     * @param name
493
     * @param sec
494
     * @return
495
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#searchTaxaByName(java.lang.String, eu.etaxonomy.cdm.model.reference.Reference)
496
     */
497
    @Override
498
    public List<TaxonBase> searchTaxaByName(String name, Reference sec) {
499
        return defaultTaxonService.searchTaxaByName(name, sec);
500
    }
501

    
502
    /**
503
     * @param synonym
504
     * @param acceptedTaxon
505
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#swapSynonymAndAcceptedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
506
     */
507
    @Override
508
    public void swapSynonymAndAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon) {
509
        defaultTaxonService.swapSynonymAndAcceptedTaxon(synonym, acceptedTaxon);
510
    }
511

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

    
526
    /**
527
     * @param configurator
528
     * @return
529
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
530
     */
531
    @Override
532
    public Pager<TaxonBase> findByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
533
        return defaultTaxonService.findByTitle(configurator);
534
    }
535

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

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

    
565
    /**
566
     * @param uuid
567
     * @return
568
     * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
569
     */
570
    @Override
571
    public TaxonBase load(UUID uuid) {
572
        return defaultTaxonService.load(uuid);
573
    }
574

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

    
586
    /**
587
     * @param configurator
588
     * @return
589
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
590
     */
591
    @Override
592
    public Integer countByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
593
        return defaultTaxonService.countByTitle(configurator);
594
    }
595

    
596
    /**
597
     * @param transientObject
598
     * @return
599
     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
600
     */
601
    @Override
602
    public TaxonBase merge(TaxonBase transientObject) {
603
        return defaultTaxonService.merge(transientObject);
604
    }
605

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

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

    
637
    /**
638
     * @param persistentObject
639
     * @return
640
     * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
641
     */
642
    @Override
643
    public UUID refresh(TaxonBase persistentObject) {
644
        return defaultTaxonService.refresh(persistentObject);
645
    }
646

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

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

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

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

    
700
    /**
701
     * @param syn
702
     * @param taxon
703
     * @return
704
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
705
     */
706
    @Override
707
    public long deleteSynonymRelationships(Synonym syn, Taxon taxon) {
708
        return defaultTaxonService.deleteSynonymRelationships(syn, taxon);
709
    }
710

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

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

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

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

    
754
    /**
755
     * @param transientObject
756
     * @return
757
     * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
758
     */
759
    @Override
760
    public UUID update(TaxonBase transientObject) {
761
        return defaultTaxonService.update(transientObject);
762
    }
763

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
978
    /**
979
     * @param clazz
980
     * @param uninomial
981
     * @param infragenericEpithet
982
     * @param specificEpithet
983
     * @param infraspecificEpithet
984
     * @param rank
985
     * @param pageSize
986
     * @param pageNumber
987
     * @return
988
     * @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)
989
     */
990
    @Override
991
    public Pager<TaxonBase> findTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
992
        return defaultTaxonService.findTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
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#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)
1006
     */
1007
    @Override
1008
    public List<TaxonBase> listTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
1009
        return defaultTaxonService.listTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
1010
    }
1011

    
1012
    /**
1013
     * @param configurator
1014
     * @return
1015
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNames(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
1016
     */
1017
    @Override
1018
    public Pager<IdentifiableEntity> findTaxaAndNames(IFindTaxaAndNamesConfigurator configurator) {
1019
        return defaultTaxonService.findTaxaAndNames(configurator);
1020
    }
1021

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

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

    
1066
    /**
1067
     * @param areaFilter
1068
     * @param statusFilter
1069
     * @param classification
1070
     * @param pageSize
1071
     * @param pageNumber
1072
     * @param orderHints
1073
     * @param propertyPaths
1074
     * @return
1075
     * @throws IOException
1076
     * @throws ParseException
1077
     * @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)
1078
     */
1079
    @Override
1080
    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 {
1081
        return defaultTaxonService.findByDistribution(areaFilter, statusFilter, classification, pageSize, pageNumber, orderHints, propertyPaths);
1082
    }
1083

    
1084
    /**
1085
     * @param searchModes
1086
     * @param queryString
1087
     * @param classification
1088
     * @param namedAreas
1089
     * @param distributionStatus
1090
     * @param languages
1091
     * @param highlightFragments
1092
     * @param pageSize
1093
     * @param pageNumber
1094
     * @param orderHints
1095
     * @param propertyPaths
1096
     * @return
1097
     * @throws CorruptIndexException
1098
     * @throws IOException
1099
     * @throws ParseException
1100
     * @throws LuceneMultiSearchException
1101
     * @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)
1102
     */
1103
    @Override
1104
    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 {
1105
        return defaultTaxonService.findTaxaAndNamesByFullText(searchModes, queryString, classification, namedAreas, distributionStatus, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1106
    }
1107

    
1108
    /**
1109
     * @param clazz
1110
     * @param queryString
1111
     * @param classification
1112
     * @param features
1113
     * @param languages
1114
     * @param highlightFragments
1115
     * @param pageSize
1116
     * @param pageNumber
1117
     * @param orderHints
1118
     * @param propertyPaths
1119
     * @return
1120
     * @throws CorruptIndexException
1121
     * @throws IOException
1122
     * @throws ParseException
1123
     * @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)
1124
     */
1125
    @Override
1126
    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 {
1127
        return defaultTaxonService.findByDescriptionElementFullText(clazz, queryString, classification, features, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1128
    }
1129

    
1130
    /**
1131
     * @param taxon
1132
     * @param size
1133
     * @param height
1134
     * @param widthOrDuration
1135
     * @param mimeTypes
1136
     * @return
1137
     * @deprecated
1138
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllMedia(eu.etaxonomy.cdm.model.taxon.Taxon, int, int, int, java.lang.String[])
1139
     */
1140
    @Deprecated
1141
    @Override
1142
    public List<MediaRepresentation> getAllMedia(Taxon taxon, int size, int height, int widthOrDuration, String[] mimeTypes) {
1143
        return defaultTaxonService.getAllMedia(taxon, size, height, widthOrDuration, mimeTypes);
1144
    }
1145

    
1146
    /**
1147
     * @param taxon
1148
     * @param includeRelationships
1149
     * @param limitToGalleries
1150
     * @param propertyPath
1151
     * @return
1152
     * @deprecated
1153
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#listTaxonDescriptionMedia(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, boolean, java.util.List)
1154
     */
1155
    @Deprecated
1156
    @Override
1157
    public List<Media> listTaxonDescriptionMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, boolean limitToGalleries, List<String> propertyPath) {
1158
        return defaultTaxonService.listTaxonDescriptionMedia(taxon, includeRelationships, limitToGalleries, propertyPath);
1159
    }
1160

    
1161
    /**
1162
     * @param taxon
1163
     * @param includeRelationships
1164
     * @param limitToGalleries
1165
     * @param includeTaxonDescriptions
1166
     * @param includeOccurrences
1167
     * @param includeTaxonNameDescriptions
1168
     * @param propertyPath
1169
     * @return
1170
     * @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)
1171
     */
1172
    @Override
1173
    public List<Media> listMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Boolean limitToGalleries, Boolean includeTaxonDescriptions, Boolean includeOccurrences, Boolean includeTaxonNameDescriptions, List<String> propertyPath) {
1174
        return defaultTaxonService.listMedia(taxon, includeRelationships, limitToGalleries, includeTaxonDescriptions, includeOccurrences, includeTaxonNameDescriptions, propertyPath);
1175
    }
1176

    
1177
    /**
1178
     * @param listOfIDs
1179
     * @return
1180
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByID(java.util.Set)
1181
     */
1182
    @Override
1183
    public List<TaxonBase> findTaxaByID(Set<Integer> listOfIDs) {
1184
        return defaultTaxonService.findTaxaByID(listOfIDs);
1185
    }
1186

    
1187
    /**
1188
     * @param uuid
1189
     * @param propertyPaths
1190
     * @return
1191
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxonByUuid(java.util.UUID, java.util.List)
1192
     */
1193
    @Override
1194
    public TaxonBase findTaxonByUuid(UUID uuid, List<String> propertyPaths) {
1195
        return defaultTaxonService.findTaxonByUuid(uuid, propertyPaths);
1196
    }
1197

    
1198
    /**
1199
     * @return
1200
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#countAllRelationships()
1201
     */
1202
    @Override
1203
    public int countAllRelationships() {
1204
        return defaultTaxonService.countAllRelationships();
1205
    }
1206

    
1207
    /**
1208
     * @param propertyPath
1209
     * @return
1210
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNames(java.util.List)
1211
     */
1212
    @Override
1213
    public List<TaxonNameBase> findIdenticalTaxonNames(List<String> propertyPath) {
1214
        return defaultTaxonService.findIdenticalTaxonNames(propertyPath);
1215
    }
1216

    
1217
    /**
1218
     * @param propertyPath
1219
     * @return
1220
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNameIds(java.util.List)
1221
     */
1222
    @Override
1223
    public List<TaxonNameBase> findIdenticalTaxonNameIds(List<String> propertyPath) {
1224
        return defaultTaxonService.findIdenticalTaxonNameIds(propertyPath);
1225
    }
1226

    
1227
    /**
1228
     * @param name
1229
     * @return
1230
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getPhylumName(eu.etaxonomy.cdm.model.name.TaxonNameBase)
1231
     */
1232
    @Override
1233
    public String getPhylumName(TaxonNameBase name) {
1234
        return defaultTaxonService.getPhylumName(name);
1235
    }
1236

    
1237
    /**
1238
     * @param syn
1239
     * @return
1240
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym)
1241
     */
1242
    @Override
1243
    public long deleteSynonymRelationships(Synonym syn) {
1244
        return defaultTaxonService.deleteSynonymRelationships(syn);
1245
    }
1246

    
1247
    /**
1248
     * @param taxonBase
1249
     * @param type
1250
     * @param pageSize
1251
     * @param pageNumber
1252
     * @param orderHints
1253
     * @param propertyPaths
1254
     * @param direction
1255
     * @return
1256
     * @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)
1257
     */
1258
    @Override
1259
    public List<SynonymRelationship> listSynonymRelationships(TaxonBase taxonBase, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths, Direction direction) {
1260
        return defaultTaxonService.listSynonymRelationships(taxonBase, type, pageSize, pageNumber, orderHints, propertyPaths, direction);
1261
    }
1262

    
1263
    /**
1264
     * @param taxonName
1265
     * @return
1266
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(java.lang.String)
1267
     */
1268
    @Override
1269
    public Taxon findBestMatchingTaxon(String taxonName) {
1270
        return defaultTaxonService.findBestMatchingTaxon(taxonName);
1271
    }
1272

    
1273
    /**
1274
     * @param config
1275
     * @return
1276
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
1277
     */
1278
    @Override
1279
    public Taxon findBestMatchingTaxon(MatchingTaxonConfigurator config) {
1280
        return defaultTaxonService.findBestMatchingTaxon(config);
1281
    }
1282

    
1283
    /**
1284
     * @param taxonName
1285
     * @return
1286
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingSynonym(java.lang.String)
1287
     */
1288
    @Override
1289
    public Synonym findBestMatchingSynonym(String taxonName) {
1290
        return defaultTaxonService.findBestMatchingSynonym(taxonName);
1291
    }
1292

    
1293
    /**
1294
     * @return
1295
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheTaxon()
1296
     */
1297
    @Override
1298
    public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheTaxon() {
1299
        return defaultTaxonService.getUuidAndTitleCacheTaxon();
1300
    }
1301

    
1302
    /**
1303
     * @return
1304
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheSynonym()
1305
     */
1306
    @Override
1307
    public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheSynonym() {
1308
        return defaultTaxonService.getUuidAndTitleCacheSynonym();
1309
    }
1310

    
1311
    /**
1312
     * @param configurator
1313
     * @return
1314
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesForEditor(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
1315
     */
1316
    @Override
1317
    public List<UuidAndTitleCache<TaxonBase>> findTaxaAndNamesForEditor(IFindTaxaAndNamesConfigurator configurator) {
1318
        return defaultTaxonService.findTaxaAndNamesForEditor(configurator);
1319
    }
1320

    
1321
    /**
1322
     * @param taxon
1323
     * @param tree
1324
     * @param type
1325
     * @param doWithMisappliedNames
1326
     * @return
1327
     * @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)
1328
     */
1329
    @Override
1330
    public List<Synonym> createInferredSynonyms(Taxon taxon, Classification tree, SynonymRelationshipType type, boolean doWithMisappliedNames) {
1331
        return defaultTaxonService.createInferredSynonyms(taxon, tree, type, doWithMisappliedNames);
1332
    }
1333

    
1334
    /**
1335
     * @param taxon
1336
     * @param tree
1337
     * @param doWithMisappliedNames
1338
     * @return
1339
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#createAllInferredSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, boolean)
1340
     */
1341
    @Override
1342
    public List<Synonym> createAllInferredSynonyms(Taxon taxon, Classification tree, boolean doWithMisappliedNames) {
1343
        return defaultTaxonService.createAllInferredSynonyms(taxon, tree, doWithMisappliedNames);
1344
    }
1345

    
1346
    /* (non-Javadoc)
1347
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator)
1348
     */
1349
    @Override
1350
    public DeleteResult deleteSynonym(Synonym arg0, SynonymDeletionConfigurator arg1) {
1351
        return defaultTaxonService.deleteSynonym(arg0, arg1);
1352
    }
1353

    
1354
    /* (non-Javadoc)
1355
     * @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)
1356
     */
1357
    @Override
1358
    public DeleteResult deleteSynonym(Synonym arg0, Taxon arg1, SynonymDeletionConfigurator arg2) {
1359
        return defaultTaxonService.deleteSynonym(arg0, arg1, arg2);
1360
    }
1361

    
1362
    /* (non-Javadoc)
1363
     * @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)
1364
     */
1365
    @Override
1366
    public DeleteResult deleteTaxon(Taxon arg0, TaxonDeletionConfigurator arg1, Classification arg2) {
1367
        return defaultTaxonService.deleteTaxon(arg0, arg1, arg2);
1368
    }
1369

    
1370
    /* (non-Javadoc)
1371
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getSynonymsByHomotypicGroup(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
1372
     */
1373
    @Override
1374
    public List<List<Synonym>> getSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
1375
        return defaultTaxonService.getSynonymsByHomotypicGroup(taxon, propertyPaths);
1376
    }
1377

    
1378
	@Override
1379
	public Synonym changeRelatedTaxonToSynonym(Taxon fromTaxon, Taxon toTaxon,
1380
			TaxonRelationshipType oldRelationshipType,
1381
			SynonymRelationshipType synonymRelationshipType)
1382
			throws DataChangeNoRollbackException {
1383

    
1384
		return defaultTaxonService.changeRelatedTaxonToSynonym(fromTaxon, toTaxon, oldRelationshipType, synonymRelationshipType);
1385
	}
1386

    
1387
    /* (non-Javadoc)
1388
     * @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)
1389
     */
1390
    @Override
1391
    public Pager<Taxon> pageAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize,
1392
            Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
1393
        return defaultTaxonService.pageAcceptedTaxaFor(synonymUuid, classificationUuid, pageSize, pageNumber, orderHints, propertyPaths);
1394
    }
1395

    
1396
    /* (non-Javadoc)
1397
     * @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)
1398
     */
1399
    @Override
1400
    public List<Taxon> listAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize,
1401
            Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
1402
        return defaultTaxonService.listAcceptedTaxaFor(synonymUuid, classificationUuid, pageSize, pageNumber, orderHints, propertyPaths);
1403
    }
1404

    
1405
	@Override
1406
	public List<String> isDeletable(TaxonBase object,
1407
			DeleteConfiguratorBase config) {
1408
		// TODO Auto-generated method stub
1409
		return null;
1410
	}
1411

    
1412
	@Override
1413
	public IncludedTaxaDTO listIncludedTaxa(UUID taxonUuid,
1414
			IncludedTaxonConfiguration configuration) {
1415
		// TODO Auto-generated method stub
1416
		return null;
1417
	}
1418

    
1419
	@Override
1420
	public TaxonBase findWithoutFlush(UUID uuid) {
1421
		return defaultTaxonService.findWithoutFlush(uuid);
1422
	}
1423

    
1424

    
1425

    
1426

    
1427

    
1428

    
1429
}
(8-8/9)