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
.dataimport
;
12 import java
.io
.IOException
;
13 import java
.util
.ArrayList
;
14 import java
.util
.Collection
;
15 import java
.util
.List
;
18 import java
.util
.UUID
;
20 import org
.apache
.lucene
.index
.CorruptIndexException
;
21 import org
.apache
.lucene
.queryParser
.ParseException
;
22 import org
.hibernate
.LockMode
;
23 import org
.hibernate
.Session
;
24 import org
.hibernate
.criterion
.Criterion
;
25 import org
.hibernate
.envers
.query
.criteria
.AuditCriterion
;
26 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
.IOccurrenceService
;
31 import eu
.etaxonomy
.cdm
.api
.service
.config
.IIdentifiableEntityServiceConfigurator
;
32 import eu
.etaxonomy
.cdm
.api
.service
.pager
.Pager
;
33 import eu
.etaxonomy
.cdm
.api
.service
.search
.SearchResult
;
34 import eu
.etaxonomy
.cdm
.api
.service
.util
.TaxonRelationshipEdge
;
35 import eu
.etaxonomy
.cdm
.common
.monitor
.IProgressMonitor
;
36 import eu
.etaxonomy
.cdm
.model
.common
.Annotation
;
37 import eu
.etaxonomy
.cdm
.model
.common
.ISourceable
;
38 import eu
.etaxonomy
.cdm
.model
.common
.IdentifiableSource
;
39 import eu
.etaxonomy
.cdm
.model
.common
.LSID
;
40 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
41 import eu
.etaxonomy
.cdm
.model
.common
.Marker
;
42 import eu
.etaxonomy
.cdm
.model
.common
.MarkerType
;
43 import eu
.etaxonomy
.cdm
.model
.common
.UuidAndTitleCache
;
44 import eu
.etaxonomy
.cdm
.model
.description
.DescriptionBase
;
45 import eu
.etaxonomy
.cdm
.model
.location
.Country
;
46 import eu
.etaxonomy
.cdm
.model
.media
.Media
;
47 import eu
.etaxonomy
.cdm
.model
.media
.Rights
;
48 import eu
.etaxonomy
.cdm
.model
.occurrence
.DerivationEvent
;
49 import eu
.etaxonomy
.cdm
.model
.occurrence
.DerivedUnit
;
50 import eu
.etaxonomy
.cdm
.model
.occurrence
.DeterminationEvent
;
51 import eu
.etaxonomy
.cdm
.model
.occurrence
.FieldUnit
;
52 import eu
.etaxonomy
.cdm
.model
.occurrence
.SpecimenOrObservationBase
;
53 import eu
.etaxonomy
.cdm
.model
.taxon
.Taxon
;
54 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonBase
;
55 import eu
.etaxonomy
.cdm
.model
.view
.AuditEvent
;
56 import eu
.etaxonomy
.cdm
.model
.view
.AuditEventRecord
;
57 import eu
.etaxonomy
.cdm
.persistence
.dao
.common
.AuditEventSort
;
58 import eu
.etaxonomy
.cdm
.persistence
.query
.Grouping
;
59 import eu
.etaxonomy
.cdm
.persistence
.query
.MatchMode
;
60 import eu
.etaxonomy
.cdm
.persistence
.query
.OrderHint
;
61 import eu
.etaxonomy
.cdm
.strategy
.cache
.common
.IIdentifiableEntityCacheStrategy
;
62 import eu
.etaxonomy
.cdm
.strategy
.match
.IMatchStrategy
;
63 import eu
.etaxonomy
.cdm
.strategy
.merge
.IMergeStrategy
;
70 public class TransientOccurenceService
implements IOccurrenceService
{
72 private IOccurrenceService defaultService
;
73 private List
<SpecimenOrObservationBase
> units
;
76 * @param defaultService
78 public TransientOccurenceService(IOccurrenceService defaultService
) {
79 this.defaultService
= defaultService
;
80 this.units
= new ArrayList
<SpecimenOrObservationBase
>();
88 * @param propertyPaths
90 * @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)
93 public Pager
<AuditEventRecord
<SpecimenOrObservationBase
>> pageAuditEvents(SpecimenOrObservationBase t
, Integer pageSize
, Integer pageNumber
, AuditEventSort sort
, List
<String
> propertyPaths
) {
94 return defaultService
.pageAuditEvents(t
, pageSize
, pageNumber
, sort
, propertyPaths
);
103 * @param propertyPaths
105 * @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)
108 public Pager
<Annotation
> getAnnotations(SpecimenOrObservationBase annotatedObj
, MarkerType status
, Integer pageSize
, Integer pageNumber
, List
<OrderHint
> orderHints
, List
<String
> propertyPaths
) {
109 return defaultService
.getAnnotations(annotatedObj
, status
, pageSize
, pageNumber
, orderHints
, propertyPaths
);
114 * @see eu.etaxonomy.cdm.api.service.IService#clear()
117 public void clear() {
118 defaultService
.clear();
124 * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
127 public void lock(SpecimenOrObservationBase t
, LockMode lockMode
) {
128 defaultService
.lock(t
, lockMode
);
134 * @param propertyPaths
135 * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
138 public void refresh(SpecimenOrObservationBase t
, LockMode lockMode
, List
<String
> propertyPaths
) {
139 defaultService
.refresh(t
, lockMode
, propertyPaths
);
144 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
147 public void updateTitleCache() {
148 defaultService
.updateTitleCache();
154 * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
157 public AuditEventRecord
<SpecimenOrObservationBase
> getNextAuditEvent(SpecimenOrObservationBase t
) {
158 return defaultService
.getNextAuditEvent(t
);
162 * @param annotatableEntity
167 * @param propertyPaths
169 * @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)
172 public Pager
<Marker
> getMarkers(SpecimenOrObservationBase annotatableEntity
, Boolean technical
, Integer pageSize
, Integer pageNumber
, List
<OrderHint
> orderHints
, List
<String
> propertyPaths
) {
173 return defaultService
.getMarkers(annotatableEntity
, technical
, pageSize
, pageNumber
, orderHints
, propertyPaths
);
179 * @param cacheStrategy
181 * @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)
184 public void updateTitleCache(Class
<?
extends SpecimenOrObservationBase
> clazz
, Integer stepSize
, IIdentifiableEntityCacheStrategy
<SpecimenOrObservationBase
> cacheStrategy
, IProgressMonitor monitor
) {
185 defaultService
.updateTitleCache(clazz
, stepSize
, cacheStrategy
, monitor
);
191 * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
194 public AuditEventRecord
<SpecimenOrObservationBase
> getPreviousAuditEvent(SpecimenOrObservationBase t
) {
195 return defaultService
.getPreviousAuditEvent(t
);
201 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCountryByIso(java.lang.String)
204 public Country
getCountryByIso(String iso639
) {
205 return defaultService
.getCountryByIso(iso639
);
211 * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
214 public int count(Class
<?
extends SpecimenOrObservationBase
> clazz
) {
215 return defaultService
.count(clazz
);
221 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCountryByName(java.lang.String)
224 public List
<Country
> getCountryByName(String name
) {
225 return defaultService
.getCountryByName(name
);
230 * @param determinedAs
234 * @param propertyPaths
236 * @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)
239 public Pager
<SpecimenOrObservationBase
> list(Class
<?
extends SpecimenOrObservationBase
> type
, TaxonBase determinedAs
, Integer limit
, Integer start
, List
<OrderHint
> orderHints
, List
<String
> propertyPaths
) {
240 return defaultService
.list(type
, determinedAs
, limit
, start
, orderHints
, propertyPaths
);
251 * @param propertyPaths
253 * @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)
256 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
) {
257 return defaultService
.pageAuditEvents(clazz
, from
, to
, criteria
, pageSize
, pageValue
, sort
, propertyPaths
);
263 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
266 public SpecimenOrObservationBase
find(LSID lsid
) {
267 return defaultService
.find(lsid
);
271 * @param persistentObject
273 * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
276 public UUID
delete(SpecimenOrObservationBase persistentObject
) {
277 return defaultService
.delete(persistentObject
);
285 * @param propertyPaths
287 * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
290 public List
<Object
[]> groupMarkers(Class
<?
extends SpecimenOrObservationBase
> clazz
, Boolean technical
, Integer pageSize
, Integer pageNumber
, List
<String
> propertyPaths
) {
291 return defaultService
.groupMarkers(clazz
, technical
, pageSize
, pageNumber
, propertyPaths
);
297 * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
300 public boolean exists(UUID uuid
) {
301 return defaultService
.exists(uuid
);
308 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
311 public SpecimenOrObservationBase
replace(SpecimenOrObservationBase x
, SpecimenOrObservationBase y
) {
312 return defaultService
.replace(x
, y
);
318 * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
321 public List
<SpecimenOrObservationBase
> find(Set
<UUID
> uuidSet
) {
322 return defaultService
.find(uuidSet
);
329 * @param propertyPaths
331 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
334 public Pager
<IdentifiableSource
> getSources(SpecimenOrObservationBase t
, Integer pageSize
, Integer pageNumber
, List
<String
> propertyPaths
) {
335 return defaultService
.getSources(t
, pageSize
, pageNumber
, propertyPaths
);
341 * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
344 public SpecimenOrObservationBase
find(UUID uuid
) {
345 return defaultService
.find(uuid
);
351 * @see eu.etaxonomy.cdm.api.service.IService#find(int)
354 public SpecimenOrObservationBase
find(int id
) {
355 return defaultService
.find(id
);
362 * @param propertyPaths
364 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
367 public Pager
<Rights
> getRights(SpecimenOrObservationBase t
, Integer pageSize
, Integer pageNumber
, List
<String
> propertyPaths
) {
368 return defaultService
.getRights(t
, pageSize
, pageNumber
, propertyPaths
);
375 * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
378 public int countMarkers(Class
<?
extends SpecimenOrObservationBase
> clazz
, Boolean technical
) {
379 return defaultService
.countMarkers(clazz
, technical
);
386 * @param propertyPaths
388 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getMedia(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List)
391 public Pager
<Media
> getMedia(SpecimenOrObservationBase occurence
, Integer pageSize
, Integer pageNumber
, List
<String
> propertyPaths
) {
392 return defaultService
.getMedia(occurence
, pageSize
, pageNumber
, propertyPaths
);
398 * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
401 public List
<SpecimenOrObservationBase
> findById(Set
<Integer
> idSet
) {
402 return defaultService
.findById(idSet
);
410 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
413 public ISourceable
getSourcedObjectByIdInSource(Class clazz
, String idInSource
, String idNamespace
) {
414 return defaultService
.getSourcedObjectByIdInSource(clazz
, idInSource
, idNamespace
);
419 * @see eu.etaxonomy.cdm.api.service.IService#getSession()
422 public Session
getSession() {
423 return defaultService
.getSession();
428 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
431 public List
<UuidAndTitleCache
<SpecimenOrObservationBase
>> getUuidAndTitleCache() {
432 return defaultService
.getUuidAndTitleCache();
440 * @param propertyPaths
442 * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
445 public List
<Object
[]> group(Class
<?
extends SpecimenOrObservationBase
> clazz
, Integer limit
, Integer start
, List
<Grouping
> groups
, List
<String
> propertyPaths
) {
446 return defaultService
.group(clazz
, limit
, start
, groups
, propertyPaths
);
454 * @param propertyPaths
456 * @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)
459 public Pager
<DeterminationEvent
> getDeterminations(SpecimenOrObservationBase occurence
, TaxonBase taxonBase
, Integer pageSize
, Integer pageNumber
, List
<String
> propertyPaths
) {
460 return defaultService
.getDeterminations(occurence
, taxonBase
, pageSize
, pageNumber
, propertyPaths
);
471 * @param propertyPaths
473 * @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)
476 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
) {
477 return defaultService
.findByTitle(clazz
, queryString
, matchmode
, criteria
, pageSize
, pageNumber
, orderHints
, propertyPaths
);
484 * @param propertyPaths
486 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivationEvents(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List)
489 public Pager
<DerivationEvent
> getDerivationEvents(SpecimenOrObservationBase occurence
, Integer pageSize
, Integer pageNumber
, List
<String
> propertyPaths
) {
490 return defaultService
.getDerivationEvents(occurence
, pageSize
, pageNumber
, propertyPaths
);
498 * @param propertyPaths
500 * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
503 public List
<SpecimenOrObservationBase
> list(Class
<?
extends SpecimenOrObservationBase
> type
, Integer limit
, Integer start
, List
<OrderHint
> orderHints
, List
<String
> propertyPaths
) {
504 return defaultService
.list(type
, limit
, start
, orderHints
, propertyPaths
);
513 * @param propertyPaths
515 * @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)
518 public Pager
<SpecimenOrObservationBase
> search(Class
<?
extends SpecimenOrObservationBase
> clazz
, String query
, Integer pageSize
, Integer pageNumber
, List
<OrderHint
> orderHints
, List
<String
> propertyPaths
) {
519 return defaultService
.search(clazz
, query
, pageSize
, pageNumber
, orderHints
, propertyPaths
);
523 * @param configurator
525 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
528 public Pager
<SpecimenOrObservationBase
> findByTitle(IIdentifiableEntityServiceConfigurator
<SpecimenOrObservationBase
> configurator
) {
529 return defaultService
.findByTitle(configurator
);
538 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
541 public Integer
countByTitle(Class
<?
extends SpecimenOrObservationBase
> clazz
, String queryString
, MatchMode matchmode
, List
<Criterion
> criteria
) {
542 return defaultService
.countByTitle(clazz
, queryString
, matchmode
, criteria
);
548 * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
551 public SpecimenOrObservationBase
load(UUID uuid
) {
552 return defaultService
.load(uuid
);
557 * @param propertyPaths
559 * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
562 public SpecimenOrObservationBase
load(UUID uuid
, List
<String
> propertyPaths
) {
563 return defaultService
.load(uuid
, propertyPaths
);
567 * @param configurator
569 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
572 public Integer
countByTitle(IIdentifiableEntityServiceConfigurator
<SpecimenOrObservationBase
> configurator
) {
573 return defaultService
.countByTitle(configurator
);
578 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getFieldUnitUuidAndTitleCache()
581 public List
<UuidAndTitleCache
<FieldUnit
>> getFieldUnitUuidAndTitleCache() {
582 return defaultService
.getFieldUnitUuidAndTitleCache();
587 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivedUnitUuidAndTitleCache()
590 public List
<UuidAndTitleCache
<DerivedUnit
>> getDerivedUnitUuidAndTitleCache() {
591 return defaultService
.getDerivedUnitUuidAndTitleCache();
595 * @param transientObject
597 * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
600 public SpecimenOrObservationBase
merge(SpecimenOrObservationBase transientObject
) {
601 return defaultService
.merge(transientObject
);
606 * @param propertyPaths
608 * @throws DerivedUnitFacadeNotSupportedException
609 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivedUnitFacade(eu.etaxonomy.cdm.model.occurrence.DerivedUnit, java.util.List)
612 public DerivedUnitFacade
getDerivedUnitFacade(DerivedUnit derivedUnit
, List
<String
> propertyPaths
) throws DerivedUnitFacadeNotSupportedException
{
613 return defaultService
.getDerivedUnitFacade(derivedUnit
, propertyPaths
);
624 * @param propertyPaths
626 * @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)
629 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
) {
630 return defaultService
.listByTitle(clazz
, queryString
, matchmode
, criteria
, pageSize
, pageNumber
, orderHints
, propertyPaths
);
635 * @param propertyPaths
637 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listDerivedUnitFacades(eu.etaxonomy.cdm.model.description.DescriptionBase, java.util.List)
640 public List
<DerivedUnitFacade
> listDerivedUnitFacades(DescriptionBase description
, List
<String
> propertyPaths
) {
641 return defaultService
.listDerivedUnitFacades(description
, propertyPaths
);
649 * @param propertyPaths
651 * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
654 public Pager
<SpecimenOrObservationBase
> page(Class
<?
extends SpecimenOrObservationBase
> type
, Integer pageSize
, Integer pageNumber
, List
<OrderHint
> orderHints
, List
<String
> propertyPaths
) {
655 return defaultService
.page(type
, pageSize
, pageNumber
, orderHints
, propertyPaths
);
660 * @param includeRelationships
661 * @param associatedTaxon
666 * @param propertyPaths
668 * @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)
671 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
) {
672 return defaultService
.listByAssociatedTaxon(type
, includeRelationships
, associatedTaxon
, maxDepth
, pageSize
, pageNumber
, orderHints
, propertyPaths
);
676 * @param persistentObject
678 * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
681 public UUID
refresh(SpecimenOrObservationBase persistentObject
) {
682 return defaultService
.refresh(persistentObject
);
693 * @param propertyPaths
695 * @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)
698 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
) {
699 return defaultService
.listByReferenceTitle(clazz
, queryString
, matchmode
, criteria
, pageSize
, pageNumber
, orderHints
, propertyPaths
);
707 * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
710 public List
<SpecimenOrObservationBase
> rows(String tableName
, int limit
, int start
) {
711 return defaultService
.rows(tableName
, limit
, start
);
715 * @param newInstances
717 * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
720 public Map
<UUID
, SpecimenOrObservationBase
> save(Collection
<SpecimenOrObservationBase
> newInstances
) {
721 return defaultService
.save(newInstances
);
726 * @param includeRelationships
727 * @param associatedTaxon
732 * @param propertyPaths
734 * @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)
737 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
) {
738 return defaultService
.pageByAssociatedTaxon(type
, includeRelationships
, associatedTaxon
, maxDepth
, pageSize
, pageNumber
, orderHints
, propertyPaths
);
744 * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
747 public UUID
save(SpecimenOrObservationBase newInstance
) {
748 units
.add(newInstance
);
753 * @param transientObject
755 * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
758 public UUID
saveOrUpdate(SpecimenOrObservationBase transientObject
) {
759 units
.add(transientObject
);
760 System
.out
.println(transientObject
.getTitleCache());
765 * @param transientObjects
767 * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
770 public Map
<UUID
, SpecimenOrObservationBase
> saveOrUpdate(Collection
<SpecimenOrObservationBase
> transientObjects
) {
771 return defaultService
.saveOrUpdate(transientObjects
);
779 * @param highlightFragments
783 * @param propertyPaths
785 * @throws CorruptIndexException
786 * @throws IOException
787 * @throws ParseException
788 * @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)
791 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
{
792 return defaultService
.findByFullText(clazz
, queryString
, boundingBox
, languages
, highlightFragments
, pageSize
, pageNumber
, orderHints
, propertyPaths
);
796 * @param transientObject
798 * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
801 public UUID
update(SpecimenOrObservationBase transientObject
) {
802 return defaultService
.update(transientObject
);
807 * @param includeProperties
811 * @param propertyPaths
813 * @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)
816 public List
<SpecimenOrObservationBase
> list(SpecimenOrObservationBase example
, Set
<String
> includeProperties
, Integer limit
, Integer start
, List
<OrderHint
> orderHints
, List
<String
> propertyPaths
) {
817 return defaultService
.list(example
, includeProperties
, limit
, start
, orderHints
, propertyPaths
);
822 * @param matchStrategy
823 * @param mergeStrategy
825 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
828 public int deduplicate(Class
<?
extends SpecimenOrObservationBase
> clazz
, IMatchStrategy matchStrategy
, IMergeStrategy mergeStrategy
) {
829 return defaultService
.deduplicate(clazz
, matchStrategy
, mergeStrategy
);
840 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findTitleCache(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, eu.etaxonomy.cdm.persistence.query.MatchMode)
843 public Pager
<SpecimenOrObservationBase
> findTitleCache(Class
<?
extends SpecimenOrObservationBase
> clazz
, String queryString
, Integer pageSize
, Integer pageNumber
, List
<OrderHint
> orderHints
, MatchMode matchMode
) {
844 return defaultService
.findTitleCache(clazz
, queryString
, pageSize
, pageNumber
, orderHints
, matchMode
);
850 public List
<SpecimenOrObservationBase
> getUnits() {