/// <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); }
internal StaticFailureResult(IStaticSolvedConfiguration solvedConfiguration, IReadOnlyList <IStaticSolvedPlugin> blockedPlugins, IReadOnlyList <IStaticSolvedService> blockedServices) { Debug.Assert(solvedConfiguration != null && blockedPlugins != null && blockedServices != null); _blockingPlugins = blockedPlugins; _blockingServices = blockedServices; _blockingItems = _blockingServices.Cast <IStaticSolvedYodiiItem>().Concat(_blockingPlugins).ToReadOnlyList(); _solvedConfiguration = solvedConfiguration; }
internal StaticFailureResult( IStaticSolvedConfiguration solvedConfiguration, IReadOnlyList<IStaticSolvedPlugin> blockedPlugins, IReadOnlyList<IStaticSolvedService> blockedServices ) { Debug.Assert( solvedConfiguration != null && blockedPlugins != null && blockedServices != null ); _blockingPlugins = blockedPlugins; _blockingServices = blockedServices; _blockingItems = _blockingServices.Cast<IStaticSolvedYodiiItem>().Concat( _blockingPlugins ).ToReadOnlyList(); _solvedConfiguration = solvedConfiguration; }
/// <summary> /// Static only success resolution constructor. /// </summary> public YodiiEngineResult( IConfigurationSolver solver, YodiiEngine engine ) { 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() ); _pluginCulprits = CKReadOnlyListEmpty<IPluginInfo>.Empty; _serviceCulprits = CKReadOnlyListEmpty<IServiceInfo>.Empty; _engine = engine; }
/// <summary> /// Static only success resolution constructor. /// </summary> public YodiiEngineResult(IConfigurationSolver solver, YodiiEngine engine) { 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()); _pluginCulprits = CKReadOnlyListEmpty <IPluginInfo> .Empty; _serviceCulprits = CKReadOnlyListEmpty <IServiceInfo> .Empty; _engine = engine; }
/// <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 ); }