public void TestFilterEvaluationFailure() { FilterCondition parentDirectoryCondition = new FilterCondition(FileMetaAttributesStringConstants.FileMetaAttributeParentDirectory, FileFilterOperator.Equals, @"C:\Projects\Classifier\findfilesutil\Trunk\src\KMPAlgorithmTestRunner\KMPAlgorithmTestRunner\TestData", FilterAttributeDataType.String); FilterCondition fileExtensionFilterCondition = new FilterCondition(FileMetaAttributesStringConstants.FileMetaAttributeFileExtension, FileFilterOperator.Equals, "xls", FilterAttributeDataType.String); List<FilterCondition> filterConditions = new List<FilterCondition>(); filterConditions.Add(parentDirectoryCondition); filterConditions.Add(fileExtensionFilterCondition); //Get information about a test file and then create a dummy filter condition based on the //file attribites of the test file FileInfo fileInfo = new FileInfo(@"C:\Projects\Classifier\findfilesutil\Trunk\src\KMPAlgorithmTestRunner\KMPAlgorithmTestRunner\TestData\Microsoft.txt"); FilterCondition fileCreateCondition = new FilterCondition(FileMetaAttributesStringConstants.FileMetaAttributeCreationTime, FileFilterOperator.Equals, fileInfo.CreationTime.Ticks.ToString(), FilterAttributeDataType.Long); FileMetaAttributes fileAttributes = new FileMetaAttributes(fileInfo.DirectoryName, fileInfo.CreationTime.Ticks, fileInfo.LastWriteTime.Ticks, fileInfo.Length, fileInfo.Extension, @"HORNET\\prahaladd"); filterConditions.Add(fileCreateCondition); FileMetaAttributeFilter fileFilter = new FileMetaAttributeFilter(filterConditions); FileFilterEvaluator filterEvaluator = new FileFilterEvaluator(fileFilter, fileAttributes); bool result = filterEvaluator.EvaluateFilter(); Assert.IsFalse(result); }
public static FileMetaAttributes GetFileMetaAttributes(string fileName) { long fileCreationDate = File.GetCreationTime(fileName).Ticks; long fileModificationDate = File.GetLastAccessTime(fileName).Ticks; FileInfo fileInfo = new FileInfo(fileName); long fileSize = fileInfo.Length; string fileExtension = fileInfo.Extension; //obtain the owner of the file. FileSecurity fileSecurity = File.GetAccessControl(fileName); Type securityPrincipalType = Type.GetType("System.Security.Principal.SecurityIdentifier"); string fileOwner = fileSecurity.GetOwner(securityPrincipalType).Value; //create the file meta attributes FileMetaAttributes metaAttributes = new FileMetaAttributes(GetParentDirectoryForFile(fileName), fileCreationDate, fileModificationDate,fileSize,fileExtension, fileOwner); return metaAttributes; }
public static bool EvaluateMetaAttributeFilters(FileMetaAttributes fileAttributes, FileMetaAttributeFilter filter) { FileFilterEvaluator filterEvaluator = new FileFilterEvaluator(filter,fileAttributes); return filterEvaluator.EvaluateFilter(); }
public IndexRecord(string fileName, List<Int32> occurencePositions, FileMetaAttributes fileMetaAttributes) { _fileName = fileName; _occurencePositions = occurencePositions; _fileMetaAttributes = fileMetaAttributes; }
/// <summary> /// Creates an instance of a file filter evaluator /// </summary> /// <param name="fileFilter">The file filter to be evaluated</param> /// <param name="fileAttributes">The attributes of the file against which the filter will be evaluated</param> public FileFilterEvaluator(FileMetaAttributeFilter fileFilter, FileMetaAttributes fileAttributes) { _fileFilter = fileFilter; _fileAttributes = fileAttributes; }