Project

General

Profile

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

    
90
/**
91
 * @author pplitzner
92
 * @date 27.09.2013
93
 *
94
 */
95
public class TransientTaxonService implements ITaxonService {
96

    
97
    private final ITaxonService defaultService;
98

    
99
    /**
100
     * @param defaultTaxonService
101
     */
102
    public TransientTaxonService(ITaxonService defaultTaxonService) {
103
        this.defaultService = defaultTaxonService;
104
    }
105

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

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

    
135
    /**
136
     *
137
     * @see eu.etaxonomy.cdm.api.service.IService#clear()
138
     */
139
    @Override
140
    public void clear() {
141
        defaultService.clear();
142
    }
143

    
144
    /**
145
     * @param t
146
     * @param lockMode
147
     * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
148
     */
149
    @Override
150
    public void lock(TaxonBase t, LockOptions lockOptions) {
151
        defaultService.lock(t, lockOptions);
152
    }
153

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

    
165
    /**
166
     *
167
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
168
     */
169
    @Override
170
    public void updateTitleCache() {
171
        defaultService.updateTitleCache();
172
    }
173

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

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

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

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

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

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

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

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

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

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

    
292

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

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

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

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

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

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

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

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

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

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

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

    
423
    /**
424
     * @return
425
     * @see eu.etaxonomy.cdm.api.service.IService#getSession()
426
     */
427
    @Override
428
    public Session getSession() {
429
        return defaultService.getSession();
430
    }
431

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
1069

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

    
1081

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
1421
	
1422

    
1423
	
1424

    
1425

    
1426

    
1427
	@Override
1428
	public SynonymRelationship moveSynonymToAnotherTaxon(
1429
			SynonymRelationship oldSynonymRelation, UUID newTaxonUUID,
1430
			boolean moveHomotypicGroup,
1431
			SynonymRelationshipType newSynonymRelationshipType,
1432
			Reference reference, String referenceDetail, boolean keepReference)
1433
			throws HomotypicalGroupChangeException {
1434
		
1435
		return defaultService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxonUUID, moveHomotypicGroup, newSynonymRelationshipType, reference, referenceDetail, keepReference);
1436
	}
1437

    
1438

    
1439

    
1440

    
1441
}
(9-9/10)