Project

General

Profile

Download (43.1 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2013 EDIT
4
* European Distributed Institute of Taxonomy
5
* http://www.e-taxonomy.eu
6
*
7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8
* See LICENSE.TXT at the top of this package for the full license terms.
9
*/
10
package eu.etaxonomy.taxeditor.editor.view.dataimport.transientServices;
11

    
12
import java.io.IOException;
13
import java.util.Collection;
14
import java.util.HashSet;
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.classic.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
import org.hibernate.search.spatial.impl.Rectangle;
27

    
28
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
29
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
30
import eu.etaxonomy.cdm.api.service.DeleteResult;
31
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
32
import eu.etaxonomy.cdm.api.service.UpdateResult;
33
import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
34
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
35
import eu.etaxonomy.cdm.api.service.config.SpecimenDeleteConfigurator;
36
import eu.etaxonomy.cdm.api.service.dto.FieldUnitDTO;
37
import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
38
import eu.etaxonomy.cdm.api.service.dto.FindByMarkerDTO;
39
import eu.etaxonomy.cdm.api.service.dto.PreservedSpecimenDTO;
40
import eu.etaxonomy.cdm.api.service.pager.Pager;
41
import eu.etaxonomy.cdm.api.service.search.SearchResult;
42
import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
43
import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
44
import eu.etaxonomy.cdm.model.common.Annotation;
45
import eu.etaxonomy.cdm.model.common.DefinedTerm;
46
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
47
import eu.etaxonomy.cdm.model.common.ICdmBase;
48
import eu.etaxonomy.cdm.model.common.ISourceable;
49
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
50
import eu.etaxonomy.cdm.model.common.LSID;
51
import eu.etaxonomy.cdm.model.common.Language;
52
import eu.etaxonomy.cdm.model.common.Marker;
53
import eu.etaxonomy.cdm.model.common.MarkerType;
54
import eu.etaxonomy.cdm.model.description.DescriptionBase;
55
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
56
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
57
import eu.etaxonomy.cdm.model.location.Country;
58
import eu.etaxonomy.cdm.model.media.Media;
59
import eu.etaxonomy.cdm.model.media.Rights;
60
import eu.etaxonomy.cdm.model.molecular.DnaSample;
61
import eu.etaxonomy.cdm.model.molecular.Sequence;
62
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
63
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
64
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
65
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
66
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
67
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
68
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
69
import eu.etaxonomy.cdm.model.taxon.Taxon;
70
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
71
import eu.etaxonomy.cdm.model.view.AuditEvent;
72
import eu.etaxonomy.cdm.model.view.AuditEventRecord;
73
import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
74
import eu.etaxonomy.cdm.persistence.dto.MergeResult;
75
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
76
import eu.etaxonomy.cdm.persistence.query.Grouping;
77
import eu.etaxonomy.cdm.persistence.query.MatchMode;
78
import eu.etaxonomy.cdm.persistence.query.OrderHint;
79
import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
80
import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
81
import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
82

    
83
/**
84
 * @author pplitzner
85
 * @date 26.09.2013
86
 *
87
 */
88
public class TransientOccurenceService implements IOccurrenceService {
89

    
90
    private final IOccurrenceService defaultService;
91
    private final Collection<SpecimenOrObservationBase<?>> units;
92

    
93
    /**
94
     * @param defaultService
95
     */
96
    public TransientOccurenceService(IOccurrenceService defaultService) {
97
        this.defaultService = defaultService;
98
        this.units = new HashSet<SpecimenOrObservationBase<?>>();
99
    }
100

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

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

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

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

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

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

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

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

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

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

    
216
    /**
217
     * @param iso639
218
     * @return
219
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCountryByIso(java.lang.String)
220
     */
221
    @Override
222
    public Country getCountryByIso(String iso639) {
223
        return defaultService.getCountryByIso(iso639);
224
    }
225

    
226
    /**
227
     * @param clazz
228
     * @return
229
     * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
230
     */
231
    @Override
232
    public int count(Class<? extends SpecimenOrObservationBase> clazz) {
233
        return defaultService.count(clazz);
234
    }
235

    
236
    /**
237
     * @param name
238
     * @return
239
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCountryByName(java.lang.String)
240
     */
241
    @Override
242
    public List<Country> getCountryByName(String name) {
243
        return defaultService.getCountryByName(name);
244
    }
245

    
246
    /**
247
     * @param type
248
     * @param determinedAs
249
     * @param limit
250
     * @param start
251
     * @param orderHints
252
     * @param propertyPaths
253
     * @return
254
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#list(java.lang.Class, eu.etaxonomy.cdm.model.taxon.TaxonBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
255
     */
256
    @Override
257
    public Pager<SpecimenOrObservationBase> list(Class<? extends SpecimenOrObservationBase> type, TaxonBase determinedAs, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
258
        return defaultService.list(type, determinedAs, limit, start, orderHints, propertyPaths);
259
    }
260

    
261
    /**
262
     * @param clazz
263
     * @param from
264
     * @param to
265
     * @param criteria
266
     * @param pageSize
267
     * @param pageValue
268
     * @param sort
269
     * @param propertyPaths
270
     * @return
271
     * @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)
272
     */
273
    @Override
274
    public Pager<AuditEventRecord<SpecimenOrObservationBase>> pageAuditEvents(Class<? extends SpecimenOrObservationBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
275
        return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
276
    }
277

    
278
    /**
279
     * @param lsid
280
     * @return
281
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
282
     */
283
    @Override
284
    public SpecimenOrObservationBase find(LSID lsid) {
285
        return defaultService.find(lsid);
286
    }
287

    
288
    /**
289
     * @param persistentObject
290
     * @return
291
     * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
292
     */
293
    @Override
294
    public DeleteResult delete(SpecimenOrObservationBase persistentObject) {
295
        return defaultService.delete(persistentObject);
296
    }
297

    
298
    /**
299
     * @param clazz
300
     * @param technical
301
     * @param pageSize
302
     * @param pageNumber
303
     * @param propertyPaths
304
     * @return
305
     * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
306
     */
307
    @Override
308
    public List<Object[]> groupMarkers(Class<? extends SpecimenOrObservationBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
309
        return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
310
    }
311

    
312
    /**
313
     * @param uuid
314
     * @return
315
     * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
316
     */
317
    @Override
318
    public boolean exists(UUID uuid) {
319
        return defaultService.exists(uuid);
320
    }
321

    
322
    /**
323
     * @param x
324
     * @param y
325
     * @return
326
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
327
     */
328
    @Override
329
    public SpecimenOrObservationBase replace(SpecimenOrObservationBase x, SpecimenOrObservationBase y) {
330
        return defaultService.replace(x, y);
331
    }
332

    
333
    /**
334
     * @param uuidSet
335
     * @return
336
     * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
337
     */
338
    @Override
339
    public List<SpecimenOrObservationBase> find(Set<UUID> uuidSet) {
340
        return defaultService.find(uuidSet);
341
    }
342

    
343
    /**
344
     * @param t
345
     * @param pageSize
346
     * @param pageNumber
347
     * @param propertyPaths
348
     * @return
349
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
350
     */
351
    @Override
352
    public Pager<IdentifiableSource> getSources(SpecimenOrObservationBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
353
        return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
354
    }
355

    
356
    /**
357
     * @param uuid
358
     * @return
359
     * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
360
     */
361
    @Override
362
    public SpecimenOrObservationBase find(UUID uuid) {
363
        return defaultService.find(uuid);
364
    }
365

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

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

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

    
400
    /**
401
     * @param occurence
402
     * @param pageSize
403
     * @param pageNumber
404
     * @param propertyPaths
405
     * @return
406
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getMedia(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List)
407
     */
408
    @Override
409
    public Pager<Media> getMedia(SpecimenOrObservationBase occurence, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
410
        return defaultService.getMedia(occurence, pageSize, pageNumber, propertyPaths);
411
    }
412

    
413
    /**
414
     * @param idSet
415
     * @return
416
     * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
417
     */
418
    @Override
419
    public List<SpecimenOrObservationBase> findById(Set<Integer> idSet) {
420
        return defaultService.findById(idSet);
421
    }
422

    
423
    /**
424
     * @param clazz
425
     * @param idInSource
426
     * @param idNamespace
427
     * @return
428
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
429
     */
430
    @Override
431
    public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
432
        return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
433
    }
434

    
435
    /**
436
     * @return
437
     * @see eu.etaxonomy.cdm.api.service.IService#getSession()
438
     */
439
    @Override
440
    public Session getSession() {
441
        return defaultService.getSession();
442
    }
443

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

    
458
    /**
459
     * @param occurence
460
     * @param taxonBase
461
     * @param pageSize
462
     * @param pageNumber
463
     * @param propertyPaths
464
     * @return
465
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDeterminations(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, eu.etaxonomy.cdm.model.taxon.TaxonBase, java.lang.Integer, java.lang.Integer, java.util.List)
466
     */
467
    @Override
468
    public Pager<DeterminationEvent> getDeterminations(SpecimenOrObservationBase occurence, TaxonBase taxonBase, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
469
        return defaultService.getDeterminations(occurence, taxonBase, pageSize, pageNumber, propertyPaths);
470
    }
471

    
472
    /**
473
     * @param clazz
474
     * @param queryString
475
     * @param matchmode
476
     * @param criteria
477
     * @param pageSize
478
     * @param pageNumber
479
     * @param orderHints
480
     * @param propertyPaths
481
     * @return
482
     * @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)
483
     */
484
    @Override
485
    public Pager<SpecimenOrObservationBase> findByTitle(Class<? extends SpecimenOrObservationBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
486
        return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
487
    }
488

    
489
    /**
490
     * @param occurence
491
     * @param pageSize
492
     * @param pageNumber
493
     * @param propertyPaths
494
     * @return
495
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivationEvents(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List)
496
     */
497
    @Override
498
    public Pager<DerivationEvent> getDerivationEvents(SpecimenOrObservationBase occurence, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
499
        return defaultService.getDerivationEvents(occurence, pageSize, pageNumber, propertyPaths);
500
    }
501

    
502
    /**
503
     * @param type
504
     * @param limit
505
     * @param start
506
     * @param orderHints
507
     * @param propertyPaths
508
     * @return
509
     * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
510
     */
511
    @Override
512
    public <S extends SpecimenOrObservationBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
513
        return defaultService.list(type, limit, start, orderHints, propertyPaths);
514
    }
