コード例 #1
0
        public TimelinePostprocessorOutput(XDocument doc, ILogSource logSource, IEntitiesComparer entitiesComparer, ILogPartTokenFactory rotatedLogPartFactory)
        {
            this.logSource = logSource;
            var eventsDeserializer = new EventsDeserializer(TextLogEventTrigger.DeserializerFunction);

            this.timelineEvents      = eventsDeserializer.Deserialize(doc.Root).ToList().AsReadOnly();
            this.rotatedLogPartToken = rotatedLogPartFactory.SafeDeserializeLogPartToken(doc.Root);
        }
コード例 #2
0
        public TimelinePostprocessorOutput(LogSourcePostprocessorDeserializationParams p, IEntitiesComparer entitiesComparer, ILogPartTokenFactories logPartTokenFactories)
        {
            this.logSource = p.LogSource;

            if (!p.Reader.ReadToFollowing("root"))
            {
                throw new FormatException();
            }
            etag.Read(p.Reader);

            var eventsDeserializer = new EventsDeserializer(TextLogEventTrigger.DeserializerFunction);
            var events             = new List <Event>();

            foreach (var elt in p.Reader.ReadChildrenElements())
            {
                if (eventsDeserializer.TryDeserialize(elt, out var evt))
                {
                    events.Add(evt);
                }
                else if (logPartTokenFactories.TryReadLogPartToken(elt, out var tmp))
                {
                    this.rotatedLogPartToken = tmp;
                }
                p.Cancellation.ThrowIfCancellationRequested();
            }
            this.timelineEvents = events.AsReadOnly();
        }
コード例 #3
0
 public TimelineBuilder(IEntitiesComparer entitiesComparer, IUserNamesProvider shortNames)
 {
     this.entitiesComparer = entitiesComparer;
     this.shortNames       = shortNames;
 }