From 2204f2443aa645e3b18666f914cfdb72f92d8825 Mon Sep 17 00:00:00 2001 From: Erik Winlof Date: Wed, 3 Sep 2014 12:55:12 +0000 Subject: [PATCH] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud) 78782: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud) 78471: Merged dev. V4.2-BUG-FIX-2014_06_06 to V4.2-BUG-FIX (4.2.4) 73309: MNT-11631: CMIS property isPrivateWorkingCopy not set for the checked out object - Property value accessor for 'cmis:isPrivateWorkingCopy' has been implemented. This property is introduced in CMIS 1.1 78473: MNT-11631: CMIS property isPrivateWorkingCopy not set for the checked out object Test for 'cmis:isPrivateWorkingCopy' has been added into 'org.alfresco.rest.api.tests.TestCMIS'. Also this test class has been a bit refactored git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@82639 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../mapping/IsPrivateWorkingCopy.java | 50 +++++++++++++++++++ .../RuntimePropertyAccessorMapping.java | 5 +- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 source/java/org/alfresco/opencmis/mapping/IsPrivateWorkingCopy.java diff --git a/source/java/org/alfresco/opencmis/mapping/IsPrivateWorkingCopy.java b/source/java/org/alfresco/opencmis/mapping/IsPrivateWorkingCopy.java new file mode 100644 index 0000000000..fbfe39b1f5 --- /dev/null +++ b/source/java/org/alfresco/opencmis/mapping/IsPrivateWorkingCopy.java @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2005-2014 Alfresco Software Limited. + * + * This file is part of Alfresco + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + */ +package org.alfresco.opencmis.mapping; + +import java.io.Serializable; + +import org.alfresco.opencmis.CMISConnector; +import org.alfresco.opencmis.dictionary.CMISNodeInfo; +import org.alfresco.service.ServiceRegistry; +import org.apache.chemistry.opencmis.commons.PropertyIds; + +/** + * 'cmis:isPrivateWokringCopy' property accessor for CMIS 1.1 (MNT-11631) + * + * @author Dmitry Velichkevich + */ +public class IsPrivateWorkingCopy extends AbstractProperty +{ + protected IsPrivateWorkingCopy(ServiceRegistry serviceRegistry, CMISConnector connector) + { + super(serviceRegistry, connector, PropertyIds.IS_PRIVATE_WORKING_COPY); + } + + @Override + protected Serializable getValueInternal(CMISNodeInfo nodeInfo) + { + if ((null == nodeInfo) || !nodeInfo.isDocument()) + { + return null; + } + + return connector.getCheckOutCheckInService().isWorkingCopy(nodeInfo.getNodeRef()); + } +} diff --git a/source/java/org/alfresco/opencmis/mapping/RuntimePropertyAccessorMapping.java b/source/java/org/alfresco/opencmis/mapping/RuntimePropertyAccessorMapping.java index a7777893be..41b1bcab89 100644 --- a/source/java/org/alfresco/opencmis/mapping/RuntimePropertyAccessorMapping.java +++ b/source/java/org/alfresco/opencmis/mapping/RuntimePropertyAccessorMapping.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2010 Alfresco Software Limited. + * Copyright (C) 2005-2014 Alfresco Software Limited. * * This file is part of Alfresco * @@ -145,6 +145,9 @@ public class RuntimePropertyAccessorMapping implements PropertyAccessorMapping, { registerPropertyAccessor(new DescriptionProperty(serviceRegistry, cmisConnector)); registerPropertyAccessor(new SecondaryTypesProperty(serviceRegistry, cmisConnector, cmisMapping)); + + // MNT-11631: 'cmis:isPrivateWorkingCopy' property accessor + registerPropertyAccessor(new IsPrivateWorkingCopy(serviceRegistry, cmisConnector)); } //