public PrereqAnalysis(IDataProviderFactory dataSourceProvider, PrereqAnalysisMemberBuilder memberBuilder, PrereqConclusionSetBuilder conclusionSetBuilder, SetupMode setupModes, SetupRole setupRoles, GlobalParameters prereqAnalysisParameters, AnalysisThreading threadMode) : base(dataSourceProvider, memberBuilder, conclusionSetBuilder, (Microsoft.Exchange.Management.Deployment.Analysis.AnalysisMember x) => (!x.Features.HasFeature <ModeFeature>() || x.Features.GetFeature <ModeFeature>().Contains(setupModes)) && (!x.Features.HasFeature <RoleFeature>() || x.Features.GetFeature <RoleFeature>().Contains(setupRoles)), (Microsoft.Exchange.Management.Deployment.Analysis.AnalysisMember x) => (!x.Features.HasFeature <ModeFeature>() || x.Features.GetFeature <ModeFeature>().Contains(setupModes)) && (!x.Features.HasFeature <RoleFeature>() || x.Features.GetFeature <RoleFeature>().Contains(setupRoles)), threadMode)
 {
     this.setupModes = setupModes;
     this.setupRoles = setupRoles;
     this.prereqAnalysisParameters = prereqAnalysisParameters;
     this.BuildPrereqSettings();
     this.BuildPrereqRules();
 }
Exemple #2
0
 protected AnalysisImplementation(TDataSourceProvider dataSourceProvider, TMemberBuilder memberBuilder, TConclusionSetBuilder conclusionSetBuilder, Func <AnalysisMember, bool> immediateEvaluationFilter, Func <AnalysisMember, bool> conclusionsFilter, AnalysisThreading threadMode) : base(immediateEvaluationFilter, conclusionsFilter, threadMode)
 {
     if (dataSourceProvider == null)
     {
         throw new ArgumentNullException("dataSourceProvider");
     }
     if (memberBuilder == null)
     {
         throw new ArgumentNullException("memberBuilder");
     }
     if (conclusionSetBuilder == null)
     {
         throw new ArgumentNullException("conclusionSetBuilder");
     }
     this.dataSourceProvider = dataSourceProvider;
     this.memberBuilder      = memberBuilder;
     this.memberBuilder.SetAnalysis(this);
     this.conclusionSetBuilder = conclusionSetBuilder;
     this.conclusionSet        = default(TConclusionSet);
     this.conclusionSetLock    = new object();
 }
Exemple #3
0
 protected Analysis(Func <AnalysisMember, bool> immediateEvaluationFilter, Func <AnalysisMember, bool> conclusionsFilter, AnalysisThreading threadMode)
 {
     if (immediateEvaluationFilter == null)
     {
         throw new ArgumentNullException("immediateEvaluationFilter");
     }
     if (conclusionsFilter == null)
     {
         throw new ArgumentNullException("conclusionsFilter");
     }
     this.immediateEvaluationFilter = immediateEvaluationFilter;
     this.conclusionsFilter         = conclusionsFilter;
     this.currentState              = new Optimistic <Analysis.AnalysisState>(new Analysis.AnalysisState(this), new Resolver <Analysis.AnalysisState>(Analysis.AnalysisState.Resolve));
     this.currentProgress           = new Optimistic <AnalysisProgress>(new AnalysisProgress(0, 0), new Resolver <AnalysisProgress>(AnalysisProgress.Resolve));
     this.threadMode                = threadMode;
     this.rootAnalysisMember        = new RootAnalysisMember(this);
     this.completedManualResetEvent = new ManualResetEvent(false);
     this.startAnalysisLock         = new object();
 }