private void AddObjectTypeInList(sc.ObjectType objectType, List <sc.ObjectType> objectTypes) { sc.ObjectType existingObjectType = objectTypes.Where(obj => obj.id == objectType.id).SingleOrDefault(); if (existingObjectType == null) { objectTypes.Add(objectType); } }
private IEnumerable <sc.ObjectType> GetSystemCharacteristicsObjectType(IEnumerable <string> objectReferences) { List <sc.ObjectType> objectTypes = new List <sc::ObjectType>(); foreach (string objectReference in objectReferences) { sc.ObjectType objectType = this.systemCharacteristics.GetCollectedObjectByID(objectReference); if (objectType != null) { objectTypes.Add(objectType); } } return(objectTypes); }
private List <sc.ObjectType> ApplyFilterInObjectType(string filterValue, sc.ObjectType objectType) { List <sc.ObjectType> objectTypesAfterFilter = new List <sc.ObjectType>(); IEnumerable <string> referenceIds = objectType.GetReferenceTypesInString(); foreach (string id in referenceIds) { ItemType itemType = this.systemCharacteristics.GetSystemDataByReferenceId(id); StateType state = this.GetStateById(filterValue); StateTypeComparator comparator = new StateTypeComparator(state, itemType, this.variables); if (!comparator.IsEquals()) { this.AddObjectTypeInList(objectType, objectTypesAfterFilter); } } return(objectTypesAfterFilter); }
private SetResult ExecuteOperationForSetElement(set setElement, IEnumerable <sc.ObjectType> objectTypes) { sc.ObjectType firstObjectType = objectTypes.First(); sc.ObjectType secondObjectType = null; IEnumerable <string> firstReferenceTypes = firstObjectType.GetReferenceTypesInString(); IEnumerable <string> secondReferenceTypes = new List <string>(); FlagEnumeration firstObjectFlag = firstObjectType.flag; FlagEnumeration secondObjectFlag = FlagEnumeration.complete; if (objectTypes.Count() == MAX_NUMBER_OF_OBJECTS_IN_SET) { //the max number to the Object_Reference is 2 (reference: oval_definitions schema) secondObjectType = objectTypes.ElementAt(1); secondReferenceTypes = secondObjectType.GetReferenceTypesInString(); secondObjectFlag = secondObjectType.flag; } SetOperation operation = this.GetOperation(setElement.set_operator); IEnumerable <string> results = operation.Execute(firstReferenceTypes, secondReferenceTypes); FlagEnumeration objectFlag = operation.GetObjectFlag(firstObjectFlag, secondObjectFlag); SetResult result = new SetResult(results, objectFlag); return(result); }
private void AssertCollectedObject(ObjectType collectedObject, string expectedObjectID) { Assert.IsNotNull(collectedObject); Assert.AreEqual(expectedObjectID, collectedObject.id); var referencedItem = collectedObject.reference; Assert.IsNotNull(referencedItem); Assert.AreEqual(1, referencedItem.Count()); }
public CollectedObject(string componentOvalID) { this.objectType = new ObjectType() { id = componentOvalID, flag = FlagEnumeration.notcollected, version = "1" }; referenceTypeList = new List<ReferenceType>(); }
/// <summary> /// This method returns the CollectedObjects from the ProbeResult. /// </summary> /// <param name="probeResult">The probe result.</param> /// <returns></returns> private ObjectType[] GetCollectedObjects(ProbeResult probeResult) { ObjectType[] objectTypes = new ObjectType[probeResult.CollectedObjects.Count()]; for(int i = 0; i <= (probeResult.CollectedObjects.Count() - 1); i++) { CollectedObject collectedObject = probeResult.CollectedObjects.ElementAt(i); objectTypes[i] = collectedObject.ObjectType; } return objectTypes; }
/// <summary> /// Sets the type of the reference types in the objectType. /// </summary> /// <param name="itemTypes">the item types of system characteristics.</param> /// <param name="itemsCache">The items cache is the list of item already created.</param> /// <param name="sourceObjectType">Type of the source object.</param> private void SetReferenceTypesInTheObjectType(IList<ItemType> itemTypes, Dictionary<String, ItemType> itemsCache, ObjectType sourceObjectType) { if (sourceObjectType.reference != null) { for (int j = 0; j <= (sourceObjectType.reference.Count() - 1); j++) { string sourceReferenceItemId = sourceObjectType.reference[j].item_ref; if (!itemsCache.ContainsKey(sourceReferenceItemId)) { ItemType itemType = this.GetItemTypeById(sourceReferenceItemId, itemTypes); itemTypes.Remove(itemType); itemType.id = sequence.ToString(); sourceObjectType.reference[j].item_ref = itemType.id; this.newItemTypes.Add(itemType); itemsCache.Add(sourceReferenceItemId, itemType); sequence = sequence + 1; } else { sourceObjectType.reference[j].item_ref = itemsCache[sourceReferenceItemId].id; } } } }