mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10735 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1,43 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 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
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program 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 General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* 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
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.dictionary;
|
||||
|
||||
/**
|
||||
* Cardinality for property definitions
|
||||
*
|
||||
* @author andyh
|
||||
*
|
||||
*/
|
||||
public enum CMISCardinality
|
||||
{
|
||||
/**
|
||||
* Single-valued
|
||||
*/
|
||||
SINGLE_VALUED,
|
||||
/**
|
||||
* Multi-valued
|
||||
*/
|
||||
MULTI_VALUED;
|
||||
}
|
@@ -27,6 +27,7 @@ package org.alfresco.cmis.dictionary;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.alfresco.cmis.CMISPropertyTypeEnum;
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.service.cmr.dictionary.AssociationDefinition;
|
||||
@@ -47,7 +48,7 @@ public class CMISMapping
|
||||
/**
|
||||
* The Alfresco CMIS model URI.
|
||||
*/
|
||||
public static String CMIS_MODEL_URI = "http://www.alfresco.org/model/cmis/0.44";
|
||||
public static String CMIS_MODEL_URI = "http://www.alfresco.org/model/cmis/0.5";
|
||||
|
||||
/**
|
||||
* The Alfresco CMIS Model name.
|
||||
@@ -62,17 +63,17 @@ public class CMISMapping
|
||||
/**
|
||||
* Type id for CMIS documents, from the spec.
|
||||
*/
|
||||
public static String DOCUMENT_OBJECT_TYPE = "DOCUMENT_OBJECT_TYPE";
|
||||
public static String DOCUMENT_OBJECT_TYPE = "Document";
|
||||
|
||||
/**
|
||||
* Type is for CMIS folders, from the spec.
|
||||
*/
|
||||
public static String FOLDER_OBJECT_TYPE = "FOLDER_OBJECT_TYPE";
|
||||
public static String FOLDER_OBJECT_TYPE = "Folder";
|
||||
|
||||
/**
|
||||
* Type Id for CMIS Relationships, from the spec.
|
||||
*/
|
||||
public static String RELATIONSHIP_OBJECT_TYPE = "RELATIONSHIP_OBJECT_TYPE";
|
||||
public static String RELATIONSHIP_OBJECT_TYPE = "Relationship";
|
||||
|
||||
/**
|
||||
* QName for CMIS documents in the Alfresco CMIS model.
|
||||
@@ -89,69 +90,71 @@ public class CMISMapping
|
||||
*/
|
||||
public static QName RELATIONSHIP_QNAME = QName.createQName(CMIS_MODEL_URI, RELATIONSHIP_OBJECT_TYPE);
|
||||
|
||||
public static CMISTypeId DOCUMENT_TYPE_ID = new CMISTypeId(CMISScope.DOCUMENT, DOCUMENT_QNAME, DOCUMENT_OBJECT_TYPE);
|
||||
// TODO: spec issue - objectTypeEnum is lower cased - object type ids are repository specific in spec
|
||||
|
||||
public static CMISTypeId DOCUMENT_TYPE_ID = new CMISTypeId(CMISScope.DOCUMENT, DOCUMENT_QNAME, DOCUMENT_OBJECT_TYPE.toLowerCase());
|
||||
|
||||
public static CMISTypeId FOLDER_TYPE_ID = new CMISTypeId(CMISScope.FOLDER, FOLDER_QNAME, FOLDER_OBJECT_TYPE);
|
||||
public static CMISTypeId FOLDER_TYPE_ID = new CMISTypeId(CMISScope.FOLDER, FOLDER_QNAME, FOLDER_OBJECT_TYPE.toLowerCase());
|
||||
|
||||
public static CMISTypeId RELATIONSHIP_TYPE_ID = new CMISTypeId(CMISScope.RELATIONSHIP, RELATIONSHIP_QNAME, RELATIONSHIP_OBJECT_TYPE);
|
||||
public static CMISTypeId RELATIONSHIP_TYPE_ID = new CMISTypeId(CMISScope.RELATIONSHIP, RELATIONSHIP_QNAME, RELATIONSHIP_OBJECT_TYPE.toLowerCase());
|
||||
|
||||
// CMIS properties
|
||||
|
||||
public static String PROP_OBJECT_ID = "OBJECT_ID";
|
||||
public static String PROP_OBJECT_ID = "ObjectId";
|
||||
|
||||
public static String PROP_URI = "URI";
|
||||
public static String PROP_URI = "Uri";
|
||||
|
||||
public static String PROP_OBJECT_TYPE_ID = "OBJECT_TYPE_ID";
|
||||
public static String PROP_OBJECT_TYPE_ID = "ObjectTypeId";
|
||||
|
||||
public static String PROP_CREATED_BY = "CREATED_BY";
|
||||
public static String PROP_CREATED_BY = "CreatedBy";
|
||||
|
||||
public static String PROP_CREATION_DATE = "CREATION_DATE";
|
||||
public static String PROP_CREATION_DATE = "CreationDate";
|
||||
|
||||
public static String PROP_LAST_MODIFIED_BY = "LAST_MODIFIED_BY";
|
||||
public static String PROP_LAST_MODIFIED_BY = "LastModifiedBy";
|
||||
|
||||
public static String PROP_LAST_MODIFICATION_DATE = "LAST_MODIFICATION_DATE";
|
||||
public static String PROP_LAST_MODIFICATION_DATE = "LastModificationDate";
|
||||
|
||||
public static String PROP_CHANGE_TOKEN = "CHANGE_TOKEN";
|
||||
public static String PROP_CHANGE_TOKEN = "ChangeToken";
|
||||
|
||||
public static String PROP_NAME = "NAME";
|
||||
public static String PROP_NAME = "Name";
|
||||
|
||||
public static String PROP_IS_IMMUTABLE = "IS_IMMUTABLE";
|
||||
public static String PROP_IS_IMMUTABLE = "IsImmutable";
|
||||
|
||||
public static String PROP_IS_LATEST_VERSION = "IS_LATEST_VERSION";
|
||||
public static String PROP_IS_LATEST_VERSION = "IsLatestVersion";
|
||||
|
||||
public static String PROP_IS_MAJOR_VERSION = "IS_MAJOR_VERSION";
|
||||
public static String PROP_IS_MAJOR_VERSION = "IsMajorVersion";
|
||||
|
||||
public static String PROP_IS_LATEST_MAJOR_VERSION = "IS_LATEST_MAJOR_VERSION";
|
||||
public static String PROP_IS_LATEST_MAJOR_VERSION = "IsLatestMajorVersion";
|
||||
|
||||
public static String PROP_VERSION_LABEL = "VERSION_LABEL";
|
||||
public static String PROP_VERSION_LABEL = "VersionLabel";
|
||||
|
||||
public static String PROP_VERSION_SERIES_ID = "VERSION_SERIES_ID";
|
||||
public static String PROP_VERSION_SERIES_ID = "VersionSeriesId";
|
||||
|
||||
public static String PROP_VERSION_SERIES_IS_CHECKED_OUT = "VERSION_SERIES_IS_CHECKED_OUT";
|
||||
public static String PROP_IS_VERSION_SERIES_CHECKED_OUT = "IsVersionSeriesCheckedOut";
|
||||
|
||||
public static String PROP_VERSION_SERIES_CHECKED_OUT_BY = "VERSION_SERIES_CHECKED_OUT_BY";
|
||||
public static String PROP_VERSION_SERIES_CHECKED_OUT_BY = "VersionSeriesCheckedOutBy";
|
||||
|
||||
public static String PROP_VERSION_SERIES_CHECKED_OUT_ID = "VERSION_SERIES_CHECKED_OUT_ID";
|
||||
public static String PROP_VERSION_SERIES_CHECKED_OUT_ID = "VersionSeriesCheckedOutId";
|
||||
|
||||
public static String PROP_CHECKIN_COMMENT = "CHECKIN_COMMENT";
|
||||
public static String PROP_CHECKIN_COMMENT = "CheckinComment";
|
||||
|
||||
public static String PROP_CONTENT_STREAM_ALLOWED = "CONTENT_STREAM_ALLOWED";
|
||||
public static String PROP_CONTENT_STREAM_ALLOWED = "ContentStreamAllowed";
|
||||
|
||||
public static String PROP_CONTENT_STREAM_LENGTH = "CONTENT_STREAM_LENGTH";
|
||||
public static String PROP_CONTENT_STREAM_LENGTH = "ContentStreamLength";
|
||||
|
||||
public static String PROP_CONTENT_STREAM_MIME_TYPE = "CONTENT_STREAM_MIME_TYPE";
|
||||
public static String PROP_CONTENT_STREAM_MIME_TYPE = "ContentStreamMimeType";
|
||||
|
||||
public static String PROP_CONTENT_STREAM_FILENAME = "CONTENT_STREAM_FILENAME";
|
||||
public static String PROP_CONTENT_STREAM_FILENAME = "ContentStreamFilename";
|
||||
|
||||
public static String PROP_CONTENT_STREAM_URI = "CONTENT_STREAM_URI";
|
||||
public static String PROP_CONTENT_STREAM_URI = "ContentStreamUri";
|
||||
|
||||
public static String PROP_PARENT = "PARENT";
|
||||
public static String PROP_PARENT_ID = "ParentId";
|
||||
|
||||
public static String PROP_ALLOWED_CHILD_OBJECT_TYPES = "ALLOWED_CHILD_OBJECT_TYPES";
|
||||
public static String PROP_ALLOWED_CHILD_OBJECT_TYPE_IDS = "AllowedChildObjectTypeIds";
|
||||
|
||||
public static String PROP_SOURCE_ID = "SOURCE_ID";
|
||||
public static String PROP_SOURCE_ID = "SourceId";
|
||||
|
||||
public static String PROP_TARGET_ID = "TARGET_ID";
|
||||
public static String PROP_TARGET_ID = "TargetId";
|
||||
|
||||
// Mappings
|
||||
// - no entry means no mapping and pass through as is
|
||||
@@ -162,7 +165,7 @@ public class CMISMapping
|
||||
|
||||
private static HashMap<QName, QName> alfrescoToCmisTypes = new HashMap<QName, QName>();
|
||||
|
||||
private static HashMap<QName, CMISPropertyType> alfrescoPropertyTypesToCimsPropertyTypes = new HashMap<QName, CMISPropertyType>();
|
||||
private static HashMap<QName, CMISPropertyTypeEnum> alfrescoPropertyTypesToCimsPropertyTypes = new HashMap<QName, CMISPropertyTypeEnum>();
|
||||
|
||||
/**
|
||||
* Set up mappings
|
||||
@@ -182,22 +185,22 @@ public class CMISMapping
|
||||
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.ANY, null);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.ASSOC_REF, null);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.BOOLEAN, CMISPropertyType.Boolean);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.CATEGORY, CMISPropertyType.ID);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.BOOLEAN, CMISPropertyTypeEnum.BOOLEAN);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.CATEGORY, CMISPropertyTypeEnum.ID);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.CHILD_ASSOC_REF, null);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.CONTENT, null);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.DATE, CMISPropertyType.DateTime);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.DATETIME, CMISPropertyType.DateTime);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.DOUBLE, CMISPropertyType.Decimal);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.FLOAT, CMISPropertyType.Decimal);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.INT, CMISPropertyType.Integer);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.DATE, CMISPropertyTypeEnum.DATETIME);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.DATETIME, CMISPropertyTypeEnum.DATETIME);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.DOUBLE, CMISPropertyTypeEnum.DECIMAL);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.FLOAT, CMISPropertyTypeEnum.DECIMAL);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.INT, CMISPropertyTypeEnum.INTEGER);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.LOCALE, null);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.LONG, CMISPropertyType.Integer);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.MLTEXT, CMISPropertyType.String);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.NODE_REF, CMISPropertyType.ID);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.LONG, CMISPropertyTypeEnum.INTEGER);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.MLTEXT, CMISPropertyTypeEnum.STRING);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.NODE_REF, CMISPropertyTypeEnum.ID);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.PATH, null);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.QNAME, null);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.TEXT, CMISPropertyType.String);
|
||||
alfrescoPropertyTypesToCimsPropertyTypes.put(DataTypeDefinition.TEXT, CMISPropertyTypeEnum.STRING);
|
||||
}
|
||||
|
||||
private DictionaryService dictionaryService;
|
||||
@@ -265,15 +268,15 @@ public class CMISMapping
|
||||
public CMISTypeId getCmisTypeId(String typeId)
|
||||
{
|
||||
// Is it a CMIS root object type id?
|
||||
if (typeId.equals(DOCUMENT_TYPE_ID.getTypeId()))
|
||||
if (typeId.equalsIgnoreCase(DOCUMENT_TYPE_ID.getTypeId()))
|
||||
{
|
||||
return DOCUMENT_TYPE_ID;
|
||||
}
|
||||
else if (typeId.equals(FOLDER_TYPE_ID.getTypeId()))
|
||||
else if (typeId.equalsIgnoreCase(FOLDER_TYPE_ID.getTypeId()))
|
||||
{
|
||||
return FOLDER_TYPE_ID;
|
||||
}
|
||||
else if (typeId.equals(RELATIONSHIP_TYPE_ID.getTypeId()))
|
||||
else if (typeId.equalsIgnoreCase(RELATIONSHIP_TYPE_ID.getTypeId()))
|
||||
{
|
||||
return RELATIONSHIP_TYPE_ID;
|
||||
}
|
||||
@@ -358,7 +361,7 @@ public class CMISMapping
|
||||
*/
|
||||
public String getQueryName(QName typeQName)
|
||||
{
|
||||
return buildPrefixEncodedString(typeQName, true);
|
||||
return buildPrefixEncodedString(typeQName, false);
|
||||
}
|
||||
|
||||
private String buildPrefixEncodedString(QName qname, boolean upperCase)
|
||||
@@ -553,7 +556,7 @@ public class CMISMapping
|
||||
*/
|
||||
public String getCmisPropertyName(QName propertyQName)
|
||||
{
|
||||
return buildPrefixEncodedString(propertyQName, true);
|
||||
return buildPrefixEncodedString(propertyQName, false);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -563,7 +566,7 @@ public class CMISMapping
|
||||
* @param propertyQName
|
||||
* @return
|
||||
*/
|
||||
public CMISPropertyType getPropertyType(QName propertyQName)
|
||||
public CMISPropertyTypeEnum getPropertyType(QName propertyQName)
|
||||
{
|
||||
PropertyDefinition propertyDefinition = dictionaryService.getProperty(propertyQName);
|
||||
DataTypeDefinition dataTypeDefinition;
|
||||
@@ -581,7 +584,7 @@ public class CMISMapping
|
||||
{
|
||||
if (dQName.equals(DataTypeDefinition.QNAME) || dQName.equals(DataTypeDefinition.NODE_REF))
|
||||
{
|
||||
return CMISPropertyType.ID;
|
||||
return CMISPropertyTypeEnum.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -656,15 +659,15 @@ public class CMISMapping
|
||||
*/
|
||||
public QName getAlfrescoClassQNameFromCmisTableName(String tableName)
|
||||
{
|
||||
if (tableName.equals(DOCUMENT_TYPE_ID.getTypeId()))
|
||||
if (tableName.equalsIgnoreCase(DOCUMENT_TYPE_ID.getTypeId()))
|
||||
{
|
||||
return ContentModel.TYPE_CONTENT;
|
||||
}
|
||||
else if (tableName.equals(FOLDER_TYPE_ID.getTypeId()))
|
||||
else if (tableName.equalsIgnoreCase(FOLDER_TYPE_ID.getTypeId()))
|
||||
{
|
||||
return ContentModel.TYPE_FOLDER;
|
||||
}
|
||||
else if (tableName.equals(RELATIONSHIP_TYPE_ID.getTypeId()))
|
||||
else if (tableName.equalsIgnoreCase(RELATIONSHIP_TYPE_ID.getTypeId()))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
@@ -28,7 +28,9 @@ import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
|
||||
import org.alfresco.cmis.property.CMISPropertyNameMapping;
|
||||
import org.alfresco.cmis.CMISCardinalityEnum;
|
||||
import org.alfresco.cmis.CMISPropertyTypeEnum;
|
||||
import org.alfresco.cmis.CMISUpdatabilityEnum;
|
||||
import org.alfresco.repo.dictionary.IndexTokenisationMode;
|
||||
import org.alfresco.repo.dictionary.constraint.ListOfValuesConstraint;
|
||||
import org.alfresco.repo.dictionary.constraint.StringLengthConstraint;
|
||||
@@ -66,9 +68,9 @@ public class CMISPropertyDefinition implements Serializable
|
||||
|
||||
private boolean isInherited;
|
||||
|
||||
private CMISPropertyType propertyType;
|
||||
private CMISPropertyTypeEnum propertyType;
|
||||
|
||||
private CMISCardinality cardinality;
|
||||
private CMISCardinalityEnum cardinality;
|
||||
|
||||
private int maximumLength = -1;
|
||||
|
||||
@@ -84,7 +86,7 @@ public class CMISPropertyDefinition implements Serializable
|
||||
|
||||
private String defaultValue;
|
||||
|
||||
private CMISUpdatability updatability;
|
||||
private CMISUpdatabilityEnum updatability;
|
||||
|
||||
private boolean queryable;
|
||||
|
||||
@@ -103,10 +105,10 @@ public class CMISPropertyDefinition implements Serializable
|
||||
description = propDef.getDescription();
|
||||
isInherited = false;
|
||||
propertyType = cmisMapping.getPropertyType(propertyQName);
|
||||
cardinality = propDef.isMultiValued() ? CMISCardinality.MULTI_VALUED : CMISCardinality.SINGLE_VALUED;
|
||||
cardinality = propDef.isMultiValued() ? CMISCardinalityEnum.MULTI_VALUED : CMISCardinalityEnum.SINGLE_VALUED;
|
||||
required = propDef.isMandatory();
|
||||
defaultValue = propDef.getDefaultValue();
|
||||
updatability = propDef.isProtected() ? CMISUpdatability.READ_ONLY : CMISUpdatability.READ_AND_WRITE;
|
||||
updatability = propDef.isProtected() ? CMISUpdatabilityEnum.READ_ONLY : CMISUpdatabilityEnum.READ_AND_WRITE;
|
||||
queryable = false;
|
||||
orderable = false;
|
||||
}
|
||||
@@ -126,7 +128,7 @@ public class CMISPropertyDefinition implements Serializable
|
||||
isInherited = !propDef.getContainerClass().equals(typeQName);
|
||||
}
|
||||
propertyType = cmisMapping.getPropertyType(propertyQName);
|
||||
cardinality = propDef.isMultiValued() ? CMISCardinality.MULTI_VALUED : CMISCardinality.SINGLE_VALUED;
|
||||
cardinality = propDef.isMultiValued() ? CMISCardinalityEnum.MULTI_VALUED : CMISCardinalityEnum.SINGLE_VALUED;
|
||||
for (ConstraintDefinition constraintDef : propDef.getConstraints())
|
||||
{
|
||||
Constraint constraint = constraintDef.getConstraint();
|
||||
@@ -148,7 +150,7 @@ public class CMISPropertyDefinition implements Serializable
|
||||
}
|
||||
required = propDef.isMandatory();
|
||||
defaultValue = propDef.getDefaultValue();
|
||||
updatability = propDef.isProtected() ? CMISUpdatability.READ_ONLY : CMISUpdatability.READ_AND_WRITE;
|
||||
updatability = propDef.isProtected() ? CMISUpdatabilityEnum.READ_ONLY : CMISUpdatabilityEnum.READ_AND_WRITE;
|
||||
queryable = propDef.isIndexed();
|
||||
if (queryable)
|
||||
{
|
||||
@@ -197,18 +199,6 @@ public class CMISPropertyDefinition implements Serializable
|
||||
return propertyName;
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: Remove this when spec ambiguity is removed
|
||||
*
|
||||
* Get the property name for REST binding
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getPropertyNameREST()
|
||||
{
|
||||
return CMISPropertyNameMapping.getRESTName(propertyName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the property id
|
||||
*
|
||||
@@ -254,7 +244,7 @@ public class CMISPropertyDefinition implements Serializable
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public CMISPropertyType getPropertyType()
|
||||
public CMISPropertyTypeEnum getPropertyType()
|
||||
{
|
||||
return propertyType;
|
||||
}
|
||||
@@ -264,7 +254,7 @@ public class CMISPropertyDefinition implements Serializable
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public CMISCardinality getCardinality()
|
||||
public CMISCardinalityEnum getCardinality()
|
||||
{
|
||||
return cardinality;
|
||||
}
|
||||
@@ -344,7 +334,7 @@ public class CMISPropertyDefinition implements Serializable
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public CMISUpdatability getUpdatability()
|
||||
public CMISUpdatabilityEnum getUpdatability()
|
||||
{
|
||||
return updatability;
|
||||
}
|
||||
|
@@ -1,43 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 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
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program 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 General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* 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
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.dictionary;
|
||||
|
||||
/**
|
||||
* CMIS Property Types
|
||||
* @author andyh
|
||||
*
|
||||
*/
|
||||
public enum CMISPropertyType
|
||||
{
|
||||
String,
|
||||
Decimal,
|
||||
Integer,
|
||||
Boolean,
|
||||
DateTime,
|
||||
URI,
|
||||
ID,
|
||||
XML,
|
||||
HTML;
|
||||
}
|
@@ -31,6 +31,7 @@ import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.alfresco.cmis.CMISContentStreamAllowedEnum;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.service.cmr.dictionary.AspectDefinition;
|
||||
import org.alfresco.service.cmr.dictionary.AssociationDefinition;
|
||||
@@ -73,8 +74,10 @@ public class CMISTypeDefinition implements Serializable
|
||||
private boolean controllable;
|
||||
|
||||
private boolean versionable;
|
||||
|
||||
private boolean includedInSupertypeQuery;
|
||||
|
||||
private ContentStreamAllowed contentStreamAllowed;
|
||||
private CMISContentStreamAllowedEnum contentStreamAllowed;
|
||||
|
||||
private boolean isAssociation;
|
||||
|
||||
@@ -112,7 +115,8 @@ public class CMISTypeDefinition implements Serializable
|
||||
queryable = false;
|
||||
controllable = false;
|
||||
versionable = false;
|
||||
contentStreamAllowed = ContentStreamAllowed.NOT_ALLOWED;
|
||||
includedInSupertypeQuery = true;
|
||||
contentStreamAllowed = CMISContentStreamAllowedEnum.NOT_ALLOWED;
|
||||
isAssociation = true;
|
||||
|
||||
QName sourceType = cmisMapping.getCmisType(associationDefinition.getSourceClass().getName());
|
||||
@@ -150,7 +154,8 @@ public class CMISTypeDefinition implements Serializable
|
||||
queryable = false;
|
||||
controllable = false;
|
||||
versionable = false;
|
||||
contentStreamAllowed = ContentStreamAllowed.NOT_ALLOWED;
|
||||
includedInSupertypeQuery = true;
|
||||
contentStreamAllowed = CMISContentStreamAllowedEnum.NOT_ALLOWED;
|
||||
isAssociation = true;
|
||||
}
|
||||
break;
|
||||
@@ -197,6 +202,8 @@ public class CMISTypeDefinition implements Serializable
|
||||
|
||||
versionable = false;
|
||||
|
||||
includedInSupertypeQuery = true;
|
||||
|
||||
if (typeId.getScope() == CMISScope.DOCUMENT)
|
||||
{
|
||||
List<AspectDefinition> defaultAspects = typeDefinition.getDefaultAspects();
|
||||
@@ -212,11 +219,11 @@ public class CMISTypeDefinition implements Serializable
|
||||
|
||||
if (typeId.getScope() == CMISScope.DOCUMENT)
|
||||
{
|
||||
contentStreamAllowed = ContentStreamAllowed.ALLOWED;
|
||||
contentStreamAllowed = CMISContentStreamAllowedEnum.ALLOWED;
|
||||
}
|
||||
else
|
||||
{
|
||||
contentStreamAllowed = ContentStreamAllowed.NOT_ALLOWED;
|
||||
contentStreamAllowed = CMISContentStreamAllowedEnum.NOT_ALLOWED;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -270,6 +277,15 @@ public class CMISTypeDefinition implements Serializable
|
||||
return parentTypeId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the root type id
|
||||
* @return - the root type id
|
||||
*/
|
||||
public CMISTypeId getRootTypeId()
|
||||
{
|
||||
return objectTypeId.getRootTypeId();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the sql table name for the root type of this type This will be getObjectTypeQueryName() for the base folder,
|
||||
* document or association
|
||||
@@ -331,6 +347,16 @@ public class CMISTypeDefinition implements Serializable
|
||||
{
|
||||
return controllable;
|
||||
}
|
||||
|
||||
/**
|
||||
* Are objects of this type included in super type queries
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean isIncludedInSupertypeQuery()
|
||||
{
|
||||
return includedInSupertypeQuery;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is this type versionable? If true this implies all instances of the type are versionable.
|
||||
@@ -347,7 +373,7 @@ public class CMISTypeDefinition implements Serializable
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public ContentStreamAllowed getContentStreamAllowed()
|
||||
public CMISContentStreamAllowedEnum getContentStreamAllowed()
|
||||
{
|
||||
return contentStreamAllowed;
|
||||
}
|
||||
|
@@ -1,30 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 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
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program 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 General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* 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
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.dictionary;
|
||||
|
||||
public enum CMISUpdatability
|
||||
{
|
||||
READ_ONLY, READ_AND_WRITE, READ_AND_WRITE_WHEN_CHECKED_OUT;
|
||||
}
|
@@ -1,34 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 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
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program 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 General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* 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
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.dictionary;
|
||||
|
||||
/**
|
||||
* @author andyh
|
||||
*
|
||||
*/
|
||||
public enum ContentStreamAllowed
|
||||
{
|
||||
NOT_ALLOWED, ALLOWED, REQUIRED;
|
||||
}
|
Reference in New Issue
Block a user