Esempio n. 1
0
        /// <summary>
        /// This method executes the process of  a setElement in the ObjectType.
        /// For the objectType that has a setElement the process is a some different.
        /// Actually, the setElement uses the objectType already was  collected.
        /// In this process the setElement process uses a systemCharacteristics for the get a reference for the objectType
        /// collected and makes the references are used in the new CollectedObject of the process.
        /// </summary>
        /// <param name="ovalObject">The Oval Object.</param>
        /// <param name="collectInfo">The collect info.</param>
        /// <returns></returns>
        private CollectedObject ProcessSet(Definitions.ObjectType ovalObject, CollectInfo collectInfo)
        {
            CollectedObject collectedObject = null;

            try
            {
                var setElement       = this.GetSetElement(ovalObject);
                var setEvaluator     = new SetEvaluator(collectInfo.SystemCharacteristics, collectInfo.States, collectInfo.Variables);
                var resultOfSet      = setEvaluator.Evaluate(setElement);
                var objectReferences = resultOfSet.Result;

                if (objectReferences.Count() > 0)
                {
                    collectedObject = new CollectedObject(ovalObject.id);
                    foreach (string reference in objectReferences)
                    {
                        var itemType = collectInfo.SystemCharacteristics.GetSystemDataByReferenceId(reference);
                        collectedObject.AddItemToSystemData(itemType);
                    }

                    collectedObject.SetEspecificObjectStatus(resultOfSet.ObjectFlag);
                }

                return(collectedObject);
            }
            catch (Exception ex)
            {
                collectedObject = new CollectedObject(ovalObject.id);
                collectedObject.SetEspecificObjectStatus(FlagEnumeration.error);
                collectedObject.ObjectType.message = MessageType.FromErrorString(String.Format("An error occurred while set processing: '{0}'", ex.Message));
                return(collectedObject);
            }
        }
Esempio n. 2
0
        public ProbeResult CreateCollectedObjectForNotSupportedObjects(
            IEnumerable <Definitions.ObjectType> objectNotSupported)
        {
            ProbeResultBuilder probeResultBuilder = new ProbeResultBuilder();

            foreach (var objectType in objectNotSupported)
            {
                var collectedObject = new CollectedObject(objectType.id);
                collectedObject.SetEspecificObjectStatus(FlagEnumeration.notcollected);
                probeResultBuilder.AddCollectedObject(collectedObject);
            }
            return(probeResultBuilder.ProbeResult);
        }