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
This commit is contained in:
David Caruana
2010-04-30 09:38:22 +00:00
parent 4678f1420f
commit f71a5f7267
2 changed files with 12 additions and 2 deletions

View File

@@ -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;

View File

@@ -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)
{