CmisSync.Lib.Storage.Database.MetaDataStorage.GetObjectTree C# (CSharp) Method

GetObjectTree() public method

Gets the tree of mapped objects.
public GetObjectTree ( ) : IObjectTree
return IObjectTree
        public IObjectTree<IMappedObject> GetObjectTree() {
            MappedObject root = null;
            List<MappedObject> objects = new List<MappedObject>();
            using(var tran = this.engine.GetTransaction()) {
                foreach (var row in tran.SelectForward<string, DbCustomSerializer<MappedObject>>(MappedObjectsTable)) {
                    var value = row.Value;
                    if (value == null) {
                        continue;
                    }

                    var data = value.Get;
                    if (data == null) {
                        continue;
                    }

                    if (data.ParentId == null) {
                        root = data;
                    } else {
                        objects.Add(data);
                    }
                }
            }

            if (root == null) {
                return null;
            }

            return this.GetSubTree(objects, root);
        }

Usage Example

Exemplo n.º 1
0
        public void GetObjectTreeReturnsOneItemWithEmptyChildrenList([Values(true, false)]bool withValidation) {
            var storage = new MetaDataStorage(this.engine, Mock.Of<IPathMatcher>(), withValidation);
            var rootFolder = new MappedObject("name", "rootId", MappedObjectType.Folder, null, "token");
            storage.SaveMappedObject(rootFolder);

            var tree = storage.GetObjectTree();
            Assert.That(tree.Item, Is.EqualTo(rootFolder));
            Assert.That(tree.Children, Is.Empty);
        }
All Usage Examples Of CmisSync.Lib.Storage.Database.MetaDataStorage::GetObjectTree