Skip to content

Commit fb44d16

Browse files
committed
review comments
1 parent 54431dc commit fb44d16

3 files changed

Lines changed: 32 additions & 31 deletions

File tree

src/LogExpert/Classes/Filter/FilterStarter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ private Filter DoWork(FilterParams filterParams, int startLine, int maxCount, Pr
149149
_logger.Info("Started Filter worker [{0}] for line {1}", Environment.CurrentManagedThreadId, startLine);
150150

151151
// Give every thread own copies of ColumnizerCallback and FilterParams, because the state of the objects changes while filtering
152-
FilterParams threadFilterParams = filterParams.Copy();
152+
FilterParams threadFilterParams = filterParams.CopyCurrentColumnizer();
153153
ColumnizerCallback threadColumnizerCallback = _callback.CreateCopy();
154154

155155
Filter filter = new(threadColumnizerCallback);

src/LogExpert/Classes/RangeFinder.cs

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,12 @@ namespace LogExpert.Classes
1010
/// <summary>
1111
/// Delivers the range (from..to) that matches the current range filter settings starting from a given line.
1212
/// </summary>
13-
public class RangeFinder
13+
public class RangeFinder(FilterParams filterParams, ColumnizerCallback callback)
1414
{
1515
#region Fields
1616

1717
private static readonly ILogger _logger = LogManager.GetCurrentClassLogger();
18-
19-
private readonly ColumnizerCallback _callback;
20-
private readonly FilterParams _filterParams;
21-
22-
#endregion
23-
24-
#region cTor
25-
26-
public RangeFinder(FilterParams filterParams, ColumnizerCallback callback)
27-
{
28-
_filterParams = filterParams.Copy();
29-
_callback = callback;
30-
}
18+
private readonly FilterParams _filterParams = filterParams.CopyCurrentColumnizer();
3119

3220
#endregion
3321

@@ -36,6 +24,7 @@ public RangeFinder(FilterParams filterParams, ColumnizerCallback callback)
3624
public Range FindRange(int startLine)
3725
{
3826
_logger.Info($"Starting range search for {_filterParams.SearchText} ... {_filterParams.RangeSearchText}");
27+
3928
if (_filterParams.RangeSearchText == null || _filterParams.RangeSearchText.Trim().Length == 0)
4029
{
4130
_logger.Info("Range search text not set. Cancelling range search.");
@@ -49,46 +38,54 @@ public Range FindRange(int startLine)
4938

5039
_filterParams.IsRangeSearch = false;
5140
_filterParams.IsInRange = false;
52-
int lineCount = _callback.GetLineCount();
41+
42+
int lineCount = callback.GetLineCount();
5343
int lineNum = startLine;
5444
bool foundStartLine = false;
45+
5546
Range range = new();
56-
FilterParams tmpParam = _filterParams.Copy();
47+
FilterParams tmpParam = _filterParams.CopyCurrentColumnizer();
48+
5749
tmpParam.SearchText = _filterParams.RangeSearchText;
5850

5951
// search backward for starting keyword
60-
var line = _callback.GetLogLine(lineNum);
52+
var line = callback.GetLogLine(lineNum);
53+
6154
while (lineNum >= 0)
6255
{
63-
_callback.LineNum = lineNum;
64-
if (Util.TestFilterCondition(_filterParams, line, _callback))
56+
callback.LineNum = lineNum;
57+
58+
if (Util.TestFilterCondition(_filterParams, line, callback))
6559
{
6660
foundStartLine = true;
6761
break;
6862
}
6963
lineNum--;
70-
line = _callback.GetLogLine(lineNum);
71-
if (lineNum < 0 || Util.TestFilterCondition(tmpParam, line, _callback)
72-
) // do not crash on Ctrl+R when there is not start line found
64+
line = callback.GetLogLine(lineNum);
65+
66+
if (lineNum < 0 || Util.TestFilterCondition(tmpParam, line, callback)) // do not crash on Ctrl+R when there is not start line found
7367
{
7468
// lower range bound found --> we are not in between a valid range
7569
break;
7670
}
7771
}
72+
7873
if (!foundStartLine)
7974
{
8075
_logger.Info("Range start not found");
8176
return null;
8277
}
78+
8379
range.StartLine = lineNum;
8480
_filterParams.IsRangeSearch = true;
8581
_filterParams.IsInRange = true;
8682
lineNum++;
83+
8784
while (lineNum < lineCount)
8885
{
89-
line = _callback.GetLogLine(lineNum);
90-
_callback.LineNum = lineNum;
91-
if (!Util.TestFilterCondition(_filterParams, line, _callback))
86+
line = callback.GetLogLine(lineNum);
87+
callback.LineNum = lineNum;
88+
if (!Util.TestFilterCondition(_filterParams, line, callback))
9289
{
9390
break;
9491
}

src/Logexpert.Core/Classes/Filter/FilterParams.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ public class FilterParams
99
{
1010
#region Fields
1111

12-
private string _rangeSearchText = "";
13-
private string _searchText = "";
12+
private string _rangeSearchText = string.Empty;
13+
private string _searchText = string.Empty;
1414

1515
//public List<string> historyList = new List<string>();
1616
//public List<string> rangeHistoryList = new List<string>();
@@ -25,7 +25,7 @@ public string SearchText
2525
set
2626
{
2727
_searchText = value;
28-
LowerSearchText = _searchText.ToLower();
28+
LowerSearchText = _searchText.ToLowerInvariant();
2929
}
3030
}
3131

@@ -35,7 +35,7 @@ public string RangeSearchText
3535
set
3636
{
3737
_rangeSearchText = value;
38-
LowerRangeSearchText = _rangeSearchText.ToLower();
38+
LowerRangeSearchText = _rangeSearchText.ToLowerInvariant();
3939
}
4040
}
4141

@@ -105,7 +105,7 @@ public string RangeSearchText
105105

106106
#region Public methods
107107

108-
public FilterParams Copy()
108+
public FilterParams CopyCurrentColumnizer()
109109
{
110110
FilterParams newParams = MemberwiseCopy();
111111
newParams.Init();
@@ -143,6 +143,10 @@ public void CreateRegex()
143143
}
144144
}
145145

146+
/// <summary>
147+
/// Shallow Copy
148+
/// </summary>
149+
/// <returns></returns>
146150
public FilterParams MemberwiseCopy()
147151
{
148152
return (FilterParams)MemberwiseClone();

0 commit comments

Comments
 (0)