Package org.alfresco.opencmis.mapping
Class CMISMapping
java.lang.Object
org.alfresco.opencmis.mapping.CMISMapping
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean
public class CMISMapping
extends Object
implements org.springframework.beans.factory.InitializingBean
CMIS <-> Alfresco mappings. It additionally excludes a list of QNames based on a user defined list
- Author:
- andyh
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic QNamestatic final Stringstatic QNamestatic QNamestatic QNamestatic QNamestatic Stringstatic Stringstatic StringThe Alfresco CMIS Model name.static StringThe Alfresco CMIS Namespacestatic QNameThe QName for the Alfresco CMIS Model.static Stringstatic final StringBasic permissions.static final Stringprotected DictionaryServicestatic QNamestatic QNamestatic QNameprotected NamespaceServicestatic QNamestatic Stringstatic QNamestatic QNamestatic QName -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbuildPrefixEncodedString(QName qname) getAlfrescoClass(QName cmisTypeQName) Given a CMIS model type map it to the appropriate Alfresco type.getAlfrescoDataType(org.apache.chemistry.opencmis.commons.enums.PropertyType propertyType) getAlfrescoName(String typeId) getCmisPropertyId(QName propertyQName) getCmisType(QName typeQName) Given an Alfresco model type map it to the appropriate type.getCmisTypeId(QName classQName) getCmisTypeId(org.apache.chemistry.opencmis.commons.enums.BaseTypeId scope, QName typeQName) Gets the CMIS Type Id given the Alfresco QName for the type in any Alfresco modelorg.apache.chemistry.opencmis.commons.enums.CmisVersionorg.apache.chemistry.opencmis.commons.enums.PropertyTypegetDataType(DataTypeDefinition datatype) Get the CMIS property type for a propertyorg.apache.chemistry.opencmis.commons.enums.PropertyTypegetDataType(QName dataType) getReportedPermissions(String permission, Set<String> permissions, boolean hasFull, boolean isDirect, CMISAccessControlFormatEnum format) getSetPermission(String permission) booleanisExcluded(QName typeQName) booleanisRemappedType(QName typeQName) Is Alfresco Type mapped to an alternative CMIS Type?booleanisValidCmisDocument(QName typeQName) Is this a valid CMIS document type?booleanisValidCmisFolder(QName typeQName) Is this a valid CMIS folder type?booleanisValidCmisItem(QName typeQName) Is this a valid CMIS item type?booleanisValidCmisObject(org.apache.chemistry.opencmis.commons.enums.BaseTypeId scope, QName qname) booleanisValidCmisPolicy(QName typeQName) Is this a valid CMIS policy type?booleanisValidCmisRelationship(QName associationQName) Is an association valid in CMIS?booleanisValidCmisRelationshipEndPoint(QName typeQName) booleanisValidCmisSecondaryType(QName typeQName) Is this a valid CMIS secondary type?voidsetCmisVersion(org.apache.chemistry.opencmis.commons.enums.CmisVersion cmisVersion) voidsetDictionaryService(DictionaryService dictionaryService) voidsetFilter(QNameFilter filter) voidsetNamespaceService(NamespaceService namespaceService)
-
Field Details
-
CMIS_MODEL_NS
The Alfresco CMIS Namespace -
CMIS_MODEL_URI
-
CMIS_EXT_NS
-
CMIS_EXT_URI
-
CMIS_MODEL_NAME
The Alfresco CMIS Model name. -
CMIS_MODEL_QNAME
The QName for the Alfresco CMIS Model. -
CMIS_DATATYPE_ID
-
CMIS_DATATYPE_URI
-
CMIS_DATATYPE_XML
-
CMIS_DATATYPE_HTML
-
OBJECT_QNAME
-
DOCUMENT_QNAME
-
FOLDER_QNAME
-
RELATIONSHIP_QNAME
-
POLICY_QNAME
-
SECONDARY_TYPES_QNAME
-
ASPECTS_QNAME
-
ITEM_QNAME
-
OBJECT_TYPE_ID
-
CMIS_READ
Basic permissions.- See Also:
-
CMIS_WRITE
- See Also:
-
CMIS_ALL
- See Also:
-
dictionaryService
-
namespaceService
-
-
Constructor Details
-
CMISMapping
public CMISMapping()
-
-
Method Details
-
setCmisVersion
public void setCmisVersion(org.apache.chemistry.opencmis.commons.enums.CmisVersion cmisVersion) -
getCmisVersion
public org.apache.chemistry.opencmis.commons.enums.CmisVersion getCmisVersion() -
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean
-
setFilter
-
setDictionaryService
- Parameters:
dictionaryService- dictionaryService
-
setNamespaceService
- Parameters:
namespaceService- service
-
getNamespaceService
- Returns:
- namespaceService
-
getDictionaryService
- Returns:
- dictionaryService
-
isExcluded
-
getCmisTypeId
public String getCmisTypeId(org.apache.chemistry.opencmis.commons.enums.BaseTypeId scope, QName typeQName) Gets the CMIS Type Id given the Alfresco QName for the type in any Alfresco model- Parameters:
scope- BaseTypeIdtypeQName- QName- Returns:
- String
-
getCmisTypeId
-
buildPrefixEncodedString
-
getAlfrescoName
-
isValidCmisObject
public boolean isValidCmisObject(org.apache.chemistry.opencmis.commons.enums.BaseTypeId scope, QName qname) -
isValidCmisFolder
Is this a valid CMIS folder type?- Parameters:
typeQName- QName- Returns:
- boolean
-
isValidCmisDocument
Is this a valid CMIS document type?- Parameters:
typeQName- QName- Returns:
- boolean
-
isValidCmisSecondaryType
Is this a valid CMIS secondary type?- Parameters:
typeQName- QName- Returns:
- boolean
-
isValidCmisPolicy
Is this a valid CMIS policy type?- Parameters:
typeQName- QName- Returns:
- boolean
-
isValidCmisRelationship
Is an association valid in CMIS? It must be a non-child relationship and the source and target must both be valid CMIS types.- Parameters:
associationQName- QName- Returns:
- boolean
-
isValidCmisRelationshipEndPoint
-
isValidCmisItem
Is this a valid CMIS item type?- Parameters:
typeQName- QName- Returns:
- boolean
-
getCmisType
Given an Alfresco model type map it to the appropriate type. Maps cm:folder and cm:content to the CMIS definitions -
isRemappedType
Is Alfresco Type mapped to an alternative CMIS Type? -
getAlfrescoClass
Given a CMIS model type map it to the appropriate Alfresco type.- Parameters:
cmisTypeQName- QName- Returns:
- QName
-
getDataType
public org.apache.chemistry.opencmis.commons.enums.PropertyType getDataType(DataTypeDefinition datatype) Get the CMIS property type for a property- Parameters:
datatype- DataTypeDefinition- Returns:
- PropertyType
-
getDataType
-
getAlfrescoDataType
public QName getAlfrescoDataType(org.apache.chemistry.opencmis.commons.enums.PropertyType propertyType) -
getCmisPropertyId
- Parameters:
propertyQName- QName- Returns:
- String
-
getReportedPermissions
public Collection<Pair<String,Boolean>> getReportedPermissions(String permission, Set<String> permissions, boolean hasFull, boolean isDirect, CMISAccessControlFormatEnum format) -
getSetPermission
- Parameters:
permission- String- Returns:
- permission to set
-