Merging BRANCHES/DEV/CMIS_10 to HEAD (phase 2 - currently up-to-date with branch):

18717: SAIL-166: Refactor CMIS to use shared services and resolve objectIds and error codes consistently
   18731: SAIL-169: CMIS REST versioning compliance
   18732: Fix failing change log test.
   18768: Add displayName and queryName attributes to rendered properties (in CMIS AtomPub binding).
   18775: Fix exception reporting when retrieving items that do not exist (in CMIS AtomPub binding).
   18784: Fix CMIS REST change logging
   18785: SAIL-174: CMIS Relationship lookup by association ID
   18812: SAIL-183: Support orderBy argument for getChildren and getCheckedOutDocs in CMIS REST and Web Service bindings
   18823: CMIS WS Bindings were moved to 1.0 cd07 schema.
   18838: Update to latest Chemistry TCK.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18847 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2010-02-25 15:02:44 +00:00
parent cfc0643817
commit fbd7aab3b1
71 changed files with 2811 additions and 1624 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
* Copyright (C) 2005-2010 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -18,7 +18,7 @@
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* FLOSS exception. You should have received a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
@@ -27,18 +27,15 @@ package org.alfresco.cmis.mapping;
import java.io.Serializable;
import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.model.ContentModel;
import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.lock.LockType;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
/**
* Property accessor for CMIS is immutable property
*
* @author andyh
* @author dward
*/
public class IsImmutableProperty extends AbstractProperty
public class IsImmutableProperty extends AbstractVersioningProperty
{
/**
* Construct
@@ -56,20 +53,14 @@ public class IsImmutableProperty extends AbstractProperty
*/
public Serializable getValue(NodeRef nodeRef)
{
LockType type = getServiceRegistry().getLockService().getLockType(nodeRef);
if (type == LockType.READ_ONLY_LOCK)
if (isWorkingCopy(nodeRef))
{
return Boolean.valueOf(true);
return false;
}
Serializable value = getServiceRegistry().getNodeService().getProperty(nodeRef, ContentModel.PROP_AUTO_VERSION);
if (value != null)
if (getVersionSeries(nodeRef).equals(nodeRef))
{
Boolean autoVersion = DefaultTypeConverter.INSTANCE.convert(Boolean.class, value);
if (false == autoVersion.booleanValue())
{
return Boolean.valueOf(true);
}
return hasWorkingCopy(nodeRef);
}
return Boolean.valueOf(false);
return true;
}
}