Esempio n. 1
0
        public void Should_be_possible_to_create_objectTypes_by_combination_of_entities_for_only_one_objectType()
        {
            oval_definitions     definition = new LoadOvalDocument().GetFakeOvalDefinitions("definitionsSimple.xml");
            ObjectType           objecType  = ProbeHelper.GetOvalComponentByOvalID(definition, "oval:modulo:obj:7");
            IEnumerable <string> paths      = new List <string>()
            {
                @"c:\temp"
            };
            IEnumerable <string> fileNames = new List <string>()
            {
                "file.txt"
            };
            IEnumerable <string> trustee_names = new List <string>()
            {
                "Administrator"
            };

            FileEffectiveRightsObjectTypeFactory factory     = new FileEffectiveRightsObjectTypeFactory();
            IEnumerable <ObjectType>             objectTypes = factory.CreateObjectTypeByCombinationOfEntities((fileeffectiverights_object)objecType, paths, fileNames, trustee_names);

            Assert.AreEqual(1, objectTypes.Count());

            fileeffectiverights_object fileEffectiveRights = (fileeffectiverights_object)objectTypes.ElementAt(0);

            Assert.AreEqual(@"c:\temp", ((EntityObjectStringType)fileEffectiveRights.GetItemValue(fileeffectiverights_object_ItemsChoices.path)).Value);
        }
Esempio n. 2
0
        private IEnumerable <string> processVariablesFromEntity(fileeffectiverights_object fileEffectiveRights, fileeffectiverights_object_ItemsChoices itemChoice)
        {
            List <string>          values = new List <string>();
            EntityObjectStringType entity = (EntityObjectStringType)fileEffectiveRights.GetItemValue(itemChoice);

            if (entity != null)
            {
                values.AddRange(this.processVariableForEntity(entity));
            }
            return(values);
        }
        public IEnumerable <ItemType> ProcessOperation(fileeffectiverights_object fileEffectiveRights)
        {
            Dictionary <String, EntityObjectStringType> entities = OvalHelper.GetFileEffectiveRightsFromObjectType(fileEffectiveRights);

            IEnumerable <string> paths      = this.processOperationPath(entities);
            IEnumerable <string> fileNames  = this.processOperationFileName(entities, paths);
            IEnumerable <string> trustNames = this.processOperationTrustName(entities);

            var fileEffectiveRightsItemTypeFactory =
                new FileEffectiveRightsItemTypeFactory(
                    SourceObjectTypes.FileEffectiveRights, (FileEffectiveRightsObjectCollector)systemDataSource);

            return(fileEffectiveRightsItemTypeFactory.CreateFileItemTypesByCombinationOfEntitiesFrom(paths, fileNames, trustNames));
        }
Esempio n. 4
0
        public IEnumerable <ObjectType> CreateObjectTypeByCombinationOfEntities(fileeffectiverights_object fileEffectiveRights, IEnumerable <string> paths, IEnumerable <string> fileNames, IEnumerable <string> trustee_names)
        {
            List <ObjectType> fileEffectiveRightsObjects = new List <ObjectType>();

            foreach (string path in paths)
            {
                foreach (string fileName in fileNames)
                {
                    foreach (string trustee_name in trustee_names)
                    {
                        fileEffectiveRightsObjects.Add(this.CreateObjectTypeFrom(fileEffectiveRights, path, fileName, trustee_name));
                    }
                }
            }

            return(fileEffectiveRightsObjects);
        }
Esempio n. 5
0
        private ObjectType CreateObjectTypeFrom(fileeffectiverights_object fileEffectiveRights, string path, string fileName, string trustee_name)
        {
            EntityObjectStringType fileNameFrom     = (EntityObjectStringType)fileEffectiveRights.GetItemValue(fileeffectiverights_object_ItemsChoices.filename);
            EntityObjectStringType pathFrom         = (EntityObjectStringType)fileEffectiveRights.GetItemValue(fileeffectiverights_object_ItemsChoices.path);
            EntityObjectStringType trustee_nameFrom = (EntityObjectStringType)fileEffectiveRights.GetItemValue(fileeffectiverights_object_ItemsChoices.trustee_name);

            EntityObjectStringType newFileName = entityBaseTypeFactory.CreateEntityBasedOn <EntityObjectStringType>(fileNameFrom);

            newFileName.Value = !string.IsNullOrEmpty(fileName) ? fileName : newFileName.Value;
            EntityObjectStringType newPath = entityBaseTypeFactory.CreateEntityBasedOn <EntityObjectStringType>(pathFrom);

            newPath.Value = !string.IsNullOrEmpty(path) ? path : newPath.Value;
            EntityObjectStringType newTrustee_name = entityBaseTypeFactory.CreateEntityBasedOn <EntityObjectStringType>(trustee_nameFrom);

            newTrustee_name.Value = !string.IsNullOrEmpty(trustee_name) ? trustee_name : newTrustee_name.Value;

            return(this.CreateFileEffectiveRights(newFileName, newPath, newTrustee_name));
        }
