planetsolutions / pa-core

PlanetArchive Core Services

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

implement the getObjectByPath(...) method declared in cmis service

r-140 opened this issue · comments

commented

default implementation of getObjectByPath method provided by AbstractCmisService class needs to be overridden.
There are two required parameters:
repositoryId - the identifier for the repository
path - the path to the object

path - "/" separated list of folders

List of optional parameters:
filter - a comma-separated list of query names that defines which properties must be returned by the repository
includeAllowableActions - if true, then the repository must return the allowable actions for the object (default is false)
includeRelationships - indicates what relationships in which the object participates must be returned (default is IncludeRelationships.NONE). Possible values: NONE SOURCE, TARGET, BOTH
renditionFilter - indicates what set of renditions the repository must return whose kind matches this filter (default is cmis:none)
includePolicyIds - if true , then the repository must return the policy ids for the object (default is false )
includeAcl - if true , then the repository must return the ACL for the object (default is false)
extension - extension data

Please find cmis spec here

Use cases:

given:
repositoryId
path
when
path is blank
then
Root object returned

given:
repositoryId
path
when
path has incorrect format
then
CmisInvalidArgumentException must be thrown

given:
repositoryId
path
when
repositoryId is not blank
path is not blank and has correct format
then
object found in database by last part of path must be returned or null if object not found

given:
repositoryId
path
when
repositoryId is not blank
path is not blank and has correct format
both folder and document with the same name found
then
document must be returned.

TODO: Add uses cases for optional parameters
CmisInvalidArgumentException must be thrown

commented

the method has been implemented. All changes are in test-reorg branch.