Merge branch 'develop' of wp5.e-taxonomy.eu:/var/git/taxeditor into remoting-4.0
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / dataimport / transientServices / TransientDescriptionService.java
index 8dcdc78e31cf49b1a70c02a4bd2e8142b00ef203..66d18dee7686e3288fee1dba2a4d4fe7c621516b 100644 (file)
@@ -15,15 +15,18 @@ import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 
-import org.hibernate.LockMode;
+import org.hibernate.LockOptions;
 import org.hibernate.Session;
 import org.hibernate.criterion.Criterion;
 import org.hibernate.envers.query.criteria.AuditCriterion;
 
+import eu.etaxonomy.cdm.api.service.DeleteResult;
 import eu.etaxonomy.cdm.api.service.DistributionTree;
 import eu.etaxonomy.cdm.api.service.IDescriptionService;
+import eu.etaxonomy.cdm.api.service.UpdateResult;
 import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
 import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
+import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
 import eu.etaxonomy.cdm.api.service.pager.Pager;
 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
 import eu.etaxonomy.cdm.model.common.Annotation;
@@ -35,12 +38,11 @@ import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.Marker;
 import eu.etaxonomy.cdm.model.common.MarkerType;
 import eu.etaxonomy.cdm.model.common.TermVocabulary;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
-import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
 import eu.etaxonomy.cdm.model.location.NamedArea;
@@ -52,6 +54,8 @@ import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.view.AuditEvent;
 import eu.etaxonomy.cdm.model.view.AuditEventRecord;
 import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
