Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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));
        }