515

    
516
    /**
517
     * @param clazz
518
     * @param query
519
     * @param pageSize
520
     * @param pageNumber
521
     * @param orderHints
522
     * @param propertyPaths
523
     * @return
524
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
525
     */
526
    @Override
527
    public Pager<SpecimenOrObservationBase> search(Class<? extends SpecimenOrObservationBase> clazz, String query, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
528
        return defaultService.search(clazz, query, pageSize, pageNumber, orderHints, propertyPaths);
529
    }
530

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

    
541
    /**
542
     * @param clazz
543
     * @param queryString
544
     * @param matchmode
545
     * @param criteria
546
     * @return
547
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
548
     */
549
    @Override
550
    public Integer countByTitle(Class<? extends SpecimenOrObservationBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
551
        return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
552
    }
553

    
554
    /**
555
     * @param uuid
556
     * @return
557
     * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
558
     */
559
    @Override
560
    public SpecimenOrObservationBase load(UUID uuid) {
561
        return defaultService.load(uuid);
562
    }
563

    
564
    /**
565
     * @param uuid
566
     * @param propertyPaths
567
     * @return
568
     * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
569
     */
570
    @Override
571
    public SpecimenOrObservationBase load(UUID uuid, List<String> propertyPaths) {
572
        return defaultService.load(uuid, propertyPaths);
573
    }
