private IEnumerable <String> evaluateVariableForFileEntity(OVAL.Definitions.Unix.file_object fileObject, OVAL.Definitions.Unix.ItemsChoiceType3 fileObjectEntityItem) { var fileObjectEntity = (EntityObjectStringType)fileObject.GetItemValue(fileObjectEntityItem); var evaluatedEntity = this.FilePathVarEvaluator.EvaluateEntityVariable(fileObjectEntity); return(evaluatedEntity == null ? null : evaluatedEntity.Distinct().ToArray()); }
private OVAL.Definitions.Unix.file_object CreateUnixFileObject(EntityObjectStringType filePath, EntityObjectStringType path, EntityObjectStringType fileName) { var fileObject = new OVAL.Definitions.Unix.file_object(); EntityObjectStringType[] items; OVAL.Definitions.Unix.ItemsChoiceType3[] itemChoices; if (filePath != null) { items = new EntityObjectStringType[1]; itemChoices = new OVAL.Definitions.Unix.ItemsChoiceType3[1]; items[0] = filePath; itemChoices[0] = OVAL.Definitions.Unix.ItemsChoiceType3.filepath; } else { items = new EntityObjectStringType[2]; itemChoices = new OVAL.Definitions.Unix.ItemsChoiceType3[2]; items[0] = path; items[1] = fileName; itemChoices[0] = OVAL.Definitions.Unix.ItemsChoiceType3.path; itemChoices[1] = OVAL.Definitions.Unix.ItemsChoiceType3.filename; } fileObject.Items = items; fileObject.ItemsElementName = itemChoices; return(fileObject); }
public IEnumerable <ObjectType> CreateObjectTypeByCombinationOfEntities(OVAL.Definitions.Unix.file_object fileObject, IEnumerable <string> filePaths, IEnumerable <string> paths, IEnumerable <string> fileNames) { var fileObjects = new List <ObjectType>(); if (fileObject.IsFilePathSet()) { fileObjects.AddRange(CreateFileObjectWithFilePath(fileObject, filePaths)); } else { fileObjects.AddRange(this.CreateFileObjectWithoutFilePath(fileObject, paths, fileNames)); } return(fileObjects); }
public IEnumerable <ObjectType> ProcessVariables(OVAL.Definitions.Unix.file_object fileObject) { //var fileObject = (file_object)objectType; var variablesFromFilePath = this.evaluateVariableForFileEntity(fileObject, OVAL.Definitions.Unix.ItemsChoiceType3.filepath); if ((variablesFromFilePath != null) && (variablesFromFilePath.Count() > 0)) { return(new FileObjectTypeFactory().CreateObjectTypeByCombinationOfEntities(fileObject, variablesFromFilePath, null, null)); } var variablesFromPath = this.evaluateVariableForFileEntity(fileObject, OVAL.Definitions.Unix.ItemsChoiceType3.path); var variablesFromFilename = this.evaluateVariableForFileEntity(fileObject, OVAL.Definitions.Unix.ItemsChoiceType3.filename); var isTherePath = (variablesFromPath != null) && (variablesFromPath.Count() > 0) && (variablesFromPath.Where <String>(v => v == null).Count() == 0); if (isTherePath && (variablesFromFilename == null)) { variablesFromFilename = new string[] { "" } } ; return(new FileObjectTypeFactory().CreateObjectTypeByCombinationOfEntities(fileObject, null, variablesFromPath, variablesFromFilename)); }
private OVAL.Definitions.Unix.file_object CreateUnixFileObject(EntityObjectStringType filePath, EntityObjectStringType path, EntityObjectStringType fileName) { var fileObject = new OVAL.Definitions.Unix.file_object(); EntityObjectStringType[] items; OVAL.Definitions.Unix.ItemsChoiceType3[] itemChoices; if (filePath != null) { items = new EntityObjectStringType[1]; itemChoices = new OVAL.Definitions.Unix.ItemsChoiceType3[1]; items[0] = filePath; itemChoices[0] = OVAL.Definitions.Unix.ItemsChoiceType3.filepath; } else { items = new EntityObjectStringType[2]; itemChoices = new OVAL.Definitions.Unix.ItemsChoiceType3[2]; items[0] = path; items[1] = fileName; itemChoices[0] = OVAL.Definitions.Unix.ItemsChoiceType3.path; itemChoices[1] = OVAL.Definitions.Unix.ItemsChoiceType3.filename; } fileObject.Items = items; fileObject.ItemsElementName = itemChoices; return fileObject; }