Example #1
0
        public static GetSearchableMailboxesResults GetSearchableMailboxes(ISearchPolicy policy, GetSearchableMailboxesInputs input)
        {
            Recorder.Trace(2L, TraceType.InfoTrace, "Controller.GetSearchableMailboxes Input:", input);
            Recorder.Record record   = policy.Recorder.Start("GetSearchableMailboxes", TraceType.InfoTrace, true);
            Executor        executor = new Executor(policy, typeof(InitializeGetSearchablebleMailbox))
            {
                Concurrency = policy.ExecutionSettings.DiscoverySynchronousConcurrency
            };
            Executor executor2 = executor;

            executor2 = executor2.Chain(new Executor(policy, typeof(DirectoryQueryFormatting))
            {
                Concurrency = policy.ExecutionSettings.DiscoverySynchronousConcurrency
            }).Chain(new Executor(policy, typeof(DirectoryLookup))
            {
                Concurrency = policy.ExecutionSettings.DiscoverySynchronousConcurrency
            }).Chain(new BatchedExecutor(policy, typeof(CompleteGetSearchableMailbox))
            {
                Concurrency     = policy.ExecutionSettings.DiscoverySynchronousConcurrency,
                BatchSize       = policy.ExecutionSettings.DiscoveryMaxAllowedExecutorItems,
                BatchKeyFactory = BatchedExecutor.BatchByCount
            });
            Recorder.Trace(2L, TraceType.InfoTrace, "Controller.GetSearchableMailboxes Start");
            GetSearchableMailboxesResults result = executor.Process(input) as GetSearchableMailboxesResults;

            policy.Recorder.End(record);
            return(result);
        }
Example #2
0
        public override void Process(IList <SearchSource> item)
        {
            Recorder.Trace(4L, TraceType.InfoTrace, "CompleteGetSearchableMailbox.Process Item:", item);
            GetSearchableMailboxesResults getSearchableMailboxesResults = new GetSearchableMailboxesResults();

            getSearchableMailboxesResults.Sources.AddRange(item);
            base.Executor.EnqueueNext(getSearchableMailboxesResults);
        }