Esempio n. 6
0
        public IEnumerable <ObjectType> ProcessVariables(ObjectType objectType)
        {
            List <ObjectType>          fileEffectiveRightObjects = new List <ObjectType>();
            fileeffectiverights_object fileEffectiveRights       = (fileeffectiverights_object)objectType;


            IEnumerable <string> fileNames     = this.processVariablesFromEntity(fileEffectiveRights, fileeffectiverights_object_ItemsChoices.filename);
            IEnumerable <string> paths         = this.processVariablesFromEntity(fileEffectiveRights, fileeffectiverights_object_ItemsChoices.path);
            IEnumerable <string> trustee_names = this.processVariablesFromEntity(fileEffectiveRights, fileeffectiverights_object_ItemsChoices.trustee_name);

            if (this.IsVariablesWasProcessed(fileEffectiveRights, fileNames, paths, trustee_names))
            {
                FileEffectiveRightsObjectTypeFactory factory = new FileEffectiveRightsObjectTypeFactory();
                var objectTypes = factory.CreateObjectTypeByCombinationOfEntities(fileEffectiveRights, paths, fileNames, trustee_names);
                fileEffectiveRightObjects.AddRange(objectTypes);
            }
            return(fileEffectiveRightObjects);
        }
Esempio n. 7
0
        private ObjectType CreateFileEffectiveRights(EntityObjectStringType newFileName, EntityObjectStringType newPath, EntityObjectStringType newTrustee_name)
        {
            List <EntityObjectStringType> items = new List <EntityObjectStringType>();
            List <fileeffectiverights_object_ItemsChoices> choices = new List <fileeffectiverights_object_ItemsChoices>();

            items.Add(newFileName);
            choices.Add(fileeffectiverights_object_ItemsChoices.filename);
            items.Add(newPath);
            choices.Add(fileeffectiverights_object_ItemsChoices.path);
            items.Add(newTrustee_name);
            choices.Add(fileeffectiverights_object_ItemsChoices.trustee_name);

            fileeffectiverights_object newFileEffectiveRights = new fileeffectiverights_object();

            newFileEffectiveRights.Items = items.ToArray();
            newFileEffectiveRights.FileeffectiverightsObjectItemsElementName = choices.ToArray();

            return(newFileEffectiveRights);
        }
Esempio n. 8
0
        private bool IsVariablesWasProcessed(fileeffectiverights_object fileEffectiveRights, IEnumerable <string> fileNames, IEnumerable <string> paths, IEnumerable <string> trustee_names)
        {
            EntitySimpleBaseType path         = (EntitySimpleBaseType)fileEffectiveRights.GetItemValue(fileeffectiverights_object_ItemsChoices.path);
            EntitySimpleBaseType fileName     = (EntitySimpleBaseType)fileEffectiveRights.GetItemValue(fileeffectiverights_object_ItemsChoices.filename);
            EntitySimpleBaseType trustee_name = (EntitySimpleBaseType)fileEffectiveRights.GetItemValue(fileeffectiverights_object_ItemsChoices.trustee_name);
            bool result = true;

            if (!string.IsNullOrEmpty(path.var_ref))
            {
                result = result && ((paths.Count() > 0) && (!string.IsNullOrEmpty(paths.First())));
            }

            if (!string.IsNullOrEmpty(fileName.var_ref))
            {
                result = result && ((fileNames.Count() > 0) && (!string.IsNullOrEmpty(fileNames.First())));
            }

            if (!string.IsNullOrEmpty(trustee_name.var_ref))
            {
                result = result && ((trustee_names.Count() > 0) && (!string.IsNullOrEmpty(trustee_names.First())));
            }

            return(result);
        }
Esempio n. 9
0
        public static Dictionary <String, EntityObjectStringType> GetFileEffectiveRightsFromObjectType(fileeffectiverights_object fileEffectiveRightsObject)
        {
            string fileNameEntityName = fileeffectiverights_object_ItemsChoices.filename.ToString();
            string pathEntityName     = fileeffectiverights_object_ItemsChoices.path.ToString();
            string trusteeEntityName  = fileeffectiverights_object_ItemsChoices.trustee_name.ToString();

            object[] allEntities    = fileEffectiveRightsObject.Items.ToArray();
            string[] allEntityNames = fileEffectiveRightsObject.FileeffectiverightsObjectItemsElementName.Select(i => i.ToString()).ToArray <String>();

            Dictionary <String, EntityObjectStringType> fileEntities = new Dictionary <String, EntityObjectStringType>();

            fileEntities.Add(fileNameEntityName, OvalHelper.GetEntityObjectByName(fileNameEntityName, allEntities, allEntityNames));
            fileEntities.Add(pathEntityName, OvalHelper.GetEntityObjectByName(pathEntityName, allEntities, allEntityNames));
            fileEntities.Add(trusteeEntityName, OvalHelper.GetEntityObjectByName(trusteeEntityName, allEntities, allEntityNames));

            return(fileEntities);
        }