Skip to content

Commit ebb3c81

Browse files
authored
Bug/87 email usernotfound (#92)
* Adding check for invalid user mapping lines. (#90) * Refactoring #87
1 parent ceecc1e commit ebb3c81

File tree

4 files changed

+42
-47
lines changed

4 files changed

+42
-47
lines changed

src/WorkItemMigrator/Migration.Common/BaseMapper.cs

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,11 @@ namespace Migration.Common
99
{
1010
public class BaseMapper<TRevision> where TRevision : ISourceRevision
1111
{
12-
public BaseMapper(string userMappingPath)
13-
{
14-
ParseUserMappings(userMappingPath);
15-
}
16-
1712
protected Dictionary<string, string> UserMapping { get; private set; } = new Dictionary<string, string>();
18-
protected void ParseUserMappings(string userMappingPath)
19-
{
20-
if (!File.Exists(userMappingPath))
21-
{
22-
Logger.Log(LogLevel.Warning, $"User mapping file '{userMappingPath}' not found, ignoring mapping user identities.");
23-
return;
24-
}
25-
26-
string[] userMappings = File.ReadAllLines(userMappingPath);
27-
foreach (var userMapping in userMappings)
28-
{
29-
var userMappingParts = userMapping.Split('=');
30-
if (userMappingParts.Length == 2)
31-
{
32-
string jiraUser = userMappingParts[0].Trim();
33-
string wiUser = userMappingParts[1].Trim();
3413

35-
UserMapping.Add(jiraUser, wiUser);
36-
}
37-
}
14+
public BaseMapper(string userMappingPath)
15+
{
16+
UserMapping = UserMapper.ParseUserMappings(userMappingPath);
3817
}
3918

4019
protected virtual string MapUser(string sourceUser)

src/WorkItemMigrator/Migration.Common/Migration.Common.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
<Compile Include="MigrationContext.cs" />
7575
<Compile Include="Properties\AssemblyInfo.cs" />
7676
<Compile Include="RevisionUtility.cs" />
77+
<Compile Include="UserMapper.cs" />
7778
</ItemGroup>
7879
<ItemGroup>
7980
<None Include="app.config">

src/WorkItemMigrator/Migration.Common/MigrationContext.cs

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ private MigrationContext(string app, string workspacePath, string logLevel, bool
2323
{
2424
App = app;
2525
MigrationWorkspace = workspacePath;
26-
ParseUserMappings(UserMappingPath);
26+
UserMapping = UserMapper.ParseUserMappings(UserMappingPath);
2727
LogLevel = Logger.GetLogLevelFromString(logLevel);
2828
ForceFresh = forceFresh;
2929
}
@@ -43,28 +43,6 @@ public static MigrationContext Init(string app, string workspacePath, string log
4343
return Instance;
4444
}
4545

46-
private void ParseUserMappings(string userMappingPath)
47-
{
48-
if (!File.Exists(userMappingPath))
49-
{
50-
Logger.Log(LogLevel.Warning, $"User mapping file '{userMappingPath}' not found, ignoring mapping user identities.");
51-
return;
52-
}
53-
54-
string[] userMappings = File.ReadAllLines(userMappingPath);
55-
foreach (var userMapping in userMappings)
56-
{
57-
var userMappingParts = userMapping.Split('=');
58-
if (userMappingParts.Length == 2)
59-
{
60-
string jiraUser = userMappingParts[0].Trim();
61-
string wiUser = userMappingParts[1].Trim();
62-
63-
UserMapping.Add(jiraUser, wiUser);
64-
}
65-
}
66-
}
67-
6846
public WiItem GetItem(string originId)
6947
{
7048
var item = this.Provider.Load(originId);
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
using System;
2+
using System.IO;
3+
using System.Collections.Generic;
4+
using Migration.Common.Log;
5+
6+
namespace Migration.Common
7+
{
8+
internal class UserMapper
9+
{
10+
public static Dictionary<string, string> ParseUserMappings(string userMappingPath)
11+
{
12+
var internalUserMapping = new Dictionary<string, string>();
13+
14+
if (!File.Exists(userMappingPath))
15+
{
16+
Logger.Log(LogLevel.Warning, $"User mapping file '{userMappingPath}' not found, ignoring mapping user identities.");
17+
}
18+
else
19+
{
20+
string[] userMappings = File.ReadAllLines(userMappingPath);
21+
foreach (var userMapping in userMappings)
22+
{
23+
var userMappingParts = userMapping.Split('=');
24+
if (userMappingParts.Length == 2)
25+
{
26+
string jiraUser = userMappingParts[0].Trim();
27+
string wiUser = userMappingParts[1].Trim();
28+
29+
internalUserMapping.Add(jiraUser, wiUser);
30+
}
31+
}
32+
}
33+
34+
return internalUserMapping;
35+
}
36+
}
37+
}

0 commit comments

Comments
 (0)