Class CmisWrapper

java.lang.Object
org.alfresco.utility.dsl.DSLWrapper<Client>
org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
org.alfresco.cmis.CmisWrapper
All Implemented Interfaces:
org.alfresco.utility.dsl.DSL<CmisWrapper>, org.alfresco.utility.dsl.DSLContentModelAction<CmisWrapper>, org.alfresco.utility.dsl.DSLFile<CmisWrapper>, org.alfresco.utility.dsl.DSLFolder<CmisWrapper>

@Service @Scope("prototype") public class CmisWrapper extends org.alfresco.utility.dsl.DSLProtocol<CmisWrapper> implements org.alfresco.utility.dsl.DSLContentModelAction<CmisWrapper>, org.alfresco.utility.dsl.DSLFile<CmisWrapper>, org.alfresco.utility.dsl.DSLFolder<CmisWrapper>
  • Field Details

    • LOG

      protected org.slf4j.Logger LOG
    • STEP_PREFIX

      public static String STEP_PREFIX
    • deleteTreeFailedObjects

      public List<String> deleteTreeFailedObjects
  • Constructor Details

    • CmisWrapper

      public CmisWrapper()
  • Method Details

    • authenticateUser

      public CmisWrapper authenticateUser(org.alfresco.utility.model.UserModel userModel)
      Specified by:
      authenticateUser in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
    • authenticateUser

      public CmisWrapper authenticateUser(org.alfresco.utility.model.UserModel userModel, Function<org.alfresco.utility.model.UserModel,Map<String,String>> authParameterProvider)
    • authUserUsingBrowserUrlAndBindingType

      public CmisWrapper authUserUsingBrowserUrlAndBindingType(org.alfresco.utility.model.UserModel userModel, String urlPath, String bindingType)
    • getAuthParameterProviderFactory

      public AuthParameterProviderFactory getAuthParameterProviderFactory()
    • disconnect

      public CmisWrapper disconnect()
      Specified by:
      disconnect in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
    • buildPath

      public String buildPath(String parent, String... paths)
      Overrides:
      buildPath in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
    • getSession

      public org.apache.chemistry.opencmis.client.api.Session getSession()
      Get the current session
      Returns:
      Session
    • createFile

      public CmisWrapper createFile(org.alfresco.utility.model.FileModel fileModel)
      Specified by:
      createFile in interface org.alfresco.utility.dsl.DSLFile<CmisWrapper>
    • createFile

      public CmisWrapper createFile(org.alfresco.utility.model.FileModel fileModel, org.apache.chemistry.opencmis.commons.enums.VersioningState versioningState)
      Create a new file
      Parameters:
      fileModel - FileModel file model to be created
      versioningState - VersioningState
      Returns:
      CmisWrapper
    • createFile

      public CmisWrapper createFile(org.alfresco.utility.model.FileModel fileModel, String cmisBaseTypeId, org.apache.chemistry.opencmis.commons.enums.VersioningState versioningState)
      Create a new file
      Parameters:
      fileModel - FileModel file model to be created
      cmisBaseTypeId - base type id (e.g. 'cmis:document')
      versioningState - VersioningState
      Returns:
      CmisWrapper
    • createFile

      public CmisWrapper createFile(org.alfresco.utility.model.FileModel fileModel, Map<String,Object> properties, org.apache.chemistry.opencmis.commons.enums.VersioningState versioningState)
    • createFileFromSource

      public CmisWrapper createFileFromSource(org.alfresco.utility.model.FileModel newfileModel, org.alfresco.utility.model.ContentModel sourceFileModel)
      Create new file from existing one (that was set in last resource)
      Parameters:
      newfileModel - FileModel file model to be created
      sourceFileModel - ContentModel source file model
      Returns:
      CmisWrapper
    • createFileFromSource

      public CmisWrapper createFileFromSource(org.alfresco.utility.model.FileModel newfileModel, org.alfresco.utility.model.ContentModel sourceFileModel, String cmisBaseTypeId)
      Create new file from existing one with versioning state set to Major(that was set in last resource)
      Parameters:
      newfileModel - FileModel file model to be created
      sourceFileModel - ContentModel source file model
      cmisBaseTypeId - base type id (e.g. 'cmis:document')
      Returns:
      CmisWrapper
    • createFileFromSource

      public CmisWrapper createFileFromSource(org.alfresco.utility.model.FileModel newfileModel, org.alfresco.utility.model.ContentModel sourceFileModel, org.apache.chemistry.opencmis.commons.enums.VersioningState versioningState)
      Create new file from existing one (that was set in last resource)
      Parameters:
      newfileModel - FileModel file model to be created
      sourceFileModel - ContentModel source file model
      versioningState - version(e.g. 'VersioningState.MAJOR')
      Returns:
      CmisWrapper
    • createFileFromSource

      public CmisWrapper createFileFromSource(org.alfresco.utility.model.FileModel newfileModel, org.alfresco.utility.model.ContentModel sourceFileModel, String cmisBaseTypeId, org.apache.chemistry.opencmis.commons.enums.VersioningState versioningState)
      Create new file from existing one (that was set in last resource)
      Parameters:
      newfileModel - FileModel file model to be created
      sourceFileModel - ContentModel source file model
      cmisBaseTypeId - base type id (e.g. 'cmis:document')
      versioningState - (e.g. 'VersioningState.MAJOR')
      Returns:
      CmisWrapper
    • createFolder

      public CmisWrapper createFolder(org.alfresco.utility.model.FolderModel folderModel)
      Specified by:
      createFolder in interface org.alfresco.utility.dsl.DSLFolder<CmisWrapper>
    • createFolder

      public CmisWrapper createFolder(org.alfresco.utility.model.FolderModel folderModel, String cmisBaseTypeId)
    • createFolder

      public CmisWrapper createFolder(org.alfresco.utility.model.FolderModel folderModel, Map<String,Object> properties)
    • deleteFolderTree

      public CmisWrapper deleteFolderTree()
      Deletes this folder and all subfolders with all versions and continue on failure
      Returns:
      current wrapper
    • deleteFolderTree

      public CmisWrapper deleteFolderTree(boolean allVersions, org.apache.chemistry.opencmis.commons.enums.UnfileObject unfile, boolean continueOnFailure)
      Deletes this folder and all subfolders with specific parameters
      Parameters:
      allVersions -
      unfile - UnfileObject
      continueOnFailure -
      Returns:
      current wrapper
    • getRootPath

      public String getRootPath() throws org.alfresco.utility.exception.TestConfigurationException
      Specified by:
      getRootPath in interface org.alfresco.utility.dsl.DSL<CmisWrapper>
      Specified by:
      getRootPath in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
      Throws:
      org.alfresco.utility.exception.TestConfigurationException
    • getSitesPath

      public String getSitesPath() throws org.alfresco.utility.exception.TestConfigurationException
      Specified by:
      getSitesPath in interface org.alfresco.utility.dsl.DSL<CmisWrapper>
      Specified by:
      getSitesPath in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
      Throws:
      org.alfresco.utility.exception.TestConfigurationException
    • getUserHomesPath

      public String getUserHomesPath() throws org.alfresco.utility.exception.TestConfigurationException
      Specified by:
      getUserHomesPath in interface org.alfresco.utility.dsl.DSL<CmisWrapper>
      Specified by:
      getUserHomesPath in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
      Throws:
      org.alfresco.utility.exception.TestConfigurationException
    • getDataDictionaryPath

      public String getDataDictionaryPath() throws org.alfresco.utility.exception.TestConfigurationException
      Specified by:
      getDataDictionaryPath in interface org.alfresco.utility.dsl.DSL<CmisWrapper>
      Specified by:
      getDataDictionaryPath in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
      Throws:
      org.alfresco.utility.exception.TestConfigurationException
    • getSharedPath

      public String getSharedPath() throws org.alfresco.utility.exception.TestConfigurationException
      Throws:
      org.alfresco.utility.exception.TestConfigurationException
    • usingSite

      public CmisWrapper usingSite(String siteId)
      Specified by:
      usingSite in interface org.alfresco.utility.dsl.DSL<CmisWrapper>
      Specified by:
      usingSite in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
    • usingSite

      public CmisWrapper usingSite(org.alfresco.utility.model.SiteModel siteModel)
      Specified by:
      usingSite in interface org.alfresco.utility.dsl.DSL<CmisWrapper>
      Specified by:
      usingSite in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
    • usingUserHome

      public CmisWrapper usingUserHome(String username)
      Specified by:
      usingUserHome in interface org.alfresco.utility.dsl.DSL<CmisWrapper>
      Specified by:
      usingUserHome in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
    • usingUserHome

      public CmisWrapper usingUserHome()
      Specified by:
      usingUserHome in interface org.alfresco.utility.dsl.DSL<CmisWrapper>
      Specified by:
      usingUserHome in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
    • usingShared

      public CmisWrapper usingShared()
    • usingResource

      public CmisWrapper usingResource(org.alfresco.utility.model.ContentModel model)
      Specified by:
      usingResource in interface org.alfresco.utility.dsl.DSL<CmisWrapper>
      Specified by:
      usingResource in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
    • getProtocolJMXConfigurationStatus

      protected String getProtocolJMXConfigurationStatus()
      Specified by:
      getProtocolJMXConfigurationStatus in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
    • getPrefixSpace

      public String getPrefixSpace()
      Specified by:
      getPrefixSpace in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
    • rename

      public CmisWrapper rename(String newName)
      Specified by:
      rename in interface org.alfresco.utility.dsl.DSLContentModelAction<CmisWrapper>
    • update

      public CmisWrapper update(String content)
      Specified by:
      update in interface org.alfresco.utility.dsl.DSLContentModelAction<CmisWrapper>
    • update

      public CmisWrapper update(String content, boolean isLastChunk)
    • updateProperty

      public CmisWrapper updateProperty(String property, Object value)
      Update the properties of the last resource ContentModel. Example updateProperty("cmis:name", "test1234")
      Parameters:
      property -
      value -
      Returns:
    • delete

      public CmisWrapper delete()
      Specified by:
      delete in interface org.alfresco.utility.dsl.DSLContentModelAction<CmisWrapper>
    • deleteAllVersions

      public CmisWrapper deleteAllVersions(boolean allVersions)
      Deletes all versions if parameter is set to true, otherwise deletes only last version
      Parameters:
      allVersions -
      Returns:
    • deleteContent

      public CmisWrapper deleteContent()
      Delete content stream
      Returns:
    • deleteContent

      public CmisWrapper deleteContent(boolean refresh)
      Delete content stream and refresh document
      Parameters:
      refresh - boolean refresh resource
      Returns:
    • setContent

      public CmisWrapper setContent(String content, boolean overwrite)
      Set the content stream for a document
      Parameters:
      content - String content to set
      overwrite -
      Returns:
    • setContent

      public CmisWrapper setContent(String content)
      Set the content stream for a document with overwrite set to TRUE
      Parameters:
      content -
      Returns:
    • createRelationshipWith

      public CmisWrapper createRelationshipWith(org.alfresco.utility.model.ContentModel targetContent)
      Create a 'R:cm:basis' relationship between a source document and a target document
      Parameters:
      targetContent -
      Returns:
    • createRelationshipWith

      public CmisWrapper createRelationshipWith(org.alfresco.utility.model.ContentModel targetContent, String relationType)
      Create relationship between a source document and a target document
      Parameters:
      targetContent - ContentModel
      relationType -
      Returns:
    • addDocumentToFolder

      public CmisWrapper addDocumentToFolder(org.alfresco.utility.model.FolderModel destination, boolean allVersions)
      Method allows you to file a document object in more than one folder.
      Parameters:
      destination - - the destination folder to which this document will be added
      allVersions - - if this parameter is true, then all versions of the document will be added to the destination folder
      Returns:
    • removeDocumentFromFolder

      public CmisWrapper removeDocumentFromFolder(org.alfresco.utility.model.FolderModel parentFolder)
      Method allows you to remove a document object from the given folder.
      Parameters:
      parentFolder - - the folder from which this object should be removed
      Returns:
    • getFolders

      public List<org.alfresco.utility.model.FolderModel> getFolders()
      Get child folders from a parent folder
      Specified by:
      getFolders in interface org.alfresco.utility.dsl.DSLFolder<CmisWrapper>
      Returns:
      List
    • getFiles

      public List<org.alfresco.utility.model.FileModel> getFiles()
      Get child documents from a parent folder
      Specified by:
      getFiles in interface org.alfresco.utility.dsl.DSLFile<CmisWrapper>
      Returns:
      List
    • copyTo

      public CmisWrapper copyTo(org.alfresco.utility.model.ContentModel destination)
      Specified by:
      copyTo in interface org.alfresco.utility.dsl.DSLContentModelAction<CmisWrapper>
    • moveTo

      public CmisWrapper moveTo(org.alfresco.utility.model.ContentModel destination)
      Specified by:
      moveTo in interface org.alfresco.utility.dsl.DSLContentModelAction<CmisWrapper>
    • getRepositoryInfo

      public org.apache.chemistry.opencmis.commons.data.RepositoryInfo getRepositoryInfo()
    • getAclCapabilities

      public org.apache.chemistry.opencmis.commons.data.AclCapabilities getAclCapabilities()
    • checkOut

      public CmisWrapper checkOut()
      Checks out the document
    • cancelCheckOut

      public CmisWrapper cancelCheckOut()
      If this is a PWC (private working copy) the check out will be reversed.
    • prepareDocumentForCheckIn

      public CheckIn prepareDocumentForCheckIn()
      Starts the process to check in a document
    • refreshResource

      public CmisWrapper refreshResource()
      Reloads the resource from the repository
    • withCMISUtil

      public CmisUtil withCMISUtil()
      Returns:
      utilities that are used by CMIS
    • withJMX

      public JmxUtil withJMX()
      Returns:
      JMX DSL for this wrapper
    • assertThat

      public CmisAssertion assertThat()
      Overrides:
      assertThat in class org.alfresco.utility.dsl.DSLProtocol<CmisWrapper>
    • usingVersion

      public DocumentVersioning usingVersion()
      Starts the process to work with a version of a document
    • addAcl

      public CmisWrapper addAcl(org.alfresco.utility.model.UserModel user, org.alfresco.utility.constants.UserRole role, org.apache.chemistry.opencmis.commons.enums.AclPropagation aclPropagation)
      Add new permission for user
      Parameters:
      user - UserModel user
      role - UserRole role to add
      aclPropagation - AclPropagation propagation
      Returns:
    • addAcl

      public CmisWrapper addAcl(org.alfresco.utility.model.GroupModel group, org.alfresco.utility.constants.UserRole role, org.apache.chemistry.opencmis.commons.enums.AclPropagation aclPropagation)
      Add new permission for a group
      Parameters:
      group - GroupModel group
      role - UserRole role to add
      aclPropagation - AclPropagation propagation
      Returns:
    • addAcl

      public CmisWrapper addAcl(org.alfresco.utility.model.GroupModel group, org.alfresco.utility.constants.UserRole role)
      Add new permission for a group
      Parameters:
      group - GroupModel group
      role - UserRole role to add
      Returns:
    • addAcl

      public CmisWrapper addAcl(org.alfresco.utility.model.UserModel user, String... permissions)
      Add new permissions to user
      Parameters:
      user - UserModel
      permissions - to add (PermissionMapping can be used)
      Returns:
    • addAcl

      public CmisWrapper addAcl(org.alfresco.utility.model.UserModel user, org.alfresco.utility.constants.UserRole role)
      Add new permission for user
      Parameters:
      user - UserModel user
      role - UserRole role to add
      Returns:
    • applyAcl

      public CmisWrapper applyAcl(org.alfresco.utility.model.UserModel user, org.alfresco.utility.constants.UserRole newRole, org.alfresco.utility.constants.UserRole removeRole, org.apache.chemistry.opencmis.commons.enums.AclPropagation aclPropagation)
      Update permission for user. If the role to remove is invalid a CmisConstraintException is thrown.
      Parameters:
      user - UserModel user
      newRole - UserRole new role to add
      removeRole - UserRole remove already added role
      aclPropagation - AclPropagation
      Returns:
    • applyAcl

      public CmisWrapper applyAcl(org.alfresco.utility.model.UserModel user, org.alfresco.utility.constants.UserRole newRole, org.alfresco.utility.constants.UserRole removeRole)
      Update permission for user. If the role to remove is invalid a CmisConstraintException is thrown.
      Parameters:
      user - UserModel user
      newRole - UserRole new role to add
      removeRole - UserRole remove already added role
      Returns:
    • applyAcl

      public CmisWrapper applyAcl(org.alfresco.utility.model.UserModel user, String newPermission, String removePermission)
      Update permission for user. If the permission to remove is invalid a CmisConstraintException is thrown.
      Parameters:
      user - UserModel
      newPermission - permissions to add (PermissionMapping can be used)
      removePermission - permissions to remove (PermissionMapping can be used)
      Returns:
    • removeAcl

      public CmisWrapper removeAcl(org.alfresco.utility.model.UserModel user, org.alfresco.utility.constants.UserRole removeRole, org.apache.chemistry.opencmis.commons.enums.AclPropagation aclPropagation)
      Remove permission from user
      Parameters:
      user - UserModel user
      removeRole - UserRole role to remove
      aclPropagation - AclPropagation
      Returns:
    • removeAcl

      public CmisWrapper removeAcl(org.alfresco.utility.model.UserModel user, org.alfresco.utility.constants.UserRole removeRole)
      Remove permission from user
      Parameters:
      user - UserModel user
      removeRole - UserRole role to remove
      Returns:
    • removeAcl

      public CmisWrapper removeAcl(org.alfresco.utility.model.UserModel user, String permissionToRemove)
    • withQuery

      public QueryExecutor withQuery(String query)
      Pass a string CMIS query, that will be handled by QueryExecutor using Session.query(String, boolean)
      Parameters:
      query -
      Returns:
      QueryExecutor will all DSL assertions on returned restult
    • usingPWCDocument

      public CmisWrapper usingPWCDocument()
      Use this method if the document is checked out. If not CmisVersioningException will be thrown.
      Returns:
    • usingObjectType

      public BaseObjectType usingObjectType(String baseType)
      Parameters:
      baseType -
      Returns:
      the DSL of asserting BaseObject type children for example.
    • createDataList

      public CmisWrapper createDataList(org.alfresco.utility.model.DataListModel dataListModel)
      Create a new data list type
      Parameters:
      dataListModel - DataListModel
      Returns:
    • createDataListItem

      public CmisWrapper createDataListItem(org.alfresco.utility.model.DataListItemModel itemModel)
      Create new data list item
      Parameters:
      itemModel - DataListItemModel
      Returns:
    • attachDocument

      public CmisWrapper attachDocument(org.alfresco.utility.model.ContentModel... contents)
      Attach documents to existent item set in last resource
      Parameters:
      documents - ContentModel list of content to attach
      Returns:
    • assignToUser

      public CmisWrapper assignToUser(org.alfresco.utility.model.UserModel user, String relationType)
      Assign user to existent item set in last resource
      Parameters:
      user - UserModel
      relationType - e.g. R:dl:issueAssignedTo, R:dl:assignee, R:dl:taskAssignee
      Returns:
    • addSecondaryTypes

      public CmisWrapper addSecondaryTypes(String... secondaryTypes)
      Add new secondary types
      Parameters:
      secondaryTypes - e.g. P:cm:effectivity, P:audio:audio, P:cm:dublincore
      Returns: