// Token: 0x06001095 RID: 4245 RVA: 0x00061458 File Offset: 0x0005F658
        protected override DirectoryProcessorBaseTaskContext DoChunkWork(DirectoryProcessorBaseTaskContext context, RecipientType recipientType)
        {
            base.Logger.TraceDebug(this, "Entering GroupMetricsGenerator.DoChunkWork recipientType='{0}' at {1}", new object[]
            {
                recipientType.ToString(),
                DateTime.UtcNow.ToString("o")
            });
            if ((context.TaskStatus & TaskStatus.DLADCrawlerFailed) != TaskStatus.NoError)
            {
                GroupMetricsGenerator.EventLogger.LogEvent(InfoWorkerEventLogConstants.Tuple_GroupMetricsGenerationSkippedNoADFile, null, new object[]
                {
                    base.RunData.TenantId,
                    base.RunData.RunId,
                    recipientType
                });
                return(null);
            }
            GroupMetricsGeneratorTaskContext groupMetricsGeneratorTaskContext = context as GroupMetricsGeneratorTaskContext;

            if (groupMetricsGeneratorTaskContext == null)
            {
                groupMetricsGeneratorTaskContext = new GroupMetricsGeneratorTaskContext(context.MailboxData, context.Job, context.TaskQueue, context.Step, context.TaskStatus, context.RunData, context.DeferredFinalizeTasks);
                this.Initialize(recipientType);
                base.Logger.TraceDebug(this, "First time GroupMetricsGenerator.DoChunkWork is called.", new object[0]);
            }
            this.syncType = this.UpdateGroupMetrics(groupMetricsGeneratorTaskContext);
            if (GroupMetricsSyncType.Failed == this.syncType || groupMetricsGeneratorTaskContext.AllChunksFinished)
            {
                return(null);
            }
            return(groupMetricsGeneratorTaskContext);
        }
Ejemplo n.º 2
0
 // Token: 0x0600112B RID: 4395 RVA: 0x00063B54 File Offset: 0x00061D54
 public override void FinalizeMe(DirectoryProcessorBaseTaskContext taskContext)
 {
     base.Logger.TraceDebug(null, "Entering GrammarGenerator.FinalizeMe", new object[0]);
     if (this.NoError)
     {
         List <GrammarFileMetadata> grammarFileMetadata = this.GetGrammarFileMetadata();
         this.WriteGrammarGenerationManifest(grammarFileMetadata);
         UmGlobals.ExEvent.LogEvent(UMEventLogConstants.Tuple_GrammarGenerationSuccessful, null, new object[]
         {
             base.RunData.TenantId,
             base.RunData.RunId
         });
         this.SetUMGrammarReadyFlag();
     }
     else
     {
         UmGlobals.ExEvent.LogEvent(UMEventLogConstants.Tuple_GrammarGenerationFailed, null, new object[]
         {
             base.RunData.TenantId,
             base.RunData.RunId,
             CommonUtil.ToEventLogString(this.exception)
         });
     }
     base.FinalizeMe(taskContext);
     base.Logger.TraceDebug(null, "Exiting GrammarGenerator.FinalizeMe", new object[0]);
 }
