From f71a5f7267e81d56671a0220fbe01a1e1f1a4549 Mon Sep 17 00:00:00 2001 From: David Caruana Date: Fri, 30 Apr 2010 09:38:22 +0000 Subject: [PATCH] Fix ALF-2637: objectTypeId updatability reported as "readonly" rather then "oncreate" git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@20050 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../java/org/alfresco/cmis/CMISUpdatabilityEnum.java | 3 ++- .../cmis/dictionary/CMISBasePropertyDefinition.java | 11 ++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/source/java/org/alfresco/cmis/CMISUpdatabilityEnum.java b/source/java/org/alfresco/cmis/CMISUpdatabilityEnum.java index cfe74fa15a..e639c85dd1 100644 --- a/source/java/org/alfresco/cmis/CMISUpdatabilityEnum.java +++ b/source/java/org/alfresco/cmis/CMISUpdatabilityEnum.java @@ -27,7 +27,8 @@ public enum CMISUpdatabilityEnum implements EnumLabel { READ_ONLY("readonly"), READ_AND_WRITE("readwrite"), - READ_AND_WRITE_WHEN_CHECKED_OUT("whencheckedout"); + READ_AND_WRITE_WHEN_CHECKED_OUT("whencheckedout"), + ON_CREATE("oncreate"); private String label; diff --git a/source/java/org/alfresco/cmis/dictionary/CMISBasePropertyDefinition.java b/source/java/org/alfresco/cmis/dictionary/CMISBasePropertyDefinition.java index 62b1943590..a7d5075a09 100644 --- a/source/java/org/alfresco/cmis/dictionary/CMISBasePropertyDefinition.java +++ b/source/java/org/alfresco/cmis/dictionary/CMISBasePropertyDefinition.java @@ -25,6 +25,7 @@ import java.util.HashSet; import org.alfresco.cmis.CMISCardinalityEnum; import org.alfresco.cmis.CMISChoice; import org.alfresco.cmis.CMISDataTypeEnum; +import org.alfresco.cmis.CMISDictionaryModel; import org.alfresco.cmis.CMISPropertyDefinition; import org.alfresco.cmis.CMISPropertyId; import org.alfresco.cmis.CMISTypeDefinition; @@ -140,7 +141,15 @@ public class CMISBasePropertyDefinition implements CMISPropertyDefinition, Seria } required = propDef.isMandatory(); defaultValue = propDef.getDefaultValue(); - updatability = propDef.isProtected() ? CMISUpdatabilityEnum.READ_ONLY : CMISUpdatabilityEnum.READ_AND_WRITE; + if (propertyId.getId().equals(CMISDictionaryModel.PROP_OBJECT_TYPE_ID)) + { + // Fix http://issues.alfresco.com/jira/browse/ALF-2637 + updatability = CMISUpdatabilityEnum.ON_CREATE; + } + else + { + updatability = propDef.isProtected() ? CMISUpdatabilityEnum.READ_ONLY : CMISUpdatabilityEnum.READ_AND_WRITE; + } queryable = propDef.isIndexed(); if (queryable) {