public SequenceDiagramPostprocessorOutput(LogSourcePostprocessorDeserializationParams p, ILogPartTokenFactory rotatedLogPartFactory) { this.logSource = p.LogSource; var reader = p.Reader; events = new List <M.Event>(); timelineComments = new List <TLBlock.Event>(); stateComments = new List <SIBlock.Event>(); rotatedLogPartToken = new NullLogPartToken(); if (!reader.ReadToFollowing("root")) { throw new FormatException(); } etag.Read(reader); if (reader.ReadToFollowing(messagingEventsElementName)) { var eventsDeserializer = new M.EventsDeserializer(TextLogEventTrigger.DeserializerFunction); foreach (var elt in reader.ReadChildrenElements()) { if (eventsDeserializer.TryDeserialize(elt, out var evt)) { events.Add(evt); } } } if (reader.ReadToFollowing(timelineCommentsElementName)) { var eventsDeserializer = new TLBlock.EventsDeserializer(TextLogEventTrigger.DeserializerFunction); foreach (var elt in reader.ReadChildrenElements()) { if (eventsDeserializer.TryDeserialize(elt, out var evt)) { timelineComments.Add(evt); } } } if (reader.ReadToFollowing(stateCommentsElementName)) { var eventsDeserializer = new SIBlock.EventsDeserializer(TextLogEventTrigger.DeserializerFunction); foreach (var elt in reader.ReadChildrenElements()) { if (eventsDeserializer.TryDeserialize(elt, out var evt)) { stateComments.Add(evt); } } } }
public PostprocessorOutput( LogSourcePostprocessorDeserializationParams p, ILogPartTokenFactories rotatedLogPartFactories, ISameNodeDetectionTokenFactories nodeDetectionTokenFactories) { this.logSource = p.LogSource; var reader = p.Reader; events = new List <M.Event>(); rotatedLogPartToken = new NullLogPartToken(); sameNodeDetectionToken = new NullSameNodeDetectionToken(); if (!reader.ReadToFollowing("root")) { throw new FormatException(); } etag.Read(reader); foreach (var elt in p.Reader.ReadChildrenElements()) { if (rotatedLogPartFactories.TryReadLogPartToken(elt, out var tmp)) { this.rotatedLogPartToken = tmp; } else if (nodeDetectionTokenFactories.TryReadLogPartToken(elt, out var tmp2)) { sameNodeDetectionToken = tmp2; } else if (elt.Name == messagingEventsElementName) { var eventsDeserializer = new M.EventsDeserializer(TextLogEventTrigger.DeserializerFunction); foreach (var me in elt.Elements()) { if (eventsDeserializer.TryDeserialize(me, out var evt)) { events.Add(evt); } } } p.Cancellation.ThrowIfCancellationRequested(); } }