Project

General

Profile

Download (42.5 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.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.PreservedSpecimenDTO;
39
import eu.etaxonomy.cdm.api.service.pager.Pager;
40
import eu.etaxonomy.cdm.api.service.search.SearchResult;
41
import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
42
import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
43
import eu.etaxonomy.cdm.model.common.Annotation;
44
import eu.etaxonomy.cdm.model.common.CdmBase;
45
import eu.etaxonomy.cdm.model.common.DefinedTerm;
46
import eu.etaxonomy.cdm.model.common.ICdmBase;
47
import eu.etaxonomy.cdm.model.common.ISourceable;
48
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
49
import eu.etaxonomy.cdm.model.common.LSID;
50
import eu.etaxonomy.cdm.model.common.Language;
51
import eu.etaxonomy.cdm.model.common.Marker;
52
import eu.etaxonomy.cdm.model.common.MarkerType;
53
import eu.etaxonomy.cdm.model.description.DescriptionBase;
54
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
55
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
56
import eu.etaxonomy.cdm.model.location.Country;
57
import eu.etaxonomy.cdm.model.media.Media;
58
import eu.etaxonomy.cdm.model.media.Rights;
59
import eu.etaxonomy.cdm.model.molecular.DnaSample;
60
import eu.etaxonomy.cdm.model.molecular.Sequence;
61
import eu.etaxonomy.cdm.model.molecular.SingleRead;
62
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
63
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
64
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
65
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
66
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
67
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
68
import eu.etaxonomy.cdm.model.taxon.Taxon;
69
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
70
import eu.etaxonomy.cdm.model.view.AuditEvent;
71
import eu.etaxonomy.cdm.model.view.AuditEventRecord;
72
import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
73
import eu.etaxonomy.cdm.persistence.dto.MergeResult;
74
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
75
import eu.etaxonomy.cdm.persistence.query.Grouping;
76
import eu.etaxonomy.cdm.persistence.query.MatchMode;
77
import eu.etaxonomy.cdm.persistence.query.OrderHint;
78
import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
79
import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
80
import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
81

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

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

    
92
    /**
93
     * @param defaultService
94
     */
95
    public TransientOccurenceService(IOccurrenceService defaultService) {
96
        this.defaultService = defaultService;
97
        this.units = new HashSet<SpecimenOrObservationBase<?>>();
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<SpecimenOrObservationBase>> pageAuditEvents(SpecimenOrObservationBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
111
        return defaultService.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(SpecimenOrObservationBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
126
        return defaultService.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
        defaultService.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(SpecimenOrObservationBase t, LockOptions lockOptions) {
145
        defaultService.lock(t, lockOptions);
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(SpecimenOrObservationBase t, LockOptions lockOptions, List<String> propertyPaths) {
156
        defaultService.refresh(t, lockOptions, propertyPaths);
157
    }
158

    
159
    /**
160
     *
161
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
162
     */
163
    @Override
164
    public void updateTitleCache() {
165
        defaultService.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<SpecimenOrObservationBase> getNextAuditEvent(SpecimenOrObservationBase t) {
175
        return defaultService.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(SpecimenOrObservationBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
190
        return defaultService.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 SpecimenOrObservationBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<SpecimenOrObservationBase> cacheStrategy, IProgressMonitor monitor) {
202
        defaultService.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<SpecimenOrObservationBase> getPreviousAuditEvent(SpecimenOrObservationBase t) {
212
        return defaultService.getPreviousAuditEvent(t);
213
    }
214

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

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

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

    
245
    /**
246
     * @param type
247
     * @param determinedAs
248
     * @param limit
249
     * @param start
250
     * @param orderHints
251
     * @param propertyPaths
252
     * @return
253
     * @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)
254
     */
255
    @Override
256
    public Pager<SpecimenOrObservationBase> list(Class<? extends SpecimenOrObservationBase> type, TaxonBase determinedAs, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
257
        return defaultService.list(type, determinedAs, limit, start, orderHints, propertyPaths);
258
    }
259

    
260
    /**
261
     * @param clazz
262
     * @param from
263
     * @param to
264
     * @param criteria
265
     * @param pageSize
266
     * @param pageValue
267
     * @param sort
268
     * @param propertyPaths
269
     * @return
270
     * @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)
271
     */
272
    @Override
273
    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) {
274
        return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
275
    }
276

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
443
    /**
444
     * @return
445
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
446
     */
447
    @Override
448
    public List<UuidAndTitleCache<SpecimenOrObservationBase>> getUuidAndTitleCache() {
449
        return defaultService.getUuidAndTitleCache();
450
    }
451

    
452
    /**
453
     * @param clazz
454
     * @param limit
455
     * @param start
456
     * @param groups
457
     * @param propertyPaths
458
     * @return
459
     * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
460
     */
461
    @Override
462
    public List<Object[]> group(Class<? extends SpecimenOrObservationBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
463
        return defaultService.group(clazz, limit, start, groups, propertyPaths);
464
    }
465

    
466
    /**
467
     * @param occurence
468
     * @param taxonBase
469
     * @param pageSize
470
     * @param pageNumber
471
     * @param propertyPaths
472
     * @return
473
     * @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)
474
     */
475
    @Override
476
    public Pager<DeterminationEvent> getDeterminations(SpecimenOrObservationBase occurence, TaxonBase taxonBase, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
477
        return defaultService.getDeterminations(occurence, taxonBase, pageSize, pageNumber, propertyPaths);
478
    }
479

    
480
    /**
481
     * @param clazz
482
     * @param queryString
483
     * @param matchmode
484
     * @param criteria
485
     * @param pageSize
486
     * @param pageNumber
487
     * @param orderHints
488
     * @param propertyPaths
489
     * @return
490
     * @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)
491
     */
492
    @Override
493
    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) {
494
        return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
495
    }
496

    
497
    /**
498
     * @param occurence
499
     * @param pageSize
500
     * @param pageNumber
501
     * @param propertyPaths
502
     * @return
503
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivationEvents(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List)
504
     */
505
    @Override
506
    public Pager<DerivationEvent> getDerivationEvents(SpecimenOrObservationBase occurence, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
507
        return defaultService.getDerivationEvents(occurence, pageSize, pageNumber, propertyPaths);
508
    }
509

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

    
524
    /**
525
     * @param clazz
526
     * @param query
527
     * @param pageSize
528
     * @param pageNumber
529
     * @param orderHints
530
     * @param propertyPaths
531
     * @return
532
     * @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)
533
     */
534
    @Override
535
    public Pager<SpecimenOrObservationBase> search(Class<? extends SpecimenOrObservationBase> clazz, String query, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
536
        return defaultService.search(clazz, query, pageSize, pageNumber, orderHints, propertyPaths);
537
    }
538

    
539
    /**
540
     * @param configurator
541
     * @return
542
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
543
     */
544
    @Override
545
    public Pager<SpecimenOrObservationBase> findByTitle(IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase> configurator) {
546
        return defaultService.findByTitle(configurator);
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 SpecimenOrObservationBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
559
        return defaultService.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 SpecimenOrObservationBase load(UUID uuid) {
569
        return defaultService.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 SpecimenOrObservationBase load(UUID uuid, List<String> propertyPaths) {
580
        return defaultService.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<SpecimenOrObservationBase> configurator) {
590
        return defaultService.countByTitle(configurator);
591
    }
592

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

    
602
    /**
603
     * @return
604
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivedUnitUuidAndTitleCache()
605
     */
606
    @Override
607
    public List<UuidAndTitleCache<DerivedUnit>> getDerivedUnitUuidAndTitleCache() {
608
        return defaultService.getDerivedUnitUuidAndTitleCache();
609
    }
610

    
611
    /**
612
     * @param transientObject
613
     * @return
614
     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
615
     */
616
    @Override
617
    public SpecimenOrObservationBase merge(SpecimenOrObservationBase transientObject) {
618
        return defaultService.merge(transientObject);
619
    }
620

    
621
    /**
622
     * @param derivedUnit
623
     * @param propertyPaths
624
     * @return
625
     * @throws DerivedUnitFacadeNotSupportedException
626
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivedUnitFacade(eu.etaxonomy.cdm.model.occurrence.DerivedUnit, java.util.List)
627
     */
628
    @Override
629
    public DerivedUnitFacade getDerivedUnitFacade(DerivedUnit derivedUnit, List<String> propertyPaths) throws DerivedUnitFacadeNotSupportedException {
630
        return defaultService.getDerivedUnitFacade(derivedUnit, propertyPaths);
631
    }
632

    
633
    /**
634
     * @param clazz
635
     * @param queryString
636
     * @param matchmode
637
     * @param criteria
638
     * @param pageSize
639
     * @param pageNumber
640
     * @param orderHints
641
     * @param propertyPaths
642
     * @return
643
     * @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)
644
     */
645
    @Override
646
    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) {
647
        return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
648
    }
649

    
650
    /**
651
     * @param description
652
     * @param propertyPaths
653
     * @return
654
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listDerivedUnitFacades(eu.etaxonomy.cdm.model.description.DescriptionBase, java.util.List)
655
     */
656
    @Override
657
    public List<DerivedUnitFacade> listDerivedUnitFacades(DescriptionBase description, List<String> propertyPaths) {
658
        return defaultService.listDerivedUnitFacades(description, propertyPaths);
659
    }
660

    
661
    /**
662
     * @param type
663
     * @param pageSize
664
     * @param pageNumber
665
     * @param orderHints
666
     * @param propertyPaths
667
     * @return
668
     * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
669
     */
670
    @Override
671
    public <S extends SpecimenOrObservationBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
672
        return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
673
    }
674

    
675
    /**
676
     * @param type
677
     * @param includeRelationships
678
     * @param associatedTaxon
679
     * @param maxDepth
680
     * @param pageSize
681
     * @param pageNumber
682
     * @param orderHints
683
     * @param propertyPaths
684
     * @return
685
     * @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)
686
     */
687
    @Override
688
    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) {
689
        return defaultService.listByAssociatedTaxon(type, includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
690
    }
691

    
692
    /**
693
     * @param persistentObject
694
     * @return
695
     * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
696
     */
697
    @Override
698
    public UUID refresh(SpecimenOrObservationBase persistentObject) {
699
        return defaultService.refresh(persistentObject);
700
    }
701

    
702
    /**
703
     * @param clazz
704
     * @param queryString
705
     * @param matchmode
706
     * @param criteria
707
     * @param pageSize
708
     * @param pageNumber
709
     * @param orderHints
710
     * @param propertyPaths
711
     * @return
712
     * @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)
713
     */
714
    @Override
715
    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) {
716
        return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
717
    }
718

    
719
    /**
720
     * @param tableName
721
     * @param limit
722
     * @param start
723
     * @return
724
     * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
725
     */
726
    @Override
727
    public List<SpecimenOrObservationBase> rows(String tableName, int limit, int start) {
728
        return defaultService.rows(tableName, limit, start);
729
    }
730

    
731
    /**
732
     * @param newInstances
733
     * @return
734
     * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
735
     */
736
    @Override
737
    public Map<UUID, SpecimenOrObservationBase> save(Collection<SpecimenOrObservationBase> newInstances) {
738
        for(SpecimenOrObservationBase unit:newInstances){
739
            save(unit);
740
        }
741
        return null;
742
    }
743

    
744
    /**
745
     * @param type
746
     * @param includeRelationships
747
     * @param associatedTaxon
748
     * @param maxDepth
749
     * @param pageSize
750
     * @param pageNumber
751
     * @param orderHints
752
     * @param propertyPaths
753
     * @return
754
     * @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)
755
     */
756
    @Override
757
    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) {
758
        return defaultService.pageByAssociatedTaxon(type, includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
759
    }
760

    
761
    /**
762
     * @param newInstance
763
     * @return
764
     * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
765
     */
766
    @Override
767
    public SpecimenOrObservationBase save(SpecimenOrObservationBase newInstance) {
768
        units.add(newInstance);
769
        return null;
770
    }
771

    
772
    /**
773
     * @param transientObject
774
     * @return
775
     * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
776
     */
777
    @Override
778
    public UUID saveOrUpdate(SpecimenOrObservationBase transientObject) {
779
        units.add(transientObject);
780
        return null;
781
    }
782

    
783
    /**
784
     * @param transientObjects
785
     * @return
786
     * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
787
     */
788
    @Override
789
    public Map<UUID, SpecimenOrObservationBase> saveOrUpdate(Collection<SpecimenOrObservationBase> transientObjects) {
790
        for(SpecimenOrObservationBase unit:transientObjects){
791
            saveOrUpdate(unit);
792
        }
793
        return null;
794
    }
795

    
796
    /**
797
     * @param clazz
798
     * @param queryString
799
     * @param boundingBox
800
     * @param languages
801
     * @param highlightFragments
802
     * @param pageSize
803
     * @param pageNumber
804
     * @param orderHints
805
     * @param propertyPaths
806
     * @return
807
     * @throws CorruptIndexException
808
     * @throws IOException
809
     * @throws ParseException
810
     * @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)
811
     */
812
    @Override
813
    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 {
814
        return defaultService.findByFullText(clazz, queryString, boundingBox, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
815
    }
816

    
817
    /**
818
     * @param transientObject
819
     * @return
820
     * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
821
     */
822
    @Override
823
    public UUID update(SpecimenOrObservationBase transientObject) {
824
        return defaultService.update(transientObject);
825
    }
826

    
827
    /**
828
     * @param example
829
     * @param includeProperties
830
     * @param limit
831
     * @param start
832
     * @param orderHints
833
     * @param propertyPaths
834
     * @return
835
     * @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)
836
     */
837
    @Override
838
    public List<SpecimenOrObservationBase> list(SpecimenOrObservationBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
839
        return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
840
    }
841

    
842
    @Override
843
    public int deduplicate(Class<? extends SpecimenOrObservationBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
844
        return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
845
    }
846

    
847
    @Override
848
    public Pager<SpecimenOrObservationBase> findTitleCache(Class<? extends SpecimenOrObservationBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
849
        return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
850
    }
851

    
852
    public Collection<SpecimenOrObservationBase<?>> getUnits() {
853
        return units;
854
    }
855

    
856
    @Override
857
    public Collection<FieldUnit> getFieldUnits(UUID derivedUnitUuid) {
858
        return defaultService.getFieldUnits(derivedUnitUuid);
859
    }
860

    
861
    @Override
862
    public <T extends SpecimenOrObservationBase> Pager<T> pageByAssociatedTaxon(Class<T> type,
863
            Set<TaxonRelationshipEdge> includeRelationships, String taxonUUID, Integer maxDepth, Integer pageSize,
864
            Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
865
        return defaultService.pageByAssociatedTaxon(type, includeRelationships, taxonUUID,
866
                maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
867
    }
868

    
869

    
870
    @Override
871
    public UpdateResult moveSequence(DnaSample from, DnaSample to, Sequence sequence) {
872
        return defaultService.moveSequence(from, to, sequence);
873
    }
874

    
875
	@Override
876
	public DeleteResult isDeletable(SpecimenOrObservationBase object,
877
			DeleteConfiguratorBase config) {
878
		return defaultService.isDeletable(object, config);
879
	}
880

    
881
    @Override
882
    public int countDeterminations(SpecimenOrObservationBase occurence, TaxonBase taxonbase) {
883
        return defaultService.countDeterminations(occurence, taxonbase);
884
    }
885

    
886
	@Override
887
	public SpecimenOrObservationBase findWithoutFlush(UUID uuid) {
888
		return defaultService.findWithoutFlush(uuid);
889
	}
890

    
891
	@Override
892
	public Collection<SpecimenOrObservationBase> listFieldUnitsByAssociatedTaxon(Taxon associatedTaxon,
893
	        List<OrderHint> orderHints, List<String> propertyPaths) {
894
	    return defaultService.listFieldUnitsByAssociatedTaxon(associatedTaxon, orderHints, propertyPaths);
895
	}
896

    
897
	@Override
898
	public Pager<SpecimenOrObservationBase> pageFieldUnitsByAssociatedTaxon(
899
	        Set<TaxonRelationshipEdge> includeRelationships, Taxon associatedTaxon, Integer maxDepth, Integer pageSize,
900
	        Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
901
	    return defaultService.pageFieldUnitsByAssociatedTaxon(includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
902
	}
903

    
904

    
905
	@Override
906
	public FieldUnitDTO assembleFieldUnitDTO(FieldUnit fieldUnit, UUID associatedTaxonUuid) {
907
	    return defaultService.assembleFieldUnitDTO(fieldUnit, associatedTaxonUuid);
908
	}
909

    
910
	@Override
911
	public PreservedSpecimenDTO assemblePreservedSpecimenDTO(DerivedUnit derivedUnit) {
912
	    return defaultService.assemblePreservedSpecimenDTO(derivedUnit);
913
	}
914

    
915
    @Override
916
    public Collection<ICdmBase> getNonCascadedAssociatedElements(SpecimenOrObservationBase<?> specimen) {
917
        return defaultService.getNonCascadedAssociatedElements(specimen);
918
    }
919

    
920
    @Override
921
    public DeleteResult deleteDerivateHierarchy(CdmBase from, SpecimenDeleteConfigurator config) {
922
        return defaultService.deleteDerivateHierarchy(from, config);
923
    }
924

    
925
    @Override
926
    public DeleteResult delete(SpecimenOrObservationBase<?> specimen, SpecimenDeleteConfigurator config) {
927
        return defaultService.delete(specimen, config);
928
    }
929

    
930
    @Override
931
    public Collection<IndividualsAssociation> listIndividualsAssociations(SpecimenOrObservationBase<?> specimen,
932
            Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
933
        return defaultService.listIndividualsAssociations(specimen, limit, start, orderHints, propertyPaths);
934
    }
935

    
936
    @Override
937
    public Collection<SpecimenTypeDesignation> listTypeDesignations(SpecimenOrObservationBase<?> specimen,
938
            Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
939
        return defaultService.listTypeDesignations(specimen, limit, start, orderHints, propertyPaths);
940
    }
941

    
942
    @Override
943
    public Collection<DescriptionBase<?>> listDescriptionsWithDescriptionSpecimen(
944
            SpecimenOrObservationBase<?> specimen, Integer limit, Integer start, List<OrderHint> orderHints,
945
            List<String> propertyPaths) {
946
        return defaultService.listDescriptionsWithDescriptionSpecimen(specimen, limit, start, orderHints, propertyPaths);
947
    }
948

    
949
	@Override
950
	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){
951
		return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
952
	}
953

    
954
	@Override
955
	public Collection<DescriptionElementBase> getCharacterDataForSpecimen(SpecimenOrObservationBase<?> arg0) {
956
	    return defaultService.getCharacterDataForSpecimen(arg0);
957
	}
958

    
959
	@Override
960
	public Collection<DescriptionElementBase> getCharacterDataForSpecimen(UUID arg0) {
961
	    return getCharacterDataForSpecimen(arg0);
962
	}
963

    
964
	@Override
965
	public String getMostSignificantIdentifier(DerivedUnit derivedUnit) {
966
	    return defaultService.getMostSignificantIdentifier(derivedUnit);
967
	}
968

    
969
	@Override
970
	public int countOccurrences(IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase> config) {
971
	    return defaultService.countOccurrences(config);
972
	}
973

    
974
	/**
975
	 * {@inheritDoc}
976
	 */
977
	@Override
978
	public List<DerivedUnit> getAllChildDerivatives(SpecimenOrObservationBase<?> specimen) {
979
	    return defaultService.getAllChildDerivatives(specimen);
980
	}
981

    
982
	/**
983
	 * {@inheritDoc}
984
	 */
985
	@Override
986
	public List<SpecimenOrObservationBase<?>> getAllHierarchyDerivatives(SpecimenOrObservationBase<?> specimen) {
987
	    return defaultService.getAllHierarchyDerivatives(specimen);
988
	}
989

    
990

    
991
    /* (non-Javadoc)
992
     * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
993
     */
994
    @Override
995
    public DeleteResult delete(UUID uuid) {
996
        return defaultService.delete(uuid);
997
    }
998

    
999
    @Override
1000
    public DeleteResult delete(Collection<UUID> arg0) {
1001
        return defaultService.delete(arg0);
1002
    }
1003

    
1004
    @Override
1005
    public DeleteResult deleteSingleRead(SingleRead singleRead, Sequence sequence){
1006
        return defaultService.deleteSingleRead(singleRead, sequence);
1007
    }
1008

    
1009
    /* (non-Javadoc)
1010
     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List)
1011
     */
1012
    @Override
1013
    public List<SpecimenOrObservationBase> merge(List<SpecimenOrObservationBase> arg0) {
1014
        return defaultService.merge(arg0);
1015
    }
1016

    
1017
    /* (non-Javadoc)
1018
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#deleteDerivateHierarchy(java.util.UUID, eu.etaxonomy.cdm.api.service.config.SpecimenDeleteConfigurator)
1019
     */
1020
    @Override
1021
    public DeleteResult deleteDerivateHierarchy(UUID arg0, SpecimenDeleteConfigurator arg1) {
1022
        return defaultService.deleteDerivateHierarchy(arg0, arg1);
1023
    }
1024

    
1025
    /* (non-Javadoc)
1026
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#deleteSingleRead(java.util.UUID, java.util.UUID)
1027
     */
1028
    @Override
1029
    public DeleteResult deleteSingleRead(UUID arg0, UUID arg1) {
1030
        return defaultService.deleteSingleRead(arg0, arg1);
1031
    }
1032

    
1033
    /* (non-Javadoc)
1034
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#moveDerivate(java.util.UUID, java.util.UUID, java.util.UUID)
1035
     */
1036
    @Override
1037
    public UpdateResult moveDerivate(UUID arg0, UUID arg1, UUID arg2) {
1038
        return defaultService.moveDerivate(arg0, arg1, arg2);
1039
    }
1040

    
1041
    /* (non-Javadoc)
1042
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#moveDerivate(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, eu.etaxonomy.cdm.model.occurrence.DerivedUnit)
1043
     */
1044
    @Override
1045
    public boolean moveDerivate(SpecimenOrObservationBase<?> from, SpecimenOrObservationBase<?> to, DerivedUnit derivate) {
1046
        return defaultService.moveDerivate(from, to, derivate);
1047
    }
1048

    
1049
    /* (non-Javadoc)
1050
     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#moveSequence(java.util.UUID, java.util.UUID, java.util.UUID)
1051
     */
1052
    @Override
1053
    public UpdateResult moveSequence(UUID arg0, UUID arg1, UUID arg2) {
1054
        return defaultService.moveSequence(arg0, arg1, arg2);
1055
    }
1056

    
1057
    @Override
1058
    public Pager<Media> getMediainHierarchy(SpecimenOrObservationBase arg0, Integer arg1, Integer arg2,
1059
            List<String> arg3) {
1060
        return defaultService.getMediainHierarchy(arg0, arg1, arg2, arg3);
1061
    }
1062

    
1063
    /* (non-Javadoc)
1064
     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
1065
     */
1066
    @Override
1067
    public List<MergeResult<SpecimenOrObservationBase>> merge(List<SpecimenOrObservationBase> arg0, boolean arg1) {
1068
        return defaultService.merge(arg0, arg1);
1069
    }
1070

    
1071
    /* (non-Javadoc)
1072
     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
1073
     */
1074
    @Override
1075
    public MergeResult<SpecimenOrObservationBase> merge(SpecimenOrObservationBase arg0, boolean arg1) {
1076
        return defaultService.merge(arg0, arg1);
1077
    }
1078

    
1079
    /**
1080
     * {@inheritDoc}
1081
     */
1082
    @Override
1083
    public Collection<TaxonBase<?>> listAssociatedTaxa(SpecimenOrObservationBase<?> arg0, Integer arg1, Integer arg2,
1084
            List<OrderHint> arg3, List<String> arg4) {
1085
        return defaultService.listAssociatedTaxa(arg0, arg1, arg2, arg3, arg4);
1086
    }
1087

    
1088
    /* (non-Javadoc)
1089
     * @see eu.etaxonomy.cdm.api.service.IService#loadWithUpdate(java.util.UUID)
1090
     */
1091
    @Override
1092
    public SpecimenOrObservationBase loadWithUpdate(UUID arg0) {
1093
        return defaultService.loadWithUpdate(arg0);
1094
    }
1095

    
1096
}
(7-7/10)