574

    
575
    /**
576
     * @param configurator
577
     * @return
578
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
579
     */
580
    @Override
581
    public Integer countByTitle(IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase> configurator) {
582
        return defaultService.countByTitle(configurator);
583
    }
584

    
585
    /**
586
     * @return
587
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getFieldUnitUuidAndTitleCache()
588
     */
589
    @Override
590
    public List<UuidAndTitleCache<FieldUnit>> getFieldUnitUuidAndTitleCache() {
591
        return defaultService.getFieldUnitUuidAndTitleCache();
592
    }
593

    
594
    /**
595
     * @return
596
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivedUnitUuidAndTitleCache()
597
     */
598
    @Override
599
    public List<UuidAndTitleCache<DerivedUnit>> getDerivedUnitUuidAndTitleCache() {
600
        return defaultService.getDerivedUnitUuidAndTitleCache();
601
    }
602

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

    
613
    /**
614
     * @param derivedUnit
615
     * @param propertyPaths
616
     * @return
617
     * @throws DerivedUnitFacadeNotSupportedException
618
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivedUnitFacade(eu.etaxonomy.cdm.model.occurrence.DerivedUnit, java.util.List)
619
     */
620
    @Override
621
    public DerivedUnitFacade getDerivedUnitFacade(DerivedUnit derivedUnit, List<String> propertyPaths) throws DerivedUnitFacadeNotSupportedException {
622
        return defaultService.getDerivedUnitFacade(derivedUnit, propertyPaths);
623
    }
