public override AclProcessorStats ChangeAcl()

in AdlsDotNetSDK/MockAdlsFileSystem/MockAdlsClient.cs [1111:1147]


        public override AclProcessorStats ChangeAcl(string path, List<AclEntry> aclEntries, RequestedAclType type, int threadCount = -1)
        {
            int numDirs = 0, numFiles = 0;
            ConcurrentBag<string> sharePath = new ConcurrentBag<string>();
            foreach (var directoryEntriesKey in _directoryEntries.Keys)
            {
                if (directoryEntriesKey.StartsWith(path))
                {
                    switch (type)
                    {
                        case RequestedAclType.ModifyAcl: ModifyAclEntries(_directoryEntries[directoryEntriesKey].Entry.FullName,aclEntries);
                            break;
                        case RequestedAclType.RemoveAcl:
                            RemoveAclEntries(_directoryEntries[directoryEntriesKey].Entry.FullName, aclEntries);
                            break;
                        case RequestedAclType.SetAcl:
                            SetAcl(_directoryEntries[directoryEntriesKey].Entry.FullName, aclEntries);
                            break;
                    }
                    var dirEntry = _directoryEntries[directoryEntriesKey].Entry;
                    if (dirEntry.Type == DirectoryEntryType.DIRECTORY)
                    {
                        if (dirEntry.Attribute != null && dirEntry.Attribute.Contains(DirectoryEntryAttributeType.Link))
                        {
                            sharePath.Add(dirEntry.FullName);
                        }
                        numDirs++;
                    }
                    else
                    {
                        numFiles++;
                    }

                }
            }
            return new AclProcessorStats(numFiles,numDirs, 0, 0, sharePath);
        }