From 4b45b83463c45c1db337a803e633b07ff629294d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BC?= Date: Tue, 18 Oct 2011 13:32:32 +0000 Subject: [PATCH] CMIS deleteObject(false) bug fix (related to ALF-6791) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31315 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../opencmis/AlfrescoCmisService.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/source/java/org/alfresco/opencmis/AlfrescoCmisService.java b/source/java/org/alfresco/opencmis/AlfrescoCmisService.java index e2d3b2b09a..32dea807dc 100644 --- a/source/java/org/alfresco/opencmis/AlfrescoCmisService.java +++ b/source/java/org/alfresco/opencmis/AlfrescoCmisService.java @@ -1747,7 +1747,22 @@ public class AlfrescoCmisService extends AbstractCmisService } // attempt to delete the node - connector.getNodeService().deleteNode(nodeRef); + if (allVersions) + { + connector.getNodeService().deleteNode(nodeRef); + } else + { + CMISNodeInfoImpl infoImpl = ((CMISNodeInfoImpl) info); + Version version = infoImpl.getVersion(); + + if (infoImpl.getVersionHistory().getPredecessor(version) == null) + { + connector.getNodeService().deleteNode(nodeRef); + } else + { + connector.getVersionService().deleteVersion(nodeRef, version); + } + } return true; } catch (AccessDeniedException ade) { @@ -2007,7 +2022,7 @@ public class AlfrescoCmisService extends AbstractCmisService NodeRef pwcNodeRef = connector.getCheckOutCheckInService().checkout(nodeRef); CMISNodeInfo pwcNodeInfo = createNodeInfo(pwcNodeRef); objectId.setValue(pwcNodeInfo.getObjectId()); - + if (contentCopied != null) { contentCopied.setValue(connector.getFileFolderService().getReader(pwcNodeRef) != null);