3 * Copyright (C) 2013 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.taxeditor
.editor
.view
.dataimport
.transientServices
;
12 import java
.io
.IOException
;
13 import java
.util
.Collection
;
14 import java
.util
.HashSet
;
15 import java
.util
.List
;
18 import java
.util
.UUID
;
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
;
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
;
88 public class TransientOccurenceService
implements IOccurrenceService
{
90 private final IOccurrenceService defaultService
;
91 private final Collection
<SpecimenOrObservationBase
<?
>> units
;
94 * @param defaultService
96 public TransientOccurenceService(IOccurrenceService defaultService
) {
97 this.defaultService
= defaultService
;
98 this.units
= new HashSet
<SpecimenOrObservationBase
<?
>>();
106 * @param propertyPaths
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)
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
);
116 * @param annotatedObj
121 * @param propertyPaths
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)
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
);
132 * @see eu.etaxonomy.cdm.api.service.IService#clear()
135 public void clear() {
136 defaultService
.clear();
142 * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
145 public void lock(SpecimenOrObservationBase t
, LockOptions lockOptions
) {
146 defaultService
.lock(t
, lockOptions
);
152 * @param propertyPaths
153 * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
156 public void refresh(SpecimenOrObservationBase t
, LockOptions lockOptions
, List
<String
> propertyPaths
) {
157 defaultService
.refresh(t
, lockOptions
, propertyPaths
);
162 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
165 public void updateTitleCache() {
166 defaultService
.updateTitleCache();
172 * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
175 public AuditEventRecord
<SpecimenOrObservationBase
> getNextAuditEvent(SpecimenOrObservationBase t
) {
176 return defaultService
.getNextAuditEvent(t
);
180 * @param annotatableEntity
185 * @param propertyPaths
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)
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
);
197 * @param cacheStrategy
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)
202 public void updateTitleCache(Class
<?
extends SpecimenOrObservationBase
> clazz
, Integer stepSize
, IIdentifiableEntityCacheStrategy
<SpecimenOrObservationBase
> cacheStrategy
, IProgressMonitor monitor
) {
203 defaultService
.updateTitleCache(clazz
, stepSize
, cacheStrategy
, monitor
);
209 * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
212 public AuditEventRecord
<SpecimenOrObservationBase
> getPreviousAuditEvent(SpecimenOrObservationBase t
) {
213 return defaultService
.getPreviousAuditEvent(t
);
219 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCountryByIso(java.lang.String)
222 public Country
getCountryByIso(String iso639
) {
223 return defaultService
.getCountryByIso(iso639
);
229 * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
232 public int count(Class
<?
extends SpecimenOrObservationBase
> clazz
) {
233 return defaultService
.count(clazz
);
239 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCountryByName(java.lang.String)
242 public List
<Country
> getCountryByName(String name
) {
243 return defaultService
.getCountryByName(name
);
248 * @param determinedAs
252 * @param propertyPaths
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)
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
);
269 * @param propertyPaths
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)
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
);
281 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
284 public SpecimenOrObservationBase
find(LSID lsid
) {
285 return defaultService
.find(lsid
);
289 * @param persistentObject
291 * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
294 public DeleteResult
delete(SpecimenOrObservationBase persistentObject
) {
295 return defaultService
.delete(persistentObject
);
303 * @param propertyPaths
305 * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
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
);
315 * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
318 public boolean exists(UUID uuid
) {
319 return defaultService
.exists(uuid
);
326 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
329 public SpecimenOrObservationBase
replace(SpecimenOrObservationBase x
, SpecimenOrObservationBase y
) {
330 return defaultService
.replace(x
, y
);
336 * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
339 public List
<SpecimenOrObservationBase
> find(Set
<UUID
> uuidSet
) {
340 return defaultService
.find(uuidSet
);
347 * @param propertyPaths
349 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
352 public Pager
<IdentifiableSource
> getSources(SpecimenOrObservationBase t
, Integer pageSize
, Integer pageNumber
, List
<String
> propertyPaths
) {
353 return defaultService
.getSources(t
, pageSize
, pageNumber
, propertyPaths
);
359 * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
362 public SpecimenOrObservationBase
find(UUID uuid
) {
363 return defaultService
.find(uuid
);
369 * @see eu.etaxonomy.cdm.api.service.IService#find(int)
372 public SpecimenOrObservationBase
find(int id
) {
373 return defaultService
.find(id
);
380 * @param propertyPaths
382 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
385 public Pager
<Rights
> getRights(SpecimenOrObservationBase t
, Integer pageSize
, Integer pageNumber
, List
<String
> propertyPaths
) {
386 return defaultService
.getRights(t
, pageSize
, pageNumber
, propertyPaths
);
393 * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
396 public int countMarkers(Class
<?
extends SpecimenOrObservationBase
> clazz
, Boolean technical
) {
397 return defaultService
.countMarkers(clazz
, technical
);
404 * @param propertyPaths
406 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getMedia(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List)
409 public Pager
<Media
> getMedia(SpecimenOrObservationBase occurence
, Integer pageSize
, Integer pageNumber
, List
<String
> propertyPaths
) {
410 return defaultService
.getMedia(occurence
, pageSize
, pageNumber
, propertyPaths
);
416 * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
419 public List
<SpecimenOrObservationBase
> findById(Set
<Integer
> idSet
) {
420 return defaultService
.findById(idSet
);
428 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
431 public ISourceable
getSourcedObjectByIdInSource(Class clazz
, String idInSource
, String idNamespace
) {
432 return defaultService
.getSourcedObjectByIdInSource(clazz
, idInSource
, idNamespace
);
437 * @see eu.etaxonomy.cdm.api.service.IService#getSession()
440 public Session
getSession() {
441 return defaultService
.getSession();
449 * @param propertyPaths
451 * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
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
);
463 * @param propertyPaths
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)
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
);
480 * @param propertyPaths
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)
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
);
493 * @param propertyPaths
495 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivationEvents(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List)
498 public Pager
<DerivationEvent
> getDerivationEvents(SpecimenOrObservationBase occurence
, Integer pageSize
, Integer pageNumber
, List
<String
> propertyPaths
) {
499 return defaultService
.getDerivationEvents(occurence
, pageSize
, pageNumber
, propertyPaths
);
507 * @param propertyPaths
509 * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
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
);
522 * @param propertyPaths
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)
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
);
532 * @param configurator
534 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
537 public Pager
<SpecimenOrObservationBase
> findByTitle(IIdentifiableEntityServiceConfigurator
<SpecimenOrObservationBase
> configurator
) {
538 return defaultService
.findByTitle(configurator
);
547 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
550 public Integer
countByTitle(Class
<?
extends SpecimenOrObservationBase
> clazz
, String queryString
, MatchMode matchmode
, List
<Criterion
> criteria
) {
551 return defaultService
.countByTitle(clazz
, queryString
, matchmode
, criteria
);
557 * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
560 public SpecimenOrObservationBase
load(UUID uuid
) {
561 return defaultService
.load(uuid
);
566 * @param propertyPaths
568 * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
571 public SpecimenOrObservationBase
load(UUID uuid
, List
<String
> propertyPaths
) {
572 return defaultService
.load(uuid
, propertyPaths
);
576 * @param configurator
578 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
581 public Integer
countByTitle(IIdentifiableEntityServiceConfigurator
<SpecimenOrObservationBase
> configurator
) {
582 return defaultService
.countByTitle(configurator
);
587 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getFieldUnitUuidAndTitleCache()
590 public List
<UuidAndTitleCache
<FieldUnit
>> getFieldUnitUuidAndTitleCache() {
591 return defaultService
.getFieldUnitUuidAndTitleCache();
596 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivedUnitUuidAndTitleCache()
599 public List
<UuidAndTitleCache
<DerivedUnit
>> getDerivedUnitUuidAndTitleCache() {
600 return defaultService
.getDerivedUnitUuidAndTitleCache();
604 * @param transientObject
606 * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
609 public SpecimenOrObservationBase
merge(SpecimenOrObservationBase transientObject
) {
610 return defaultService
.merge(transientObject
);
615 * @param propertyPaths
617 * @throws DerivedUnitFacadeNotSupportedException
618 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivedUnitFacade(eu.etaxonomy.cdm.model.occurrence.DerivedUnit, java.util.List)
621 public DerivedUnitFacade
getDerivedUnitFacade(DerivedUnit derivedUnit
, List
<String
> propertyPaths
) throws DerivedUnitFacadeNotSupportedException
{
622 return defaultService
.getDerivedUnitFacade(derivedUnit
, propertyPaths
);
633 * @param propertyPaths
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)
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
);
644 * @param propertyPaths
646 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listDerivedUnitFacades(eu.etaxonomy.cdm.model.description.DescriptionBase, java.util.List)
649 public List
<DerivedUnitFacade
> listDerivedUnitFacades(DescriptionBase description
, List
<String
> propertyPaths
) {
650 return defaultService
.listDerivedUnitFacades(description
, propertyPaths
);
658 * @param propertyPaths
660 * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
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
);
669 * @param includeRelationships
670 * @param associatedTaxon
675 * @param propertyPaths
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)
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
);
685 * @param persistentObject
687 * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
690 public UUID
refresh(SpecimenOrObservationBase persistentObject
) {
691 return defaultService
.refresh(persistentObject
);
702 * @param propertyPaths
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)
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
);
716 * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
719 public List
<SpecimenOrObservationBase
> rows(String tableName
, int limit
, int start
) {
720 return defaultService
.rows(tableName
, limit
, start
);
724 * @param newInstances
726 * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
729 public Map
<UUID
, SpecimenOrObservationBase
> save(Collection
<SpecimenOrObservationBase
> newInstances
) {
730 for(SpecimenOrObservationBase unit
:newInstances
){
738 * @param includeRelationships
739 * @param associatedTaxon
744 * @param propertyPaths
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)
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
);
756 * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
759 public SpecimenOrObservationBase
save(SpecimenOrObservationBase newInstance
) {
760 units
.add(newInstance
);
765 * @param transientObject
767 * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
770 public UUID
saveOrUpdate(SpecimenOrObservationBase transientObject
) {
771 units
.add(transientObject
);
776 * @param transientObjects
778 * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
781 public Map
<UUID
, SpecimenOrObservationBase
> saveOrUpdate(Collection
<SpecimenOrObservationBase
> transientObjects
) {
782 for(SpecimenOrObservationBase unit
:transientObjects
){
793 * @param highlightFragments
797 * @param propertyPaths
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)
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
);
810 * @param transientObject
812 * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
815 public UUID
update(SpecimenOrObservationBase transientObject
) {
816 return defaultService
.update(transientObject
);
821 * @param includeProperties
825 * @param propertyPaths
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)
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
);
835 public int deduplicate(Class
<?
extends SpecimenOrObservationBase
> clazz
, IMatchStrategy matchStrategy
, IMergeStrategy mergeStrategy
) {
836 return defaultService
.deduplicate(clazz
, matchStrategy
, mergeStrategy
);
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
);
844 public Collection
<SpecimenOrObservationBase
<?
>> getUnits() {
849 public Collection
<FieldUnit
> getFieldUnits(UUID derivedUnitUuid
) {
850 return defaultService
.getFieldUnits(derivedUnitUuid
);
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
);
863 public UpdateResult
moveSequence(DnaSample from
, DnaSample to
, Sequence sequence
) {
864 return defaultService
.moveSequence(from
, to
, sequence
);
868 public DeleteResult
isDeletable(SpecimenOrObservationBase object
,
869 DeleteConfiguratorBase config
) {
870 return defaultService
.isDeletable(object
, config
);
874 public int countDeterminations(SpecimenOrObservationBase occurence
, TaxonBase taxonbase
) {
875 return defaultService
.countDeterminations(occurence
, taxonbase
);
879 public SpecimenOrObservationBase
findWithoutFlush(UUID uuid
) {
880 return defaultService
.findWithoutFlush(uuid
);
884 public Collection
<SpecimenOrObservationBase
> listFieldUnitsByAssociatedTaxon(Taxon associatedTaxon
,
885 List
<OrderHint
> orderHints
, List
<String
> propertyPaths
) {
886 return defaultService
.listFieldUnitsByAssociatedTaxon(associatedTaxon
, orderHints
, propertyPaths
);
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
);
898 public FieldUnitDTO
assembleFieldUnitDTO(FieldUnit fieldUnit
, UUID associatedTaxonUuid
) {
899 return defaultService
.assembleFieldUnitDTO(fieldUnit
, associatedTaxonUuid
);
903 public PreservedSpecimenDTO
assemblePreservedSpecimenDTO(DerivedUnit derivedUnit
) {
904 return defaultService
.assemblePreservedSpecimenDTO(derivedUnit
);
908 public Collection
<ICdmBase
> getNonCascadedAssociatedElements(SpecimenOrObservationBase
<?
> specimen
) {
909 return defaultService
.getNonCascadedAssociatedElements(specimen
);
913 public DeleteResult
delete(SpecimenOrObservationBase
<?
> specimen
, SpecimenDeleteConfigurator config
) {
914 return defaultService
.delete(specimen
, config
);
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
);
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
);
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
);
936 public Collection
<DescriptionElementBase
> getCharacterDataForSpecimen(SpecimenOrObservationBase
<?
> arg0
) {
937 return defaultService
.getCharacterDataForSpecimen(arg0
);
941 public Collection
<DescriptionElementBase
> getCharacterDataForSpecimen(UUID arg0
) {
942 return getCharacterDataForSpecimen(arg0
);
946 public String
getMostSignificantIdentifier(DerivedUnit derivedUnit
) {
947 return defaultService
.getMostSignificantIdentifier(derivedUnit
);
951 public int countOccurrences(IIdentifiableEntityServiceConfigurator
<SpecimenOrObservationBase
> config
) {
952 return defaultService
.countOccurrences(config
);
959 public List
<DerivedUnit
> getAllChildDerivatives(SpecimenOrObservationBase
<?
> specimen
) {
960 return defaultService
.getAllChildDerivatives(specimen
);
967 public List
<SpecimenOrObservationBase
<?
>> getAllHierarchyDerivatives(SpecimenOrObservationBase
<?
> specimen
) {
968 return defaultService
.getAllHierarchyDerivatives(specimen
);
973 public DeleteResult
delete(UUID uuid
) {
974 return defaultService
.delete(uuid
);
978 public DeleteResult
delete(Collection
<UUID
> arg0
) {
979 return defaultService
.delete(arg0
);
984 public List
<SpecimenOrObservationBase
> merge(List
<SpecimenOrObservationBase
> arg0
) {
985 return defaultService
.merge(arg0
);
989 public UpdateResult
moveDerivate(UUID arg0
, UUID arg1
, UUID arg2
) {
990 return defaultService
.moveDerivate(arg0
, arg1
, arg2
);
994 public boolean moveDerivate(SpecimenOrObservationBase
<?
> from
, SpecimenOrObservationBase
<?
> to
, DerivedUnit derivate
) {
995 return defaultService
.moveDerivate(from
, to
, derivate
);
999 public UpdateResult
moveSequence(UUID arg0
, UUID arg1
, UUID arg2
) {
1000 return defaultService
.moveSequence(arg0
, arg1
, arg2
);
1004 public Pager
<Media
> getMediainHierarchy(SpecimenOrObservationBase arg0
, Integer arg1
, Integer arg2
,
1005 List
<String
> arg3
) {
1006 return defaultService
.getMediainHierarchy(arg0
, arg1
, arg2
, arg3
);
1010 public List
<MergeResult
<SpecimenOrObservationBase
>> merge(List
<SpecimenOrObservationBase
> arg0
, boolean arg1
) {
1011 return defaultService
.merge(arg0
, arg1
);
1015 public MergeResult
<SpecimenOrObservationBase
> merge(SpecimenOrObservationBase arg0
, boolean arg1
) {
1016 return defaultService
.merge(arg0
, arg1
);
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
);
1029 public SpecimenOrObservationBase
loadWithUpdate(UUID arg0
) {
1030 return defaultService
.loadWithUpdate(arg0
);
1037 public DeleteResult
delete(UUID arg0
, SpecimenDeleteConfigurator arg1
) {
1038 return defaultService
.delete(arg0
, arg1
);
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
);
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
);
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
);
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
);
1075 public List
<SpecimenOrObservationBase
> load(List
<UUID
> arg0
, List
<String
> arg1
) {
1076 return defaultService
.load(arg0
, arg1
);
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
);
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
);
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
);
1098 public List
<DerivedUnit
> getAllChildDerivatives(UUID arg0
) {
1099 return defaultService
.getAllChildDerivatives(arg0
);
1103 public List
<UuidAndTitleCache
<SpecimenOrObservationBase
>> getUuidAndTitleCache(
1104 Integer limit
, String pattern
) {
1105 return defaultService
.getUuidAndTitleCache(limit
, pattern
);
1109 public List
<SpecimenOrObservationBase
> loadByIds(List
<Integer
> idSet
, List
<String
> propertyPaths
) {
1111 return defaultService
.loadByIds(idSet
, propertyPaths
);
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