コード例 #1
0
        private void MergePluginResults(
            int?profileId,
            DiscoveryPluginItems <DiscoveryPluginResultBase> results,
            DiscoveryPluginItems <DiscoveryPluginResultBase> partialResultsToMerge)
        {
            DiscoveryPluginResultObjectMapping resultObjectMapping  = new DiscoveryPluginResultObjectMapping();
            List <DiscoveryPluginResultBase>   pluginResultBaseList = new List <DiscoveryPluginResultBase>();

            using (IEnumerator <DiscoveryPluginResultBase> enumerator = results.GetEnumerator())
            {
                while (((IEnumerator)enumerator).MoveNext())
                {
                    DiscoveryPluginResultBase item             = enumerator.Current;
                    DiscoveryPluginResultBase pluginResultBase = ((IEnumerable <DiscoveryPluginResultBase>)partialResultsToMerge).Except <DiscoveryPluginResultBase>((IEnumerable <DiscoveryPluginResultBase>)pluginResultBaseList).FirstOrDefault <DiscoveryPluginResultBase>((Func <DiscoveryPluginResultBase, bool>)(x => ((object)x).GetType() == ((object)item).GetType()));
                    if (pluginResultBase != null)
                    {
                        if (!(item is IDiscoveryPluginResultMerge pluginResultMerge))
                        {
                            PartialDiscoveryResultsContainer._log.WarnFormat("Plugin discovery results '{0}' do not implement IDiscoveryPluginResultMerge interface and will not be merged with other results instances.", (object)((object)item).GetType());
                        }
                        else
                        {
                            pluginResultMerge.MergeResults(pluginResultBase, resultObjectMapping, profileId);
                            pluginResultBaseList.Add(pluginResultBase);
                        }
                    }
                }
            }
コード例 #2
0
        // Token: 0x06000623 RID: 1571 RVA: 0x00024F78 File Offset: 0x00023178
        public IEnumerable <DiscoveryPluginConfigurationBase> DeserializePluginConfigurationItems(List <string> discoveryPluginConfigurationBaseItems)
        {
            List <DiscoveryPluginConfigurationBase> list = new List <DiscoveryPluginConfigurationBase>();

            foreach (string text in discoveryPluginConfigurationBaseItems)
            {
                DiscoveryPluginItems <DiscoveryPluginConfigurationBase> collection = new DiscoveryPluginItems <DiscoveryPluginConfigurationBase>(text);
                list.AddRange(collection);
            }
            return(list);
        }
コード例 #3
0
        public IEnumerable <DiscoveryPluginConfigurationBase> DeserializePluginConfigurationItems(
            List <string> discoveryPluginConfigurationBaseItems)
        {
            List <DiscoveryPluginConfigurationBase> configurationBaseList = new List <DiscoveryPluginConfigurationBase>();

            foreach (string configurationBaseItem in discoveryPluginConfigurationBaseItems)
            {
                DiscoveryPluginItems <DiscoveryPluginConfigurationBase> discoveryPluginItems = new DiscoveryPluginItems <DiscoveryPluginConfigurationBase>(configurationBaseItem);
                configurationBaseList.AddRange((IEnumerable <DiscoveryPluginConfigurationBase>)discoveryPluginItems);
            }
            return((IEnumerable <DiscoveryPluginConfigurationBase>)configurationBaseList);
        }