08c3e7ecb1439b5fe3e32566b855ee10fb911b18
[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 * @param type
517 * @param limit
518 * @param start
519 * @param orderHints
520 * @param propertyPaths
521 * @return
522 * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
523 */
524 @Override
525 public <S extends TaxonBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
526 return defaultService.list(type, limit, start, orderHints, propertyPaths);
527 }
528
529 /**
530 * @param configurator
531 * @return
532 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
533 */
534 @Override
535 public Pager<TaxonBase> findByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
536 return defaultService.findByTitle(configurator);
537 }
538
539 /**
540 * @param synonym
541 * @param acceptedTaxon
542 * @param deleteSynonym
543 * @param copyCitationInfo
544 * @param citation
545 * @param microCitation
546 * @return
547 * @throws HomotypicalGroupChangeException
548 * @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)
549 */
550 @Override
551 public Taxon changeSynonymToAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon, boolean deleteSynonym, boolean copyCitationInfo, Reference citation, String microCitation) throws HomotypicalGroupChangeException {
552 return defaultService.changeSynonymToAcceptedTaxon(synonym, acceptedTaxon, deleteSynonym, copyCitationInfo, citation, microCitation);
553 }
554
555 /**
556 * @param clazz
557 * @param queryString
558 * @param matchmode
559 * @param criteria
560 * @return
561 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
562 */
563 @Override
564 public Integer countByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
565 return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
566 }
567
568 /**
569 * @param uuid
570 * @return
571 * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
572 */
573 @Override
574 public TaxonBase load(UUID uuid) {
575 return defaultService.load(uuid);
576 }
577
578 /**
579 * @param uuid
580 * @param propertyPaths
581 * @return
582 * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
583 */
584 @Override
585 public TaxonBase load(UUID uuid, List<String> propertyPaths) {
586 return defaultService.load(uuid, propertyPaths);
587 }
588
589 /**
590 * @param configurator
591 * @return
592 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
593 */
594 @Override
595 public Integer countByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
596 return defaultService.countByTitle(configurator);
597 }
598
599 /**
600 * @param transientObject
601 * @return
602 * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
603 */
604 @Override
605 public TaxonBase merge(TaxonBase transientObject) {
606 return defaultService.merge(transientObject);
607 }
608
609 /**
610 * @param clazz
611 * @param queryString
612 * @param matchmode
613 * @param criteria
614 * @param pageSize
615 * @param pageNumber
616 * @param orderHints
617 * @param propertyPaths
618 * @return
619 * @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)
620 */
621 @Override
622 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) {
623 return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
624 }
625
626 /**
627 * @param type
628 * @param pageSize
629 * @param pageNumber
630 * @param orderHints
631 * @param propertyPaths
632 * @return
633 * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
634 */
635 @Override
636 public <S extends TaxonBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
637 return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
638 }
639
640 /**
641 * @param persistentObject
642 * @return
643 * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
644 */
645 @Override
646 public UUID refresh(TaxonBase persistentObject) {
647 return defaultService.refresh(persistentObject);
648 }
649
650 /**
651 * @param synonym
652 * @param toTaxon
653 * @param taxonRelationshipType
654 * @param reference
655 * @param microReference
656 * @return
657 * @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)
658 */
659 @Override
660 public Taxon changeSynonymToRelatedTaxon(Synonym synonym, Taxon toTaxon, TaxonRelationshipType taxonRelationshipType, Reference reference, String microReference) {
661 return defaultService.changeSynonymToRelatedTaxon(synonym, toTaxon, taxonRelationshipType, reference, microReference);
662 }
663
664 /**
665 * @param clazz
666 * @param queryString
667 * @param matchmode
668 * @param criteria
669 * @param pageSize
670 * @param pageNumber
671 * @param orderHints
672 * @param propertyPaths
673 * @return
674 * @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)
675 */
676 @Override
677 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) {
678 return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
679 }
680
681 /**
682 * @param tableName
683 * @param limit
684 * @param start
685 * @return
686 * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
687 */
688 @Override
689 public List<TaxonBase> rows(String tableName, int limit, int start) {
690 return defaultService.rows(tableName, limit, start);
691 }
692
693 /**
694 * @param newInstances
695 * @return
696 * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
697 */
698 @Override
699 public Map<UUID, TaxonBase> save(Collection<TaxonBase> newInstances) {
700 return null;
701 }
702
703 /**
704 * @param syn
705 * @param taxon
706 * @return
707 * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
708 */
709 @Override
710 public long deleteSynonymRelationships(Synonym syn, Taxon taxon) {
711 return defaultService.deleteSynonymRelationships(syn, taxon);
712 }
713
714 /**
715 * @param newInstance
716 * @return
717 * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
718 */
719 @Override
720 public UUID save(TaxonBase newInstance) {
721 return null;
722 }
723
724 /**
725 * @param transientObject
726 * @return
727 * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
728 */
729 @Override
730 public UUID saveOrUpdate(TaxonBase transientObject) {
731 return null;
732 }
733
734 /**
735 * @param synonym
736 * @param newHomotypicalGroup
737 * @param targetTaxon
738 * @param removeFromOtherTaxa
739 * @param setBasionymRelationIfApplicable
740 * @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)
741 */
742 @Override
743 public void changeHomotypicalGroupOfSynonym(Synonym synonym, HomotypicalGroup newHomotypicalGroup, Taxon targetTaxon, boolean removeFromOtherTaxa, boolean setBasionymRelationIfApplicable) {
744 defaultService.changeHomotypicalGroupOfSynonym(synonym, newHomotypicalGroup, targetTaxon, removeFromOtherTaxa, setBasionymRelationIfApplicable);
745 }
746
747 /**
748 * @param transientObjects
749 * @return
750 * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
751 */
752 @Override
753 public Map<UUID, TaxonBase> saveOrUpdate(Collection<TaxonBase> transientObjects) {
754 return null;
755 }
756
757 /**
758 * @param transientObject
759 * @return
760 * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
761 */
762 @Override
763 public UUID update(TaxonBase transientObject) {
764 return defaultService.update(transientObject);
765 }
766
767 /**
768 * @param example
769 * @param includeProperties
770 * @param limit
771 * @param start
772 * @param orderHints
773 * @param propertyPaths
774 * @return
775 * @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)
776 */
777 @Override
778 public List<TaxonBase> list(TaxonBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
779 return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
780 }
781
782 /**
783 * @param oldSynonymRelation
784 * @param newTaxon
785 * @param moveHomotypicGroup
786 * @param newSynonymRelationshipType
787 * @param newReference
788 * @param newReferenceDetail
789 * @param keepReference
790 * @return
791 * @throws HomotypicalGroupChangeException
792 * @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)
793 */
794 @Override
795 public SynonymRelationship moveSynonymToAnotherTaxon(SynonymRelationship oldSynonymRelation, Taxon newTaxon, boolean moveHomotypicGroup, SynonymRelationshipType newSynonymRelationshipType, Reference newReference, String newReferenceDetail, boolean keepReference) throws HomotypicalGroupChangeException {
796 return defaultService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxon, moveHomotypicGroup, newSynonymRelationshipType, newReference, newReferenceDetail, keepReference);
797 }
798
799 /**
800 * @param clazz
801 * @param matchStrategy
802 * @param mergeStrategy
803 * @return
804 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
805 */
806 @Override
807 public int deduplicate(Class<? extends TaxonBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
808 return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
809 }
810
811 /**
812 * @param clazz
813 * @param queryString
814 * @param pageSize
815 * @param pageNumber
816 * @param orderHints
817 * @param matchMode
818 * @return
819 * @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)
820 */
821 @Override
822 public Pager<TaxonBase> findTitleCache(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
823 return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
824 }
825
826 /**
827 * @param taxon
828 * @param type
829 * @param pageSize
830 * @param pageNumber
831 * @param orderHints
832 * @param propertyPaths
833 * @return
834 * @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)
835 */
836 @Override
837 public List<TaxonRelationship> listToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
838 return defaultService.listToTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
839 }
840
841 /**
842 * @param taxon
843 * @param type
844 * @param pageSize
845 * @param pageNumber
846 * @param orderHints
847 * @param propertyPaths
848 * @return
849 * @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)
850 */
851 @Override
852 public Pager<TaxonRelationship> pageToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
853 return defaultService.pageToTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
854 }
855
856 /**
857 * @param taxon
858 * @param type
859 * @param pageSize
860 * @param pageNumber
861 * @param orderHints
862 * @param propertyPaths
863 * @return
864 * @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)
865 */
866 @Override
867 public List<TaxonRelationship> listFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
868 return defaultService.listFromTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
869 }
870
871 /**
872 * @param taxon
873 * @param type
874 * @param pageSize
875 * @param pageNumber
876 * @param orderHints
877 * @param propertyPaths
878 * @return
879 * @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)
880 */
881 @Override
882 public Pager<TaxonRelationship> pageFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
883 return defaultService.pageFromTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
884 }
885
886 /**
887 * @param taxon
888 * @param includeRelationships
889 * @param maxDepth
890 * @param limit
891 * @param start
892 * @param propertyPaths
893 * @return
894 * @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)
895 */
896 @Override
897 public Set<Taxon> listRelatedTaxa(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Integer maxDepth, Integer limit, Integer start, List<String> propertyPaths) {
898 return defaultService.listRelatedTaxa(taxon, includeRelationships, maxDepth, limit, start, propertyPaths);
899 }
900
901 /**
902 * @param taxonBase
903 * @param limit
904 * @param start
905 * @param propertyPaths
906 * @return
907 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listClassifications(eu.etaxonomy.cdm.model.taxon.TaxonBase, java.lang.Integer, java.lang.Integer, java.util.List)
908 */
909 @Override
910 public List<Classification> listClassifications(TaxonBase taxonBase, Integer limit, Integer start, List<String> propertyPaths) {
911 return defaultService.listClassifications(taxonBase, limit, start, propertyPaths);
912 }
913
914 /**
915 * @param synonym
916 * @param type
917 * @param pageSize
918 * @param pageNumber
919 * @param orderHints
920 * @param propertyPaths
921 * @return
922 * @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)
923 */
924 @Override
925 public Pager<SynonymRelationship> getSynonyms(Synonym synonym, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
926 return defaultService.getSynonyms(synonym, type, pageSize, pageNumber, orderHints, propertyPaths);
927 }
928
929 /**
930 * @param taxon
931 * @param type
932 * @param pageSize
933 * @param pageNumber
934 * @param orderHints
935 * @param propertyPaths
936 * @return
937 * @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)
938 */
939 @Override
940 public Pager<SynonymRelationship> getSynonyms(Taxon taxon, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
941 return defaultService.getSynonyms(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
942 }
943
944 /**
945 * @param taxon
946 * @param propertyPaths
947 * @return
948 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHomotypicSynonymsByHomotypicGroup(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
949 */
950 @Override
951 public List<Synonym> getHomotypicSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
952 return defaultService.getHomotypicSynonymsByHomotypicGroup(taxon, propertyPaths);
953 }
954
955 /**
956 * @param taxon
957 * @param propertyPaths
958 * @return
959 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHeterotypicSynonymyGroups(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
960 */
961 @Override
962 public List<List<Synonym>> getHeterotypicSynonymyGroups(Taxon taxon, List<String> propertyPaths) {
963 return defaultService.getHeterotypicSynonymyGroups(taxon, propertyPaths);
964 }
965
966 /**
967 * @param clazz
968 * @param queryString
969 * @param pageSize
970 * @param pageNumber
971 * @param orderHints
972 * @param propertyPaths
973 * @return
974 * @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)
975 */
976 @Override
977 public Pager<TaxonBase> search(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
978 return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
979 }
980
981 /**
982 * @param clazz
983 * @param uninomial
984 * @param infragenericEpithet
985 * @param specificEpithet
986 * @param infraspecificEpithet
987 * @param rank
988 * @param pageSize
989 * @param pageNumber
990 * @return
991 * @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)
992 */
993 @Override
994 public Pager<TaxonBase> findTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
995 return defaultService.findTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
996 }
997
998 /**
999 * @param clazz
1000 * @param uninomial
1001 * @param infragenericEpithet
1002 * @param specificEpithet
1003 * @param infraspecificEpithet
1004 * @param rank
1005 * @param pageSize
1006 * @param pageNumber
1007 * @return
1008 * @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)
1009 */
1010 @Override
1011 public List<TaxonBase> listTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
1012 return defaultService.listTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
1013 }
1014
1015 /**
1016 * @param configurator
1017 * @return
1018 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNames(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
1019 */
1020 @Override
1021 public Pager<IdentifiableEntity> findTaxaAndNames(IFindTaxaAndNamesConfigurator configurator) {
1022 return defaultService.findTaxaAndNames(configurator);
1023 }
1024
1025 /**
1026 * @param queryString
1027 * @param classification
1028 * @param languages
1029 * @param highlightFragments
1030 * @param pageSize
1031 * @param pageNumber
1032 * @param orderHints
1033 * @param propertyPaths
1034 * @return
1035 * @throws CorruptIndexException
1036 * @throws IOException
1037 * @throws ParseException
1038 * @throws LuceneMultiSearchException
1039 * @deprecated
1040 * @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)
1041 */
1042 @Deprecated
1043 @Override
1044 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 {
1045 return defaultService.findByEverythingFullText(queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1046 }
1047
1048 /**
1049 * @param clazz
1050 * @param queryString
1051 * @param classification
1052 * @param languages
1053 * @param highlightFragments
1054 * @param pageSize
1055 * @param pageNumber
1056 * @param orderHints
1057 * @param propertyPaths
1058 * @return
1059 * @throws CorruptIndexException
1060 * @throws IOException
1061 * @throws ParseException
1062 * @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)
1063 */
1064 @Override
1065 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 {
1066 return defaultService.findByFullText(clazz, queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1067 }
1068
1069
1070 /* (non-Javadoc)
1071 * @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)
1072 */
1073 @Override
1074 public Pager<SearchResult<TaxonBase>> findByDistribution(List<NamedArea> areaFilter,
1075 List<PresenceAbsenceTerm> statusFilter, Classification classification, Integer pageSize,
1076 Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws IOException,
1077 ParseException {
1078 return defaultService.findByDistribution(areaFilter, statusFilter, classification, pageSize, pageNumber, orderHints, propertyPaths);
1079 }
1080
1081
1082 /* (non-Javadoc)
1083 * @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)
1084 */
1085 @Override
1086 public Pager<SearchResult<TaxonBase>> findTaxaAndNamesByFullText(EnumSet<TaxaAndNamesSearchMode> searchModes,
1087 String queryString, Classification classification, Set<NamedArea> namedAreas,
1088 Set<PresenceAbsenceTerm> distributionStatus, List<Language> languages, boolean highlightFragments,
1089 Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths)
1090 throws CorruptIndexException, IOException, ParseException, LuceneMultiSearchException {
1091 return defaultService.findTaxaAndNamesByFullText(searchModes, queryString, classification, namedAreas, distributionStatus, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1092 }
1093
1094 /**
1095 * @param clazz
1096 * @param queryString
1097 * @param classification
1098 * @param features
1099 * @param languages
1100 * @param highlightFragments
1101 * @param pageSize
1102 * @param pageNumber
1103 * @param orderHints
1104 * @param propertyPaths
1105 * @return
1106 * @throws CorruptIndexException
1107 * @throws IOException
1108 * @throws ParseException
1109 * @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)
1110 */
1111 @Override
1112 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 {
1113 return defaultService.findByDescriptionElementFullText(clazz, queryString, classification, features, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
1114 }
1115
1116 /**
1117 * @param taxon
1118 * @param size
1119 * @param height
1120 * @param widthOrDuration
1121 * @param mimeTypes
1122 * @return
1123 * @deprecated
1124 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllMedia(eu.etaxonomy.cdm.model.taxon.Taxon, int, int, int, java.lang.String[])
1125 */
1126 @Deprecated
1127 @Override
1128 public List<MediaRepresentation> getAllMedia(Taxon taxon, int size, int height, int widthOrDuration, String[] mimeTypes) {
1129 return defaultService.getAllMedia(taxon, size, height, widthOrDuration, mimeTypes);
1130 }
1131
1132 /**
1133 * @param taxon
1134 * @param includeRelationships
1135 * @param limitToGalleries
1136 * @param propertyPath
1137 * @return
1138 * @deprecated
1139 * @see eu.etaxonomy.cdm.api.service.ITaxonService#listTaxonDescriptionMedia(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, boolean, java.util.List)
1140 */
1141 @Deprecated
1142 @Override
1143 public List<Media> listTaxonDescriptionMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, boolean limitToGalleries, List<String> propertyPath) {
1144 return defaultService.listTaxonDescriptionMedia(taxon, includeRelationships, limitToGalleries, propertyPath);
1145 }
1146
1147 /**
1148 * @param taxon
1149 * @param includeRelationships
1150 * @param limitToGalleries
1151 * @param includeTaxonDescriptions
1152 * @param includeOccurrences
1153 * @param includeTaxonNameDescriptions
1154 * @param propertyPath
1155 * @return
1156 * @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)
1157 */
1158 @Override
1159 public List<Media> listMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Boolean limitToGalleries, Boolean includeTaxonDescriptions, Boolean includeOccurrences, Boolean includeTaxonNameDescriptions, List<String> propertyPath) {
1160 return defaultService.listMedia(taxon, includeRelationships, limitToGalleries, includeTaxonDescriptions, includeOccurrences, includeTaxonNameDescriptions, propertyPath);
1161 }
1162
1163 /**
1164 * @param listOfIDs
1165 * @return
1166 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByID(java.util.Set)
1167 */
1168 @Override
1169 public List<TaxonBase> findTaxaByID(Set<Integer> listOfIDs) {
1170 return defaultService.findTaxaByID(listOfIDs);
1171 }
1172
1173 /**
1174 * @param uuid
1175 * @param propertyPaths
1176 * @return
1177 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxonByUuid(java.util.UUID, java.util.List)
1178 */
1179 @Override
1180 public TaxonBase findTaxonByUuid(UUID uuid, List<String> propertyPaths) {
1181 return defaultService.findTaxonByUuid(uuid, propertyPaths);
1182 }
1183
1184 /**
1185 * @return
1186 * @see eu.etaxonomy.cdm.api.service.ITaxonService#countAllRelationships()
1187 */
1188 @Override
1189 public int countAllRelationships() {
1190 return defaultService.countAllRelationships();
1191 }
1192
1193 /**
1194 * @param propertyPath
1195 * @return
1196 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNames(java.util.List)
1197 */
1198 @Override
1199 public List<TaxonNameBase> findIdenticalTaxonNames(List<String> propertyPath) {
1200 return defaultService.findIdenticalTaxonNames(propertyPath);
1201 }
1202
1203 /**
1204 * @param propertyPath
1205 * @return
1206 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNameIds(java.util.List)
1207 */
1208 @Override
1209 public List<TaxonNameBase> findIdenticalTaxonNameIds(List<String> propertyPath) {
1210 return defaultService.findIdenticalTaxonNameIds(propertyPath);
1211 }
1212
1213 /**
1214 * @param name
1215 * @return
1216 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getPhylumName(eu.etaxonomy.cdm.model.name.TaxonNameBase)
1217 */
1218 @Override
1219 public String getPhylumName(TaxonNameBase name) {
1220 return defaultService.getPhylumName(name);
1221 }
1222
1223 /**
1224 * @param syn
1225 * @return
1226 * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym)
1227 */
1228 @Override
1229 public long deleteSynonymRelationships(Synonym syn) {
1230 return defaultService.deleteSynonymRelationships(syn);
1231 }
1232
1233 /**
1234 * @param taxonBase
1235 * @param type
1236 * @param pageSize
1237 * @param pageNumber
1238 * @param orderHints
1239 * @param propertyPaths
1240 * @param direction
1241 * @return
1242 * @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)
1243 */
1244 @Override
1245 public List<SynonymRelationship> listSynonymRelationships(TaxonBase taxonBase, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths, Direction direction) {
1246 return defaultService.listSynonymRelationships(taxonBase, type, pageSize, pageNumber, orderHints, propertyPaths, direction);
1247 }
1248
1249 /**
1250 * @param taxonName
1251 * @return
1252 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(java.lang.String)
1253 */
1254 @Override
1255 public Taxon findBestMatchingTaxon(String taxonName) {
1256 return defaultService.findBestMatchingTaxon(taxonName);
1257 }
1258
1259 /**
1260 * @param config
1261 * @return
1262 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
1263 */
1264 @Override
1265 public Taxon findBestMatchingTaxon(MatchingTaxonConfigurator config) {
1266 return defaultService.findBestMatchingTaxon(config);
1267 }
1268
1269 /**
1270 * @param taxonName
1271 * @return
1272 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingSynonym(java.lang.String)
1273 */
1274 @Override
1275 public Synonym findBestMatchingSynonym(String taxonName) {
1276 return defaultService.findBestMatchingSynonym(taxonName);
1277 }
1278
1279 /**
1280 * @return
1281 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheTaxon()
1282 */
1283 @Override
1284 public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheTaxon() {
1285 return defaultService.getUuidAndTitleCacheTaxon();
1286 }
1287
1288 /**
1289 * @return
1290 * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheSynonym()
1291 */
1292 @Override
1293 public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheSynonym() {
1294 return defaultService.getUuidAndTitleCacheSynonym();
1295 }
1296
1297 /**
1298 * @param configurator
1299 * @return
1300 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesForEditor(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
1301 */
1302 @Override
1303 public List<UuidAndTitleCache<IdentifiableEntity>> findTaxaAndNamesForEditor(IFindTaxaAndNamesConfigurator configurator) {
1304 return defaultService.findTaxaAndNamesForEditor(configurator);
1305 }
1306
1307 /**
1308 * @param taxon
1309 * @param tree
1310 * @param type
1311 * @param doWithMisappliedNames
1312 * @return
1313 * @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)
1314 */
1315 @Override
1316 public List<Synonym> createInferredSynonyms(Taxon taxon, Classification tree, SynonymRelationshipType type, boolean doWithMisappliedNames) {
1317 return defaultService.createInferredSynonyms(taxon, tree, type, doWithMisappliedNames);
1318 }
1319
1320 /**
1321 * @param taxon
1322 * @param tree
1323 * @param doWithMisappliedNames
1324 * @return
1325 * @see eu.etaxonomy.cdm.api.service.ITaxonService#createAllInferredSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, boolean)
1326 */
1327 @Override
1328 public List<Synonym> createAllInferredSynonyms(Taxon taxon, Classification tree, boolean doWithMisappliedNames) {
1329 return defaultService.createAllInferredSynonyms(taxon, tree, doWithMisappliedNames);
1330 }
1331
1332 @Override
1333 public DeleteResult deleteSynonym(Synonym arg0, SynonymDeletionConfigurator arg1) {
1334 return defaultService.deleteSynonym(arg0, arg1);
1335 }
1336
1337 @Override
1338 public DeleteResult deleteSynonym(Synonym arg0, Taxon arg1, SynonymDeletionConfigurator arg2) {
1339 return defaultService.deleteSynonym(arg0, arg1, arg2);
1340 }
1341
1342 @Override
1343 public List<List<Synonym>> getSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
1344 return defaultService.getSynonymsByHomotypicGroup(taxon, propertyPaths);
1345 }
1346
1347 @Override
1348 public Synonym changeRelatedTaxonToSynonym(Taxon fromTaxon, Taxon toTaxon,
1349 TaxonRelationshipType oldRelationshipType,
1350 SynonymRelationshipType synonymRelationshipType)
1351 throws DataChangeNoRollbackException {
1352
1353 return defaultService.changeRelatedTaxonToSynonym(fromTaxon, toTaxon, oldRelationshipType, synonymRelationshipType);
1354 }
1355
1356 /* (non-Javadoc)
1357 * @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)
1358 */
1359 @Override
1360 public Pager<Taxon> pageAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize,
1361 Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
1362 return defaultService.pageAcceptedTaxaFor(synonymUuid, classificationUuid, pageSize, pageNumber, orderHints, propertyPaths);
1363 }
1364
1365 /* (non-Javadoc)
1366 * @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)
1367 */
1368 @Override
1369 public List<Taxon> listAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize,
1370 Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
1371 return defaultService.listAcceptedTaxaFor(synonymUuid, classificationUuid, pageSize, pageNumber, orderHints, propertyPaths);
1372 }
1373
1374 @Override
1375 public DeleteResult isDeletable(TaxonBase object,
1376 DeleteConfiguratorBase config) {
1377 // TODO Auto-generated method stub
1378 return null;
1379 }
1380
1381 @Override
1382 public IncludedTaxaDTO listIncludedTaxa(UUID taxonUuid,
1383 IncludedTaxonConfiguration configuration) {
1384 // TODO Auto-generated method stub
1385 return null;
1386 }
1387
1388 @Override
1389 public TaxonBase findWithoutFlush(UUID uuid) {
1390 return defaultService.findWithoutFlush(uuid);
1391 }
1392
1393 /* (non-Javadoc)
1394 * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByName(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
1395 */
1396 @Override
1397 public List<TaxonBase> findTaxaByName(MatchingTaxonConfigurator config) {
1398 return defaultService.findTaxaByName(config);
1399 }
1400
1401 @Override
1402 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){
1403 return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
1404 }
1405
1406 /* (non-Javadoc)
1407 * @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)
1408 */
1409 @Override
1410 public <S extends TaxonBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier,
1411 DefinedTerm identifierType, TaxonNode subtreeFilter, MatchMode matchmode, boolean includeEntity,
1412 Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
1413 return defaultService.findByIdentifier(clazz, identifier, identifierType, subtreeFilter, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
1414 }
1415
1416
1417
1418
1419
1420
1421
1422 @Override
1423 public SynonymRelationship moveSynonymToAnotherTaxon(
1424 SynonymRelationship oldSynonymRelation, UUID newTaxonUUID,
1425 boolean moveHomotypicGroup,
1426 SynonymRelationshipType newSynonymRelationshipType,
1427 Reference reference, String referenceDetail, boolean keepReference)
1428 throws HomotypicalGroupChangeException {
1429
1430 return defaultService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxonUUID, moveHomotypicGroup, newSynonymRelationshipType, reference, referenceDetail, keepReference);
1431 }
1432
1433
1434 /**
1435 * {@inheritDoc}
1436 */
1437 @Override
1438 public DeleteResult delete(UUID arg0) {
1439 return defaultService.delete(arg0);
1440 }
1441
1442 /**
1443 * {@inheritDoc}
1444 */
1445 @Override
1446 public DeleteResult deleteSynonym(UUID arg0, UUID arg1, SynonymDeletionConfigurator arg2) {
1447 return defaultService.deleteSynonym(arg0, arg1, arg2);
1448 }
1449
1450
1451 @Override
1452 public UpdateResult moveFactualDateToAnotherTaxon(UUID arg0, UUID arg1) {
1453 return defaultService.moveFactualDateToAnotherTaxon(arg0, arg1);
1454 }
1455
1456
1457 /**
1458 * {@inheritDoc}
1459 */
1460 @Override
1461 public DeleteResult deleteTaxon(UUID arg0, TaxonDeletionConfigurator arg1, UUID arg2) {
1462 return defaultService.deleteTaxon(arg0, arg1, arg2);
1463 }
1464
1465 /**
1466 * {@inheritDoc}
1467 */
1468 @Override
1469 public UpdateResult swapSynonymAndAcceptedTaxon(UUID arg0, UUID arg1) {
1470 return defaultService.swapSynonymAndAcceptedTaxon(arg0, arg1);
1471 }
1472
1473 /* (non-Javadoc)
1474 * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.Collection)
1475 */
1476 @Override
1477 public DeleteResult delete(Collection<UUID> arg0) {
1478 return defaultService.delete(arg0);
1479 }
1480
1481 }