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

@@ -27,16 +27,18 @@ 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.repository.NodeRef;
import org.alfresco.service.cmr.version.Version;
import org.alfresco.service.cmr.version.VersionHistory;
/**
* Accessor for the CMIS Checkin Comment
*
* @author andyh
* @author dward
*/
public class CheckinCommentProperty extends AbstractProperty
public class CheckinCommentProperty extends AbstractVersioningProperty
{
/**
* Construct
@@ -54,14 +56,27 @@ public class CheckinCommentProperty extends AbstractProperty
*/
public Serializable getValue(NodeRef nodeRef)
{
Version version = getServiceRegistry().getVersionService().getCurrentVersion(nodeRef);
if (version != null)
{
return version.getDescription();
}
else
NodeRef versionSeries;
if (isWorkingCopy(nodeRef) || (versionSeries = getVersionSeries(nodeRef)).equals(nodeRef))
{
return null;
}
ServiceRegistry serviceRegistry = getServiceRegistry();
String versionLabel = (String)serviceRegistry.getNodeService().getProperty(nodeRef, ContentModel.PROP_VERSION_LABEL);
if (versionLabel == null)
{
return null;
}
VersionHistory versionHistory = serviceRegistry.getVersionService().getVersionHistory(versionSeries);
if (versionHistory == null)
{
return null;
}
Version version = versionHistory.getVersion(versionLabel);
if (version == null)
{
return null;
}
return version.getDescription();
}
}