Skip to content

Commit 2ad07db

Browse files
committed
[Samples][L7] Improve LogSource inheritance example
1 parent f739cbf commit 2ad07db

3 files changed

Lines changed: 31 additions & 23 deletions

File tree

LessonsSamples/LessonsSamples/Lesson7/InheritanceComposition/ILogMessageParser.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ namespace LessonsSamples.Lesson7.InheritanceComposition
44
{
55
internal interface ILogMessageParser
66
{
7-
string GetVersion(string logMessage);
8-
DateTime GetTime(string logMessage);
9-
int GetSeverity(string logMessage);
10-
string GetDescription(string logMessage);
7+
string GetVersion(string logMessage, int messageIndex);
8+
DateTime GetTime(string logMessage, int messageIndex);
9+
int GetSeverity(string logMessage, int messageIndex);
10+
string GetDescription(string logMessage, int messageIndex);
1111
}
1212
}

LessonsSamples/LessonsSamples/Lesson7/InheritanceComposition/LogSource.cs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,37 +39,41 @@ private IEnumerable<string> LoadLogMessages()
3939
yield return logMessage;
4040
}
4141

42-
public IEnumerable<LogEntry> GetCriticalLogEntries()
43-
{
44-
return GetAllLogEntries().Where(l => l.Severity > 10);
45-
}
46-
4742
protected abstract string GetVersion(string logMessage);
4843
protected abstract DateTime GetTime(string logMessage);
4944
protected abstract string GetDescription(string logMessage);
5045
protected abstract int GetSeverity(string logMessage);
46+
47+
public IEnumerable<LogEntry> GetCriticalLogEntries()
48+
{
49+
return GetAllLogEntries().Where(l => l.Severity > 10);
50+
}
5151
}
5252

5353

5454
class XmlLogSource : LogSource
5555
{
5656
protected override string GetVersion(string logMessage)
5757
{
58+
int index = messageIndex;
5859
throw new NotImplementedException();
5960
}
6061

6162
protected override DateTime GetTime(string logMessage)
6263
{
64+
int index = messageIndex;
6365
throw new NotImplementedException();
6466
}
6567

6668
protected override string GetDescription(string logMessage)
6769
{
70+
int index = messageIndex;
6871
throw new NotImplementedException();
6972
}
7073

7174
protected override int GetSeverity(string logMessage)
7275
{
76+
int index = messageIndex;
7377
throw new NotImplementedException();
7478
}
7579
}
@@ -78,21 +82,25 @@ class CsvLogSource : LogSource
7882
{
7983
protected override string GetVersion(string logMessage)
8084
{
85+
int index = messageIndex;
8186
throw new NotImplementedException();
8287
}
8388

8489
protected override DateTime GetTime(string logMessage)
8590
{
91+
int index = messageIndex;
8692
throw new NotImplementedException();
8793
}
8894

8995
protected override string GetDescription(string logMessage)
9096
{
97+
int index = messageIndex;
9198
throw new NotImplementedException();
9299
}
93100

94101
protected override int GetSeverity(string logMessage)
95102
{
103+
int index = messageIndex;
96104
throw new NotImplementedException();
97105
}
98106
}

LessonsSamples/LessonsSamples/Lesson7/InheritanceComposition/LogSource_2.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,16 @@ public LogSource_2(ILogMessageParser messageParser)
1616

1717
public IEnumerable<LogEntry> GetAllLogEntries()
1818
{
19-
IEnumerable<string> logMessages = LoadAllLogEntries();
19+
IEnumerable<string> logMessages = LoadLogMessages();
2020

2121
foreach (var message in logMessages)
2222
{
2323
yield return new LogEntry
2424
{
25-
Time = messageParser.GetTime(message),
26-
Severity = messageParser.GetSeverity(message),
27-
Description = messageParser.GetDescription(message),
28-
Version = messageParser.GetVersion(message),
25+
Time = messageParser.GetTime(message, messageIndex),
26+
Severity = messageParser.GetSeverity(message, messageIndex),
27+
Description = messageParser.GetDescription(message, messageIndex),
28+
Version = messageParser.GetVersion(message, messageIndex),
2929
Body = message
3030
};
3131
}
@@ -36,7 +36,7 @@ public IEnumerable<LogEntry> GetCriticalLogEntries()
3636
return GetAllLogEntries().Where(l => l.Severity > 10);
3737
}
3838

39-
private IEnumerable<string> LoadAllLogEntries()
39+
private IEnumerable<string> LoadLogMessages()
4040
{
4141
messageIndex = 0;
4242
string logMessage = string.Empty;
@@ -52,45 +52,45 @@ private IEnumerable<string> LoadAllLogEntries()
5252

5353
internal class XmlLogMessageParser : ILogMessageParser
5454
{
55-
public string GetVersion(string logMessage)
55+
public string GetVersion(string logMessage, int messageIndex)
5656
{
5757
throw new NotImplementedException();
5858
}
5959

60-
public DateTime GetTime(string logMessage)
60+
public DateTime GetTime(string logMessage, int messageIndex)
6161
{
6262
throw new NotImplementedException();
6363
}
6464

65-
public int GetSeverity(string logMessage)
65+
public int GetSeverity(string logMessage, int messageIndex)
6666
{
6767
throw new NotImplementedException();
6868
}
6969

70-
public string GetDescription(string logMessage)
70+
public string GetDescription(string logMessage, int messageIndex)
7171
{
7272
throw new NotImplementedException();
7373
}
7474
}
7575

7676
class CsvLogMessageParser : ILogMessageParser
7777
{
78-
public string GetVersion(string logMessage)
78+
public string GetVersion(string logMessage, int messageIndex)
7979
{
8080
throw new NotImplementedException();
8181
}
8282

83-
public DateTime GetTime(string logMessage)
83+
public DateTime GetTime(string logMessage, int messageIndex)
8484
{
8585
throw new NotImplementedException();
8686
}
8787

88-
public int GetSeverity(string logMessage)
88+
public int GetSeverity(string logMessage, int messageIndex)
8989
{
9090
throw new NotImplementedException();
9191
}
9292

93-
public string GetDescription(string logMessage)
93+
public string GetDescription(string logMessage, int messageIndex)
9494
{
9595
throw new NotImplementedException();
9696
}

0 commit comments

Comments
 (0)