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);
}