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.LockMode;
23
import org.hibernate.Session;
24
import org.hibernate.criterion.Criterion;
25
import org.hibernate.envers.query.criteria.AuditCriterion;
26

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

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

    
91
    private final ITaxonService defaultTaxonService;
92

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
286

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
1351
    /* (non-Javadoc)
1352
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator)
1353
     */
1354
    @Override
1355
    public String deleteSynonym(Synonym arg0, Taxon arg1, SynonymDeletionConfigurator arg2) {
1356
        return defaultTaxonService.deleteSynonym(arg0, arg1, arg2);
1357
    }
1358

    
1359
    /* (non-Javadoc)
1360
     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator, eu.etaxonomy.cdm.model.taxon.Classification)
1361
     */
1362
    @Override
1363
    public String deleteTaxon(Taxon arg0, TaxonDeletionConfigurator arg1, Classification arg2) {
1364
        return defaultTaxonService.deleteTaxon(arg0, arg1, arg2);
1365
    }
1366

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

    
1375
	@Override
1376
	public Synonym changeRelatedTaxonToSynonym(Taxon fromTaxon, Taxon toTaxon,
1377
			TaxonRelationshipType oldRelationshipType,
1378
			SynonymRelationshipType synonymRelationshipType)
1379
			throws DataChangeNoRollbackException {
1380

    
1381
		return defaultTaxonService.changeRelatedTaxonToSynonym(fromTaxon, toTaxon, oldRelationshipType, synonymRelationshipType);
1382
	}
1383

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

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

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

    
1409

    
1410

    
1411

    
1412

    
1413

    
1414
}
(8-8/9)