Ejemplo n.º 1
0
        /// <summary>
        /// Static failure resolution constructor.
        /// </summary>
        public YodiiEngineResult(IConfigurationSolver solver, List <PluginData> blockingPlugins, List <ServiceData> blockingServices, YodiiEngine engine)
        {
            Debug.Assert(blockingPlugins != null || blockingServices != null, "At least one must not be null.");
            Debug.Assert(solver != null);
            Debug.Assert(engine != null);

            var allP = solver.AllPlugins.Select(p => new SolvedPluginSnapshot(p)).ToDictionary(p => p.PluginInfo);
            var allS = solver.AllServices.Select(s => new SolvedServiceSnapshot(s)).ToDictionary(s => s.ServiceInfo.ServiceFullName);

            _staticOnlyResultConfiguration = new StaticSolvedConfiguration(allP.Values.ToReadOnlyList(), allS.Values.ToReadOnlyList());

            var blkP = blockingPlugins == null
                            ? CKReadOnlyListEmpty <IStaticSolvedPlugin> .Empty
                            : blockingPlugins.Select(p => allP[p.PluginInfo]).ToReadOnlyList();

            _pluginCulprits = blkP.Select(ps => ps.PluginInfo).ToReadOnlyList();

            var blkS = blockingServices == null
                            ? CKReadOnlyListEmpty <IStaticSolvedService> .Empty
                            : blockingServices.Select(s => allS[s.ServiceInfo.ServiceFullName]).ToReadOnlyList();

            _serviceCulprits = blkS.Select(ss => ss.ServiceInfo).ToReadOnlyList();

            _engine = engine;
            _staticFailureResult = new StaticFailureResult(_staticOnlyResultConfiguration, blkP, blkS);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Static failure resolution constructor.
        /// </summary>
        public YodiiEngineResult( IConfigurationSolver solver, List<PluginData> blockingPlugins, List<ServiceData> blockingServices, YodiiEngine engine )
        {
            Debug.Assert( blockingPlugins != null || blockingServices != null, "At least one must not be null." );
            Debug.Assert( solver != null );
            Debug.Assert( engine != null );

            var allP = solver.AllPlugins.Select( p => new SolvedPluginSnapshot( p ) ).ToDictionary( p => p.PluginInfo );
            var allS = solver.AllServices.Select( s => new SolvedServiceSnapshot( s ) ).ToDictionary( s => s.ServiceInfo.ServiceFullName );
            _staticOnlyResultConfiguration = new StaticSolvedConfiguration( allP.Values.ToReadOnlyList(), allS.Values.ToReadOnlyList() );

            var blkP = blockingPlugins == null
                            ? CKReadOnlyListEmpty<IStaticSolvedPlugin>.Empty
                            : blockingPlugins.Select( p => allP[p.PluginInfo] ).ToReadOnlyList();
            _pluginCulprits = blkP.Select( ps => ps.PluginInfo ).ToReadOnlyList();

            var blkS = blockingServices == null
                            ? CKReadOnlyListEmpty<IStaticSolvedService>.Empty
                            : blockingServices.Select( s => allS[s.ServiceInfo.ServiceFullName] ).ToReadOnlyList();
            _serviceCulprits = blkS.Select( ss => ss.ServiceInfo ).ToReadOnlyList();

            _engine = engine;
            _staticFailureResult = new StaticFailureResult( _staticOnlyResultConfiguration, blkP, blkS );
        }
Ejemplo n.º 3
0
 public static void Trace(this IStaticFailureResult @this, IActivityMonitor m)
 {
     m.Trace().Send("Blocking Plugins: {0}", String.Join(", ", @this.BlockingPlugins.Select(p => p.PluginInfo.PluginFullName + " (" + p.WantedConfigSolvedStatus + "/" + p.DisabledReason + ")")));
     m.Trace().Send("Blocking Services: {0}", String.Join(", ", @this.BlockingServices.Select(s => s.ServiceInfo.ServiceFullName + " (" + s.WantedConfigSolvedStatus + "/" + s.DisabledReason + ")")));
 }