Merge branch 'develop' into remoting-4.0
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / dataimport / transientServices / TransientTaxonService.java
1 // $Id$
2 /**
3 * Copyright (C) 2013 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10 package eu.etaxonomy.taxeditor.editor.view.dataimport.transientServices;
11
12 import java.io.IOException;
13 import java.util.Collection;
14 import java.util.EnumSet;
15 import java.util.List;
16 import java.util.Map;
17 import java.util.Set;
18 import java.util.UUID;
19
20 import org.apache.lucene.index.CorruptIndexException;
21 import org.apache.lucene.queryParser.ParseException;
22 import org.hibernate.LockOptions;
23 import org.hibernate.Session;
24 import org.hibernate.criterion.Criterion;
25 import org.hibernate.envers.query.criteria.AuditCriterion;
26
27 import eu.etaxonomy.cdm.api.service.DeleteResult;
28 import eu.etaxonomy.cdm.api.service.ITaxonService;
29 import eu.etaxonomy.cdm.api.service.TaxaAndNamesSearchMode;
30 import eu.etaxonomy.cdm.api.service.UpdateResult;
31 import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
32 import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator;
33 import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
34 import eu.etaxonomy.cdm.api.service.config.IncludedTaxonConfiguration;
35 import eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator;
36 import eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator;
37 import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
38 import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
39 import eu.etaxonomy.cdm.api.service.dto.IncludedTaxaDTO;
40 import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException;
41 import eu.etaxonomy.cdm.api.service.exception.HomotypicalGroupChangeException;
42 import eu.etaxonomy.cdm.api.service.pager.Pager;
43 import eu.etaxonomy.cdm.api.service.search.LuceneMultiSearchException;
44 import eu.etaxonomy.cdm.api.service.search.SearchResult;
45 import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
46 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
47 import eu.etaxonomy.cdm.model.common.Annotation;
48 import eu.etaxonomy.cdm.model.common.DefinedTerm;
49 import eu.etaxonomy.cdm.model.common.ISourceable;
50 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
51 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
52 import eu.etaxonomy.cdm.model.common.LSID;
53 import eu.etaxonomy.cdm.model.common.Language;
54 import eu.etaxonomy.cdm.model.common.Marker;
55 import eu.etaxonomy.cdm.model.common.MarkerType;
56 import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;
57 import eu.etaxonomy.cdm.model.common.RelationshipBase;
58 import eu.etaxonomy.cdm.model.common.RelationshipBase.Direction;
59 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
60 import eu.etaxonomy.cdm.model.description.Feature;
61 import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
62 import eu.etaxonomy.cdm.model.location.NamedArea;
63 import eu.etaxonomy.cdm.model.media.Media;
64 import eu.etaxonomy.cdm.model.media.MediaRepresentation;
65 import eu.etaxonomy.cdm.model.media.Rights;
66 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
67 import eu.etaxonomy.cdm.model.name.Rank;
68 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
69 import eu.etaxonomy.cdm.model.reference.Reference;
70 import eu.etaxonomy.cdm.model.taxon.Classification;
71 import eu.etaxonomy.cdm.model.taxon.Synonym;
72 import eu.etaxonomy.cdm.model.taxon.SynonymRelationship;
73 import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
74 import eu.etaxonomy.cdm.model.taxon.Taxon;
75 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
76 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
77 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
78 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
79 import eu.etaxonomy.cdm.model.view.AuditEvent;
80 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
81 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
82 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
83 import eu.etaxonomy.cdm.persistence.fetch.CdmFetch;
84 import eu.etaxonomy.cdm.persistence.query.Grouping;
85 import eu.etaxonomy.cdm.persistence.query.MatchMode;
86 import eu.etaxonomy.cdm.persistence.query.OrderHint;
87 import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
88 import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
89 import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
90
91 /**
92 * @author pplitzner
93 * @date 27.09.2013
94 *
95 */
96 public class TransientTaxonService implements ITaxonService {
97
98 private final ITaxonService defaultService;
99
100 /**
101 * @param defaultTaxonService
102 */
103 public TransientTaxonService(ITaxonService defaultTaxonService) {
104 this.defaultService = defaultTaxonService;
105 }
106
107 /**
108 * @param t
109 * @param pageSize
110 * @param pageNumber
111 * @param sort
112 * @param propertyPaths
113 * @return
114 * @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)
115 */
116 @Override
117 public Pager<AuditEventRecord<TaxonBase>> pageAuditEvents(TaxonBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
118 return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
119 }
120
121 /**
122 * @param annotatedObj
123 * @param status
124 * @param pageSize
125 * @param pageNumber
126 * @param orderHints
127 * @param propertyPaths
128 * @return
129 * @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)
130 */
131 @Override
132 public Pager<Annotation> getAnnotations(TaxonBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
133 return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
134 }
135
136 /**
137 *
138 * @see eu.etaxonomy.cdm.api.service.IService#clear()
139 */
140 @Override
141 public void clear() {
142 defaultService.clear();
143 }
144
145 /**
146 * @param t
147 * @param lockMode
148 * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
149 */
150 @Override
151 public void lock(TaxonBase t, LockOptions lockOptions) {
152 defaultService.lock(t, lockOptions);
153 }
154
155 /**
156 * @param t
157 * @param lockMode
158 * @param propertyPaths
159 * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
160 */
161 @Override
162 public void refresh(TaxonBase t, LockOptions lockOptions, List<String> propertyPaths) {
163 defaultService.refresh(t, lockOptions, propertyPaths);
164 }
165
166 /**
167 *
168 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
169 */
170 @Override
171 public void updateTitleCache() {
172 defaultService.updateTitleCache();
173 }
174
175 /**
176 * @param t
177 * @return
178 * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
179 */
180 @Override
181 public AuditEventRecord<TaxonBase> getNextAuditEvent(TaxonBase t) {
182 return defaultService.getNextAuditEvent(t);
183 }
184
185 /**
186 * @param annotatableEntity
187 * @param technical
188 * @param pageSize
189 * @param pageNumber
190 * @param orderHints
191 * @param propertyPaths
192 * @return
193 * @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)
194 */
195 @Override
196 public Pager<Marker> getMarkers(TaxonBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
197 return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
198 }
199
200 /**
201 * @param clazz
202 * @param stepSize
203 * @param cacheStrategy
204 * @param monitor
205 * @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)
206 */
207 @Override
208 public void updateTitleCache(Class<? extends TaxonBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<TaxonBase> cacheStrategy, IProgressMonitor monitor) {
209 defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
210 }
211
212 /**
213 * @param t
214 * @return
215 * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
216 */
217 @Override
218 public AuditEventRecord<TaxonBase> getPreviousAuditEvent(TaxonBase t) {
219 return defaultService.getPreviousAuditEvent(t);
220 }
221
222 /**
223 * @param clazz
224 * @return
225 * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
226 */
227 @Override
228 public int count(Class<? extends TaxonBase> clazz) {
229 return defaultService.count(clazz);
230 }
231
232 /**
233 * @param clazz
234 * @param from
235 * @param to
236 * @param criteria
237 * @param pageSize
238 * @param pageValue
239 * @param sort
240 * @param propertyPaths
241 * @return
242 * @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)
243 */
244 @Override
245 public Pager<AuditEventRecord<TaxonBase>> pageAuditEvents(Class<? extends TaxonBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
246 return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
247 }
248
249 /**
250 * @param lsid
251 * @return
252 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
253 */
254 @Override
255 public TaxonBase find(LSID lsid) {
256 return defaultService.find(lsid);
257 }
258
259 /**
260 * @param persistentObject
261 * @return
262 * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
263 */
264 @Override
265 public DeleteResult delete(TaxonBase persistentObject) {
266 return defaultService.delete(persistentObject);
267 }
268
269 /**
270 * @param clazz
271 * @param technical
272 * @param pageSize
273 * @param pageNumber
274 * @param propertyPaths
275 * @return
276 * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
277 */
278 @Override
279 public List<Object[]> groupMarkers(Class<? extends TaxonBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
280 return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
281 }
282
283 /**
284 * @param uuid
285 * @return
286 * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
287 */
288 @Override
289 public boolean exists(UUID uuid) {
290 return defaultService.exists(uuid);
291 }
292
293
294 /**
295 * @param x
296 * @param y
297 * @return
298 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
299 */
300 @Override
301 public TaxonBase replace(TaxonBase x, TaxonBase y) {
302 return defaultService.replace(x, y);
303 }
304
305 /**
306 * @param uuidSet
307 * @return
308 * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
309 */
310 @Override
311 public List<TaxonBase> find(Set<UUID> uuidSet) {
312 return defaultService.find(uuidSet);
313 }
314
315 /**
316 * @param t
317 * @param pageSize
318 * @param pageNumber
319 * @param propertyPaths
320 * @return
321 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
322 */
323 @Override
324 public Pager<IdentifiableSource> getSources(TaxonBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
325 return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
326 }
327
328 /**
329 * @param sec
330 * @param cdmFetch
331 * @param onlyWithChildren
332 * @return
333 * @deprecated
334 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getRootTaxa(eu.etaxonomy.cdm.model.reference.Reference, eu.etaxonomy.cdm.persistence.fetch.CdmFetch, boolean)
335 */
336 @Deprecated
337 @Override
338 public List<Taxon> getRootTaxa(Reference sec, CdmFetch cdmFetch, boolean onlyWithChildren) {
339 return defaultService.getRootTaxa(sec, cdmFetch, onlyWithChildren);
340 }
341
342 /**
343 * @param uuid
344 * @return
345 * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
346 */
347 @Override
348 public TaxonBase find(UUID uuid) {
349 return defaultService.find(uuid);
350 }
351
352 /**
353 * @param rank
354 * @param sec
355 * @param onlyWithChildren
356 * @param withMisapplications
357 * @param propertyPaths
358 * @return
359 * @deprecated
360 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getRootTaxa(eu.etaxonomy.cdm.model.name.Rank, eu.etaxonomy.cdm.model.reference.Reference, boolean, boolean, java.util.List)
361 */
362 @Deprecated
363 @Override
364 public List<Taxon> getRootTaxa(Rank rank, Reference sec, boolean onlyWithChildren, boolean withMisapplications, List<String> propertyPaths) {
365 return defaultService.getRootTaxa(rank, sec, onlyWithChildren, withMisapplications, propertyPaths);
366 }
367
368 /**
369 * @param id
370 * @return
371 * @see eu.etaxonomy.cdm.api.service.IService#find(int)
372 */
373 @Override
374 public TaxonBase find(int id) {
375 return defaultService.find(id);
376 }
377
378 /**
379 * @param t
380 * @param pageSize
381 * @param pageNumber
382 * @param propertyPaths
383 * @return
384 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
385 */
386 @Override
387 public Pager<Rights> getRights(TaxonBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
388 return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
389 }
390
391 /**
392 * @param clazz
393 * @param technical
394 * @return
395 * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
396 */
397 @Override
398 public int countMarkers(Class<? extends TaxonBase> clazz, Boolean technical) {
399 return defaultService.countMarkers(clazz, technical);
400 }
401
402 /**
403 * @param idSet
404 * @return
405 * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
406 */
407 @Override
408 public List<TaxonBase> findById(Set<Integer> idSet) {
409 return defaultService.findById(idSet);
410 }
411
412 /**
413 * @param clazz
414 * @param idInSource
415 * @param idNamespace
416 * @return
417 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
418 */
419 @Override
420 public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
421 return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
422 }
423
424 /**
425 * @return
426 * @see eu.etaxonomy.cdm.api.service.IService#getSession()
427 */
428 @Override
429 public Session getSession() {
430 return defaultService.getSession();
431 }
432
433 /**
434 * @return
435 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
436 */
437 @Override
438 public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCache() {
439 return defaultService.getUuidAndTitleCache();
440 }
441
442 /**
443 * @param clazz
444 * @param limit
445 * @param start
446 * @param groups
447 * @param propertyPaths
448 * @return
449 * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
450 */
451 @Override
452 public List<Object[]> group(Class<? extends TaxonBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
453 return defaultService.group(clazz, limit, start, groups, propertyPaths);
454 }
455
456 /**
457 * @param limit
458 * @param start
459 * @return
460 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllRelationships(int, int)
461 */
462 @Override
463 public List<RelationshipBase> getAllRelationships(int limit, int start) {
464 return defaultService.getAllRelationships(limit, start);
465 }
466
467 /**
468 * @param clazz
469 * @param queryString
470 * @param matchmode
471 * @param criteria
472 * @param pageSize
473 * @param pageNumber
474 * @param orderHints
475 * @param propertyPaths
476 * @return
477 * @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)
478 */
479 @Override
480 public Pager<TaxonBase> findByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
481 return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
482 }
483
484 /**
485 * @return
486 * @deprecated
487 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getTaxonRelationshipTypeVocabulary()
488 */
489 @Deprecated
490 @Override
491 public OrderedTermVocabulary<TaxonRelationshipType> getTaxonRelationshipTypeVocabulary() {
492 return defaultService.getTaxonRelationshipTypeVocabulary();
493 }
494
495 /**
496 * @param name
497 * @param sec
498 * @return
499 * @see eu.etaxonomy.cdm.api.service.ITaxonService#searchTaxaByName(java.lang.String, eu.etaxonomy.cdm.model.reference.Reference)
500 */
501 @Override
502 public List<TaxonBase> searchTaxaByName(String name, Reference sec) {
503 return defaultService.searchTaxaByName(name, sec);
504 }
505
506
507 /**
508 * {@inheritDoc}
509 */
510 @Override
511 public UpdateResult swapSynonymAndAcceptedTaxon(Synonym arg0, Taxon arg1) {
512 return defaultService.swapSynonymAndAcceptedTaxon(arg0, arg1);
513
514 }
515
516 /**
517 * @param type
518 * @param limit
519 * @param start
520 * @param orderHints
521 * @param propertyPaths
522 * @return
523 * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
524 */
525 @Override
526 public <S extends TaxonBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
527 return defaultService.list(type, limit, start, orderHints, propertyPaths);
528 }
529
530 /**
531 * @param configurator
532 * @return
533 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
534 */
535 @Override
536 public Pager<TaxonBase> findByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
537 return defaultService.findByTitle(configurator);
538 }
539
540 /**
541 * @param synonym
542 * @param acceptedTaxon
543 * @param deleteSynonym
544 * @param copyCitationInfo
545 * @param citation
546 * @param microCitation
547 * @return
548 * @throws HomotypicalGroupChangeException
549 * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeSynonymToAcceptedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, boolean, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String)
550 */
551 @Override
552 public Taxon changeSynonymToAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon, boolean deleteSynonym, boolean copyCitationInfo, Reference citation, String microCitation) throws HomotypicalGroupChangeException {
553 return defaultService.changeSynonymToAcceptedTaxon(synonym, acceptedTaxon, deleteSynonym, copyCitationInfo, citation, microCitation);
554 }
555
556 /**
557 * @param clazz
558 * @param queryString
559 * @param matchmode
560 * @param criteria
561 * @return
562 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
563 */
564 @Override
565 public Integer countByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
566 return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
567 }
568
569 /**
570 * @param uuid
571 * @return
572 * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
573 */
574 @Override
575 public TaxonBase load(UUID uuid) {
576 return defaultService.load(uuid);
577 }
578
579 /**
580 * @param uuid
581 * @param propertyPaths
582 * @return
583 * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
584 */
585 @Override
586 public TaxonBase load(UUID uuid, List<String> propertyPaths) {
587 return defaultService.load(uuid, propertyPaths);
588 }
589
590 /**
591 * @param configurator
592 * @return
593 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
594 */
595 @Override
596 public Integer countByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
597 return defaultService.countByTitle(configurator);
598 }
599
600 /**
601 * @param transientObject
602 * @return
603 * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
604 */
605 @Override
606 public TaxonBase merge(TaxonBase transientObject) {
607 return defaultService.merge(transientObject);
608 }
609
610 /**
611 * @param clazz
612 * @param queryString
613 * @param matchmode
614 * @param criteria
615 * @param pageSize
616 * @param pageNumber
617 * @param orderHints
618 * @param propertyPaths
619 * @return
620 * @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)
621 */
622 @Override
623 public List<TaxonBase> listByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
624 return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
625 }
626
627 /**
628 * @param type
629 * @param pageSize
630 * @param pageNumber
631 * @param orderHints
632 * @param propertyPaths
633 * @return
634 * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
635 */
636 @Override
637 public <S extends TaxonBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
638 return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
639 }
640
641 /**
642 * @param persistentObject
643 * @return
644 * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
645 */
646 @Override
647 public UUID refresh(TaxonBase persistentObject) {
648 return defaultService.refresh(persistentObject);
649 }
650
651 /**
652 * @param synonym
653 * @param toTaxon
654 * @param taxonRelationshipType
655 * @param reference
656 * @param microReference
657 * @return
658 * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeSynonymToRelatedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String)
659 */
660 @Override
661 public Taxon changeSynonymToRelatedTaxon(Synonym synonym, Taxon toTaxon, TaxonRelationshipType taxonRelationshipType, Reference reference, String microReference) {
662 return defaultService.changeSynonymToRelatedTaxon(synonym, toTaxon, taxonRelationshipType, reference, microReference);
663 }
664
665 /**
666 * @param clazz
667 * @param queryString
668 * @param matchmode
669 * @param criteria
670 * @param pageSize
671 * @param pageNumber
672 * @param orderHints
673 * @param propertyPaths
674 * @return
675 * @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)
676 */
677 @Override
678 public List<TaxonBase> listByReferenceTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
679 return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
680 }
681
682 /**
683 * @param tableName
684 * @param limit
685 * @param start
686 * @return
687 * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
688 */
689 @Override
690 public List<TaxonBase> rows(String tableName, int limit, int start) {
691 return defaultService.rows(tableName, limit, start);
692 }
693
694 /**
695 * @param newInstances
696 * @return
697 * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
698 */
699 @Override
700 public Map<UUID, TaxonBase> save(Collection<TaxonBase> newInstances) {
701 return null;
702 }
703
704 /**
705 * @param syn
706 * @param taxon
707 * @return
708 * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
709 */
710 @Override
711 public long deleteSynonymRelationships(Synonym syn, Taxon taxon) {
712 return defaultService.deleteSynonymRelationships(syn, taxon);
713 }
714
715 /**
716 * @param newInstance
717 * @return
718 * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
719 */
720 @Override
721 public TaxonBase save(TaxonBase newInstance) {
722 return null;
723 }
724
725 /**
726 * @param transientObject
727 * @return
728 * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
729 */
730 @Override
731 public UUID saveOrUpdate(TaxonBase transientObject) {
732 return null;
733 }
734
735 /**
736 * @param synonym
737 * @param newHomotypicalGroup
738 * @param targetTaxon
739 * @param removeFromOtherTaxa
740 * @param setBasionymRelationIfApplicable
741 * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeHomotypicalGroupOfSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.name.HomotypicalGroup, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, boolean)
742 */
743 @Override
744 public void changeHomotypicalGroupOfSynonym(Synonym synonym, HomotypicalGroup newHomotypicalGroup, Taxon targetTaxon, boolean removeFromOtherTaxa, boolean setBasionymRelationIfApplicable) {
745 defaultService.changeHomotypicalGroupOfSynonym(synonym, newHomotypicalGroup, targetTaxon, removeFromOtherTaxa, setBasionymRelationIfApplicable);
746 }
747
748 /**
749 * @param transientObjects
750 * @return
751 * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
752 */
753 @Override
754 public Map<UUID, TaxonBase> saveOrUpdate(Collection<TaxonBase> transientObjects) {
755 return null;
756 }
757
758 /**
759 * @param transientObject
760 * @return
761 * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
762 */
763 @Override
764 public UUID update(TaxonBase transientObject) {
765 return defaultService.update(transientObject);
766 }
767
768 /**
769 * @param example
770 * @param includeProperties
771 * @param limit
772 * @param start
773 * @param orderHints
774 * @param propertyPaths
775 * @return
776 * @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)
777 */
778 @Override
779 public List<TaxonBase> list(TaxonBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
780 return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
781 }
782
783 /**
784 * @param oldSynonymRelation
785 * @param newTaxon
786 * @param moveHomotypicGroup
787 * @param newSynonymRelationshipType
788 * @param newReference
789 * @param newReferenceDetail
790 * @param keepReference
791 * @return
792 * @throws HomotypicalGroupChangeException
793 * @see eu.etaxonomy.cdm.api.service.ITaxonService#moveSynonymToAnotherTaxon(eu.etaxonomy.cdm.model.taxon.SynonymRelationship, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String, boolean)
794 */
795 @Override
796 public SynonymRelationship moveSynonymToAnotherTaxon(SynonymRelationship oldSynonymRelation, Taxon newTaxon, boolean moveHomotypicGroup, SynonymRelationshipType newSynonymRelationshipType, Reference newReference, String newReferenceDetail, boolean keepReference) throws HomotypicalGroupChangeException {
797 return defaultService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxon, moveHomotypicGroup, newSynonymRelationshipType, newReference, newReferenceDetail, keepReference);
798 }
799
800 /**
801 * @param clazz
802 * @param matchStrategy
803 * @param mergeStrategy
804 * @return
805 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
806 */
807 @Override
808 public int deduplicate(Class<? extends TaxonBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
809 return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
810 }
811
812 /**
813 * @param clazz
814 * @param queryString
815 * @param pageSize
816 * @param pageNumber
817 * @param orderHints
818 * @param matchMode
819 * @return
820 * @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)
821 */
822 @Override
823 public Pager<TaxonBase> findTitleCache(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
824 return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
825 }
826
827 /**
828 * @param taxon
829 * @param type
830 * @param pageSize
831 * @param pageNumber
832 * @param orderHints
833 * @param propertyPaths
834 * @return
835 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listToTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
836 */
837 @Override
838 public List<TaxonRelationship> listToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
839 return defaultService.listToTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
840 }
841
842 /**
843 * @param taxon
844 * @param type
845 * @param pageSize
846 * @param pageNumber
847 * @param orderHints
848 * @param propertyPaths
849 * @return
850 * @see eu.etaxonomy.cdm.api.service.ITaxonService#pageToTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
851 */
852 @Override
853 public Pager<TaxonRelationship> pageToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
854 return defaultService.pageToTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
855 }
856
857 /**
858 * @param taxon
859 * @param type
860 * @param pageSize
861 * @param pageNumber
862 * @param orderHints
863 * @param propertyPaths
864 * @return
865 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listFromTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
866 */
867 @Override
868 public List<TaxonRelationship> listFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
869 return defaultService.listFromTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
870 }
871
872 /**
873 * @param taxon
874 * @param type
875 * @param pageSize
876 * @param pageNumber
877 * @param orderHints
878 * @param propertyPaths
879 * @return
880 * @see eu.etaxonomy.cdm.api.service.ITaxonService#pageFromTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
881 */
882 @Override
883 public Pager<TaxonRelationship> pageFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
884 return defaultService.pageFromTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
885 }
886
887 /**
888 * @param taxon
889 * @param includeRelationships
890 * @param maxDepth
891 * @param limit
892 * @param start
893 * @param propertyPaths
894 * @return
895 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listRelatedTaxa(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List)
896 */
897 @Override
898 public Set<Taxon> listRelatedTaxa(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Integer maxDepth, Integer limit, Integer start, List<String> propertyPaths) {
899 return defaultService.listRelatedTaxa(taxon, includeRelationships, maxDepth, limit, start, propertyPaths);
900 }
901
902 /**
903 * @param taxonBase
904 * @param limit
905 * @param start
906 * @param propertyPaths
907 * @return
908 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listClassifications(eu.etaxonomy.cdm.model.taxon.TaxonBase, java.lang.Integer, java.lang.Integer, java.util.List)
909 */
910 @Override
911 public List<Classification> listClassifications(TaxonBase taxonBase, Integer limit, Integer start, List<String> propertyPaths) {
912 return defaultService.listClassifications(taxonBase, limit, start, propertyPaths);
913 }
914
915 /**
916 * @param synonym
917 * @param type
918 * @param pageSize
919 * @param pageNumber
920 * @param orderHints
921 * @param propertyPaths
922 * @return
923 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getSynonyms(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
924 */
925 @Override
926 public Pager<SynonymRelationship> getSynonyms(Synonym synonym, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
927 return defaultService.getSynonyms(synonym, type, pageSize, pageNumber, orderHints, propertyPaths);
928 }
929
930 /**
931 * @param taxon
932 * @param type
933 * @param pageSize
934 * @param pageNumber
935 * @param orderHints
936 * @param propertyPaths
937 * @return
938 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
939 */
940 @Override
941 public Pager<SynonymRelationship> getSynonyms(Taxon taxon, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
942 return defaultService.getSynonyms(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
943 }
944
945 /**
946 * @param taxon
947 * @param propertyPaths
948 * @return
949 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHomotypicSynonymsByHomotypicGroup(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
950 */
951 @Override
952 public List<Synonym> getHomotypicSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
953 return defaultService.getHomotypicSynonymsByHomotypicGroup(taxon, propertyPaths);
954 }
955
956 /**
957 * @param taxon
958 * @param propertyPaths
959 * @return
960 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHeterotypicSynonymyGroups(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
961 */
962 @Override
963 public List<List<Synonym>> getHeterotypicSynonymyGroups(Taxon taxon, List<String> propertyPaths) {
964 return defaultService.getHeterotypicSynonymyGroups(taxon, propertyPaths);
965 }
966
967 /**
968 * @param clazz
969 * @param queryString
970 * @param pageSize
971 * @param pageNumber
972 * @param orderHints
973 * @param propertyPaths
974 * @return
975 * @see eu.etaxonomy.cdm.api.service.ITaxonService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
976 */
977 @Override
978 public Pager<TaxonBase> search(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
979 return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
980 }
981
982 /**
983 * @param clazz
984 * @param uninomial
985 * @param infragenericEpithet
986 * @param specificEpithet
987 * @param infraspecificEpithet
988 * @param rank
989 * @param pageSize
990 * @param pageNumber
991 * @return
992 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByName(java.lang.Class, java.lang.String, java.lang.String, java.lang.String, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer)
993 */
994 @Override
995 public Pager<TaxonBase> findTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
996 return defaultService.findTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
997 }
998
999 /**
1000 * @param clazz
1001 * @param uninomial
1002 * @param infragenericEpithet
1003 * @param specificEpithet
1004 * @param infraspecificEpithet
1005 * @param rank
1006 * @param pageSize
1007 * @param pageNumber
1008 * @return
1009 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listTaxaByName(java.lang.Class, java.lang.String, java.lang.String, java.lang.String, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer)
1010 */
1011 @Override
1012 public List<TaxonBase> listTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
1013 return defaultService.listTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
1014 }
1015
1016 /**
1017 * @param configurator
1018 * @return
1019 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNames(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
1020 */
1021 @Override
1022 public Pager<IdentifiableEntity> findTaxaAndNames(IFindTaxaAndNamesConfigurator configurator) {
1023 return defaultService.findTaxaAndNames(configurator);
1024 }
1025
1026 /**
1027 * @param queryString
1028 * @param classification
1029 * @param languages
1030 * @param highlightFragments
1031 * @param pageSize
1032 * @param pageNumber
1033 * @param orderHints
1034 * @param propertyPaths
1035 * @return
1036 * @throws CorruptIndexException
1037 * @throws IOException
1038 * @throws ParseException
1039 * @throws LuceneMultiSearchException
1040 * @deprecated
1041 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByEverythingFullText(java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1042 */
1043 @Deprecated
1044 @Override
1045 public Pager<SearchResult<TaxonBase>> findByEverythingFullText(String queryString, Classification classification, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException, LuceneMultiSearchException {
1046 return defaultService.findByEverythingFullText(queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1047 }
1048
1049 /**
1050 * @param clazz
1051 * @param queryString
1052 * @param classification
1053 * @param languages
1054 * @param highlightFragments
1055 * @param pageSize
1056 * @param pageNumber
1057 * @param orderHints
1058 * @param propertyPaths
1059 * @return
1060 * @throws CorruptIndexException
1061 * @throws IOException
1062 * @throws ParseException
1063 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByFullText(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1064 */
1065 @Override
1066 public Pager<SearchResult<TaxonBase>> findByFullText(Class<? extends TaxonBase> clazz, String queryString, Classification classification, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException {
1067 return defaultService.findByFullText(clazz, queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1068 }
1069
1070
1071 /* (non-Javadoc)
1072 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByDistribution(java.util.List, java.util.List, eu.etaxonomy.cdm.model.taxon.Classification, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1073 */
1074 @Override
1075 public Pager<SearchResult<TaxonBase>> findByDistribution(List<NamedArea> areaFilter,
1076 List<PresenceAbsenceTerm> statusFilter, Classification classification, Integer pageSize,
1077 Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws IOException,
1078 ParseException {
1079 return defaultService.findByDistribution(areaFilter, statusFilter, classification, pageSize, pageNumber, orderHints, propertyPaths);
1080 }
1081
1082
1083 /* (non-Javadoc)
1084 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesByFullText(java.util.EnumSet, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.Set, java.util.Set, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1085 */
1086 @Override
1087 public Pager<SearchResult<TaxonBase>> findTaxaAndNamesByFullText(EnumSet<TaxaAndNamesSearchMode> searchModes,
1088 String queryString, Classification classification, Set<NamedArea> namedAreas,
1089 Set<PresenceAbsenceTerm> distributionStatus, List<Language> languages, boolean highlightFragments,
1090 Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths)
1091 throws CorruptIndexException, IOException, ParseException, LuceneMultiSearchException {
1092 return defaultService.findTaxaAndNamesByFullText(searchModes, queryString, classification, namedAreas, distributionStatus, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1093 }
1094
1095 /**
1096 * @param clazz
1097 * @param queryString
1098 * @param classification
1099 * @param features
1100 * @param languages
1101 * @param highlightFragments
1102 * @param pageSize
1103 * @param pageNumber
1104 * @param orderHints
1105 * @param propertyPaths
1106 * @return
1107 * @throws CorruptIndexException
1108 * @throws IOException
1109 * @throws ParseException
1110 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByDescriptionElementFullText(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1111 */
1112 @Override
1113 public Pager<SearchResult<TaxonBase>> findByDescriptionElementFullText(Class<? extends DescriptionElementBase> clazz, String queryString, Classification classification, List<Feature> features, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException {
1114 return defaultService.findByDescriptionElementFullText(clazz, queryString, classification, features, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1115 }
1116
1117 /**
1118 * @param taxon
1119 * @param size
1120 * @param height
1121 * @param widthOrDuration
1122 * @param mimeTypes
1123 * @return
1124 * @deprecated
1125 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllMedia(eu.etaxonomy.cdm.model.taxon.Taxon, int, int, int, java.lang.String[])
1126 */
1127 @Deprecated
1128 @Override
1129 public List<MediaRepresentation> getAllMedia(Taxon taxon, int size, int height, int widthOrDuration, String[] mimeTypes) {
1130 return defaultService.getAllMedia(taxon, size, height, widthOrDuration, mimeTypes);
1131 }
1132
1133 /**
1134 * @param taxon
1135 * @param includeRelationships
1136 * @param limitToGalleries
1137 * @param propertyPath
1138 * @return
1139 * @deprecated
1140 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listTaxonDescriptionMedia(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, boolean, java.util.List)
1141 */
1142 @Deprecated
1143 @Override
1144 public List<Media> listTaxonDescriptionMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, boolean limitToGalleries, List<String> propertyPath) {
1145 return defaultService.listTaxonDescriptionMedia(taxon, includeRelationships, limitToGalleries, propertyPath);
1146 }
1147
1148 /**
1149 * @param taxon
1150 * @param includeRelationships
1151 * @param limitToGalleries
1152 * @param includeTaxonDescriptions
1153 * @param includeOccurrences
1154 * @param includeTaxonNameDescriptions
1155 * @param propertyPath
1156 * @return
1157 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listMedia(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.util.List)
1158 */
1159 @Override
1160 public List<Media> listMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Boolean limitToGalleries, Boolean includeTaxonDescriptions, Boolean includeOccurrences, Boolean includeTaxonNameDescriptions, List<String> propertyPath) {
1161 return defaultService.listMedia(taxon, includeRelationships, limitToGalleries, includeTaxonDescriptions, includeOccurrences, includeTaxonNameDescriptions, propertyPath);
1162 }
1163
1164 /**
1165 * @param listOfIDs
1166 * @return
1167 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByID(java.util.Set)
1168 */
1169 @Override
1170 public List<TaxonBase> findTaxaByID(Set<Integer> listOfIDs) {
1171 return defaultService.findTaxaByID(listOfIDs);
1172 }
1173
1174 /**
1175 * @param uuid
1176 * @param propertyPaths
1177 * @return
1178 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxonByUuid(java.util.UUID, java.util.List)
1179 */
1180 @Override
1181 public TaxonBase findTaxonByUuid(UUID uuid, List<String> propertyPaths) {
1182 return defaultService.findTaxonByUuid(uuid, propertyPaths);
1183 }
1184
1185 /**
1186 * @return
1187 * @see eu.etaxonomy.cdm.api.service.ITaxonService#countAllRelationships()
1188 */
1189 @Override
1190 public int countAllRelationships() {
1191 return defaultService.countAllRelationships();
1192 }
1193
1194 /**
1195 * @param propertyPath
1196 * @return
1197 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNames(java.util.List)
1198 */
1199 @Override
1200 public List<TaxonNameBase> findIdenticalTaxonNames(List<String> propertyPath) {
1201 return defaultService.findIdenticalTaxonNames(propertyPath);
1202 }
1203
1204 /**
1205 * @param propertyPath
1206 * @return
1207 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNameIds(java.util.List)
1208 */
1209 @Override
1210 public List<TaxonNameBase> findIdenticalTaxonNameIds(List<String> propertyPath) {
1211 return defaultService.findIdenticalTaxonNameIds(propertyPath);
1212 }
1213
1214 /**
1215 * @param name
1216 * @return
1217 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getPhylumName(eu.etaxonomy.cdm.model.name.TaxonNameBase)
1218 */
1219 @Override
1220 public String getPhylumName(TaxonNameBase name) {
1221 return defaultService.getPhylumName(name);
1222 }
1223
1224 /**
1225 * @param syn
1226 * @return
1227 * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym)
1228 */
1229 @Override
1230 public long deleteSynonymRelationships(Synonym syn) {
1231 return defaultService.deleteSynonymRelationships(syn);
1232 }
1233
1234 /**
1235 * @param taxonBase
1236 * @param type
1237 * @param pageSize
1238 * @param pageNumber
1239 * @param orderHints
1240 * @param propertyPaths
1241 * @param direction
1242 * @return
1243 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listSynonymRelationships(eu.etaxonomy.cdm.model.taxon.TaxonBase, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List, eu.etaxonomy.cdm.model.common.RelationshipBase.Direction)
1244 */
1245 @Override
1246 public List<SynonymRelationship> listSynonymRelationships(TaxonBase taxonBase, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths, Direction direction) {
1247 return defaultService.listSynonymRelationships(taxonBase, type, pageSize, pageNumber, orderHints, propertyPaths, direction);
1248 }
1249
1250 /**
1251 * @param taxonName
1252 * @return
1253 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(java.lang.String)
1254 */
1255 @Override
1256 public Taxon findBestMatchingTaxon(String taxonName) {
1257 return defaultService.findBestMatchingTaxon(taxonName);
1258 }
1259
1260 /**
1261 * @param config
1262 * @return
1263 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
1264 */
1265 @Override
1266 public Taxon findBestMatchingTaxon(MatchingTaxonConfigurator config) {
1267 return defaultService.findBestMatchingTaxon(config);
1268 }
1269
1270 /**
1271 * @param taxonName
1272 * @return
1273 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingSynonym(java.lang.String)
1274 */
1275 @Override
1276 public Synonym findBestMatchingSynonym(String taxonName) {
1277 return defaultService.findBestMatchingSynonym(taxonName);
1278 }
1279
1280 /**
1281 * @return
1282 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheTaxon()
1283 */
1284 @Override
1285 public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheTaxon() {
1286 return defaultService.getUuidAndTitleCacheTaxon();
1287 }
1288
1289 /**
1290 * @return
1291 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheSynonym()
1292 */
1293 @Override
1294 public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheSynonym() {
1295 return defaultService.getUuidAndTitleCacheSynonym();
1296 }
1297
1298 /**
1299 * @param configurator
1300 * @return
1301 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesForEditor(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
1302 */
1303 @Override
1304 public List<UuidAndTitleCache<IdentifiableEntity>> findTaxaAndNamesForEditor(IFindTaxaAndNamesConfigurator configurator) {
1305 return defaultService.findTaxaAndNamesForEditor(configurator);
1306 }
1307
1308 /**
1309 * @param taxon
1310 * @param tree
1311 * @param type
1312 * @param doWithMisappliedNames
1313 * @return
1314 * @see eu.etaxonomy.cdm.api.service.ITaxonService#createInferredSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, boolean)
1315 */
1316 @Override
1317 public List<Synonym> createInferredSynonyms(Taxon taxon, Classification tree, SynonymRelationshipType type, boolean doWithMisappliedNames) {
1318 return defaultService.createInferredSynonyms(taxon, tree, type, doWithMisappliedNames);
1319 }
1320
1321 /**
1322 * @param taxon
1323 * @param tree
1324 * @param doWithMisappliedNames
1325 * @return
1326 * @see eu.etaxonomy.cdm.api.service.ITaxonService#createAllInferredSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, boolean)
1327 */
1328 @Override
1329 public List<Synonym> createAllInferredSynonyms(Taxon taxon, Classification tree, boolean doWithMisappliedNames) {
1330 return defaultService.createAllInferredSynonyms(taxon, tree, doWithMisappliedNames);
1331 }
1332
1333 @Override
1334 public DeleteResult deleteSynonym(Synonym arg0, SynonymDeletionConfigurator arg1) {
1335 return defaultService.deleteSynonym(arg0, arg1);
1336 }
1337
1338 @Override
1339 public DeleteResult deleteSynonym(Synonym arg0, Taxon arg1, SynonymDeletionConfigurator arg2) {
1340 return defaultService.deleteSynonym(arg0, arg1, arg2);
1341 }
1342
1343 @Override
1344 public List<List<Synonym>> getSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
1345 return defaultService.getSynonymsByHomotypicGroup(taxon, propertyPaths);
1346 }
1347
1348 @Override
1349 public Synonym changeRelatedTaxonToSynonym(Taxon fromTaxon, Taxon toTaxon,
1350 TaxonRelationshipType oldRelationshipType,
1351 SynonymRelationshipType synonymRelationshipType)
1352 throws DataChangeNoRollbackException {
1353
1354 return defaultService.changeRelatedTaxonToSynonym(fromTaxon, toTaxon, oldRelationshipType, synonymRelationshipType);
1355 }
1356
1357 /* (non-Javadoc)
1358 * @see eu.etaxonomy.cdm.api.service.ITaxonService#pageAcceptedTaxaFor(java.util.UUID, java.util.UUID, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1359 */
1360 @Override
1361 public Pager<Taxon> pageAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize,
1362 Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
1363 return defaultService.pageAcceptedTaxaFor(synonymUuid, classificationUuid, pageSize, pageNumber, orderHints, propertyPaths);
1364 }
1365
1366 /* (non-Javadoc)
1367 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listAcceptedTaxaFor(java.util.UUID, java.util.UUID, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
1368 */
1369 @Override
1370 public List<Taxon> listAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize,
1371 Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
1372 return defaultService.listAcceptedTaxaFor(synonymUuid, classificationUuid, pageSize, pageNumber, orderHints, propertyPaths);
1373 }
1374
1375 @Override
1376 public DeleteResult isDeletable(TaxonBase object,
1377 DeleteConfiguratorBase config) {
1378 // TODO Auto-generated method stub
1379 return null;
1380 }
1381
1382 @Override
1383 public IncludedTaxaDTO listIncludedTaxa(UUID taxonUuid,
1384 IncludedTaxonConfiguration configuration) {
1385 // TODO Auto-generated method stub
1386 return null;
1387 }
1388
1389 @Override
1390 public TaxonBase findWithoutFlush(UUID uuid) {
1391 return defaultService.findWithoutFlush(uuid);
1392 }
1393
1394 /* (non-Javadoc)
1395 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByName(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
1396 */
1397 @Override
1398 public List<TaxonBase> findTaxaByName(MatchingTaxonConfigurator config) {
1399 return defaultService.findTaxaByName(config);
1400 }
1401
1402 @Override
1403 public <S extends TaxonBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
1404 return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
1405 }
1406
1407 /* (non-Javadoc)
1408 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByIdentifier(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.model.common.DefinedTerm, eu.etaxonomy.cdm.model.taxon.TaxonNode, eu.etaxonomy.cdm.persistence.query.MatchMode, boolean, java.lang.Integer, java.lang.Integer, java.util.List)
1409 */
1410 @Override
1411 public <S extends TaxonBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier,
1412 DefinedTerm identifierType, TaxonNode subtreeFilter, MatchMode matchmode, boolean includeEntity,
1413 Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
1414 return defaultService.findByIdentifier(clazz, identifier, identifierType, subtreeFilter, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
1415 }
1416
1417
1418
1419 /* (non-Javadoc)
1420 * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(java.util.UUID, java.util.UUID, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator)
1421 */
1422 @Override
1423 public DeleteResult deleteSynonym(UUID synonymUuid, UUID taxonUuid, SynonymDeletionConfigurator config) {
1424 return defaultService.deleteSynonym(synonymUuid, taxonUuid, config);
1425 }
1426
1427
1428 /**
1429 * {@inheritDoc}
1430
1431 */
1432 @Override
1433 public UpdateResult swapSynonymAndAcceptedTaxon(UUID synonymUUid, UUID acceptedTaxonUuid) {
1434 return defaultService.swapSynonymAndAcceptedTaxon(synonymUUid, acceptedTaxonUuid);
1435 }
1436
1437 /* (non-Javadoc)
1438 * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteTaxon(java.util.UUID, eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator, java.util.UUID)
1439 */
1440 @Override
1441 public DeleteResult deleteTaxon(UUID taxonUuid, TaxonDeletionConfigurator config, UUID classificationUuid) {
1442 return defaultService.deleteTaxon(taxonUuid, config, classificationUuid);
1443 }
1444
1445
1446 @Override
1447 public UpdateResult moveFactualDateToAnotherTaxon(UUID arg0, UUID arg1) {
1448 return defaultService.moveFactualDateToAnotherTaxon(arg0, arg1);
1449 }
1450
1451
1452 /**
1453 * {@inheritDoc}
1454 */
1455 @Override
1456 public UpdateResult moveSynonymToAnotherTaxon(
1457 SynonymRelationship oldSynonymRelation, UUID newTaxonUUID,
1458 boolean moveHomotypicGroup,
1459 SynonymRelationshipType newSynonymRelationshipType,
1460 Reference reference, String referenceDetail, boolean keepReference)
1461 throws HomotypicalGroupChangeException {
1462
1463 return defaultService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxonUUID, moveHomotypicGroup, newSynonymRelationshipType, reference, referenceDetail, keepReference);
1464 }
1465
1466
1467 /* (non-Javadoc)
1468 * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
1469 */
1470 @Override
1471 public DeleteResult delete(UUID uuid) {
1472 return defaultService.delete(uuid);
1473
1474 }
1475
1476 /* (non-Javadoc)
1477 * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.Collection)
1478 */
1479 @Override
1480 public DeleteResult delete(Collection<UUID> arg0) {
1481 return defaultService.delete(arg0);
1482 }
1483
1484 /* (non-Javadoc)
1485 * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List)
1486 */
1487 @Override
1488 public List<TaxonBase> merge(List<TaxonBase> arg0) {
1489 return defaultService.merge(arg0);
1490 }
1491
1492 /* (non-Javadoc)
1493 * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(java.util.UUID, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator)
1494 */
1495 @Override
1496 public DeleteResult deleteSynonym(UUID arg0, SynonymDeletionConfigurator arg1) {
1497 return defaultService.deleteSynonym(arg0, arg1);
1498 }
1499
1500 /* (non-Javadoc)
1501 * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeSynonymToRelatedTaxon(java.util.UUID, java.util.UUID, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String)
1502 */
1503 @Override
1504 public UpdateResult changeSynonymToRelatedTaxon(UUID arg0, UUID arg1, TaxonRelationshipType arg2, Reference arg3,
1505 String arg4) {
1506 return defaultService.changeSynonymToRelatedTaxon(arg0, arg1, arg2, arg3, arg4);
1507 }
1508
1509 /* (non-Javadoc)
1510 * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeRelatedTaxonToSynonym(java.util.UUID, java.util.UUID, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType)
1511 */
1512 @Override
1513 public UpdateResult changeRelatedTaxonToSynonym(UUID arg0, UUID arg1, TaxonRelationshipType arg2,
1514 SynonymRelationshipType arg3) throws DataChangeNoRollbackException {
1515 return defaultService.changeRelatedTaxonToSynonym(arg0, arg1, arg2, arg3);
1516
1517 }
1518
1519 /* (non-Javadoc)
1520 * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeSynonymToAcceptedTaxon(java.util.UUID, java.util.UUID, java.util.UUID, boolean, boolean, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String)
1521 */
1522 @Override
1523 public UpdateResult changeSynonymToAcceptedTaxon(UUID arg0, UUID arg1, UUID arg2, boolean arg3, boolean arg4,
1524 Reference arg5, String arg6) throws HomotypicalGroupChangeException {
1525 return defaultService.changeSynonymToAcceptedTaxon(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
1526 }
1527
1528 }