private IEnumerable <String> evaluateVariableForFileEntity(OVAL.Definitions.Windows.file_object fileObject, file_object_ItemsChoices fileObjectEntityItem) { var fileObjectEntity = (EntityObjectStringType)fileObject.GetItemValue(fileObjectEntityItem); var evaluatedEntity = this.FilePathVarEvaluator.EvaluateEntityVariable(fileObjectEntity); return(evaluatedEntity == null ? null : evaluatedEntity.Distinct().ToArray()); }
public IEnumerable <ObjectType> ProcessVariables(OVAL.Definitions.Windows.file_object fileObject) { //var fileObject = (file_object)objectType; var variablesFromFilePath = this.evaluateVariableForFileEntity(fileObject, file_object_ItemsChoices.filepath); if ((variablesFromFilePath != null) && (variablesFromFilePath.Count() > 0)) { return(new FileObjectTypeFactory().CreateObjectTypeByCombinationOfEntities(fileObject, variablesFromFilePath, null, null)); } var variablesFromPath = this.evaluateVariableForFileEntity(fileObject, file_object_ItemsChoices.path); var variablesFromFilename = this.evaluateVariableForFileEntity(fileObject, file_object_ItemsChoices.filename); var isTherePath = (variablesFromPath != null) && (variablesFromPath.Count() > 0); if (isTherePath && (variablesFromFilename == null)) { variablesFromFilename = new string[] { "" } } ; return(new FileObjectTypeFactory().CreateObjectTypeByCombinationOfEntities(fileObject, null, variablesFromPath, variablesFromFilename)); }