Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
 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;
 }