Ejemplo n.º 3
0
        // Token: 0x0600112E RID: 4398 RVA: 0x00063CFC File Offset: 0x00061EFC
        protected override DirectoryProcessorBaseTaskContext DoChunkWork(DirectoryProcessorBaseTaskContext context, RecipientType recipientType)
        {
            ValidateArgument.NotNull(context, "context");
            base.Logger.TraceDebug(this, "Entering GrammarGenerator.DoChunkWork recipientType='{0}'", new object[]
            {
                recipientType
            });
            if ((RecipientType.Group == recipientType && (context.TaskStatus & TaskStatus.DLADCrawlerFailed) != TaskStatus.NoError) || (RecipientType.User == recipientType && (context.TaskStatus & TaskStatus.UserADCrawlerFailed) != TaskStatus.NoError))
            {
                UmGlobals.ExEvent.LogEvent(UMEventLogConstants.Tuple_GrammarGenerationSkippedNoADFile, null, new object[]
                {
                    base.TenantId,
                    base.RunId,
                    recipientType
                });
                this.exception = new GrammarGeneratorADException();
                return(null);
            }
            if (!this.NoError)
            {
                base.Logger.TraceDebug(this, "GrammarGenerator.DoChunkWork - Skipping rest of grammar generation because of previous error='{0}'", new object[]
                {
                    this.exception
                });
                return(null);
            }
            GrammarGeneratorTaskContext grammarGeneratorTaskContext = context as GrammarGeneratorTaskContext;

            if (grammarGeneratorTaskContext == null)
            {
                base.Logger.TraceDebug(this, "First time GrammarGenerator.DoChunkWork is called", new object[0]);
                grammarGeneratorTaskContext = this.InitializeTask(recipientType, context);
            }
            DirectoryProcessorBaseTaskContext result = null;
            CultureInfo nextCultureToProcess         = grammarGeneratorTaskContext.GetNextCultureToProcess();

            if (nextCultureToProcess != null)
            {
                base.Logger.TraceDebug(this, "GrammarGenerator.DoChunkWork - Processing culture='{0}'", new object[]
                {
                    nextCultureToProcess
                });
                base.Logger.SetMetadataValues(this, recipientType, nextCultureToProcess.Name);
                this.GenerateGrammar(nextCultureToProcess, grammarGeneratorTaskContext.GrammarGeneratorInstance);
                result = grammarGeneratorTaskContext;
            }
            else if (this.DoBulkUpload)
            {
                base.Logger.TraceDebug(this, "GrammarGenerator.DoChunkWork - Do bulk upload", new object[0]);
                this.UploadResults(null);
            }
            return(result);
        }
Ejemplo n.º 4
0
        // Token: 0x06001058 RID: 4184 RVA: 0x0005F290 File Offset: 0x0005D490
        protected override DirectoryProcessorBaseTaskContext DoChunkWork(DirectoryProcessorBaseTaskContext context, RecipientType recipientType)
        {
            ValidateArgument.NotNull(context, "context");
            base.Logger.TraceDebug(this, "Entering DtmfMapGenerator.DoChunkWork recipientType='{0}'", new object[]
            {
                recipientType
            });
            if ((RecipientType.Group == recipientType && (context.TaskStatus & TaskStatus.DLADCrawlerFailed) != TaskStatus.NoError) || (RecipientType.User == recipientType && (context.TaskStatus & TaskStatus.UserADCrawlerFailed) != TaskStatus.NoError))
            {
                UmGlobals.ExEvent.LogEvent(UMEventLogConstants.Tuple_DtmfMapGenerationSkippedNoADFile, null, new object[]
                {
                    base.TenantId,
                    base.RunId,
                    recipientType
                });
                return(null);
            }
            DtmfMapGeneratorTaskContext dtmfMapGeneratorTaskContext = context as DtmfMapGeneratorTaskContext;

            if (dtmfMapGeneratorTaskContext == null)
            {
                base.Logger.TraceDebug(this, "First time DtmfMapGenerator.DoChunkWork is called", new object[0]);
                dtmfMapGeneratorTaskContext = this.InitializeTask(recipientType, context);
            }
            DtmfMapGeneratorTaskContext dtmfMapGeneratorTaskContext2 = dtmfMapGeneratorTaskContext;

            try
            {
                if (this.ProcessNextChunk(dtmfMapGeneratorTaskContext))
                {
                    this.LogCompletion(dtmfMapGeneratorTaskContext, recipientType);
                    dtmfMapGeneratorTaskContext2 = null;
                }
            }
            catch (Exception)
            {
                dtmfMapGeneratorTaskContext2 = null;
                throw;
            }
            finally
            {
                if (dtmfMapGeneratorTaskContext2 == null)
                {
                    dtmfMapGeneratorTaskContext.Dispose();
                }
            }
            return(dtmfMapGeneratorTaskContext2);
        }
 // Token: 0x06001082 RID: 4226 RVA: 0x00060070 File Offset: 0x0005E270
 public override void FinalizeMe(DirectoryProcessorBaseTaskContext taskContext)
 {
     base.Logger.TraceDebug(null, "Entering GroupMetricsGenerator.FinalizeMe at {0}, LastSyncType={1}", new object[]
     {
         DateTime.UtcNow.ToString("o"),
         this.lastSyncType
     });
     if (this.exception == null)
     {
         if (this.lastSyncType == GroupMetricsSyncType.Full || this.lastSyncType == GroupMetricsSyncType.Delta)
         {
             this.SaveCookies(this.updatedCookies);
         }
         DateTime utcNow   = DateTime.UtcNow;
         TimeSpan timeSpan = utcNow - this.taskStartTime;
         GroupMetricsGenerator.EventLogger.LogEvent(InfoWorkerEventLogConstants.Tuple_GroupMetricsGenerationSuccessful, null, new object[]
         {
             base.RunData.TenantId,
             base.RunData.RunId,
             timeSpan,
             this.groupsExpanded,
             this.syncType
         });
     }
     else
     {
         GroupMetricsGenerator.EventLogger.LogEvent(InfoWorkerEventLogConstants.Tuple_GroupMetricsGenerationFailed, null, new object[]
         {
             base.RunData.TenantId,
             base.RunData.RunId,
             CommonUtil.ToEventLogString(this.exception)
         });
     }
     base.FinalizeMe(taskContext);
     base.Logger.TraceDebug(null, "Exiting GroupMetricsGenerator.FinalizeMe at {0}", new object[]
     {
         DateTime.UtcNow.ToString("o")
     });
 }
