fix transientServices (2)
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / dataimport / transientServices / TransientClassificationService.java
index 7f907cdf397f7f946453f728d082cdcbad08350c..36239568323156b7c1bf68ede677b841cbcaeb51 100644 (file)
@@ -15,24 +15,30 @@ 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.IClassificationService;
+import eu.etaxonomy.cdm.api.service.UpdateResult;
+import eu.etaxonomy.cdm.api.service.config.CreateHierarchyForClassificationConfigurator;
 import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
 import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
+import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
+import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
+import eu.etaxonomy.cdm.api.service.dto.FindByMarkerDTO;
+import eu.etaxonomy.cdm.api.service.dto.GroupedTaxonDTO;
 import eu.etaxonomy.cdm.api.service.pager.Pager;
 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
 import eu.etaxonomy.cdm.model.common.Annotation;
+import eu.etaxonomy.cdm.model.common.DefinedTerm;
 import eu.etaxonomy.cdm.model.common.ISourceable;
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
 import eu.etaxonomy.cdm.model.common.LSID;
 import eu.etaxonomy.cdm.model.common.Marker;
 import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.media.MediaRepresentation;
 import eu.etaxonomy.cdm.model.media.Rights;
 import eu.etaxonomy.cdm.model.name.Rank;
@@ -43,6 +49,9 @@ import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 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.ClassificationLookupDTO;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
+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;
@@ -57,13 +66,13 @@ import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
  */
 public class TransientClassificationService implements IClassificationService {
 
-    private final IClassificationService defaultClassificationService;
+    private final IClassificationService defaultService;
 
     /**
      * @param defaultClassificationService
      */
     public TransientClassificationService(IClassificationService defaultClassificationService) {
-        this.defaultClassificationService = defaultClassificationService;
+        this.defaultService = defaultClassificationService;
     }
 
     /**
@@ -77,7 +86,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Pager<AuditEventRecord<Classification>> pageAuditEvents(Classification t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
-        return defaultClassificationService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
+        return defaultService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
     }
 
     /**
@@ -92,7 +101,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Pager<Annotation> getAnnotations(Classification annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultClassificationService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -102,7 +111,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public TaxonNode getTaxonNodeByUuid(UUID uuid) {
-        return defaultClassificationService.getTaxonNodeByUuid(uuid);
+        return defaultService.getTaxonNodeByUuid(uuid);
     }
 
     /**
@@ -112,7 +121,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public ITaxonTreeNode getTreeNodeByUuid(UUID uuid) {
-        return defaultClassificationService.getTreeNodeByUuid(uuid);
+        return defaultService.getTreeNodeByUuid(uuid);
     }
 
     /**
@@ -121,7 +130,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public void clear() {
-        defaultClassificationService.clear();
+        defaultService.clear();
     }
 
     /**
@@ -134,7 +143,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public List<Classification> listClassifications(Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultClassificationService.listClassifications(limit, start, orderHints, propertyPaths);
+        return defaultService.listClassifications(limit, start, orderHints, propertyPaths);
     }
 
     /**
@@ -143,8 +152,8 @@ public class TransientClassificationService implements IClassificationService {
      * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
      */
     @Override
-    public void lock(Classification t, LockMode lockMode) {
-        defaultClassificationService.lock(t, lockMode);
+    public void lock(Classification t, LockOptions lockOptions) {
+        defaultService.lock(t, lockOptions);
     }
 
     /**
@@ -154,8 +163,8 @@ public class TransientClassificationService implements IClassificationService {
      * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
      */
     @Override
-    public void refresh(Classification t, LockMode lockMode, List<String> propertyPaths) {
-        defaultClassificationService.refresh(t, lockMode, propertyPaths);
+    public void refresh(Classification t, LockOptions lockOptions, List<String> propertyPaths) {
+        defaultService.refresh(t, lockOptions, propertyPaths);
     }
 
     /**
@@ -169,7 +178,7 @@ public class TransientClassificationService implements IClassificationService {
     @Deprecated
     @Override
     public TaxonNode loadTaxonNodeByTaxon(Taxon taxon, UUID classificationUuid, List<String> propertyPaths) {
-        return defaultClassificationService.loadTaxonNodeByTaxon(taxon, classificationUuid, propertyPaths);
+        return defaultService.loadTaxonNodeByTaxon(taxon, classificationUuid, propertyPaths);
     }
 
     /**
@@ -178,7 +187,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public void updateTitleCache() {
-        defaultClassificationService.updateTitleCache();
+        defaultService.updateTitleCache();
     }
 
     /**
@@ -188,7 +197,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public AuditEventRecord<Classification> getNextAuditEvent(Classification t) {
-        return defaultClassificationService.getNextAuditEvent(t);
+        return defaultService.getNextAuditEvent(t);
     }
 
     /**
@@ -203,7 +212,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Pager<Marker> getMarkers(Classification annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultClassificationService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -215,7 +224,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public void updateTitleCache(Class<? extends Classification> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<Classification> cacheStrategy, IProgressMonitor monitor) {
-        defaultClassificationService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
+        defaultService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
     }
 
     /**
@@ -228,7 +237,7 @@ public class TransientClassificationService implements IClassificationService {
     @Deprecated
     @Override
     public TaxonNode loadTaxonNode(TaxonNode taxonNode, List<String> propertyPaths) {
-        return defaultClassificationService.loadTaxonNode(taxonNode, propertyPaths);
+        return defaultService.loadTaxonNode(taxonNode, propertyPaths);
     }
 
     /**
@@ -238,23 +247,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public AuditEventRecord<Classification> getPreviousAuditEvent(Classification t) {
-        return defaultClassificationService.getPreviousAuditEvent(t);
-    }
-
-    /**
-     * @param classification
-     * @param rank
-     * @param limit
-     * @param start
-     * @param propertyPaths
-     * @return
-     * @deprecated
-     * @see eu.etaxonomy.cdm.api.service.IClassificationService#loadRankSpecificRootNodes(eu.etaxonomy.cdm.model.taxon.Classification, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer, java.util.List)
-     */
-    @Deprecated
-    @Override
-    public List<TaxonNode> loadRankSpecificRootNodes(Classification classification, Rank rank, Integer limit, Integer start, List<String> propertyPaths) {
-        return defaultClassificationService.loadRankSpecificRootNodes(classification, rank, limit, start, propertyPaths);
+        return defaultService.getPreviousAuditEvent(t);
     }
 
     /**
@@ -264,7 +257,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public int count(Class<? extends Classification> clazz) {
-        return defaultClassificationService.count(clazz);
+        return defaultService.count(clazz);
     }
 
     /**
@@ -281,7 +274,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Pager<AuditEventRecord<Classification>> pageAuditEvents(Class<? extends Classification> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
-        return defaultClassificationService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
+        return defaultService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
     }
 
     /**
@@ -291,7 +284,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Classification find(LSID lsid) {
-        return defaultClassificationService.find(lsid);
+        return defaultService.find(lsid);
     }
 
     /**
@@ -301,7 +294,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public DeleteResult delete(Classification persistentObject) {
-        return defaultClassificationService.delete(persistentObject);
+        return defaultService.delete(persistentObject);
     }
 
     /**
@@ -315,7 +308,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public List<Object[]> groupMarkers(Class<? extends Classification> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultClassificationService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
+        return defaultService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -325,7 +318,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public boolean exists(UUID uuid) {
-        return defaultClassificationService.exists(uuid);
+        return defaultService.exists(uuid);
     }
 
     /**
@@ -336,7 +329,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Classification replace(Classification x, Classification y) {
-        return defaultClassificationService.replace(x, y);
+        return defaultService.replace(x, y);
     }
 
     /**
@@ -346,7 +339,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public List<Classification> find(Set<UUID> uuidSet) {
-        return defaultClassificationService.find(uuidSet);
+        return defaultService.find(uuidSet);
     }
 
     /**
@@ -359,7 +352,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Pager<IdentifiableSource> getSources(Classification t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultClassificationService.getSources(t, pageSize, pageNumber, propertyPaths);
+        return defaultService.getSources(t, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -373,7 +366,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public List<TaxonNode> listRankSpecificRootNodes(Classification classification, Rank rank, Integer pageSize, Integer pageIndex, List<String> propertyPaths) {
-        return defaultClassificationService.listRankSpecificRootNodes(classification, rank, pageSize, pageIndex, propertyPaths);
+        return defaultService.listRankSpecificRootNodes(classification, rank, pageSize, pageIndex, propertyPaths);
     }
 
     /**
@@ -383,7 +376,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Classification find(UUID uuid) {
-        return defaultClassificationService.find(uuid);
+        return defaultService.find(uuid);
     }
 
     /**
@@ -393,7 +386,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Classification find(int id) {
-        return defaultClassificationService.find(id);
+        return defaultService.find(id);
     }
 
     /**
@@ -406,7 +399,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Pager<Rights> getRights(Classification t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-        return defaultClassificationService.getRights(t, pageSize, pageNumber, propertyPaths);
+        return defaultService.getRights(t, pageSize, pageNumber, propertyPaths);
     }
 
     /**
@@ -417,7 +410,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public int countMarkers(Class<? extends Classification> clazz, Boolean technical) {
-        return defaultClassificationService.countMarkers(clazz, technical);
+        return defaultService.countMarkers(clazz, technical);
     }
 
     /**
@@ -427,7 +420,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public List<Classification> findById(Set<Integer> idSet) {
-        return defaultClassificationService.findById(idSet);
+        return defaultService.findById(idSet);
     }
 
     /**
@@ -439,7 +432,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
-        return defaultClassificationService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
+        return defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
     }
 
     /**
@@ -453,7 +446,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Pager<TaxonNode> pageRankSpecificRootNodes(Classification classification, Rank rank, Integer pageSize, Integer pageIndex, List<String> propertyPaths) {
-        return defaultClassificationService.pageRankSpecificRootNodes(classification, rank, pageSize, pageIndex, propertyPaths);
+        return defaultService.pageRankSpecificRootNodes(classification, rank, pageSize, pageIndex, propertyPaths);
     }
 
     /**
@@ -462,16 +455,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Session getSession() {
-        return defaultClassificationService.getSession();
-    }
-
-    /**
-     * @return
-     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
-     */
-    @Override
-    public List<UuidAndTitleCache<Classification>> getUuidAndTitleCache() {
-        return defaultClassificationService.getUuidAndTitleCache();
+        return defaultService.getSession();
     }
 
     /**
@@ -485,7 +469,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public List<Object[]> group(Class<? extends Classification> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
-        return defaultClassificationService.group(clazz, limit, start, groups, propertyPaths);
+        return defaultService.group(clazz, limit, start, groups, propertyPaths);
     }
 
     /**
@@ -502,7 +486,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Pager<Classification> findByTitle(Class<? extends Classification> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultClassificationService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -514,7 +498,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public List<TaxonNode> loadTreeBranch(TaxonNode taxonNode, Rank baseRank, List<String> propertyPaths) {
-        return defaultClassificationService.loadTreeBranch(taxonNode, baseRank, propertyPaths);
+        return defaultService.loadTreeBranch(taxonNode, baseRank, propertyPaths);
     }
 
     /**
@@ -528,7 +512,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public <S extends Classification> List<S> list(Class<S> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultClassificationService.list(type, limit, start, orderHints, propertyPaths);
+        return defaultService.list(type, limit, start, orderHints, propertyPaths);
     }
 
     /**
@@ -541,7 +525,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public List<TaxonNode> loadTreeBranchToTaxon(Taxon taxon, Classification classification, Rank baseRank, List<String> propertyPaths) {
-        return defaultClassificationService.loadTreeBranchToTaxon(taxon, classification, baseRank, propertyPaths);
+        return defaultService.loadTreeBranchToTaxon(taxon, classification, baseRank, propertyPaths);
     }
 
     /**
@@ -551,7 +535,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Pager<Classification> findByTitle(IIdentifiableEntityServiceConfigurator<Classification> configurator) {
-        return defaultClassificationService.findByTitle(configurator);
+        return defaultService.findByTitle(configurator);
     }
 
     /**
@@ -564,7 +548,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Integer countByTitle(Class<? extends Classification> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
-        return defaultClassificationService.countByTitle(clazz, queryString, matchmode, criteria);
+        return defaultService.countByTitle(clazz, queryString, matchmode, criteria);
     }
 
     /**
@@ -574,7 +558,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Classification load(UUID uuid) {
-        return defaultClassificationService.load(uuid);
+        return defaultService.load(uuid);
     }
 
     /**
@@ -585,7 +569,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Classification load(UUID uuid, List<String> propertyPaths) {
-        return defaultClassificationService.load(uuid, propertyPaths);
+        return defaultService.load(uuid, propertyPaths);
     }
 
     /**
@@ -595,7 +579,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Integer countByTitle(IIdentifiableEntityServiceConfigurator<Classification> configurator) {
-        return defaultClassificationService.countByTitle(configurator);
+        return defaultService.countByTitle(configurator);
     }
 
     /**
@@ -605,7 +589,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Classification merge(Classification transientObject) {
-        return defaultClassificationService.merge(transientObject);
+        return defaultService.merge(transientObject);
     }
 
     /**
@@ -622,7 +606,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public List<Classification> listByTitle(Class<? extends Classification> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultClassificationService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -636,7 +620,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public <S extends Classification> Pager<S> page(Class<S> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultClassificationService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -649,18 +633,9 @@ public class TransientClassificationService implements IClassificationService {
     @Deprecated
     @Override
     public List<TaxonNode> loadChildNodesOfTaxonNode(TaxonNode taxonNode, List<String> propertyPaths) {
-        return defaultClassificationService.loadChildNodesOfTaxonNode(taxonNode, propertyPaths);
+        return defaultService.loadChildNodesOfTaxonNode(taxonNode, propertyPaths);
     }
 
-    /**
-     * @param classification
-     * @return
-     * @see eu.etaxonomy.cdm.api.service.IClassificationService#getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(eu.etaxonomy.cdm.model.taxon.Classification)
-     */
-    @Override
-    public List<UuidAndTitleCache<TaxonNode>> getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(Classification classification) {
-        return defaultClassificationService.getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(classification);
-    }
 
     /**
      * @param taxon
@@ -677,7 +652,7 @@ public class TransientClassificationService implements IClassificationService {
     @Deprecated
     @Override
     public Map<UUID, List<MediaRepresentation>> getAllMediaForChildNodes(Taxon taxon, Classification taxTree, List<String> propertyPaths, int size, int height, int widthOrDuration, String[] mimeTypes) {
-        return defaultClassificationService.getAllMediaForChildNodes(taxon, taxTree, propertyPaths, size, height, widthOrDuration, mimeTypes);
+        return defaultService.getAllMediaForChildNodes(taxon, taxTree, propertyPaths, size, height, widthOrDuration, mimeTypes);
     }
 
     /**
@@ -687,7 +662,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public UUID refresh(Classification persistentObject) {
-        return defaultClassificationService.refresh(persistentObject);
+        return defaultService.refresh(persistentObject);
     }
 
     /**
@@ -704,7 +679,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public List<Classification> listByReferenceTitle(Class<? extends Classification> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultClassificationService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -719,7 +694,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Map<UUID, List<MediaRepresentation>> getAllMediaForChildNodes(TaxonNode taxonNode, List<String> propertyPaths, int size, int height, int widthOrDuration, String[] mimeTypes) {
-        return defaultClassificationService.getAllMediaForChildNodes(taxonNode, propertyPaths, size, height, widthOrDuration, mimeTypes);
+        return defaultService.getAllMediaForChildNodes(taxonNode, propertyPaths, size, height, widthOrDuration, mimeTypes);
     }
 
     /**
@@ -731,7 +706,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public List<Classification> rows(String tableName, int limit, int start) {
-        return defaultClassificationService.rows(tableName, limit, start);
+        return defaultService.rows(tableName, limit, start);
     }
 
     /**
@@ -753,7 +728,7 @@ public class TransientClassificationService implements IClassificationService {
     @Deprecated
     @Override
     public UUID removeTaxonNode(TaxonNode taxonNode) {
-        return defaultClassificationService.removeTaxonNode(taxonNode);
+        return defaultService.removeTaxonNode(taxonNode);
     }
 
     /**
@@ -774,7 +749,7 @@ public class TransientClassificationService implements IClassificationService {
      * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
      */
     @Override
-    public UUID save(Classification newInstance) {
+    public Classification save(Classification newInstance) {
         return null;
     }
 
@@ -807,7 +782,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public UUID removeTreeNode(ITaxonTreeNode treeNode) {
-        return defaultClassificationService.removeTreeNode(treeNode);
+        return defaultService.removeTreeNode(treeNode);
     }
 
     /**
@@ -822,7 +797,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Pager<Classification> search(Class<? extends Classification> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultClassificationService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
+        return defaultService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
     }
 
     /**
@@ -851,7 +826,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public List<TaxonNode> getAllNodes() {
-        return defaultClassificationService.getAllNodes();
+        return defaultService.getAllNodes();
     }
 
     /**
@@ -861,7 +836,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public UUID update(Classification transientObject) {
-        return defaultClassificationService.update(transientObject);
+        return defaultService.update(transientObject);
     }
 
     /**
@@ -876,7 +851,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public List<Classification> list(Classification example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
-        return defaultClassificationService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
+        return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
     }
 
     /**
@@ -888,7 +863,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public int deduplicate(Class<? extends Classification> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
-        return defaultClassificationService.deduplicate(clazz, matchStrategy, mergeStrategy);
+        return defaultService.deduplicate(clazz, matchStrategy, mergeStrategy);
     }
 
     /**
@@ -903,7 +878,7 @@ public class TransientClassificationService implements IClassificationService {
      */
     @Override
     public Pager<Classification> findTitleCache(Class<? extends Classification> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
-        return defaultClassificationService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
+        return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
     }
 
     /* (non-Javadoc)
@@ -912,21 +887,175 @@ public class TransientClassificationService implements IClassificationService {
     @Override
     public List<TaxonNode> listChildNodesOfTaxon(UUID taxonUuid, UUID classificationUuid, Integer pageSize,
             Integer pageIndex, List<String> propertyPaths) {
-        return defaultClassificationService.listChildNodesOfTaxon(taxonUuid, classificationUuid, pageSize, pageIndex, propertyPaths);
+        return defaultService.listChildNodesOfTaxon(taxonUuid, classificationUuid, pageSize, pageIndex, propertyPaths);
     }
 
        @Override
-       public List<String> isDeletable(Classification object,
+       public DeleteResult isDeletable(Classification object,
                        DeleteConfiguratorBase config) {
-               // TODO Auto-generated method stub
-               return null;
+
+               return defaultService.isDeletable(object, config);
        }
 
        @Override
        public Classification findWithoutFlush(UUID uuid) {
-               return defaultClassificationService.findWithoutFlush(uuid);
+               return defaultService.findWithoutFlush(uuid);
+       }
+
+
+       @Override
+       public <S extends Classification>  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 UpdateResult createHierarchyInClassification(Classification arg1, CreateHierarchyForClassificationConfigurator arg2) {
+       return defaultService.createHierarchyInClassification(arg1, arg2);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
+     */
+    @Override
+    public DeleteResult delete(UUID arg0) {
+        return defaultService.delete(arg0);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.Collection)
+     */
+    @Override
+    public DeleteResult delete(Collection<UUID> arg0) {
+        return defaultService.delete(arg0);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List)
+     */
+    @Override
+    public List<Classification> merge(List<Classification> arg0) {
+        return defaultService.merge(arg0);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
+     */
+    @Override
+    public List<MergeResult<Classification>> merge(List<Classification> arg0, boolean arg1) {
+        return defaultService.merge(arg0, arg1);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
+     */
+    @Override
+    public MergeResult<Classification> merge(Classification arg0, boolean arg1) {
+        return defaultService.merge(arg0, arg1);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IService#loadWithUpdate(java.util.UUID)
+     */
+    @Override
+    public Classification loadWithUpdate(UUID arg0) {
+        return defaultService.loadWithUpdate(arg0);
+    }
+
+
+       @Override
+       public List<UuidAndTitleCache<TaxonNode>> getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(
+                       UUID classificationUuid) {
+
+               return defaultService.getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(classificationUuid);
+       }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public List<Classification> load(List<UUID> arg0, List<String> arg1) {
+        return defaultService.load(arg0, arg1);
+    }
+
+       @Override
+       public List<UuidAndTitleCache<Classification>> getUuidAndTitleCache(Integer limit, String pattern) {
+               return defaultService.getUuidAndTitleCache(null, null);
+       }
+
+       @Override
+       public List<TaxonNode> listSiblingsOfTaxon(UUID taxonUuid,
+                       UUID classificationUuid, Integer pageSize, Integer pageIndex,
+                       List<String> propertyPaths) {
+
+               return defaultService.listSiblingsOfTaxon(taxonUuid, classificationUuid, pageSize, pageIndex, propertyPaths);
+       }
+
+       @Override
+       public Pager<TaxonNode> pageSiblingsOfTaxon(UUID taxonUuid,
+                       UUID classificationUuid, Integer pageSize, Integer pageIndex,
+                       List<String> propertyPaths) {
+               return defaultService.pageSiblingsOfTaxon(taxonUuid, classificationUuid, pageSize, pageIndex, propertyPaths);
+       }
+
+       @Override
+       public List<Classification> loadByIds(List<Integer> idSet, List<String> propertyPaths) {
+
+               return defaultService.loadByIds(idSet, propertyPaths);
+       }
+
+       @Override
+       public ClassificationLookupDTO classificationLookup(Classification arg0) {
+
+               return defaultService.classificationLookup(arg0);
+       }
+
+       @Override
+       public DeleteResult delete(UUID arg0, TaxonDeletionConfigurator arg1) {
+
+               return defaultService.delete(arg0, arg1);
+       }
+
+       @Override
+       public List<GroupedTaxonDTO> groupTaxaByHigherTaxon(List<UUID> taxonUuids,
+                       UUID classificationUuid, Rank minRank, Rank maxRank) {
+               return defaultService.groupTaxaByHigherTaxon(taxonUuids, classificationUuid, minRank, maxRank);
+       }
+
+       @Override
+       public TaxonNode getRootNode(UUID arg0) {
+               return defaultService.getRootNode(arg0);
+       }
+
+       @Override
+       public List<UuidAndTitleCache<TaxonNode>> getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(
+                       Classification classification) {
+               return defaultService.getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(classification);
+
+       }
+
+       @Override
+       public List<UuidAndTitleCache<TaxonNode>> getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(
+                       UUID classificationUuid, Integer limit, String pattern) {
+               
+               return defaultService.getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(classificationUuid, limit, pattern);
+       }
+
+       @Override
+       public List<UuidAndTitleCache<TaxonNode>> getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(
+                       Classification classification, Integer limit, String pattern) {
+               // TODO Auto-generated method stub
+               return defaultService.getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(classification, limit, pattern);
+       }
+
+       @Override
+       public <S extends Classification> Pager<FindByMarkerDTO<S>> findByMarker(
+                       Class<S> arg0, MarkerType arg1, Boolean arg2, boolean arg3,
+                       Integer arg4, Integer arg5, List<String> arg6) {
+               // TODO Auto-generated method stub
+               return null;
        }
 
+   
 
 
 }