// $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
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
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
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