624

    
625
    /**
626
     * @param clazz
627
     * @param queryString
628
     * @param matchmode
629
     * @param criteria
630
     * @param pageSize
631
     * @param pageNumber
632
     * @param orderHints
633
     * @param propertyPaths
634
     * @return
635
     * @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)
636
     */
637
    @Override
638
    public List<SpecimenOrObservationBase> listByTitle(Class<? extends SpecimenOrObservationBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
639
        return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
640
    }
641

    
642
    /**
643
     * @param description
644
     * @param propertyPaths
645
     * @return
646
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listDerivedUnitFacades(eu.etaxonomy.cdm.model.description.DescriptionBase, java.util.List)
647
     */
648
    @Override
649
    public List<DerivedUnitFacade> listDerivedUnitFacades(DescriptionBase description, List<String> propertyPaths) {
650
        return defaultService.listDerivedUnitFacades(description, propertyPaths);
651
    }
652

    
653
    /**
654
     * @param type
655
     * @param pageSize
656
     * @param pageNumber
657
     * @param orderHints
658
     * @param propertyPaths
659
     * @return
660
     * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
661
     */
662
    @Override
663
    public <S extends SpecimenOrObservationBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
664
        return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
665
    }
666

    
667
    /**
668
     * @param type
669
     * @param includeRelationships
670
     * @param associatedTaxon
671
     * @param maxDepth
672
     * @param pageSize
673
     * @param pageNumber
674
     * @param orderHints
675
     * @param propertyPaths
676
     * @return
677
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listByAssociatedTaxon(java.lang.Class, java.util.Set, eu.etaxonomy.cdm.model.taxon.Taxon, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
678
     */
679
    @Override