Ejemplo n.º 6
0
        // Token: 0x0600112F RID: 4399 RVA: 0x00063E70 File Offset: 0x00062070
        private GrammarGeneratorTaskContext InitializeTask(RecipientType recipientType, DirectoryProcessorBaseTaskContext context)
        {
            base.Logger.TraceDebug(this, "Entering GrammarGenerator.InitializeTask recipientType='{0}'", new object[]
            {
                recipientType
            });
            UmGlobals.ExEvent.LogEvent(UMEventLogConstants.Tuple_GrammarGenerationStarted, null, new object[]
            {
                base.TenantId,
                base.RunId,
                recipientType.ToString()
            });
            GrammarFileDistributionShare.CreateDirectoryProcessorFolder();
            IGrammarGeneratorInterface grammarGeneratorInstance = null;

            if (recipientType != RecipientType.User)
            {
                if (recipientType != RecipientType.Group)
                {
                    ExAssert.RetailAssert(false, "Unsupported recipient type");
                }
                else
                {
                    grammarGeneratorInstance = new DLGrammarGenerator(base.Logger);
                }
            }
            else
            {
                grammarGeneratorInstance = new UserGrammarGenerator(base.Logger, base.OrgId);
            }
            CultureInfo[] grammarCultures = UMGrammarTenantCache.Instance.GetGrammarCultures();
            return(new GrammarGeneratorTaskContext(context.MailboxData, context.Job, context.TaskQueue, context.Step, context.TaskStatus, grammarGeneratorInstance, grammarCultures, base.Logger, context.RunData, context.DeferredFinalizeTasks));
        }
Ejemplo n.º 7
0
        // Token: 0x06001059 RID: 4185 RVA: 0x0005F390 File Offset: 0x0005D590
        private DtmfMapGeneratorTaskContext InitializeTask(RecipientType recipientType, DirectoryProcessorBaseTaskContext context)
        {
            base.Logger.TraceDebug(null, "Entering DtmfMapGenerator.InitializeTask recipientType='{0}'", new object[]
            {
                recipientType
            });
            string text = null;

            if (recipientType != RecipientType.User)
            {
                if (recipientType != RecipientType.Group)
                {
                    ExAssert.RetailAssert(false, "Unsupported recipient type");
                }
                else
                {
                    text = "DistributionList";
                }
            }
            else
            {
                text = "User";
            }
            string entriesFilePath = ADCrawler.GetEntriesFilePath(base.RunData.RunFolderPath, text);

            base.Logger.TraceDebug(null, "DtmfMapGenerator.InitializeTask adEntriesFileName='{0}', entriesFilePath='{1}'", new object[]
            {
                text,
                entriesFilePath
            });
            XmlReader adEntriesReader            = XmlReader.Create(entriesFilePath);
            DtmfMapGenerationMetadata   metadata = this.GetMetadata(recipientType);
            DtmfMapGeneratorTaskContext dtmfMapGeneratorTaskContext = new DtmfMapGeneratorTaskContext(context.MailboxData, context.Job, context.TaskQueue, context.Step, context.TaskStatus, adEntriesReader, metadata, this.IsFullUpdateRequired(metadata), context.RunData, context.DeferredFinalizeTasks);

            UmGlobals.ExEvent.LogEvent(UMEventLogConstants.Tuple_DtmfMapGenerationStarted, null, new object[]
            {
                base.TenantId,
                base.RunId,
                recipientType.ToString(),
                dtmfMapGeneratorTaskContext.IsFullUpdate
            });
            return(dtmfMapGeneratorTaskContext);
        }