+import eu.etaxonomy.cdm.persistence.dto.TermDto;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.Grouping;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.persistence.query.OrderHint;
@@ -66,13 +70,13 @@ import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
  */
 public class TransientDescriptionService implements IDescriptionService {
 
-    private IDescriptionService defaultDescriptionService;
+    private final IDescriptionService defaultService;
 
     /**
      * @param defaultDescriptionService
      */
     public TransientDescriptionService(IDescriptionService defaultDescriptionService) {
-        this.defaultDescriptionService = defaultDescriptionService;
+        this.defaultService = defaultDescriptionService;
     }
 
     /**
@@ -86,7 +90,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<AuditEventRecord<DescriptionBase>> pageAuditEvents(DescriptionBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
-        return defaultDescriptionService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
+        return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
     }
 
     /**
@@ -101,7 +105,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<Annotation> getAnnotations(DescriptionBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultDescriptionService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -110,7 +114,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public void clear() {
-        defaultDescriptionService.clear();
+        defaultService.clear();
     }
 
     /**
@@ -119,8 +123,8 @@ public class TransientDescriptionService implements IDescriptionService {
      * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
      */
     @Override
-    public void lock(DescriptionBase t, LockMode lockMode) {
-        defaultDescriptionService.lock(t, lockMode);
+    public void lock(DescriptionBase t, LockOptions lockOptions) {
+        defaultService.lock(t, lockOptions);
     }
 
     /**
@@ -130,8 +134,8 @@ public class TransientDescriptionService implements IDescriptionService {
      * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
      */
     @Override
-    public void refresh(DescriptionBase t, LockMode lockMode, List<String> propertyPaths) {
-        defaultDescriptionService.refresh(t, lockMode, propertyPaths);
+    public void refresh(DescriptionBase t, LockOptions lockOptions, List<String> propertyPaths) {
+        defaultService.refresh(t, lockOptions, propertyPaths);
     }
 
     /**
@@ -140,7 +144,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public void updateTitleCache() {
-        defaultDescriptionService.updateTitleCache();
+        defaultService.updateTitleCache();
     }
 
     /**
@@ -150,7 +154,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public AuditEventRecord<DescriptionBase> getNextAuditEvent(DescriptionBase t) {
-        return defaultDescriptionService.getNextAuditEvent(t);
+        return defaultService.getNextAuditEvent(t);
     }
 
     /**
@@ -161,7 +165,7 @@ public class TransientDescriptionService implements IDescriptionService {
     @Deprecated
     @Override
     public TermVocabulary<Feature> getDefaultFeatureVocabulary() {
-        return defaultDescriptionService.getDefaultFeatureVocabulary();
+        return defaultService.getDefaultFeatureVocabulary();
     }
 
     /**
@@ -176,7 +180,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<Marker> getMarkers(DescriptionBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultDescriptionService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -188,7 +192,7 @@ public class TransientDescriptionService implements IDescriptionService {
     @Deprecated
     @Override
     public TermVocabulary<Feature> getFeatureVocabulary(UUID uuid) {
-        return defaultDescriptionService.getFeatureVocabulary(uuid);
+        return defaultService.getFeatureVocabulary(uuid);
     }
 
     /**
@@ -200,7 +204,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public void updateTitleCache(Class<? extends DescriptionBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<DescriptionBase> cacheStrategy, IProgressMonitor monitor) {
-        defaultDescriptionService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
+        defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
     }
 
     /**
@@ -210,7 +214,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public AuditEventRecord<DescriptionBase> getPreviousAuditEvent(DescriptionBase t) {
-        return defaultDescriptionService.getPreviousAuditEvent(t);
+        return defaultService.getPreviousAuditEvent(t);
     }
 
     /**
@@ -220,7 +224,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public DescriptionElementBase getDescriptionElementByUuid(UUID uuid) {
-        return defaultDescriptionService.getDescriptionElementByUuid(uuid);
+        return defaultService.getDescriptionElementByUuid(uuid);
     }
 
     /**
@@ -230,7 +234,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public int count(Class<? extends DescriptionBase> clazz) {
-        return defaultDescriptionService.count(clazz);
+        return defaultService.count(clazz);
     }
 
     /**
@@ -241,7 +245,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public DescriptionElementBase loadDescriptionElement(UUID uuid, List<String> propertyPaths) {
-        return defaultDescriptionService.loadDescriptionElement(uuid, propertyPaths);
+        return defaultService.loadDescriptionElement(uuid, propertyPaths);
     }
 
     /**
@@ -258,7 +262,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<AuditEventRecord<DescriptionBase>> pageAuditEvents(Class<? extends DescriptionBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
-        return defaultDescriptionService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
+        return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
     }
 
     /**
@@ -268,7 +272,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public DescriptionBase find(LSID lsid) {
-        return defaultDescriptionService.find(lsid);
+        return defaultService.find(lsid);
     }
 
     /**
@@ -277,8 +281,8 @@ public class TransientDescriptionService implements IDescriptionService {
      * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
      */
     @Override
-    public String delete(DescriptionBase persistentObject) {
-        return defaultDescriptionService.delete(persistentObject);
+    public DeleteResult delete(DescriptionBase persistentObject) {
+        return defaultService.delete(persistentObject);
     }
 
     /**
@@ -292,7 +296,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public List<Object[]> groupMarkers(Class<? extends DescriptionBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
+        return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -302,7 +306,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public boolean exists(UUID uuid) {
-        return defaultDescriptionService.exists(uuid);
+        return defaultService.exists(uuid);
     }
 
     /**
@@ -313,7 +317,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public DescriptionBase replace(DescriptionBase x, DescriptionBase y) {
-        return defaultDescriptionService.replace(x, y);
+        return defaultService.replace(x, y);
     }
 
     /**
@@ -333,7 +337,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public List<DescriptionBase> find(Set<UUID> uuidSet) {
-        return defaultDescriptionService.find(uuidSet);
+        return defaultService.find(uuidSet);
     }
 
     /**
@@ -356,7 +360,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<IdentifiableSource> getSources(DescriptionBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.getSources(t, pageSize, pageNumber, propertyPaths);
+        return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -366,7 +370,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public UUID deleteDescriptionElement(DescriptionElementBase descriptionElement) {
-        return defaultDescriptionService.deleteDescriptionElement(descriptionElement);
+        return defaultService.deleteDescriptionElement(descriptionElement);
     }
 
     /**
@@ -376,7 +380,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public DescriptionBase find(UUID uuid) {
-        return defaultDescriptionService.find(uuid);
+        return defaultService.find(uuid);
     }
 
     /**
@@ -393,7 +397,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<DescriptionBase> page(Class<? extends DescriptionBase> type, Boolean hasMedia, Boolean hasText, Set<Feature> feature, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultDescriptionService.page(type, hasMedia, hasText, feature, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.page(type, hasMedia, hasText, feature, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -403,7 +407,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public DescriptionBase find(int id) {
-        return defaultDescriptionService.find(id);
+        return defaultService.find(id);
     }
 
     /**
@@ -416,7 +420,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<Rights> getRights(DescriptionBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.getRights(t, pageSize, pageNumber, propertyPaths);
+        return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -427,7 +431,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public int countMarkers(Class<? extends DescriptionBase> clazz, Boolean technical) {
-        return defaultDescriptionService.countMarkers(clazz, technical);
+        return defaultService.countMarkers(clazz, technical);
     }
 
     /**
@@ -437,7 +441,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public List<DescriptionBase> findById(Set<Integer> idSet) {
-        return defaultDescriptionService.findById(idSet);
+        return defaultService.findById(idSet);
     }
 
     /**
@@ -449,7 +453,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
-        return defaultDescriptionService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
+        return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
     }
 
     /**
@@ -458,7 +462,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Session getSession() {
-        return defaultDescriptionService.getSession();
+        return defaultService.getSession();
     }
 
     /**
@@ -467,7 +471,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public List<UuidAndTitleCache<DescriptionBase>> getUuidAndTitleCache() {
-        return defaultDescriptionService.getUuidAndTitleCache();
+        return defaultService.getUuidAndTitleCache();
     }
 
     /**
@@ -481,7 +485,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public List<Object[]> group(Class<? extends DescriptionBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
-        return defaultDescriptionService.group(clazz, limit, start, groups, propertyPaths);
+        return defaultService.group(clazz, limit, start, groups, propertyPaths);
     }
 
     /**
@@ -494,7 +498,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public int count(Class<? extends DescriptionBase> type, Boolean hasImages, Boolean hasText, Set<Feature> feature) {
-        return defaultDescriptionService.count(type, hasImages, hasText, feature);
+        return defaultService.count(type, hasImages, hasText, feature);
     }
 
     /**
@@ -511,7 +515,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<DescriptionBase> findByTitle(Class<? extends DescriptionBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultDescriptionService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -525,7 +529,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public <S extends DescriptionBase> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultDescriptionService.list(type, limit, start, orderHints, propertyPaths);
+        return defaultService.list(type, limit, start, orderHints, propertyPaths);
     }
 
     /**
@@ -542,7 +546,7 @@ public class TransientDescriptionService implements IDescriptionService {
     @Deprecated
     @Override
     public Pager<DescriptionElementBase> getDescriptionElements(DescriptionBase description, Set<Feature> features, Class<? extends DescriptionElementBase> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.getDescriptionElements(description, features, type, pageSize, pageNumber, propertyPaths);
+        return defaultService.getDescriptionElements(description, features, type, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -552,7 +556,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<DescriptionBase> findByTitle(IIdentifiableEntityServiceConfigurator<DescriptionBase> configurator) {
-        return defaultDescriptionService.findByTitle(configurator);
+        return defaultService.findByTitle(configurator);
     }
 
     /**
@@ -565,7 +569,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Integer countByTitle(Class<? extends DescriptionBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
-        return defaultDescriptionService.countByTitle(clazz, queryString, matchmode, criteria);
+        return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
     }
 
     /**
@@ -575,7 +579,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public DescriptionBase load(UUID uuid) {
-        return defaultDescriptionService.load(uuid);
+        return defaultService.load(uuid);
     }
 
     /**
@@ -586,7 +590,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public DescriptionBase load(UUID uuid, List<String> propertyPaths) {
-        return defaultDescriptionService.load(uuid, propertyPaths);
+        return defaultService.load(uuid, propertyPaths);
     }
 
     /**
@@ -596,7 +600,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Integer countByTitle(IIdentifiableEntityServiceConfigurator<DescriptionBase> configurator) {
-        return defaultDescriptionService.countByTitle(configurator);
+        return defaultService.countByTitle(configurator);
     }
 
     /**
@@ -606,7 +610,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public DescriptionBase merge(DescriptionBase transientObject) {
-        return defaultDescriptionService.merge(transientObject);
+        return defaultService.merge(transientObject);
     }
 
     /**
@@ -622,7 +626,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<DescriptionElementBase> pageDescriptionElements(DescriptionBase description, Class<? extends DescriptionBase> descriptionType, Set<Feature> features, Class<? extends DescriptionElementBase> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.pageDescriptionElements(description, descriptionType, features, type, pageSize, pageNumber, propertyPaths);
+        return defaultService.pageDescriptionElements(description, descriptionType, features, type, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -639,7 +643,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public List<DescriptionBase> listByTitle(Class<? extends DescriptionBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultDescriptionService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -653,7 +657,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public <S extends DescriptionBase> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultDescriptionService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -663,7 +667,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public UUID refresh(DescriptionBase persistentObject) {
-        return defaultDescriptionService.refresh(persistentObject);
+        return defaultService.refresh(persistentObject);
     }
 
     /**
@@ -680,7 +684,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public List<DescriptionBase> listByReferenceTitle(Class<? extends DescriptionBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultDescriptionService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -697,7 +701,7 @@ public class TransientDescriptionService implements IDescriptionService {
     @Deprecated
     @Override
     public List<DescriptionElementBase> listDescriptionElements(DescriptionBase description, Set<Feature> features, Class<? extends DescriptionElementBase> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.listDescriptionElements(description, features, type, pageSize, pageNumber, propertyPaths);
+        return defaultService.listDescriptionElements(description, features, type, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -709,7 +713,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public List<DescriptionBase> rows(String tableName, int limit, int start) {
-        return defaultDescriptionService.rows(tableName, limit, start);
+        return defaultService.rows(tableName, limit, start);
     }
 
     /**
@@ -754,7 +758,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<DescriptionBase> search(Class<? extends DescriptionBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultDescriptionService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -774,7 +778,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public UUID update(DescriptionBase transientObject) {
-        return defaultDescriptionService.update(transientObject);
+        return defaultService.update(transientObject);
     }
 
     /**
@@ -790,7 +794,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public List<DescriptionElementBase> listDescriptionElements(DescriptionBase description, Class<? extends DescriptionBase> descriptionType, Set<Feature> features, Class<? extends DescriptionElementBase> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.listDescriptionElements(description, descriptionType, features, type, pageSize, pageNumber, propertyPaths);
+        return defaultService.listDescriptionElements(description, descriptionType, features, type, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -805,7 +809,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public List<DescriptionBase> list(DescriptionBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultDescriptionService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
+        return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
     }
 
     /**
@@ -817,7 +821,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public int deduplicate(Class<? extends DescriptionBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
-        return defaultDescriptionService.deduplicate(clazz, matchStrategy, mergeStrategy);
+        return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
     }
 
     /**
@@ -832,7 +836,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<Annotation> getDescriptionElementAnnotations(DescriptionElementBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultDescriptionService.getDescriptionElementAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.getDescriptionElementAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -847,7 +851,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<DescriptionBase> findTitleCache(Class<? extends DescriptionBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
-        return defaultDescriptionService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
+        return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
     }
 
     /**
@@ -862,7 +866,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<TaxonDescription> pageTaxonDescriptions(Taxon taxon, Set<DefinedTerm> scopes, Set<NamedArea> geographicalScope, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.pageTaxonDescriptions(taxon, scopes, geographicalScope, pageSize, pageNumber, propertyPaths);
+        return defaultService.pageTaxonDescriptions(taxon, scopes, geographicalScope, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -878,7 +882,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<TaxonDescription> pageTaxonDescriptions(Taxon taxon, Set<DefinedTerm> scopes, Set<NamedArea> geographicalScope, Set<MarkerType> markerTypes, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.pageTaxonDescriptions(taxon, scopes, geographicalScope, markerTypes, pageSize, pageNumber, propertyPaths);
+        return defaultService.pageTaxonDescriptions(taxon, scopes, geographicalScope, markerTypes, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -893,7 +897,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public List<TaxonDescription> listTaxonDescriptions(Taxon taxon, Set<DefinedTerm> scopes, Set<NamedArea> geographicalScope, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.listTaxonDescriptions(taxon, scopes, geographicalScope, pageSize, pageNumber, propertyPaths);
+        return defaultService.listTaxonDescriptions(taxon, scopes, geographicalScope, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -909,7 +913,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public List<TaxonDescription> listTaxonDescriptions(Taxon taxon, Set<DefinedTerm> scopes, Set<NamedArea> geographicalScope, Set<MarkerType> markerTypes, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.listTaxonDescriptions(taxon, scopes, geographicalScope, markerTypes, pageSize, pageNumber, propertyPaths);
+        return defaultService.listTaxonDescriptions(taxon, scopes, geographicalScope, markerTypes, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -924,7 +928,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public List<Media> listTaxonDescriptionMedia(UUID taxonUuid, boolean limitToGalleries, Set<MarkerType> markerTypes, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.listTaxonDescriptionMedia(taxonUuid, limitToGalleries, markerTypes, pageSize, pageNumber, propertyPaths);
+        return defaultService.listTaxonDescriptionMedia(taxonUuid, limitToGalleries, markerTypes, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -936,7 +940,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public int countTaxonDescriptionMedia(UUID taxonUuid, boolean limitToGalleries, Set<MarkerType> markerTypes) {
-        return defaultDescriptionService.countTaxonDescriptionMedia(taxonUuid, limitToGalleries, markerTypes);
+        return defaultService.countTaxonDescriptionMedia(taxonUuid, limitToGalleries, markerTypes);
     }
 
     /**
@@ -949,7 +953,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<TaxonNameDescription> getTaxonNameDescriptions(TaxonNameBase name, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.getTaxonNameDescriptions(name, pageSize, pageNumber, propertyPaths);
+        return defaultService.getTaxonNameDescriptions(name, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -963,8 +967,8 @@ public class TransientDescriptionService implements IDescriptionService {
      * @see eu.etaxonomy.cdm.api.service.IDescriptionService#searchDescriptionByDistribution(java.util.Set, eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
      */
     @Override
-    public Pager<TaxonDescription> searchDescriptionByDistribution(Set<NamedArea> namedAreas, PresenceAbsenceTermBase presence, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultDescriptionService.searchDescriptionByDistribution(namedAreas, presence, pageSize, pageNumber, orderHints, propertyPaths);
+    public Pager<TaxonDescription> searchDescriptionByDistribution(Set<NamedArea> namedAreas, PresenceAbsenceTerm presence, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+        return defaultService.searchDescriptionByDistribution(namedAreas, presence, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -979,7 +983,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<DescriptionElementBase> searchElements(Class<? extends DescriptionElementBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultDescriptionService.searchElements(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.searchElements(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -992,7 +996,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public Pager<Media> getMedia(DescriptionElementBase descriptionElement, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.getMedia(descriptionElement, pageSize, pageNumber, propertyPaths);
+        return defaultService.getMedia(descriptionElement, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -1009,7 +1013,7 @@ public class TransientDescriptionService implements IDescriptionService {
     @Deprecated
     @Override
     public <T extends DescriptionElementBase> List<T> getDescriptionElementsForTaxon(Taxon taxon, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.getDescriptionElementsForTaxon(taxon, features, type, pageSize, pageNumber, propertyPaths);
+        return defaultService.getDescriptionElementsForTaxon(taxon, features, type, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -1024,7 +1028,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public <T extends DescriptionElementBase> List<T> listDescriptionElementsForTaxon(Taxon taxon, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.listDescriptionElementsForTaxon(taxon, features, type, pageSize, pageNumber, propertyPaths);
+        return defaultService.listDescriptionElementsForTaxon(taxon, features, type, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -1039,7 +1043,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public <T extends DescriptionElementBase> Pager<T> pageDescriptionElementsForTaxon(Taxon taxon, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.pageDescriptionElementsForTaxon(taxon, features, type, pageSize, pageNumber, propertyPaths);
+        return defaultService.pageDescriptionElementsForTaxon(taxon, features, type, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -1052,7 +1056,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public String generateNaturalLanguageDescription(FeatureTree featureTree, TaxonDescription description, List<Language> preferredLanguages, String separator) {
-        return defaultDescriptionService.generateNaturalLanguageDescription(featureTree, description, preferredLanguages, separator);
+        return defaultService.generateNaturalLanguageDescription(featureTree, description, preferredLanguages, separator);
     }
 
     /**
@@ -1064,7 +1068,7 @@ public class TransientDescriptionService implements IDescriptionService {
     @Deprecated
     @Override
     public boolean hasStructuredData(DescriptionBase<?> description) {
-        return defaultDescriptionService.hasStructuredData(description);
+        return defaultService.hasStructuredData(description);
     }
 
     /**
@@ -1075,15 +1079,7 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public void moveDescriptionElementsToDescription(Collection<DescriptionElementBase> descriptionElements, DescriptionBase targetDescription, boolean isPaste) {
-        defaultDescriptionService.moveDescriptionElementsToDescription(descriptionElements, targetDescription, isPaste);
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageNamedAreasInUse(java.lang.Integer, java.lang.Integer, java.util.List)
-     */
-    @Override
-    public Pager<NamedArea> pageNamedAreasInUse(Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultDescriptionService.pageNamedAreasInUse(pageSize, pageNumber, propertyPaths);
+        defaultService.moveDescriptionElementsToDescription(descriptionElements, targetDescription, isPaste);
     }
 
     /* (non-Javadoc)
@@ -1091,14 +1087,88 @@ public class TransientDescriptionService implements IDescriptionService {
      */
     @Override
     public DistributionTree getOrderedDistributions(Set<TaxonDescription> taxonDescriptions, boolean subAreaPreference, boolean statusOrderPreference, Set<MarkerType> hideMarkedAreas, Set<NamedAreaLevel> omitLevels, List<String> propertyPaths) {
-        return defaultDescriptionService.getOrderedDistributions(taxonDescriptions, subAreaPreference, statusOrderPreference, hideMarkedAreas, omitLevels, propertyPaths);
+        return defaultService.getOrderedDistributions(taxonDescriptions, subAreaPreference, statusOrderPreference, hideMarkedAreas, omitLevels, propertyPaths);
     }
 
        @Override
-       public List<String> isDeletable(DescriptionBase object,
+       public DeleteResult isDeletable(DescriptionBase object,
                        DeleteConfiguratorBase config) {
                // TODO Auto-generated method stub
                return null;
        }
 
+       @Override
+       public DescriptionBase findWithoutFlush(UUID uuid) {
+               return defaultService.findWithoutFlush(uuid);
+       }
+
+       @Override
+       public <S extends DescriptionBase>  Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
+               return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
+       }
+
+       @Override
+       public DeleteResult deleteDescription(DescriptionBase description) {
+               return defaultService.deleteDescription(description);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageNamedAreasInUse(boolean, java.lang.Integer, java.lang.Integer)
+        */
+       @Override
+       public Pager<TermDto> pageNamedAreasInUse(boolean includeAllParents, Integer pageSize, Integer pageNumber) {
+           return defaultService.pageNamedAreasInUse(includeAllParents, pageSize, pageNumber);
+       }
+
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
+     */
+    @Override
+    public DeleteResult delete(UUID uuid) {
+        return defaultService.deleteDescription(uuid);
+    }
+
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#deleteDescription(java.util.UUID)
+     */
+    @Override
+    public DeleteResult deleteDescription(UUID uuid) {
+        return defaultService.delete(uuid);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#deleteDescriptionElement(java.util.UUID)
+     */
+    @Override
+    public UUID deleteDescriptionElement(UUID uuid) {
+        return defaultService.deleteDescriptionElement(uuid);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#moveTaxonDescriptions(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Taxon)
+     */
+    @Override
+    public UpdateResult moveTaxonDescriptions(Taxon sourceTaxon, Taxon targetTaxon) {
+        return defaultService.moveTaxonDescriptions(sourceTaxon, targetTaxon);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#moveTaxonDescriptions(java.util.UUID, java.util.UUID)
+     */
+    @Override
+    public UpdateResult moveTaxonDescriptions(UUID sourceTaxonUuid, UUID targetTaxonUuid) {
+        return defaultService.moveTaxonDescriptions(sourceTaxonUuid, targetTaxonUuid);
+
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.Collection)
+     */
+    @Override
+    public DeleteResult delete(Collection<UUID> arg0) {
+        return defaultService.delete(arg0);
+    }
+
 }