Project

General

Profile

Download (57.4 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.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
import eu.etaxonomy.taxeditor.ui.section.supplemental.IdentifiableSourceElement;
87

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

    
95
    private final ITaxonService defaultTaxonService;
96

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
290

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
1347
    @Override
1348
    public DeleteResult deleteSynonym(Synonym arg0, SynonymDeletionConfigurator arg1) {
1349
        return defaultTaxonService.deleteSynonym(arg0, arg1);
1350
    }
1351

    
1352
    @Override
1353
    public DeleteResult deleteSynonym(Synonym arg0, Taxon arg1, SynonymDeletionConfigurator arg2) {
1354
        return defaultTaxonService.deleteSynonym(arg0, arg1, arg2);
1355
    }
1356

    
1357
    @Override
1358
    public DeleteResult deleteTaxon(Taxon arg0, TaxonDeletionConfigurator arg1, Classification arg2) {
1359
        return defaultTaxonService.deleteTaxon(arg0, arg1, arg2);
1360
    }
1361

    
1362
    @Override
1363
    public List<List<Synonym>> getSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
1364
        return defaultTaxonService.getSynonymsByHomotypicGroup(taxon, propertyPaths);
1365
    }
1366

    
1367
	@Override
1368
	public Synonym changeRelatedTaxonToSynonym(Taxon fromTaxon, Taxon toTaxon,
1369
			TaxonRelationshipType oldRelationshipType,
1370
			SynonymRelationshipType synonymRelationshipType)
1371
			throws DataChangeNoRollbackException {
1372

    
1373
		return defaultTaxonService.changeRelatedTaxonToSynonym(fromTaxon, toTaxon, oldRelationshipType, synonymRelationshipType);
1374
	}
1375

    
1376
    /* (non-Javadoc)
1377
     * @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)
1378
     */
1379
    @Override
1380
    public Pager<Taxon> pageAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize,
1381
            Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
1382
        return defaultTaxonService.pageAcceptedTaxaFor(synonymUuid, classificationUuid, pageSize, pageNumber, orderHints, propertyPaths);
1383
    }
1384

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

    
1394
	@Override
1395
	public List<String> isDeletable(TaxonBase object,
1396
			DeleteConfiguratorBase config) {
1397
		// TODO Auto-generated method stub
1398
		return null;
1399
	}
1400

    
1401
	@Override
1402
	public IncludedTaxaDTO listIncludedTaxa(UUID taxonUuid,
1403
			IncludedTaxonConfiguration configuration) {
1404
		// TODO Auto-generated method stub
1405
		return null;
1406
	}
1407

    
1408
	@Override
1409
	public TaxonBase findWithoutFlush(UUID uuid) {
1410
		return defaultTaxonService.findWithoutFlush(uuid);
1411
	}
1412

    
1413
    /* (non-Javadoc)
1414
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByName(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
1415
     */
1416
    @Override
1417
    public List<TaxonBase> findTaxaByName(MatchingTaxonConfigurator config) {
1418
        return defaultTaxonService.findTaxaByName(config);
1419
    }
1420

    
1421

    
1422

    
1423

    
1424

    
1425

    
1426
}
(9-9/10)