public void testAddingObjectWithAllVersions() { if (!isCapabilityMultifilingEnabled()) { Assert.Skip("Multi-Filing capability is not supported"); } if (!isVersioningAllowed()) { Assert.Skip("Versioning is not supported for " + getAndAssertDocumentTypeId() + " Document Type"); } MultifiledObject document = createAndAssertMultifilledDocument(getAndAssertRootFolder(), 5); string versionedMultiFilledDocument = createAndAssertVersionedDocument(document.DocumentObject.ObjectId, 5, true); FileableObject folder = createAndAssertFolder(getAndAssertRootFolder()); cmisExtensionType extensions = new cmisExtensionType(); multifilingServiceClient.addObjectToFolder(getAndAssertRepositoryId(), document.DocumentObject.ObjectId, folder.ObjectId, true, ref extensions); cmisObjectInFolderListType children = getAndAssertChildren(folder.ObjectId, "*", null, 10L, 0L, null); if (!isVersionSpecificFiling()) { logger.log("Children were received. Version Specific Filing is not supported. 5 Versions were created for document"); Assert.AreEqual(1, children.objects.Length, "Amount of Children more than 1"); } else { logger.log("Children were received. Version Specific Filing is supported. 5 Versions were created for document"); Assert.IsTrue((6 == children.objects.Length), "Amount of Children is not equal to 6"); } deleteAndAssertObject(versionedMultiFilledDocument, true); deleteAndAssertObject(folder, false); foreach (CmisObject parent in document.Parents) { deleteAndAssertObject(parent, false); } }
public getChildrenResponse GetChildren(getChildrenRequest request) { var resultList = new cmisObjectInFolderListType(); var repository = ModelHelper.GetRepository(request.repositoryId); IEnumerable <Kooboo.CMS.Content.Models.TextFolder> childFolders = null; if (request.folderId == "/") { childFolders = _textFolderManager.All(repository, null); } else { var textFolder = ModelHelper.GetTextFolder(request.repositoryId, request.folderId); childFolders = _textFolderManager.ChildFolders(textFolder); } resultList.numItems = childFolders.Count().ToString(); var skipCount = 0; if (!string.IsNullOrEmpty(request.skipCount)) { skipCount = request.skipCount.As <int>(); } childFolders = childFolders.Skip(skipCount); if (string.IsNullOrEmpty(request.maxItems)) { var maxItems = request.maxItems.As <int>(); childFolders = childFolders.Take(maxItems); } resultList.objects = childFolders.Select(it => ToPathedCmisObject(it) /*ToPathedCmisObject(it)*/).ToArray(); return(new getChildrenResponse(resultList)); }
public void getAndAssertChildren(ObjectsHierarchy hierarchy, string filter, int skipCount, int maxItems, RenditionData renditionData) { string[] foldersIds = hierarchy.FolderIds.ToArray(); string[] documentsIds = hierarchy.DocumentIds.ToArray(); string[] allCreatedObjectsIds = hierarchy.toIdsArray(); string rootFolderId = hierarchy.RootFolder.ObjectId; cmisObjectInFolderListType children = getAndAssertChildren(rootFolderId, filter, null, maxItems, skipCount, renditionData != null ? renditionData.getFilter() : null); cmisObjectType[] childrenObjects = new cmisObjectType[children.objects.Length]; for (int i = 0; i < children.objects.Length; ++i) { childrenObjects[i] = children.objects[i] != null ? children.objects[i].@object : null; } if (maxItems > 0) { int resultCount = (skipCount + maxItems) < allCreatedObjectsIds.Length ? maxItems : allCreatedObjectsIds.Length - skipCount; Assert.IsTrue(resultCount == childrenObjects.Length, "Count of returned items doesn't equal to expected count"); } else { assertObjectsByType(enumTypesOfFileableObjects.any, documentsIds, foldersIds, allCreatedObjectsIds, childrenObjects); } foreach (cmisObjectType cmisObject in childrenObjects) { assertObjectProperties(cmisObject.properties, filter); if (renditionData != null) { assertRenditions(cmisObject, renditionData.getFilter(), renditionData.getExpectedKinds(), renditionData.getExpectedMimetypes()); } } logger.log("Children were successfully received"); logger.log(""); }
public static void Main(string[] args) { initialize(); cmisRepositoryEntryType[] repositories = repositoryService.getRepositories(null); string repositoryId = repositories[0].repositoryId; Console.WriteLine("Repositories description were received. Repositories amount: '" + repositories.Length + "'. First Repository Id='" + repositoryId + "'."); string rootFolder = repositoryService.getRepositoryInfo(repositoryId, null).rootFolderId; Console.WriteLine("Root folder Id='" + rootFolder + "'.\n"); Console.WriteLine("Trying to get RepositoryInfo for the first repository:"); cmisRepositoryInfoType repositoryInfo = repositoryService.getRepositoryInfo(repositoryId, null); Console.WriteLine("Repository info was received, name='" + repositoryInfo.repositoryName + "'.\n"); try { Console.WriteLine("Actual Reaction of ObjectService.getProperties() service method with invalid Object Id:"); objectService.getProperties(repositoryId, "Invalid Object Id", "*", null); Console.WriteLine(INVALID_REACTION_MESSAGE); } catch (FaultException <cmisFaultType> e) { Console.WriteLine("Expected error was returned. Message: " + e.Message + "\n"); } cmisObjectInFolderListType childrenResponse = null; try { Console.WriteLine("Trying to receive the first 20 Children of Root Folder..."); childrenResponse = navigationService.getChildren(repositoryId, rootFolder, "*", null, false, enumIncludeRelationships.none, null, false, "20", "0", null); } catch (FaultException <cmisFaultType> e) { Console.WriteLine("Can't receive children of Root Folder. Cause error message: " + e.Message); } if (null != childrenResponse && null != childrenResponse.objects) { Console.WriteLine("Children of Root Folder were received."); Console.WriteLine("Total amount: '" + childrenResponse.numItems + "'"); Console.WriteLine("Received: '" + childrenResponse.objects.Length + "'"); Console.WriteLine("Has More Items='" + childrenResponse.hasMoreItems + "'"); Console.WriteLine("Root folder listing: "); foreach (cmisObjectInFolderType cmisObject in childrenResponse.objects) { if (null != cmisObject && null != cmisObject.@object) { cmisProperty nameProperty = searchForProperty([email protected], "cmis:name"); cmisProperty baseTypeProperty = searchForProperty([email protected], "cmis:baseTypeId"); Console.WriteLine((("[" + getPropertyValue(baseTypeProperty) + "] ")) + getPropertyValue(nameProperty) + "'"); } } } }
public void testPathSegments() { string folderId = createAndAssertFolder(getAndAssertRootFolder()).ObjectId; string documentId = createAndAssertObject(folderId, enumVersioningState.none).ObjectId; logger.log("[NavigationService->getChildren]"); cmisObjectInFolderListType childrenResponse = navigationServiceClient.getChildren(getAndAssertRepositoryId(), getAndAssertRootFolder(), "*", null, false, enumIncludeRelationships.none, null, true, Convert.ToString(MAX_REQUESTED_COUNT), TEXTUAL_ZERO, null); Assert.IsNotNull(childrenResponse.objects != null, "GetChildren response is NULL"); string folderPathSegment = null; foreach (cmisObjectInFolderType objectInFolder in childrenResponse.objects) { Assert.IsNotNull(objectInFolder, "CmisObjectInFolder is NULL"); Assert.IsNotNull(objectInFolder.pathSegment, "pathSegment is NULL"); Assert.IsNotNull(objectInFolder.@object, "CmisObject is NULL"); Assert.IsNotNull([email protected], "Properties are NULL"); if (folderId.Equals((string)searchAndAssertPropertyByName([email protected], OBJECT_IDENTIFIER_PROPERTY, false))) { folderPathSegment = objectInFolder.pathSegment; } } Assert.IsNotNull(folderPathSegment, "pathSegment is NULL"); logger.log("[NavigationService->getObjectParents]"); cmisObjectParentsType[] parentsResponse = navigationServiceClient.getObjectParents(getAndAssertRepositoryId(), documentId, "*", false, enumIncludeRelationships.none, null, true, null); Assert.IsNotNull(parentsResponse, "GetObjectParents response is NULL"); Assert.IsTrue(parentsResponse.Length > 0, "GetObjectParents response is empty"); string documentPathSegment = parentsResponse[0].relativePathSegment; Assert.IsNotNull(documentPathSegment, "pathSegment is NULL"); string folderPath = "/" + folderPathSegment; string documentPath = "/" + folderPathSegment + "/" + documentPathSegment; logger.log("[ObjectService->getObjectByPath]"); cmisObjectType objectByPath = objectServiceClient.getObjectByPath(getAndAssertRepositoryId(), folderPath, OBJECT_IDENTIFIER_PROPERTY, false, enumIncludeRelationships.none, null, null, null, null); Assert.IsNotNull(objectByPath, "GetObjectByPath response is NULL"); Assert.IsNotNull(objectByPath.properties, "Object properties are NULL"); string folderIdByPath = (string)searchAndAssertPropertyByName(objectByPath.properties.Items, OBJECT_IDENTIFIER_PROPERTY, false); Assert.AreEqual(folderId, folderIdByPath, "Returned by path objectId is not equal to expected"); logger.log("[ObjectService->getObjectByPath]"); objectByPath = objectServiceClient.getObjectByPath(getAndAssertRepositoryId(), documentPath, OBJECT_IDENTIFIER_PROPERTY, false, enumIncludeRelationships.none, null, null, null, null); Assert.IsNotNull(objectByPath, "GetObjectByPath response is NULL"); Assert.IsNotNull(objectByPath.properties, "Object properties are NULL"); string documentIdByPath = (string)searchAndAssertPropertyByName(objectByPath.properties.Items, OBJECT_IDENTIFIER_PROPERTY, false); Assert.AreEqual(documentId, documentIdByPath, "Returned by path objectId is not equal to expected"); logger.log("[NavigationService->getDescedants]"); cmisObjectInFolderContainerType[] descendantsResponse = navigationServiceClient.getDescendants(getAndAssertRepositoryId(), folderId, "2", ANY_PROPERTY_FILTER, false, enumIncludeRelationships.none, null, true, null); Assert.IsNotNull(descendantsResponse, "GetDescendants response is NULL"); foreach (cmisObjectInFolderContainerType objectInFolderContainer in descendantsResponse) { Assert.IsNotNull(objectInFolderContainer, "CmisObjectInFolderContainer is NULL"); Assert.IsNotNull(objectInFolderContainer.objectInFolder, "CmisObjectInFolder is NULL"); Assert.IsNotNull(objectInFolderContainer.objectInFolder.pathSegment, "pathSegment is NULL"); Assert.IsNotNull(objectInFolderContainer.objectInFolder.@object, "CmisObject is NULL"); if (documentId.Equals((string)searchAndAssertPropertyByName([email protected], OBJECT_IDENTIFIER_PROPERTY, false))) { Assert.AreEqual(documentPathSegment, objectInFolderContainer.objectInFolder.pathSegment, "Returned by path objectId is not equal to expected"); } } }