private void getAndAssertDescedansts(enumTypesOfFileableObjects type, int depth, string filter, enumVersioningState versioningState) { FileableObject rootFolder = createAndAssertFolder(getAndAssertRootFolder()); TreeNode <string> objectsTree = createObjectsTree(rootFolder.ObjectId, versioningState, type, FOLDERS_DEPTH, MINIMAL_CHILDREN, MAXIMUM_CHILDREN, depth); getAndAssertDescedansts(rootFolder, objectsTree, type, depth, filter, versioningState, null); objectServiceClient.deleteTree(getAndAssertRepositoryId(), rootFolder.ObjectId, true, enumUnfileObject.delete, true, null); }
private void assertObjectsByType(enumTypesOfFileableObjects type, string[] files, string[] folders, string[] allObjects, cmisObjectType[] actualObjects) { string[] objectsToAssert = null; if (enumTypesOfFileableObjects.any.Equals(type)) { objectsToAssert = allObjects; } else if (enumTypesOfFileableObjects.folders.Equals(type)) { objectsToAssert = folders; } else if (enumTypesOfFileableObjects.documents.Equals(type)) { objectsToAssert = files; } assertObjectCollectionsConsitence(actualObjects, objectsToAssert); }
public ObjectsHierarchy createAndAssertFilesHierarchy(FileableObject rootFolder, int depth, int minimalChildrenAmount, int maximumChildrenAmount, enumTypesOfFileableObjects allowedObjects) { if ((depth <= 0) || (maximumChildrenAmount <= 0) || (minimalChildrenAmount > maximumChildrenAmount)) { logger.log("Invalid linear parameter(s) for Hierarchy were specified. Expected: depth > 0; maximumChildrenAmount > 0; minimalChildrenAmount <= maximumChildrenAmount. Hierarchy can't be created"); return null; } logger.log("Creating objects hierarchy. Depth=" + depth + ", Root Folder Id='" + rootFolder.ObjectId + "', Allowed Objects Type='" + allowedObjects + "'"); ObjectsHierarchy hierarchy = new ObjectsHierarchy(rootFolder, allowedObjects); List<FileableObject> folders = new List<FileableObject>(); folders.Add(rootFolder); Random randomCounter = new Random(); for (int i = 0; i < depth; i++) { List<FileableObject> nextLayerFolders = new List<FileableObject>(); int requiredFolderContainerNumber = randomCounter.Next(folders.Count); int currentObjectNumber = 0; foreach (FileableObject currentLevelFolder in folders) { int maximum = calculateMaximumChildrenAmount(randomCounter, minimalChildrenAmount, maximumChildrenAmount); int foldersMaximum = randomCounter.Next(Convert.ToInt32(Math.Round(Math.Sqrt(maximum))) + 1); foldersMaximum = ((0 >= foldersMaximum) && (i < (depth - 1)) && (currentObjectNumber++ == requiredFolderContainerNumber)) ? (1) : (foldersMaximum); for (int j = 0; j < maximum; j++) { bool folder = (enumTypesOfFileableObjects.folders == allowedObjects) || ((enumTypesOfFileableObjects.any == allowedObjects) && (j < foldersMaximum)); string objectTypeId = (folder) ? (getAndAssertFolderTypeId()) : (getAndAssertDocumentTypeId()); FileableObject currentObject = createAndAssertObject(folder, currentLevelFolder.ObjectId, objectTypeId); hierarchy.tryAddObject(currentObject); if (folder) { nextLayerFolders.Add(currentObject); } } } folders = nextLayerFolders; } logger.log(hierarchy.getObjectsAmount() + " Object(s) were included to Hierarchy successfully"); logger.log(""); return hierarchy; }
public ObjectsHierarchy(FileableObject rootFolder, enumTypesOfFileableObjects allowedObjects) { this.allowedObjects = allowedObjects; hierarchyRootFolder = rootFolder; }
public FileableObject(enumTypesOfFileableObjects objectType, string objectTypeId, string objectParentId) : base(objectType, objectParentId, objectTypeId) { }
public FileableObject(enumTypesOfFileableObjects objectType, string objectParentId, string objectTypeId, cmisPropertiesType objectProperties, System.Nullable<enumVersioningState> initialVersion, bool setContentStreamForcibly) : base(objectType, objectParentId, objectTypeId, objectProperties) { this.initialVersion = initialVersion; this.setContentStreamForcibly = setContentStreamForcibly; }
public FileableObject(enumTypesOfFileableObjects objectType, string objectParentId, string objectTypeId, cmisPropertiesType properties, cmisAccessControlListType addACEs, cmisAccessControlListType removeACEs) : base(objectType, objectParentId, objectTypeId, properties) { this.addACEs = addACEs; this.removeACEs = removeACEs; }
// TODO: <Array> policies // <Array> ACE addACEs // <Array> ACE removeACEs public FileableObject(enumTypesOfFileableObjects objectType, string objectParentId, string objectTypeId, cmisPropertiesType properties) : base(objectType, objectParentId, objectTypeId, properties) { }
public CmisObject(enumTypesOfFileableObjects objectType, string objectParentId, string objectTypeId, cmisPropertiesType objectProperties) : this(objectType, objectParentId, objectTypeId) { this.objectProperties = objectProperties; }
public CmisObject(enumTypesOfFileableObjects objectType, string objectParentId, string objectTypeId) : this(objectType) { this.objectTypeId = objectTypeId; this.objectParentId = objectParentId; }
public CmisObject(enumTypesOfFileableObjects objectType) { this.objectType = objectType; }
protected TreeNode <string> createObjectsTree(string rootFolderId, enumVersioningState documentsInitialVersion, enumTypesOfFileableObjects returnObjectTypes, int depth, int minLayerSize, int maxLayerSize, int returnToLevel) { if (returnToLevel <= 0) { returnToLevel = depth + 1; } Random randomCounter = new Random(); TreeNode <string> root = new TreeNode <string>(rootFolderId, 0); if ((depth <= 0) || (maxLayerSize < 1) || (minLayerSize > maxLayerSize)) { return(root); } Stack <TreeNode <string> > foldersStack = new Stack <TreeNode <string> >(); foldersStack.Push(root); while (foldersStack.Count > 0) { TreeNode <string> element = foldersStack.Pop(); if (element.Level <= depth) { int layerSize = minLayerSize + (int)(randomCounter.NextDouble() * (maxLayerSize - minLayerSize)); int foldersOnLayer = !returnObjectTypes.Equals(enumTypesOfFileableObjects.documents) ? 1 + (int)(randomCounter.NextDouble() * (layerSize - 1)) : 0; int documentsOnLayer = layerSize - foldersOnLayer; if (layerSize > 0 && element.Children == null) { element.Children = new Hashtable(); } for (int i = 0; i < foldersOnLayer; i++) { string newFolderId = createAndAssertFolder(element.Element).ObjectId; TreeNode <string> child = new TreeNode <string>(newFolderId, element.Level + 1); if (element.Level <= returnToLevel && !returnObjectTypes.Equals(enumTypesOfFileableObjects.documents)) { element.Children.Add(newFolderId, child); } if (element.Level < depth - 1) { foldersStack.Push(child); } } for (int i = 0; i < documentsOnLayer; i++) { string newDocumentId = createAndAssertObject(element.Element, documentsInitialVersion).ObjectId; if (element.Level <= returnToLevel && !returnObjectTypes.Equals(enumTypesOfFileableObjects.folders)) { element.Children.Add(newDocumentId, new TreeNode <string>(newDocumentId, element.Level + 1)); } } } } return(root); }
private void getAndAssertDescedansts(FileableObject rootFolder, TreeNode <string> objectsTree, enumTypesOfFileableObjects type, int depth, string filter, enumVersioningState versioningState, RenditionData renditionData) { cmisObjectInFolderContainerType[] returnedObjects = null; if (!enumTypesOfFileableObjects.folders.Equals(type)) { logger.log("Receiving descendants for folder, folderId=" + rootFolder.ObjectId + "',depth='" + depth + "', filter='" + filter + "'"); logger.log("[NavigationService->getDescendants]"); returnedObjects = navigationServiceClient.getDescendants( getAndAssertRepositoryId(), rootFolder.ObjectId, Convert.ToString(depth), filter, false, enumIncludeRelationships.none, renditionData != null ? renditionData.getFilter() : null, false, null); } else { logger.log("Receiving folders tree, folderId=" + rootFolder.ObjectId + "',depth='" + depth + "', filter='" + filter + "'"); logger.log("[NavigationService->getFoldersTree]"); returnedObjects = navigationServiceClient.getFolderTree( getAndAssertRepositoryId(), rootFolder.ObjectId, Convert.ToString(depth), filter, false, enumIncludeRelationships.none, renditionData != null ? renditionData.getFilter() : null, false, null); } Assert.IsNotNull(returnedObjects, "returned ids are null"); assertObjectsTree(returnedObjects, objectsTree); List <cmisObjectInFolderContainerType> objectsList = convertTreeToObjectsList(returnedObjects); foreach (cmisObjectInFolderContainerType cmisObject in objectsList) { Assert.IsNotNull(cmisObject, "CmisObjectInFolderContainer is null"); Assert.IsNotNull(cmisObject.objectInFolder, "CmisObjectInFolder is null"); Assert.IsNotNull(cmisObject.objectInFolder.@object, "CmisObject is null"); assertObjectProperties([email protected], filter); if (renditionData != null) { assertRenditions(cmisObject.objectInFolder.@object, renditionData.getFilter(), renditionData.getExpectedKinds(), renditionData.getExpectedMimetypes()); } } logger.log("Objects were successfully received"); logger.log(""); }