680
    public <T extends SpecimenOrObservationBase> List<T> listByAssociatedTaxon(Class<T> type, Set<TaxonRelationshipEdge> includeRelationships, Taxon associatedTaxon, Integer maxDepth, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
681
        return defaultService.listByAssociatedTaxon(type, includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
682
    }
683

    
684
    /**
685
     * @param persistentObject
686
     * @return
687
     * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
688
     */
689
    @Override
690
    public UUID refresh(SpecimenOrObservationBase persistentObject) {
691
        return defaultService.refresh(persistentObject);
692
    }
693

    
694
    /**
695
     * @param clazz
696
     * @param queryString
697
     * @param matchmode
698
     * @param criteria
699
     * @param pageSize
700
     * @param pageNumber
701
     * @param orderHints
702
     * @param propertyPaths
703
     * @return
704
     * @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)
705
     */
706
    @Override
707
    public List<SpecimenOrObservationBase> listByReferenceTitle(Class<? extends SpecimenOrObservationBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
708
        return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
709
    }
710

    
711
    /**
712
     * @param tableName
713
     * @param limit
714
     * @param start
715
     * @return
716
     * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
717
     */
718
    @Override
719
    public List<SpecimenOrObservationBase> rows(String tableName, int limit, int start) {
720
        return defaultService.rows(tableName, limit, start);
721
    }
722

    
723
    /**
724
     * @param newInstances
725
     * @return
726
     * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
727
     */
728
    @Override
729
    public Map<UUID, SpecimenOrObservationBase> save(Collection<SpecimenOrObservationBase> newInstances) {
730
        for(SpecimenOrObservationBase unit:newInstances){
731
            save(unit);
732
        }
733
        return null;
734
    }
735

    
736
    /**
737
     * @param type
738
     * @param includeRelationships
739
     * @param associatedTaxon
740
     * @param maxDepth
741
     * @param pageSize
742
     * @param pageNumber
743
     * @param orderHints
744
     * @param propertyPaths
745
     * @return
746
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#pageByAssociatedTaxon(java.lang.Class, java.util.Set, eu.etaxonomy.cdm.model.taxon.Taxon, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
747
     */
748
    @Override
749
    public <T extends SpecimenOrObservationBase> Pager<T> pageByAssociatedTaxon(Class<T> type, Set<TaxonRelationshipEdge> includeRelationships, Taxon associatedTaxon, Integer maxDepth, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
750
        return defaultService.pageByAssociatedTaxon(type, includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
751
    }
752

    
753
    /**
754
     * @param newInstance
755
     * @return
756
     * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
757
     */
758
    @Override
759
    public SpecimenOrObservationBase save(SpecimenOrObservationBase newInstance) {
760
        units.add(newInstance);
761
        return null;
762
    }
763

    
764
    /**
765
     * @param transientObject
766
     * @return
767
     * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
768
     */
769
    @Override
770
    public UUID saveOrUpdate(SpecimenOrObservationBase transientObject) {
771
        units.add(transientObject);
772
        return null;
773
    }
774

    
775
    /**
776
     * @param transientObjects
777
     * @return
778
     * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
779
     */
780
    @Override
781
    public Map<UUID, SpecimenOrObservationBase> saveOrUpdate(Collection<SpecimenOrObservationBase> transientObjects) {
782
        for(SpecimenOrObservationBase unit:transientObjects){
783
            saveOrUpdate(unit);
784
        }
785
        return null;
786
    }
787

    
788
    /**
789
     * @param clazz
790
     * @param queryString
791
     * @param boundingBox
792
     * @param languages
793
     * @param highlightFragments
794
     * @param pageSize
795
     * @param pageNumber
796
     * @param orderHints
797
     * @param propertyPaths
798
     * @return
799
     * @throws CorruptIndexException
800
     * @throws IOException
801
     * @throws ParseException
802
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#findByFullText(java.lang.Class, java.lang.String, org.hibernate.search.spatial.impl.Rectangle, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
803
     */
804
    @Override
805
    public Pager<SearchResult<SpecimenOrObservationBase>> findByFullText(Class<? extends SpecimenOrObservationBase> clazz, String queryString, Rectangle boundingBox, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException {
806
        return defaultService.findByFullText(clazz, queryString, boundingBox, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
807
    }
808

    
809
    /**
810
     * @param transientObject
811
     * @return
812
     * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
813
     */
814
    @Override
815
    public UUID update(SpecimenOrObservationBase transientObject) {
816
        return defaultService.update(transientObject);
817
    }
818

    
819
    /**
820
     * @param example
821
     * @param includeProperties
822
     * @param limit
823
     * @param start
824
     * @param orderHints
825
     * @param propertyPaths
826
     * @return
827
     * @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)
828
     */
829
    @Override
830
    public List<SpecimenOrObservationBase> list(SpecimenOrObservationBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
831
        return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
832
    }
833

    
834
    @Override
835
    public int deduplicate(Class<? extends SpecimenOrObservationBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
836
        return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
837
    }
838

    
839
    @Override
840
    public Pager<SpecimenOrObservationBase> findTitleCache(Class<? extends SpecimenOrObservationBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
841
        return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
842
    }
843

    
844
    public Collection<SpecimenOrObservationBase<?>> getUnits() {
845
        return units;
846
    }
847

    
848
    @Override
849
    public Collection<FieldUnit> getFieldUnits(UUID derivedUnitUuid) {
850
        return defaultService.getFieldUnits(derivedUnitUuid);
851
    }
852

    
853
    @Override
854
    public <T extends SpecimenOrObservationBase> Pager<T> pageByAssociatedTaxon(Class<T> type,
855
            Set<TaxonRelationshipEdge> includeRelationships, String taxonUUID, Integer maxDepth, Integer pageSize,
856
            Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
857
        return defaultService.pageByAssociatedTaxon(type, includeRelationships, taxonUUID,
858
                maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
859
    }
860

    
861

    
862
    @Override
863
    public UpdateResult moveSequence(DnaSample from, DnaSample to, Sequence sequence) {
864
        return defaultService.moveSequence(from, to, sequence);
865
    }
866

    
867
	@Override
868
	public DeleteResult isDeletable(SpecimenOrObservationBase object,
869
			DeleteConfiguratorBase config) {
870
		return defaultService.isDeletable(object, config);
871
	}
872

    
873
    @Override
874
    public int countDeterminations(SpecimenOrObservationBase occurence, TaxonBase taxonbase) {
875
        return defaultService.countDeterminations(occurence, taxonbase);
876
    }
877

    
878
	@Override
879
	public SpecimenOrObservationBase findWithoutFlush(UUID uuid) {
880
		return defaultService.findWithoutFlush(uuid);
881
	}
882

    
883
	@Override
884
	public Collection<SpecimenOrObservationBase> listFieldUnitsByAssociatedTaxon(Taxon associatedTaxon,
885
	        List<OrderHint> orderHints, List<String> propertyPaths) {
886
	    return defaultService.listFieldUnitsByAssociatedTaxon(associatedTaxon, orderHints, propertyPaths);
887
	}
888

    
889
	@Override
890
	public Pager<SpecimenOrObservationBase> pageFieldUnitsByAssociatedTaxon(
891
	        Set<TaxonRelationshipEdge> includeRelationships, Taxon associatedTaxon, Integer maxDepth, Integer pageSize,
892
	        Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
893
	    return defaultService.pageFieldUnitsByAssociatedTaxon(includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
894
	}
895

    
896

    
897
	@Override
898
	public FieldUnitDTO assembleFieldUnitDTO(FieldUnit fieldUnit, UUID associatedTaxonUuid) {
899
	    return defaultService.assembleFieldUnitDTO(fieldUnit, associatedTaxonUuid);
900
	}
901

    
902
	@Override
903
	public PreservedSpecimenDTO assemblePreservedSpecimenDTO(DerivedUnit derivedUnit) {
904
	    return defaultService.assemblePreservedSpecimenDTO(derivedUnit);
905
	}
906

    
907
    @Override
908
    public Collection<ICdmBase> getNonCascadedAssociatedElements(SpecimenOrObservationBase<?> specimen) {
909
        return defaultService.getNonCascadedAssociatedElements(specimen);
910
    }
911

    
912
    @Override
913
    public DeleteResult delete(SpecimenOrObservationBase<?> specimen, SpecimenDeleteConfigurator config) {
914
        return defaultService.delete(specimen, config);
915
    }
916

    
917
    @Override
918
    public Collection<IndividualsAssociation> listIndividualsAssociations(SpecimenOrObservationBase<?> specimen,
919
            Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
920
        return defaultService.listIndividualsAssociations(specimen, limit, start, orderHints, propertyPaths);
921
    }
922

    
923
    @Override
924
    public Collection<DescriptionBase<?>> listDescriptionsWithDescriptionSpecimen(
925
            SpecimenOrObservationBase<?> specimen, Integer limit, Integer start, List<OrderHint> orderHints,
926
            List<String> propertyPaths) {
927
        return defaultService.listDescriptionsWithDescriptionSpecimen(specimen, limit, start, orderHints, propertyPaths);
928
    }
929

    
930
	@Override
931
	public <S extends SpecimenOrObservationBase>  Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
932
		return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
933
	}
934

    
935
	@Override
936
	public Collection<DescriptionElementBase> getCharacterDataForSpecimen(SpecimenOrObservationBase<?> arg0) {
937
	    return defaultService.getCharacterDataForSpecimen(arg0);
938
	}
939

    
940
	@Override
941
	public Collection<DescriptionElementBase> getCharacterDataForSpecimen(UUID arg0) {
942
	    return getCharacterDataForSpecimen(arg0);
943
	}
944

    
945
	@Override
946
	public String getMostSignificantIdentifier(DerivedUnit derivedUnit) {
947
	    return defaultService.getMostSignificantIdentifier(derivedUnit);
948
	}
949

    
950
	@Override
951
	public int countOccurrences(IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase> config) {
952
	    return defaultService.countOccurrences(config);
953
	}
954

    
955
	/**
956
	 * {@inheritDoc}
957
	 */
958
	@Override
959
	public List<DerivedUnit> getAllChildDerivatives(SpecimenOrObservationBase<?> specimen) {
960
	    return defaultService.getAllChildDerivatives(specimen);
961
	}
962

    
963
	/**
964
	 * {@inheritDoc}
965
	 */
966
	@Override
967
	public List<SpecimenOrObservationBase<?>> getAllHierarchyDerivatives(SpecimenOrObservationBase<?> specimen) {
968
	    return defaultService.getAllHierarchyDerivatives(specimen);
969
	}
970

    
971

    
972
    @Override
973
    public DeleteResult delete(UUID uuid) {
974
        return defaultService.delete(uuid);
975
    }
976

    
977
    @Override
978
    public DeleteResult delete(Collection<UUID> arg0) {
979
        return defaultService.delete(arg0);
980
    }
981

    
982

    
983
    @Override
984
    public List<SpecimenOrObservationBase> merge(List<SpecimenOrObservationBase> arg0) {
985
        return defaultService.merge(arg0);
986
    }
987

    
988
    @Override
989
    public UpdateResult moveDerivate(UUID arg0, UUID arg1, UUID arg2) {
990
        return defaultService.moveDerivate(arg0, arg1, arg2);
991
    }
992

    
993
    @Override
994
    public boolean moveDerivate(SpecimenOrObservationBase<?> from, SpecimenOrObservationBase<?> to, DerivedUnit derivate) {
995
        return defaultService.moveDerivate(from, to, derivate);
996
    }
997

    
998
    @Override
999
    public UpdateResult moveSequence(UUID arg0, UUID arg1, UUID arg2) {
1000
        return defaultService.moveSequence(arg0, arg1, arg2);
1001
    }
1002

    
1003
    @Override
1004
    public Pager<Media> getMediainHierarchy(SpecimenOrObservationBase arg0, Integer arg1, Integer arg2,
1005
            List<String> arg3) {
1006
        return defaultService.getMediainHierarchy(arg0, arg1, arg2, arg3);
1007
    }
1008

    
1009
    @Override
1010
    public List<MergeResult<SpecimenOrObservationBase>> merge(List<SpecimenOrObservationBase> arg0, boolean arg1) {
1011
        return defaultService.merge(arg0, arg1);
1012
    }
1013

    
1014
    @Override
1015
    public MergeResult<SpecimenOrObservationBase> merge(SpecimenOrObservationBase arg0, boolean arg1) {
1016
        return defaultService.merge(arg0, arg1);
1017
    }
1018

    
1019
    /**
1020
     * {@inheritDoc}
1021
     */
1022
    @Override
1023
    public Collection<TaxonBase<?>> listAssociatedTaxa(SpecimenOrObservationBase<?> arg0, Integer arg1, Integer arg2,
1024
            List<OrderHint> arg3, List<String> arg4) {
1025
        return defaultService.listAssociatedTaxa(arg0, arg1, arg2, arg3, arg4);
1026
    }
1027

    
1028
    @Override
1029
    public SpecimenOrObservationBase loadWithUpdate(UUID arg0) {
1030
        return defaultService.loadWithUpdate(arg0);
1031
    }
1032

    
1033
    /**
1034
     * {@inheritDoc}
1035
     */
1036
    @Override
1037
    public DeleteResult delete(UUID arg0, SpecimenDeleteConfigurator arg1) {
1038
        return defaultService.delete(arg0, arg1);
1039
    }
1040

    
1041
    /**
1042
     * {@inheritDoc}
1043
     */
1044
    @Override
1045
    public Pager<SpecimenOrObservationBase> list(Class<? extends SpecimenOrObservationBase> arg0, TaxonNameBase arg1,
1046
            Integer arg2, Integer arg3, List<OrderHint> arg4, List<String> arg5) {
1047
        return defaultService.list(arg0, arg1, arg2, arg3, arg4, arg5);
1048
    }
1049

    
1050
    /**
1051
     * {@inheritDoc}
1052
     */
1053
    @Override
1054
    public Collection<DeterminationEvent> listDeterminationEvents(SpecimenOrObservationBase<?> arg0, Integer arg1,
1055
            Integer arg2, List<OrderHint> arg3, List<String> arg4) {
1056
        return defaultService.listDeterminationEvents(arg0, arg1, arg2, arg3, arg4);
1057
    }
1058

    
1059
    @Override
1060
    public Collection<TaxonBase<?>> listDeterminedTaxa(SpecimenOrObservationBase<?> arg0, Integer arg1, Integer arg2,
1061
            List<OrderHint> arg3, List<String> arg4) {
1062
        return defaultService.listDeterminedTaxa(arg0, arg1, arg2, arg3, arg4);
1063
    }
1064

    
1065
    @Override
1066
    public Collection<TaxonBase<?>> listIndividualsAssociationTaxa(SpecimenOrObservationBase<?> arg0, Integer arg1,
1067
            Integer arg2, List<OrderHint> arg3, List<String> arg4) {
1068
        return defaultService.listIndividualsAssociationTaxa(arg0, arg1, arg2, arg3, arg4);
1069
    }
1070

    
1071
     /**
1072
     * {@inheritDoc}
1073
     */
1074
    @Override
1075
    public List<SpecimenOrObservationBase> load(List<UUID> arg0, List<String> arg1) {
1076
        return defaultService.load(arg0, arg1);
1077
    }
1078

    
1079
    @Override
1080
    public Collection<TaxonBase<?>> listTypeDesignationTaxa(DerivedUnit arg0, Integer arg1, Integer arg2,
1081
            List<OrderHint> arg3, List<String> arg4) {
1082
        return defaultService.listTypeDesignationTaxa(arg0, arg1, arg2, arg3, arg4);
1083
    }
1084

    
1085
    @Override
1086
    public Map<DerivedUnit, Collection<SpecimenTypeDesignation>> listTypeDesignations(Collection<DerivedUnit> arg0,
1087
            Integer arg1, Integer arg2, List<OrderHint> arg3, List<String> arg4) {
1088
        return defaultService.listTypeDesignations(arg0, arg1, arg2, arg3, arg4);
1089
    }
1090

    
1091
    @Override
1092
    public Collection<SpecimenTypeDesignation> listTypeDesignations(DerivedUnit arg0, Integer arg1, Integer arg2,
1093
            List<OrderHint> arg3, List<String> arg4) {
1094
        return defaultService.listTypeDesignations(arg0, arg1, arg2, arg3, arg4);
1095
    }
1096

    
1097
    @Override
1098
    public List<DerivedUnit> getAllChildDerivatives(UUID arg0) {
1099
        return defaultService.getAllChildDerivatives(arg0);
1100
    }
1101

    
1102
    @Override
1103
	public List<UuidAndTitleCache<SpecimenOrObservationBase>> getUuidAndTitleCache(
1104
			Integer limit, String pattern) {
1105
		return defaultService.getUuidAndTitleCache(limit, pattern);
1106
	}
1107

    
1108
	@Override
1109
	public List<SpecimenOrObservationBase> loadByIds(List<Integer> idSet, List<String> propertyPaths) {
1110
		
1111
		return defaultService.loadByIds(idSet, propertyPaths);
1112
	}
1113

    
1114
	@Override
1115
	public <S extends SpecimenOrObservationBase> Pager<FindByMarkerDTO<S>> findByMarker(
1116
			Class<S> arg0, MarkerType arg1, Boolean arg2, boolean arg3,
1117
			Integer arg4, Integer arg5, List<String> arg6) {
1118
		// TODO Auto-generated method stub
1119
		return null;
1120
	}
1121

    
1122
}
(8-8/11)