Merge branch 'master' of wp5.e-taxonomy.eu:/var/git/cdmlib into remoting-4.0
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / PolytomousKeyNodeServiceImpl.java
index c69df745e009a3f187b4e87d68f00b2d9643beab..f55b307b91386edcde334778df5db4c0ae95c78d 100644 (file)
@@ -1,24 +1,21 @@
 // $Id$\r
 /**\r
 * Copyright (C) 2009 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
 * http://www.e-taxonomy.eu\r
-* \r
+*\r
 * The contents of this file are subject to the Mozilla Public License Version 1.1\r
 * See LICENSE.TXT at the top of this package for the full license terms.\r
 */\r
 package eu.etaxonomy.cdm.api.service;\r
 \r
-import java.util.ArrayList;\r
 import java.util.List;\r
 import java.util.UUID;\r
 \r
 import org.springframework.beans.factory.annotation.Autowired;\r
 import org.springframework.stereotype.Service;\r
-import org.springframework.transaction.annotation.Propagation;\r
 import org.springframework.transaction.annotation.Transactional;\r
 \r
-import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;\r
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;\r
 import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;\r
 import eu.etaxonomy.cdm.persistence.dao.description.IPolytomousKeyNodeDao;\r
@@ -33,11 +30,12 @@ import eu.etaxonomy.cdm.persistence.dao.description.IPolytomousKeyNodeDao;
 public class PolytomousKeyNodeServiceImpl  extends VersionableServiceBase<PolytomousKeyNode, IPolytomousKeyNodeDao> implements IPolytomousKeyNodeService {\r
 \r
 \r
-       @Autowired\r
+       @Override\r
+    @Autowired\r
        protected void setDao(IPolytomousKeyNodeDao dao) {\r
                this.dao = dao;\r
        }\r
-       \r
+\r
        @Override\r
        public DeleteResult delete(UUID nodeUUID, boolean deleteChildren){\r
                DeleteResult result = new DeleteResult();\r
@@ -46,15 +44,16 @@ public class PolytomousKeyNodeServiceImpl  extends VersionableServiceBase<Polyto
                List<PolytomousKeyNode> children = node.getChildren();\r
                PolytomousKeyNode parent = node.getParent();\r
                parent = HibernateProxyHelper.deproxy(parent, PolytomousKeyNode.class);\r
+\r
                if(!deleteChildren){\r
-                       \r
+\r
                        for (PolytomousKeyNode child: children){\r
                                parent.addChild(child);\r
                                parent.removeChild(node);\r
                                dao.update(child);\r
                                result.addUpdatedObject(child);\r
                        }\r
-                       \r
+\r
                        dao.update(node);\r
                        result.addUpdatedObject(node);\r
                }\r
@@ -70,7 +69,13 @@ public class PolytomousKeyNodeServiceImpl  extends VersionableServiceBase<Polyto
                dao.saveOrUpdate(parent);\r
                result.addUpdatedObject(parent);\r
                return result;\r
-               \r
+\r
        }\r
 \r
+          @Override\r
+           public DeleteResult delete(UUID nodeUuid, boolean deleteChildren){\r
+              PolytomousKeyNode node = dao.load(nodeUuid);\r
+              return delete(node, deleteChildren);\r
+          }\r
+\r
 }\r